开发背景:根据需求,在原有管理平台集成关注公众号后可接收订单状态提醒功能
实现步骤:
1、在原有系统中创建用户表,用于保存关注公众号后获取验证 TOKEN
CREATE TABLE `cb_member` (
`MemberID` smallint(5) NOT NULL AUTO_INCREMENT,
`MemberName` varchar(20) CHARACTER SET utf8mb4 DEFAULT '' COMMENT '会员名称',
`MemberTrueName` varchar(30) DEFAULT '' COMMENT '真实姓名',
`MemberMobile` varchar(20) DEFAULT '' COMMENT '联系电话',
`MemberBalanceCount` decimal(10,2) DEFAULT '0.00' COMMENT '积分',
`MemberAddress` varchar(100) DEFAULT '' COMMENT '联系地址',
`MemberSort` smallint(5) unsigned DEFAULT '0' COMMENT '排序',
`MemberState` tinyint(1) unsigned DEFAULT '0' COMMENT '登录状态0为禁用1为正常',
`MemberLastTime` int(10) unsigned DEFAULT '0' COMMENT '上一次登录时间',
`MemberLoginTime` int(10) unsigned DEFAULT '0' COMMENT '本次登录时间',
`MemberTime` int(10) unsigned DEFAULT '0' COMMENT '创建时间',
`IP` varchar(32) DEFAULT NULL,
`token_time` int(11) DEFAULT NULL COMMENT 'token时间更新',
`gzhopenid` varchar(40) NOT NULL DEFAULT '',
PRIMARY KEY (`MemberID`),
UNIQUE KEY `MemberID` (`MemberID`) USING BTREE,
KEY `MemberName` (`MemberName`,`MemberPwd`) USING BTREE,
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COMMENT='数据表';
2、关注公众号自动回复,以及关键字回复功能
此处可根据官方文档进行自定义设置。
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$keyword = trim($postObj->Content);
$time = time();
$msgType = $postObj->MsgType;//消息类型
$event = $postObj->Event;//时间类型,subscribe(订阅)、unsubscribe(取消订阅)
$EventKey = $postObj->EventKey;
$textTpl = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Content><![CDATA[%s]]></Content><FuncFlag>0</FuncFlag></xml>";
switch($msgType) {
case "event":
if($event=="subscribe"){
$contentStr = "尊敬的用户您好! 欢迎关注,我们将竭诚为您提供优质服务!\n客服在线时间:9:00-18:00,如果没有及时回复,请拨打电话:xxxx";
}elseif($event=="CLICK"){
if($EventKey=="V1001"){
$contentStr = "客服咨询:xxxxx(同微信)\n ".$this->emoji("\ue231")." 回复“0”即可添加小助手的个人微信,等你来撩哦";
}
}
break;
case "text":
switch($keyword){
case "0":
$contentStr = "客服小助手个人微信号:\n xxxx(同微信)";
break;
default:
$contentStr = "待做";
}
break;
}
$msgType = "text";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
3、自定义菜单实现,推送自定义菜单
参考官方文档说明
$token = $wxserver->getAccess_token($this->AppId,$this->AppSecret);
$get_all_access_token = $access_token['access_token'];
$api = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token='.$get_all_access_token;
根据官方提供的推送地址,传递token 和 api地址直接推送即可。
4、用户关注公众号,查询订单或申请服务
系统集成订单状态自动通知功能如订单有新的状态更新 会自动触发发给客户。
申请售后工单提醒
会员中心查询工单和订单记录以及当前状态
整个开发至此结束,欢迎参考指正。
草邦设计开发团队 版权所有,未经许可禁止转载