微信后端代码
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.

112 lines
3.7 KiB

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<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);
}
}