You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
3.7 KiB
113 lines
3.7 KiB
2 years ago
|
package com.ynxbd.wx.servlet.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<WxMenuButton> 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<WxMenuButton> 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<WxMenuButton> 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);
|
||
|
}
|
||
|
|
||
|
}
|