申请第三方平台(https://open.weixin.qq.com/)过程中,需要在开发资料中填写 消息与事件接收URL 。
该URL的作用:当关注者与已授权公众号/小程序进行交互时,第三方平台将接收到相应的消息推送、事件推送。https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/Message_Encryption/Technical_Plan.html
消息与事件接收URL需要实现的逻辑功能
这个方法处理3中不同的事件推送:
- MsgType为text类型,并且Content信息为‘QUERY_AUTH_CODE:xxxxxxxxx’:需要通过接口’https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=xxx ’POST回复过去。
- MsgType为text类型,并且Content信息为‘TESTCOMPONENT_MSG_TYPE_TEXT’:需要把Content信息改为‘TESTCOMPONENT_MSG_TYPE_TEXT_callback’然后加密return。
- MsgType为event类型:需要注意的是当MsgType为event类型时是没有Content信息的会增加一个Event的字段,这里只要获取到Event然后在后面加上‘from_callback’保存为Content字段信息,统一加密return。
PHP源码
/**
* 消息与事件接收URL
*/
public function wechat_msg_recieve(){
var_dump('消息与事件接收URL');
$access_token = C('WechatThirdParty.access_token');
$encodingAesKey = C('WechatThirdParty.EncodingAESKey');
$third_appid