一、微信菜单基础知识
1.公众号中如果设置了服务器配置,那么配置的菜单将无法使用,两者是互斥的,解决方案就是将菜单通过API的方式创建
微信任务你设置了服务器配置,表示你意见具备了API开发的能力,则不在提供配置菜单的功能
2.目前自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以“...”代替。
二、菜单创建原理
首先构造一个菜单json数据,此数据包含菜单的层级和每个菜单的信息项。然后Post给微信官方服务器。
小程序跳转菜单
$data = '{
"button":[
{
"name":"💋生活服务",
"sub_button":[
{
"type":"click",
"name":"智能语音",
"key":"智能语音,想搜什么直接告诉我,记得要“按住说话”,说给我听"
},
{
"type": "location_select",
"name":"天气查询",
"key": "rselfmenu_2_0"
},
{
"type": "pic_photo_or_album",
"name": "文字提取",
"key": "rselfmenu_1_1",
"sub_button": [ ]
},
{
"type":"view",
"name":"分类信息",
"url":"http://"
}]
},
{
"name":"💄其它福利",
"sub_button":[
{
"type":"click",
"name":"🎁找优惠",
"key":"youhui"
},
{
"type":"miniprogram",
"name":"伟航的小程序",
"url":"http://",
"appid":"wx22e6e4113e3de9da",
"pagepath":"pages/index/index"
},
{
"type":"view",
"name":"加入群聊",
"url":"http://www.0312of.com"
}]
}';
/创建公众号跳转到小程序的菜单
MiniprogramButton miniprogramButton = new MiniprogramButton();
miniprogramButton.setName("菜单名称");
miniprogramButton.setType("miniprogram");
miniprogramButton.setAppid("要跳转的小程序APPID");
miniprogramButton.setUrl("http://mp.weixin.qq.com");
miniprogramButton.setPagepath("小程序要展示的页面路径");
cx_2.setSub_button(new Button[]{miniprogramButton});