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; //@WebServlet("/createmenu") public class 石林彝族自治县人民医院 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_CLICK); btn1.setKey("l1"); btn1.setName("医院概况"); WxMenuButton btn2 = new WxMenuButton(); btn2.setType(WxConsts.MENU_BUTTON_CLICK); btn2.setKey("l2"); btn2.setName("预约挂号"); WxMenuButton btn3 = new WxMenuButton(); btn3.setType(WxConsts.MENU_BUTTON_CLICK); btn3.setKey("l3"); btn3.setName("我的信息"); List subList = new ArrayList<>(); WxMenuButton btn1_1 = new WxMenuButton(); btn1_1.setType(WxConsts.MENU_BUTTON_VIEW); btn1_1.setName("医院简介"); btn1_1.setUrl( "https://mp.weixin.qq.com/s?__biz=MzIxNjk1MTk3OA==&mid=100000142&idx=1&sn=83d01bee6e243b210d3730f8b602b2b0&chksm=17807c4b20f7f55d4cc0962137a67ed7161fbc210928685ae7483c673e2029f20f9a01869a21&scene=0#rd"); WxMenuButton btn1_2 = new WxMenuButton(); btn1_2.setType(WxConsts.MENU_BUTTON_VIEW); btn1_2.setName("人事查询"); btn1_2.setUrl("https://slxyy.soondawn.com/?m=index&d=we"); WxMenuButton btn1_3 = new WxMenuButton(); btn1_3.setType(WxConsts.MENU_BUTTON_VIEW); btn1_3.setName("院内OA"); btn1_3.setUrl("http://www.slxrmyy.cn:9090/touch"); subList.add(btn1_1); subList.add(btn1_2); subList.add(btn1_3); btn1.setSub_button(subList); List subList2 = new ArrayList<>(); WxMenuButton btn2_1 = new WxMenuButton(); btn2_1.setType(WxConsts.MENU_BUTTON_VIEW); btn2_1.setName("预约挂号"); btn2_1.setUrl(WeChatConfig.getBaseUrl() + "reg-reserve.html"); WxMenuButton btn2_2 = new WxMenuButton(); btn2_2.setType(WxConsts.MENU_BUTTON_VIEW); btn2_2.setName("电子健康卡"); btn2_2.setUrl(WeChatConfig.getBaseUrl() + "health-card.html"); subList2.add(btn2_1); subList2.add(btn2_2); btn2.setSub_button(subList2); List subList3 = new ArrayList<>(); WxMenuButton btn3_1 = new WxMenuButton(); btn3_1.setType(WxConsts.MENU_BUTTON_VIEW); btn3_1.setName("个人中心"); btn3_1.setUrl(WeChatConfig.getBaseUrl() + "my-info.html"); WxMenuButton btn3_2 = new WxMenuButton(); btn3_2.setType(WxConsts.MENU_BUTTON_VIEW); btn3_2.setName("微信支付"); btn3_2.setUrl(WeChatConfig.getBaseUrl() + "pay-info.html"); WxMenuButton btn3_3 = new WxMenuButton(); btn3_3.setType(WxConsts.MENU_BUTTON_VIEW); btn3_3.setName("报告单"); btn3_3.setUrl(WeChatConfig.getBaseUrl() + "all-result.html"); WxMenuButton btn3_4 = new WxMenuButton(); btn3_4.setType(WxConsts.MENU_BUTTON_VIEW); btn3_4.setName("体检报告"); btn3_4.setUrl(WeChatConfig.getBaseUrl() + "ext/tj"); // WxMenuButton btn3_3 = new WxMenuButton(); // btn3_2.setType(WxConsts.MENU_BUTTON_VIEW); // btn3_2.setName("发消息给我"); // btn3_2.setUrl("http://wsxrmyy.s1.natapp.cc/wx/sendmessage.jsp"); subList3.add(btn3_1); subList3.add(btn3_2); subList3.add(btn3_3); subList3.add(btn3_4); btn3.setSub_button(subList3); // 将三个按钮设置进btnList btnList.add(btn1); btnList.add(btn2); btnList.add(btn3); // 微信支付菜单 // btnList.add(btn3_1); // btnList.add(btn3_3); // btnList.add(btn3_2); // 设置进菜单类 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); } }