package com.bcxin.survey.wechat.menuutils; import com.bcxin.survey.domain.wechat.AccessToken; import com.bcxin.survey.utils.GlobalResources; import com.bcxin.survey.wechat.utils.WeixinUtil; /** * 菜单管理器类 * * * @date 2014-11-24 */ public class MenuManager { public static void main(String[] args) { System.out.println(GlobalResources.APPID); System.out.println(GlobalResources.DOMAINNAME); // 调用接口获取access_token AccessToken at = WeixinUtil.getAccessToken(GlobalResources.APPID, GlobalResources.APPSECRET); System.out.println(at.getToken()); if (null != at) { // 调用接口查询菜单 //WeixinUtil.getMenu(at.getToken()); // 调用接口删除菜单,删除原有菜单 int resultD = WeixinUtil.deleteMenu(at.getToken()); if (0 == resultD) { // 调用接口创建菜单 int result = WeixinUtil.createMenu(getMenu(),at.getToken()); // 判断菜单创建结果 if (0 == result) System.out.println("菜单创建成功!"); else System.out.println("菜单创建失败,错误码:" + result); } else { System.out.println("菜单删除失败,错误码:" + resultD); } } } /** * 组装菜单数据 * * @return */ private static Menu getMenu() { ViewButton vbtn11 = new ViewButton(); vbtn11.setName("我的任务"); vbtn11.setType("view"); vbtn11.setUrl("https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + GlobalResources.APPID + "&redirect_uri=http://" + GlobalResources.DOMAINNAME + "/wechat/task/taskList/init?weChat=1&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect"); ViewButton vbtn12 = new ViewButton(); vbtn12.setName("我的日程"); vbtn12.setType("view"); vbtn12.setUrl("https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + GlobalResources.APPID + "&redirect_uri=http://" + GlobalResources.DOMAINNAME + "/wechat/plan/surveyPlan/init?weChat=1&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect"); ViewButton vbtn13 = new ViewButton(); vbtn13.setName("登出系统"); vbtn13.setType("view"); vbtn13.setUrl("http://" + GlobalResources.DOMAINNAME + "/j_spring_security_logout"); ViewButton vbtn21 = new ViewButton(); vbtn21.setName("勘查问卷"); vbtn21.setType("view"); vbtn21.setUrl("https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + GlobalResources.APPID + "&redirect_uri=http://" + GlobalResources.DOMAINNAME + "/wechat/question/init?weChat=1&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect"); ViewButton vbtn22 = new ViewButton(); vbtn22.setName("开始勘查"); vbtn22.setType("view"); vbtn22.setUrl("https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + GlobalResources.APPID + "&redirect_uri=http://" + GlobalResources.DOMAINNAME + "/wechat/survey/siteSurvey/init?weChat=1&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect"); ViewButton vbtn31 = new ViewButton(); vbtn31.setName("新增场馆"); vbtn31.setType("view"); vbtn31.setUrl("https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + GlobalResources.APPID + "&redirect_uri=http://" + GlobalResources.DOMAINNAME + "/wechat/venue/addVenue/init?weChat=1&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect"); ViewButton vbtn32 = new ViewButton(); vbtn32.setName("修改场馆"); vbtn32.setType("view"); vbtn32.setUrl("https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + GlobalResources.APPID + "&redirect_uri=http://" + GlobalResources.DOMAINNAME + "/wechat/venue/venueList/init?weChat=1&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect"); ComplexButton mainBtn1 = new ComplexButton(); mainBtn1.setName("个人中心"); mainBtn1.setSub_button(new ViewButton[] { vbtn11, vbtn12, vbtn13}); // mainBtn1.setSub_button(new ViewButton[] { vbtn11, vbtn12}); ComplexButton mainBtn2 = new ComplexButton(); mainBtn2.setName("现场勘查"); mainBtn2.setSub_button(new ViewButton[] { vbtn21, vbtn22}); ComplexButton mainBtn3 = new ComplexButton(); mainBtn3.setName("场馆维护"); mainBtn3.setSub_button(new ViewButton[] { vbtn31, vbtn32}); /** * 这是公众号目前的菜单结构,每个一级菜单都有二级菜单项
* * 在某个一级菜单下没有二级菜单的情况,menu该如何定义呢?
* 比如,第三个一级菜单项不是“更多体验”,而直接是“幽默笑话”,那么menu应该这样定义:
* menu.setButton(new Button[] { mainBtn1, mainBtn2, btn33 }); */ Menu menu = new Menu(); menu.setButton(new Button[] { mainBtn1, mainBtn2, mainBtn3 }); return menu; } }