发布于 2015-10-16 02:26:45 | 166 次阅读 | 评论: 0 | 来源: 网友投递
fastweixin 微信公众平台服务器
fastweixin —— 快速搭建微信公众平台服务器,简单封装了所有与微信服务器交互的消息:文本消息、图片消息、图文消息等等 1.0版本提供了一个基于springmvc的控制器,集成了微信服务器绑定、监听所有类型消息的方法 使用时继承,重写即可,十分方便
fastweixin 发布 1.3.4 版本,更新内容:
1.新增view_limited和media_id类型菜单的支持
2.基于spring框架适配控制器优化,解决部分使用者出现的消息乱码的问题
3.修改token刷新逻辑,加入详细原理注释,方便使用者了解原理,并可以发现问题以便及时修复
4.补充企业号API注释,优化部分企业号API
@RestController @RequestMapping("/weixin") public class WeixinController extends WeixinControllerSupport { private static final Logger log = LoggerFactory.getLogger(WeixinController.class); private static final String TOKEN = "myToken"; //设置TOKEN,用于绑定微信服务器 @Override protected String getToken() { return TOKEN; } //使用安全模式时设置:APPID @Override protected String getAppId() { return null; } //使用安全模式时设置:密钥 @Override protected String getAESKey() { return null; } //重写父类方法,处理对应的微信消息 @Override protected BaseMsg handleTextMsg(TextReqMsg msg) { String content = msg.getContent(); log.debug("用户发送到服务器的内容:{}", content); return new TextMsg("服务器回复用户消息!"); } /*1.1版本新增,重写父类方法,加入自定义微信消息处理器 *不是必须的,上面的方法是统一处理所有的文本消息,如果业务觉复杂,上面的会显得比较乱 *这个机制就是为了应对这种情况,每个MessageHandle就是一个业务,只处理指定的那部分消息 */ @Override protected List<MessageHandle> initMessageHandles() { List<MessageHandle> handles = new ArrayList<MessageHandle>(); handles.add(new MyMessageHandle()); return handles; } //1.1版本新增,重写父类方法,加入自定义微信事件处理器,同上 @Override protected List<EventHandle> initEventHandles() { List<EventHandle> handles = new ArrayList<EventHandle>(); handles.add(new MyEventHandle()); return handles; } }
public class WeixinServlet extends WeixinServletSupport { @Override protected WeixinSupport getWeixinSupport() { return new MyServletWeixinSupport(); } } //用户自行实现的微信消息收发处理器 public class MyServletWeixinSupport extends WeixinSupport { private static final Logger log = LoggerFactory.getLogger(MyServletWeixinSupport.class); @Override protected String getToken() { return "myToken"; } @Override protected BaseMsg handleTextMsg(TextReqMsg msg) { String content = msg.getContent(); log.debug("用户发送到服务器的内容:{}", content); return new TextMsg("服务器回复用户消息!"); } }
public class MyJfinalController extends Controller { //用户自行实现的消息处理器 private WeixinSupport support = new MyServletWeixinSupport(); public void index() { HttpServletRequest request = getRequest(); log.debug("method:{}", request.getMethod()); //绑定微信服务器 if ("GET".equalsIgnoreCase(request.getMethod().toUpperCase())) { support.bindServer(request, getResponse()); renderNull(); } else { //处理消息 renderText(support.processRequest(request), "text/xml"); } } }