使用PHP怎么实现一个微信小程序客服消息功能

  介绍

使用PHP怎么实现一个微信小程序客服消息功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强>使用步骤

<强> 1,开启客服消息

https://mp.weixin.qq.com/wxam..。

登录——开发——开发设置——消息推送

[] (https://raw.githubusercontent..。

点击“启动”

[] (https://raw.githubusercontent..。

URL(服务器地址):填开发者服务器对应的URL,如https://xxxxxx/demo.php

标记(令牌):这个随便填,要求3-32位。

EncodingAESKey(消息加密密钥):这个点击”随机生成“即可。

消息加密方式:可以根据自己需要选择,本例选择“兼容模式”。

数据格式:json相对于xml来说,从压缩效率及传输效率更具优势,这里我们选json。

注意:以上操作完后先不要提交,等配置好开发者服务端后再提交。

<强> 2,配置开发者服务端

检验签名的PHP示例代码:

signature 美元;=,$ _GET [“signature"];=,美元timestamp  $ _GET [“timestamp"];=,美元nonce  $ _GET [“nonce"];   美元,echostr=$ _GET [“echostr"];      ,token 美元;=,令牌;//这里改成你第一步操作时填写的令牌   ,tmpArr 美元;=,阵列(令牌,美元,时间戳,美元,目前美元);   ,排序(tmpArr美元,SORT_STRING);   ,tmpStr 美元;=,内爆(,tmpArr 美元;);   ,tmpStr 美元;=,sha1 (, tmpStr 美元;);      ,if  (tmpStr 美元;==,signature 美元),{   ,return  echostr美元;   ,}else  {   ,return 假;   以前,}

官方示例没有返回<代码>美元echostr>

3,提交消息推送配置

如果没有报的错,证明配置成功。

使用PHP怎么实现一个微信小程序客服消息功能

4,开发者服务端演示

& lt; PHP ?//验证签名=//美元signature  $ _GET [“signature"];=//美元timestamp  $ _GET [“timestamp"];=//美元nonce  $ _GET [“nonce"];//$ echostr=$ _GET [“echostr"];////token 美元;=,令牌;//这里改成你第一步操作时填写的令牌//tmpArr 美元;=,阵列(令牌,美元,美元的时间戳,,目前美元);//排序(tmpArr美元,SORT_STRING);//tmpStr 美元;=,内爆(,tmpArr 美元;);//tmpStr 美元;=,sha1 (, tmpStr 美元;);////if  (tmpStr 美元;==,signature 美元),{//,return  echostr美元;//},{else //,return 假;//}   include_once  & # 39;。/Xcxmsg.php& # 39;;   $ xcxmsg =, new  Xcxmsg ();   $ postStr =, file_get_contents (& # 39; php://输入# 39;);   if  postStr美元(!)   ,return 假;   $ postArr =, json_decode (postStr美元,,真的);   if (!收取($ postArr [& # 39; MsgType& # 39;]), | |, !收取($ postArr [& # 39; FromUserName& # 39;)))   ,return 假;   $ data =, (“touser",=祝辞,postArr美元[& # 39;FromUserName& # 39;]];   美元$ accessToken =, xcxmsg→getAccessToken ();   时间=美元url “https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=",只accessToken美元;   switch  ($ postArr [& # 39; MsgType& # 39;]), {   ,case “text":   ,//如用户发送的是文字信息,这里处理   ,//回复图文链接,也可以回复别的类型,根据需要   ,$ data [& # 39; msgtype& # 39;],=,“link";   ,$ data[& # 39;链接# 39;],=,(   ,,“title"=祝辞,“hello",   ,,“description"=祝辞,“Is  Really  A  Happy  Day"   ,,“url"=祝辞,“LINK_URL",//连接的url   ,,“thumb_url"=祝辞;“thumb_url",//图片url   ,);   ,json 美元;=,json_encode(数据,美元,JSON_UNESCAPED_UNICODE);   旋度,xcxmsg→美元($ json,, $ url);   ,打破;   ,case “image":,//如用户发送图片消息,进入这里   ,//服务端回复,图片,也可以回复别的类型,根据需要   ,$ data [& # 39; msgtype& # 39;],=,“image";   ,$ data[& # 39;图像# 39;],=,(& # 39;media_id& # 39;,=祝辞,& # 39;media_id值& # 39;];,//,执行,美元xcxmsg→上传(accessToken美元)返回的,media_id   ,json 美元;=,json_encode(数据,美元,JSON_UNESCAPED_UNICODE);   旋度,xcxmsg→美元($ json,, $ url);   ,case “miniprogrampage":   ,//如用户发送小程序卡片,进入这里   ,//这里服务端回复小卡片,也可以回复别的类型,根据需要   ,$ data [& # 39; msgtype& # 39;],=,“miniprogrampage";   ,$ data [& # 39; miniprogrampage& # 39;],=, (   ,,“title"=祝辞,“title",   ,,“pagepath"=祝辞,“页面/索引/index"   ,,“thumb_media_id"=祝辞,“media_id值“];//,执行,美元xcxmsg→上传(accessToken美元)返回的,media_id   ,json 美元;=,json_encode(数据,美元,JSON_UNESCAPED_UNICODE);   旋度,xcxmsg→美元($ json,, $ url);   ,打破;   ,case “event":   ,//如用户进入会话事件   ,//这里可以回复文本   ,$ data [& # 39; msgtype& # 39;],=,“text";   ,$ data[& # 39;文本# 39;],=,(   ,,“content"=祝辞,“Hello  World"   )才能;   ,json 美元;=,json_encode(数据,美元,JSON_UNESCAPED_UNICODE);   旋度,xcxmsg→美元($ json,, $ url);   ,打破;   ,默认值:   null

使用PHP怎么实现一个微信小程序客服消息功能