需求,用户在小程序内识别公众号二维码。打卡公众号点击签到小程序内赠送对应金币。
首先需要在配置公众号基本配置。
对应后端代码
public function gzh(){//获取参数$get_data = $this->request->request();$signature = $get_data["signature"];$timestamp = $get_data["timestamp"];$nonce = $get_data["nonce"];$token = '你的token';$tmpArr = array($token, $timestamp, $nonce);sort($tmpArr);$tmpstr = implode($tmpArr);//加密信息$tmpstr = sha1($tmpstr);//比较加密信息返回结果if(isset($get_data['echostr'])&&$tmpstr == $signature){echo $get_data['echostr'];exit;}}
自定义公众号菜单
官方文档
微信开放文档
设置好后点击签到 后端代码会收到微信请求
报文中包含用户的opneid 需要调用微信接口使用openid 获取unionid
根据unionid 去数据库中查询用户后 做后续操作
最终返回信息给微信
返回类型是XML
参考代码
$xml = "<xml><ToUserName><![CDATA[用户openid]]></ToUserName><FromUserName><![CDATA[公众号id]]></FromUserName>";//发送给谁(openid),来自谁(公众账号ID)$xml.= "<CreateTime>" .time(). "</CreateTime>";//回复时间戳$xml.= "<MsgType><![CDATA[text]]></MsgType>";//回复类型文本$xml.= "<Content><![CDATA[回复内容]]></Content>";//回复内容$xml.='</xml>';return $xml;
公众号id使用的公众号的原始ID 需要 设置公众号的微信号后获取。