概述
不卖关子,直接按着代码来。
一,首先需要创建菜单栏(代码可以直接拿过去用)。
$json = file_get_contents("static/train/button-config.json");
$data = json_decode($json, true);
if (count($data) > 3) {
return null;
}
$access_token = BaseCommon::get_access_token();
// return json(['code'=>'0','msg'=>$access_token]);
$url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" . $access_token;
$return_data = post_curl($url, $json);
return $return_data;
BaseCommon继承的文件
public static function get_access_token(){
$module = request()->module();
$access_token_key = 'access_token';
$redis_obj = redis();
if(empty($redis_obj->get($access_token_key))){
$url_param='https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential'.'&appid='.EVERY_APPID.'&secret='.EVERY_SECRET;
$wx_data_json=post_curl($url_param);
$wx_data=json_decode($wx_data_json,true);
if( isset($wx_data['access_token']) ){
//存储
$redis_obj = redis();
$redis_obj->set($access_token_key,$wx_data['access_token'],7000);
$access_token = $wx_data['access_token'];
}else{
$access_token = $redis_obj->get($access_token_key);
}
return $access_token;
}
定义菜单的json文件(根据自己项目需要存放可访问页面或者小程序)
{
"button": [
{
"name": "用户端入口",
"sub_button": [
{
"type": "view",
"name": "健康宝",
"url": "访问目录路径"
}
]
},
{
"type": "click",
"name": "健康微商城",
"key": "FULI"
},
{
"name": "医生端入口",
"sub_button": [
{
"type": "view",
"name": "医生工作台",
"url": "存放加载路径"
}
]
}
]
}
至此自定义菜单就完成了。
下一步需要做消息自动回复 可查看微信官方文档
在配置服务器的方法里加入代码,回去微信回调数据
// 获取微信回调的数据
$notifiedData = file_get_contents('php://input');
//XML格转换
$xmlObj = simplexml_load_string($notifiedData, 'SimpleXMLElement', LIBXML_NOCDATA);
$this->doPush($xmlObj);
回复消息配置科参考文档。
$type=$postObj->MsgType;//获取消息类型
$msgType = "text";//回复消息类型
$time = time();
$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 ($type){
case "image":
$contentStr='您发送了一个图片消息';
break;
case "voice":
$contentStr="您发送了一个语音消息";
break;
case "location":
$contentStr = "您发送了一个地理位置";
break;
}
根据需要整合一下。
最后
以上就是成就溪流为你收集整理的公众号自定义菜单开发实例的全部内容,希望文章能够帮你解决公众号自定义菜单开发实例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复