失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 微信公众号创建自定义菜单 并点击菜单获取公众号发送图片海报

微信公众号创建自定义菜单 并点击菜单获取公众号发送图片海报

时间:2020-02-15 02:31:43

相关推荐

微信公众号创建自定义菜单 并点击菜单获取公众号发送图片海报

此次和上一篇:微信公众号上传素材类似,这里部分代码就省略

直接上代码:

创建自定义菜单:

public function menu(){$bb=["button"=>[[ "type"=>"click","name"=>"生成海报","key"=>"qrcode001"//这里要记住,后面要用到此key值],["type"=>"view","name"=>"搜索","url"=>"/index.php/index/wx"]]];$postdata=json_encode($bb,JSON_UNESCAPED_UNICODE);//JSON_UNESCAPED_UNICODE 解析中文$url='https://api./cgi-bin/menu/create?access_token='.$this->get_access_token();$info=$this->_request($url,true,'post',$postdata);var_dump($info);//$info返回值 {"errcode":0,"errmsg":"ok"}}

公众号接受用户发来的数据:

public function responseMsg(){$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];if (!empty($postStr)){$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);$RX_TYPE = trim($postObj->MsgType);//点击自定义菜单发送海报给用户if($RX_TYPE=='event'){if(trim($postObj->Event)=='CLICK'){$resultStr = $this->handleoneimg($postObj);echo $resultStr;}}else {echo "";exit;}}}

发送图片给用户:

//自定义菜单点击click,公众号发送 图片 public function handleoneimg($postObj){$fromUsername = $postObj->FromUserName;$toUsername = $postObj->ToUserName;$EventKeytrim=trim($postObj->EventKey);//点击自定义菜单click时的key值$time = time();$textTpl="<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[image]]></MsgType><Image><MediaId><![CDATA[%s]]></MediaId></Image></xml>";//调用上传素材的方法$this->uploadImg()$res=json_decode($this->uploadImg(),true);//判断点击自定义菜单click时key值与自定义菜单的key是否相同if($EventKeytrim=='qrcode001'){$mediaid=$res['media_id'];$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $mediaid);return $resultStr;}}

最终效果图:

如果觉得《微信公众号创建自定义菜单 并点击菜单获取公众号发送图片海报》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。