由于开发者通过接口修改了菜单配置,当前菜单配置已失效并停用。你可以前往开发者中心进行停用。我点击进来就这样。要是我停用了之后 是不是整个公众号 都不能用了。我现在要加一个二级菜单。
第一个方法用代码修改或者添加菜单,二你禁用了开发模式,那你自己开发的功能不能使用了,但是微信的基本功能还是能使用的
开启了开发者模式 。原来的二级菜单就不能用了,你可以自己开发。但是原来的微信基本功能不提供的
启用开发者模式,除自动回复和自定义菜单,其他基本能正常公众号后台配置使用。
微信公众号后端配置的菜单不起作用,需要调用微信的自定义菜单接口来管理微信菜单。(https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141013) 。
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MenuManager {
private static Logger log = LoggerFactory.getLogger(MenuManager.class);
public static void main(String[] args) {
String appId = "你的appid";
String appSecret = "你的appSecret";
// // 调用接口获取access_token
AccessToken at = WeixinUtil.getAccessToken(appId, appSecret);
if (null != at) {
// 调用接口创建菜单
int result = WeixinUtil.createMenu(getMenu(), at.getToken());
// 推断菜单创建结果
if (0 == result)
log.info("菜单创建成功!");
else
log.info("菜单创建失败,错误码:" + result);
}
}
/**
* 组装菜单数据
*/
private static Menu getMenu() {
CommonButton btn111 = new CommonButton();
btn111.setName("二级菜单1");
btn111.setType("view");
btn111.setUrl("https://open.weixin.qq.com/connect/oauth2/authorize?appid=你的appid&redirect_uri=http%3A%2F%2F" +
"ip地址或域名%2Funbind.jhtml&response_type=code&scope=snsapi_userinfo&state=test#wechat_redirect");
ClickButton btn41 = new ClickButton();
btn41.setName("点击事件");
btn41.setType("click");
btn41.setKey("GET_REPORT");
CommonButton btn33 = new CommonButton();
btn33.setName("二级菜单2");
btn33.setType("view");
btn33.setUrl("https://open.weixin.qq.com/connect/oauth2/authorize?appid=你的appid&redirect_uri=http%3A%2F%2F" +
"192.168.134.222:8080%2Fmenu.jhtml&response_type=code&scope=snsapi_userinfo&state=test#wechat_redirect");
CommonButton btn12 = new CommonButton();
btn12.setName("二级菜单3");
btn12.setType("view");
btn12.setUrl("https://open.weixin.qq.com/connect/oauth2/authorize?appid=你的appid&redirect_uri=http%3A%2F%2F" +
"www.baidu.com%2Fwx%2Fdeposit%2FmemberLogin.jhtml&response_type=code&scope=snsapi_userinfo&state=test#wechat_redirect");
CommonButton btn13 = new CommonButton();
btn13.setName("楼盘列表");
btn13.setType("view");
btn13.setUrl("菜单URL");
CommonButton btn11 = new CommonButton();
btn11.setName("零钱提现");
btn11.setType("view");
btn11.setUrl("菜单URL");
CommonButton btn15 = new CommonButton();
btn15.setName("提现说明");
btn15.setType("view");
btn15.setUrl("菜单URL");
CommonButton btn16 = new CommonButton();
btn16.setName("盘客宝说明");
btn16.setType("view");
btn16.setUrl("菜单URL");
ComplexButton mainBtn1 = new ComplexButton();
mainBtn1.setName("一级菜单1");
mainBtn1.setSub_button(new Button[] { btn111, btn41, btn33});
ComplexButton mainBtn2 = new ComplexButton();
mainBtn2.setName("一级菜单2");
mainBtn2.setSub_button(new Button[] { btn12, btn13});
ComplexButton mainBtn3 = new ComplexButton();
mainBtn3.setName("一级菜单3");
mainBtn3.setSub_button(new Button[] { btn11, btn15, btn16});
/**
* 这是公众号xiaoqrobot眼下的菜单结构,每一个一级菜单都有二级菜单项<br>
*
* 在某个一级菜单下沒有二级菜单的情况,menu该怎样定义呢?<br>
* 比方,第三个一级菜单项不是“许多其他体验”,而直接是“幽默笑话”,那么menu应该这样定义:<br>
* menu.setButton(new Button[] { mainBtn1, mainBtn2, btn33 });
*/
Menu menu = new Menu();
menu.setButton(new Button[] { mainBtn1, mainBtn2, mainBtn3});
return menu;
}
}