由于最近在忙着换工作的事情,导致很久没有时间维护fastweixin,感谢代码贡献者这段时间依然在为fastweixin努力!多谢
fastweixin 发布 1.3.3 版本,开始支持企业号开发,更新内容:
1.获取用户信息接口返回内容增加remark字段
2.增加模版消息,感谢kakotor 贡献的代码
3.修复接收扫码事件以及拍照发图事件BUG, 感谢 Nottyjay 贡献的代码
4.开始支持企业号开发,包含员工操作接口、部门管理接口、应用管理接口、资源上传接口、消息发送, 感谢 Nottyjay 贡献的代码
5.token刷新逻辑优化,以及其他细节优化
6.补充注释,加入更全的测试用例
@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"); } } }