经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » PHP » 查看文章
微信扫描带参数二维码事件
来源:cnblogs  作者:哎呦?不错哦  时间:2019/11/8 13:45:57  对本文有异议

用户扫描带场景值二维码时,可能推送以下两种事件:

如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事件推送给开发者。
如果用户已经关注公众号,则微信会将带场景值扫描事件推送给开发者。
1. 用户未关注时,进行关注后的事件推送

推送XML数据包示例:

<xml><ToUserName><![CDATA[toUser]></ToUserName>
<FromUserName><![CDATA[FromUser]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]></MsgType>
<Event><![CDATA[subscribe]></Event>
<EventKey><![CDATA[qrscene_123123]></EventKey>
<Ticket><![CDATA[TICKET]></Ticket>
</xml>
参数说明:

参数 描述
ToUserName 开发者微信号
FromUserName 发送方帐号(一个OpenID)
CreateTime 消息创建时间 (整型)
MsgType 消息类型,event
Event 事件类型,subscribe
EventKey 事件KEY值,qrscene_为前缀,后面为二维码的参数值
Ticket 二维码的ticket,可用来换取二维码图片
2. 用户已关注时的事件推送

推送XML数据包示例:

<xml>
<ToUserName><![CDATA[toUser]></ToUserName>
<FromUserName><![CDATA[FromUser]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]></MsgType>
<Event><![CDATA[SCAN]></Event>
<EventKey><![CDATA[SCENE_VALUE]></EventKey>
<Ticket><![CDATA[TICKET]></Ticket>
</xml>
参数说明:

参数 描述
ToUserName 开发者微信号
FromUserName 发送方帐号(一个OpenID)
CreateTime 消息创建时间 (整型)
MsgType 消息类型,event
Event 事件类型,SCAN
EventKey 事件KEY值,是一个32位无符号整数,即创建二维码时的二维码scene_id
Ticket 二维码的ticket,可用来换取二维码图片


案例:
        //1、扫码获取微信post过来的xml数据
            $postArr = $GLOBALS['HTTP_RAW_POST_DATA'];
            $postObj = simplexml_load_string( $postArr );

            //未订阅时 ,EventKey为qrscene_1984;订阅后,EventKey为1984
            if( strtolower($postObj->Event) == 'subscribe'){
                    $account_id = substr(trim($postObj->EventKey), 8);//输出1984
            } else {
                    $account_id = trim($postObj->EventKey);
            }

用户扫描带场景值二维码时,可能推送以下两种事件:

如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事件推送给开发者。
如果用户已经关注公众号,则微信会将带场景值扫描事件推送给开发者。
1. 用户未关注时,进行关注后的事件推送

推送XML数据包示例:

<xml><ToUserName><![CDATA[toUser]></ToUserName>
<FromUserName><![CDATA[FromUser]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]></MsgType>
<Event><![CDATA[subscribe]></Event>
<EventKey><![CDATA[qrscene_123123]></EventKey>
<Ticket><![CDATA[TICKET]></Ticket>
</xml>
参数说明:

参数 描述
ToUserName 开发者微信号
FromUserName 发送方帐号(一个OpenID)
CreateTime 消息创建时间 (整型)
MsgType 消息类型,event
Event 事件类型,subscribe
EventKey 事件KEY值,qrscene_为前缀,后面为二维码的参数值
Ticket 二维码的ticket,可用来换取二维码图片
2. 用户已关注时的事件推送

推送XML数据包示例:

<xml>
<ToUserName><![CDATA[toUser]></ToUserName>
<FromUserName><![CDATA[FromUser]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]></MsgType>
<Event><![CDATA[SCAN]></Event>
<EventKey><![CDATA[SCENE_VALUE]></EventKey>
<Ticket><![CDATA[TICKET]></Ticket>
</xml>
参数说明:

参数 描述
ToUserName 开发者微信号
FromUserName 发送方帐号(一个OpenID)
CreateTime 消息创建时间 (整型)
MsgType 消息类型,event
Event 事件类型,SCAN
EventKey 事件KEY值,是一个32位无符号整数,即创建二维码时的二维码scene_id
Ticket 二维码的ticket,可用来换取二维码图片


案例:
        //1、扫码获取微信post过来的xml数据
            $postArr = $GLOBALS['HTTP_RAW_POST_DATA'];
            $postObj = simplexml_load_string( $postArr );

            //未订阅时 ,EventKey为qrscene_1984;订阅后,EventKey为1984
            if( strtolower($postObj->Event) == 'subscribe'){
                    $account_id = substr(trim($postObj->EventKey), 8);//输出1984
            } else {
                    $account_id = trim($postObj->EventKey);
            }

原文链接:http://www.cnblogs.com/super-ldc/p/11819437.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号