微信开发框架Java版
2017-10-17 17:29
106 查看
首先感谢liuhf等大佬的代码。
前些日子封装了一个微信开发框架,也没必要起名字,毕竟不是什么大项目,个人自用妥妥的。
使用方法:
新建一java web项目
新建servlet作为微信接口:
/**
* Servlet implementation class WxInterface
*/
@WebServlet(name = "/WxInterface", loadOnStartup = 1, urlPatterns = "/WxInterface")
public class WxInterface extends HttpServlet {
private static final long serialVersionUID = 1L;
public static final boolean ENABLE_ACCESS_TOKEN_MAINTAIN = true;
// 预读取文本资源
private String menuTpl = null;
private String subscribeMessage = null;
private String bindTip = null;
private String unbindTip = null;
public static WxBot wxBot;
private MessageHandler handler = new MessageHandler(wxBot) {
public String onTextMessage(java.util.Map<String, String> requestMap) {
return "success";
};
public String onGetAccessToken(String accesstoken) {
System.out.println("获取到了Access Token");
String resultMenu = wxBot.setMenu(menuTpl);
System.out.println("更新菜单请求的返回:" + resultMenu);
return null;
};
public String onEventClickMessage(java.util.Map<String, String> requestMap) {
// NetUtil.dumpMap(requestMap);
String eventKey = requestMap.get("EventKey");
String fromUserName = requestMap.get("FromUserName");
String toUserName = requestMap.get("ToUserName");
if (eventKey.equals("V1001_BIND")) {
String finalBindTip = String.format(bindTip, "http://www.baidu.com/");
return WxBot.makeSimpleMessage(toUserName, fromUserName, finalBindTip);
} else if (eventKey.equals("V1001_UNBIND")) {
String finalUnBindTip = String.format(unbindTip, "http://www.baidu.com/");
return WxBot.makeSimpleMessage(toUserName, fromUserName, finalUnBindTip);
}
return "success";
};
public String onEventSubscribeMessage(java.util.Map<String, String> requestMap) {
// 发送方帐号
String fromUserName = requestMap.get("FromUserName");
// 开发者微信号s
String toUserName = requestMap.get("ToUserName");
// 回复文本消息
return WxBot.makeSimpleMessage(toUserName, fromUserName, subscribeMessage);
};
};
/**
* @see HttpServlet#HttpServlet()
*/
public WxInterface() {
super();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
wxBot.checkSignature(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
wxBot.processRequest(request, response);
// doGet(request, response);
}
@Override
public void init() throws ServletException {
menuTpl = IoUtil.ReadFile(getServletContext().getRealPath("wx/menu.json"));
subscribeMessage = IoUtil.ReadFile(getServletContext().getRealPath("wx/subscribe.txt"));
bindTip = IoUtil.ReadFile(getServletContext().getRealPath("wx/bindTip.txt"));
unbindTip = IoUtil.ReadFile(getServletContext().getRealPath("wx/unbindTip.txt"));
wxBot = new WxBot("token", "appid", "secret",
"aes");
wxBot.setMessageHandler(handler);
super.init();
}
@Override
public void destroy() {
wxBot.release();
super.destroy();
}
}
前些日子封装了一个微信开发框架,也没必要起名字,毕竟不是什么大项目,个人自用妥妥的。
使用方法:
新建一java web项目
新建servlet作为微信接口:
/**
* Servlet implementation class WxInterface
*/
@WebServlet(name = "/WxInterface", loadOnStartup = 1, urlPatterns = "/WxInterface")
public class WxInterface extends HttpServlet {
private static final long serialVersionUID = 1L;
public static final boolean ENABLE_ACCESS_TOKEN_MAINTAIN = true;
// 预读取文本资源
private String menuTpl = null;
private String subscribeMessage = null;
private String bindTip = null;
private String unbindTip = null;
public static WxBot wxBot;
private MessageHandler handler = new MessageHandler(wxBot) {
public String onTextMessage(java.util.Map<String, String> requestMap) {
return "success";
};
public String onGetAccessToken(String accesstoken) {
System.out.println("获取到了Access Token");
String resultMenu = wxBot.setMenu(menuTpl);
System.out.println("更新菜单请求的返回:" + resultMenu);
return null;
};
public String onEventClickMessage(java.util.Map<String, String> requestMap) {
// NetUtil.dumpMap(requestMap);
String eventKey = requestMap.get("EventKey");
String fromUserName = requestMap.get("FromUserName");
String toUserName = requestMap.get("ToUserName");
if (eventKey.equals("V1001_BIND")) {
String finalBindTip = String.format(bindTip, "http://www.baidu.com/");
return WxBot.makeSimpleMessage(toUserName, fromUserName, finalBindTip);
} else if (eventKey.equals("V1001_UNBIND")) {
String finalUnBindTip = String.format(unbindTip, "http://www.baidu.com/");
return WxBot.makeSimpleMessage(toUserName, fromUserName, finalUnBindTip);
}
return "success";
};
public String onEventSubscribeMessage(java.util.Map<String, String> requestMap) {
// 发送方帐号
String fromUserName = requestMap.get("FromUserName");
// 开发者微信号s
String toUserName = requestMap.get("ToUserName");
// 回复文本消息
return WxBot.makeSimpleMessage(toUserName, fromUserName, subscribeMessage);
};
};
/**
* @see HttpServlet#HttpServlet()
*/
public WxInterface() {
super();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
wxBot.checkSignature(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
wxBot.processRequest(request, response);
// doGet(request, response);
}
@Override
public void init() throws ServletException {
menuTpl = IoUtil.ReadFile(getServletContext().getRealPath("wx/menu.json"));
subscribeMessage = IoUtil.ReadFile(getServletContext().getRealPath("wx/subscribe.txt"));
bindTip = IoUtil.ReadFile(getServletContext().getRealPath("wx/bindTip.txt"));
unbindTip = IoUtil.ReadFile(getServletContext().getRealPath("wx/unbindTip.txt"));
wxBot = new WxBot("token", "appid", "secret",
"aes");
wxBot.setMessageHandler(handler);
super.init();
}
@Override
public void destroy() {
wxBot.release();
super.destroy();
}
}
相关文章推荐
- java微信开发框架wechat4j入门教程
- java微信开发框架wechat4j入门教程
- Java微信开发——分享功能的实现(Spring boot框架)
- 微信JAVA开发框架--weix4j介绍
- java微信接口开发java SpringMVC mybatis 后台框架
- 微信开发框架(JAVA版)
- java SpringMVC mybatis 后台框架 集成代码生成器开发利器 全部源码_java微信接口开发
- java微信开发框架wechat4j入门教程
- Java开发最优的开发框架与学习网站
- Jersey : Java规范下REST风格Web Service开发框架
- JAVA平台WebService快速开发框架
- Java Web 框架的"甜点"-Java基础-Java-编程开发
- Java富客户端企级快速开发框架SOYFramework介绍(一)
- JBoss Seam 2.1 值得期待的Java企业应用开发框架
- 一种java web开发框架组合的方案
- TSS翻译:帮我选一个Java Web开发框架吧
- JBoss Seam 2.1 值得期待的Java企业应用开发框架
- Java web开发及框架技术 资料下载
- Java Web开发框架:Apache Wicket 1.3发布
- Java富客户端企级快速开发框架SOYFramework介绍(二)