转载

fastweixin v1.3.2 发布,极速微信公众号开发框架

6月14日上海 OSC 源创会开始报名,送机械键盘和开源无码内裤

fastweixin 发布 1.3.2 版本,更新内容:

1.重构token刷新机制,充分利用微信token提供的机制,不再出现超时刷新等问题

2.新增MaterialAPI,提供素材管理相关功能 感谢Nottyjay贡献的代码

3.修复jsTicket刷新异常的BUG

4.获取用户信息同时可以获取用户所属分组ID

5.添加新增的微信接口全局返回码

6.提供ApiConfigChangeHandle接口,用于监控微信token以及jsTicket的变化,并实时通知调用者,使用jdk自带观察者模式实现 感谢Nottyjay贡献的代码

7.补充注释,加入更全的测试用例

fastweixin —— 快速搭建微信公众平台服务器

简单封装了所有与微信服务器交互的消息:文本消息、图片消息、图文消息等等 1.0版本提供了一个基于springmvc的控制器,集成了微信服务器绑定、监听所有类型消息的方法 使用时继承,重写即可,十分方便

基于springmvc项目的集成方法

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

基于servlet项目的集成方法

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("服务器回复用户消息!");  } } 

基于Jfinal框架的集成方法

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");    }   } } 
正文到此结束
Loading...