自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能
用户关注公众号回调
AppID:开发者ID,微信公众号的唯一标识
AppSecret:开发者密码,操作微信公众号的验证
IP白名单:获取access_token时,需要IP白名单才可以获取
OpenID:微信用户在当前公众号的唯一标识
UnionID:微信用户在当前开放平台账号的所有公众号和应用情景下的唯一标识
服务器配置:
URL(地址):配置以后,用户对公众号的操作(关注、发消息),微信会转到该链接
Token(令牌):用作生成签名
EncodingAESKey(密钥):消息加密
请一定要将微信后台的开发者模式 “启用” !!看到红色 “停用” 才真正的是启用了。
启用后公众号的菜单只能通过代码控制,不能通过微信公众号配置。
创建菜单部分代码:
$buttons = [
[
"type" => "article_view_limited",
"name" => "故事",
"article_id" => ""
],
[
"name" => "我的",
"sub_button" => [
[
"type" => "click",
"name" => "联系",
"key" => "contact_us" //联系 用户点击联系 返回文字提示的需要单独配置
],
[
"type" => "view",
"name" => "信息",
"url" => "http://www.xxxx.com" //
],
],
],
];
关注公众号和自定义点击菜单如(联系) 部分代码
$app->server->push(function ($message) {
switch ($message['MsgType']) {
case 'event':
$openid=empty($message['FromUserName'])?'':$message['FromUserName'];
if($message['Event']=='subscribe'){ //关注公众号
if(!self::CheckFllow($openid)){
return '您好!欢迎关注xxxx;
}
}elseif($message['Event']=='unsubscribe'){ //取消关注公众号
}elseif ($message['Event']=='CLICK') {//菜单点击事件
if($message['EventKey']=='contact_us'){ //点击联系返回的信息
#文本换行必须用双引号
return "固定*\n xxxxx\n\n工作时间:\nxxxxxx";
}
}elseif ($message['Event']=='VIEW') {//连接跳转事件
}
return '';
break;
case 'text': //收到文字消息
return '';
break;
case 'image': //收到图片消息
return '';
break;
case 'voice': //收到语音消息
return '';
break;
case 'video': //收到视频消息
return '';
break;
case 'location': //收到坐标消息
return '';
break;
case 'link': //收到链接消息
return '';
break;
case 'file': //收到文件消息
return '';
break;
default: //收到其它消息
return '';
break;
}
});
热门推荐