09-二维码生成和扫描
目录
1.二维码的生成
首先需要详细的阅读腾讯的官方文档
二维码的创建请求为两种
- 临时二维
https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKEN
POST数据格式:
json POST数据例子:{"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 123}}}
jon POST数据创建字符串形式的二维码参数:{"expire_seconds": 604800, "action_name": "QR_STR_SCENE", "action_info": {"scene": {"scene_str": "test"}}}
- 永久二维码
https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKEN
POST数据格式:
json POST数据例子:{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": 123}}}
json POST数据创建字符串形式的二维码参数: {"action_name": "QR_LIMIT_STR_SCENE", "action_info": {"scene": {"scene_str": "test"}}}
参数说明:
理解:action_name的理解,在使用二维码做推广的那时候,这个带的参数就是推广的人员的id
二维码的创建就是公用的post请求,所以我这里就不在写测试方法了,我直接用postman进行调用
使用的参数为:
{"action_name": "QR_LIMIT_STR_SCENE", "action_info": {"scene": {"scene_str": "你好"}}}
{
"ticket": "gQHL8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAyZlI5TDk2THBmN0QxMDAwMGcwN1EAAgQmQT5gAwQAAAAA",
"url": "http://weixin.qq.com/q/02fR9L96Lpf7D10000g07Q"
}
2.二维码的获取
二维码获取调用的接口地址如下
https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=TICKET
提醒:TICKET记得进行UrlEncode(我直接通过网页调用的)
使用一下url进行访问
二维码如下图所示:
3.二维码的扫描
每次进行二维码的扫描的时候,都会给后台发送请求,请求分为二种类型
详细信息请参考
https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_event_pushes.html
没有关注该微信公众号的人扫描,发送给服务器的请求如下
一下是经过我对象化处理的,实际上是个xml
{Ticket=gQHL8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAyZlI5TDk2THBmN0QxMDAwMGcwN1EAAgQmQT5gAwQAAAAA, CreateTime=1614693308, EventKey=qrscene_你好, Event=subscribe,
ToUserName=gh_7c94dc7e2130, FromUserName=orxnH5x5ctnmrdrWQ80DsDRqn2nM, MsgType=event}
关注该微信公众号的人扫描,发送给服务端的信息入如下
{Ticket=gQHL8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAyZlI5TDk2THBmN0QxMDAwMGcwN1EAAgQmQT5gAwQAAAAA, CreateTime=1614693382, EventKey=你好,
Event=SCAN, ToUserName=gh_7c94dc7e2130, FromUserName=orxnH5wNRLvz2DfNTopTGcL4y9ic, MsgType=event}
之后就是走接受消息的流程。