def send_article_message(self, user_id, articles=None, media_id=None):
<EOL>if articles is None and media_id is None:<EOL><INDENT>raise TypeError('<STR_LIT>')<EOL><DEDENT>if articles:<EOL><INDENT>articles_data = []<EOL>for article in articles:<EOL><INDENT>article = Article(**article)<EOL>articles_data.append({<EOL>'<STR_LIT:title>': article.title,<EOL>'<STR_LIT:description>': article.description,<EOL>'<STR_LIT:url>': article.url,<EOL>'<STR_LIT>': article.picurl,<EOL>})<EOL><DEDENT>return self.request.post(<EOL>url='<STR_LIT>',<EOL>data={<EOL>'<STR_LIT>': user_id,<EOL>'<STR_LIT>': '<STR_LIT>',<EOL>'<STR_LIT>': {<EOL>'<STR_LIT>': articles_data,<EOL>},<EOL>}<EOL>)<EOL><DEDENT>return self.request.post(<EOL>url='<STR_LIT>',<EOL>data={<EOL>'<STR_LIT>': user_id,<EOL>'<STR_LIT>': '<STR_LIT>',<EOL>'<STR_LIT>': {<EOL>'<STR_LIT>': media_id,<EOL>},<EOL>}<EOL>)<EOL>
发送图文消息
详情请参考 http://mp.weixin.qq.com/wiki/7/12a5a320ae96fecdf0e15cb06123de9f.html
:param user_id: 用户 ID, 就是你收到的 WechatMessage 的 source
:param articles: list 对象, 每个元素为一个 dict 对象, key 包含 `title`, `description`, `picurl`, `url`
:param media_id: 待发送的图文 Media ID
:return: 返回的 JSON 数据包