import com.bean.*; import com.constant.WeChatInfo; import com.pojo.Token; import com.utils.CommonUtil; import com.utils.MenuUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; @RequestMapping("/menu") @RestController public class MenuManager { private static Logger logger = LoggerFactory.getLogger(MenuManager.class); public static final String APP_ID ="wxdb1b64ec14b694b4";//公司开发号 public static final String APP_SECRET = "517754479fbc6323512e9625"; public static final String IP = "https://account-staging.qqq.com";//阿里云测试 public static final String AUTHEN_HTML = IP + "%2fWeChatWeb%2fhtml%2fauthen";//认证页面 public static final String SERVICE_CENTER_HTML = IP + "%2fWeChatWeb%2fhtml%2fserviceCenter";//服务中心 /** 以下是菜单按钮的配置 */ public static final String AUTHEN_INFO_URL = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + APP_ID + "&redirect_uri=" + AUTHEN_HTML + "&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; public static final String SERVICE_CENTER = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + APP_ID + "&redirect_uri=" + SERVICE_CENTER_HTML + "&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; /** * 定义菜单结构 * * @return */ @RequestMapping("/addconditional") @ResponseBody private Menu getMenu() { ViewButton btn13 = new ViewButton(); btn13.setName("认证信息"); btn13.setType("view"); btn13.setUrl(AUTHEN_INFO_URL);//生成菜单使用 //btn13.setUrl(REDIRECT_URI.replace("APPID",APP_ID).replace("REDIRECT_URI",SERVER_URL+AUTHEN_HTML); ViewButton btn31 = new ViewButton(); btn31.setName("经典案列"); btn31.setType("view"); btn31.setUrl("http://www.baidu.com"); ComplexButton mainBtn1 = new ComplexButton(); mainBtn1.setName("身份认证"); mainBtn1.setSub_button(new Button[]{btn13}); ViewButton mainBtn2 = new ViewButton(); mainBtn2.setName("服务中心"); mainBtn2.setType("view"); mainBtn2.setUrl(SERVICE_CENTER);//生成菜单使用 //mainBtn2.setUrl(REDIRECT_URI.replace("APPID",APP_ID).replace("REDIRECT_URI",SERVER_URL+SERVICE_CENTER_HTML)); ComplexButton mainBtn3 = new ComplexButton(); mainBtn3.setName("其他"); mainBtn3.setSub_button(new Button[]{btn31}); Menu menu = new Menu(); menu.setButton(new Button[]{mainBtn1, mainBtn2}); return menu; } public static void main(String[] args) { // 第三方用户唯一凭证 String appId = APP_ID; // 第三方用户唯一凭证密钥 String appSecret = APP_SECRET; // 调用接口获取凭证 Token token = CommonUtil.getToken(appId, appSecret); if (null != token) { // 创建菜单 boolean result = MenuUtil.createMenu( new MenuManager().getMenu(), token.getAccessToken()); // 判断菜单创建结果 if (result) logger.info("菜单创建成功!"); else logger.info("菜单创建失败!"); } } }