package wx_menu; import com.soecode.wxtools.api.IService; import com.soecode.wxtools.api.WxConsts; import com.soecode.wxtools.api.WxService; import com.soecode.wxtools.bean.WxMenu; import com.soecode.wxtools.bean.WxMenu.WxMenuButton; import com.soecode.wxtools.exception.WxErrorException; import com.ynxbd.wx.config.WeChatConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; public class CreateMenu_md extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 实例化 统一业务API入口 IService iService = new WxService(); // 验证服务器的有效性 PrintWriter out = response.getWriter(); String signature = request.getParameter("signature"); String timestamp = request.getParameter("timestamp"); String nonce = request.getParameter("nonce"); String echostr = request.getParameter("echostr"); if (iService.checkSignature(signature, timestamp, nonce, echostr)) { out.print(echostr); } WxMenu menu = new WxMenu(); List btnList = new ArrayList<>(); WxMenuButton btn1 = new WxMenuButton(); btn1.setType(WxConsts.MENU_BUTTON_VIEW); btn1.setKey("l1"); btn1.setUrl(WeChatConfig.getBaseUrl() + "reg-site.html"); btn1.setName("今日挂号"); WxMenuButton btn2 = new WxMenuButton(); btn2.setType(WxConsts.MENU_BUTTON_VIEW); btn2.setUrl(WeChatConfig.getBaseUrl() + "reg-reserve.html"); btn2.setKey("l2"); btn2.setName("预约挂号"); WxMenuButton btn3 = new WxMenuButton(); btn3.setType(WxConsts.MENU_BUTTON_CLICK); btn3.setKey("l3"); btn3.setName("我的信息"); // List subList2 = new ArrayList<>(); WxMenuButton btn2_1 = new WxMenuButton(); btn2_1.setType(WxConsts.MENU_BUTTON_VIEW); btn2_1.setName("检查结果"); btn2_1.setUrl(WeChatConfig.getBaseUrl() + "check.jsp"); WxMenuButton btn2_2 = new WxMenuButton(); btn2_2.setType(WxConsts.MENU_BUTTON_VIEW); btn2_2.setName("化验结果"); btn2_2.setUrl(WeChatConfig.getBaseUrl() + "inspection.jsp"); // subList2.add(btn2_1); // subList2.add(btn2_2); // btn2.setSub_button(subList2); List subList3 = new ArrayList<>(); WxMenuButton btn3_0 = new WxMenuButton(); btn3_0.setType(WxConsts.MENU_BUTTON_VIEW); btn3_0.setName("预约记录"); btn3_0.setUrl(WeChatConfig.getBaseUrl() + "my-reservation.jsp"); WxMenuButton btn3_1 = new WxMenuButton(); btn3_1.setType(WxConsts.MENU_BUTTON_VIEW); btn3_1.setName("微信支付"); btn3_1.setUrl(WeChatConfig.getBaseUrl() + "my-pay.jsp"); WxMenuButton btn3_2 = new WxMenuButton(); btn3_2.setType(WxConsts.MENU_BUTTON_VIEW); btn3_2.setName("身份绑定"); btn3_2.setUrl(WeChatConfig.getBaseUrl() + "my.jsp"); subList3.add(btn2_1); subList3.add(btn2_2); subList3.add(btn3_0); subList3.add(btn3_1); subList3.add(btn3_2); btn3.setSub_button(subList3); // 将三个按钮设置进btnList btnList.add(btn1); btnList.add(btn2); btnList.add(btn3); // 设置进菜单类 menu.setButton(btnList); // 调用API即可 try { // 参数1--menu ,参数2--是否是个性化定制。如果是个性化菜单栏,需要设置MenuRule iService.createMenu(menu, false); } catch (WxErrorException e) { // TODO Auto-generated catch block e.printStackTrace(); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }