微信公众号post请求有很多,这里讲:
lif request.method == 'POST':
msg = parse_message(request.body)
if msg.type == 'text':#用户发送消息后自动回复,这里只讲了text,还有图片,视频,链接类的,都差不多
if msg.content == '查询':
pass
elif:
pass
elif msg.type == 'event':#事件
event = msg.event
if event == 'subscribe':#用户关注微信公众号
print(msg.key)
reply = ArticlesReply(message=msg)
reply.add_article({
'title': '测试',
'description': '测一哈',
'img':'image_url地址',
'url':'跳转地址url'
})
response = HttpResponse(reply.render(), content_type='application/xml')
return response
elif event == 'subscribe_scan':
#用户通过扫描二维码链接到公众号,这里分2种情况,一种是关注二维码,一种是扫描到活动二维码,这种情况下如果是活动二维码,那么用户的请求体里有scene_id参数,如果是关注公众号就没有
#event subscribe_scan
#scene_id带参数二维码 scene_id,去除了前缀 qrscene_
#ticket 带参数二维码 ticket
#二位码可以通过微信接口生成,生成代码再在文章最下方,
if msg.scene_id:#扫描公众号里的活动类二维
id = msg.scene_id
if id =='123':
reply = TextReply(content='我真的是逗你玩的', message=msg)
else:
reply = ArticlesReply(message=msg)
reply.add_article({
'title': '设计',
'description': '让',
'img':'',
'url':''
})
response = HttpResponse(reply.render(), content_type='application/xml')
return response
elif event == 'scan':#扫描二维码
id = msg.scene_id
if id =='123':
reply = TextReply(content='我是逗你玩的', message=msg)
response = HttpResponse(reply.render(), content_type='application/xml')
return response
elif:
pass
elif:
pass
else:
pass
elif event =='click':#点击事件
if msg.key == 'MUSIC':
reply = create_reply('说好不哭', message=msg)
response = HttpResponse(reply.render(), content_type='application/xml')
return response
elif:
pass
elif:
pass
else:
pass
else:
reply = create_reply('我什么都不知道,你放过我吧', message=msg)
response = HttpResponse(reply.render(), content_type='application/xml')
return response
这是生成二维码的代码:
from wechatpy import WeChatClient
def get_qrcode(limit_time, action_name, id):
client = WeChatClient("your appid", "your appsecret")
res = client.qrcode.create({
'expire_seconds': limit_time,
'action_name': action_name,
'action_info': {
'scene': {'scene_id': id},}})
url = client.qrcode.get_url(res)
return url
print(get_qrcode(3600, 'QR_SCENE', '123'))
第