首页 编程 软件学院 查看内容

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

2015-6-5 11:15 |来自: 开源中国新闻 1690 0

摘要: fastweixin 发布 1.3.2 版本,更新内容:1.重构token刷新机制,充分利用微信token提供的机制,不再出现超时刷新等问题2.新增MaterialAPI,提供素材管理相关功能 感谢Nottyjay贡献的代码3.修复jsTicket刷新异常的BUG4. ...
关键词: 消息 protected Override 服务器 return 方法 用户 String handles MyServletWeixinS

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 = Logge**ctory.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 = Logge**ctory.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");
      }
    }
}
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部