fastweixin v1.3.0 发布,极速微信公众号开发框架 - 开源中国社区
Float_left Icon_close
fastweixin v1.3.0 发布,极速微信公众号开发框架
愚_者 2015年05月04日

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

愚_者 愚_者 发布于2015年05月04日 收藏 92 评论 11

fastweixin 发布 1.3.0 版本,微信消息处理器重构,非常感谢 @Nottyjay 贡献的代码,版本更新内容:

1.修复JS-SDK中token过期不刷新的BUG
2.修复网页授权接口返回值中缺失的unionid字段
3.修复文件名获取的bug
4.增加菜单点击事件(二维码扫描与照片发送)对应处理
5.新增消息群发接口
6.修复获取分组信息的方法,现在可以获取多个分组了
7.修复当一级菜单不存在二级时,获取菜单异常的情况
9.增加批量移动用户分组接口,增加删除分组接口
10.增加上传、删除永久素材的对应方法
11.重构WeixinSupport类,可以支持扩展到更多框架

v1.3.0重构了微信消息接收控制器,将WeixinSupport类完全独立抽象出来,不再依赖web框架
所以WeixinServletSupport类不再兼容之前的版本,具体使用方法如下:

基于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();
    //绑定微信服务器
    @Before(GET.class)
    public void bind() {
        support.bindServer(getRequest(), getResponse());
    }
    //处理消息
    @Before(POST.class)
    public void messageHandler() {
        support.processRequest(getRequest());
    }
}
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:fastweixin v1.3.0 发布,极速微信公众号开发框架
分享
评论(11)
最新评论
0
支持企业号吗?
0
好东西,不错
0
有详细的开发文档吗?
0

引用来自“简单代码”的评论

终于可以集成jfinal了13

引用来自“愚_者”的评论

这个版本开始大大提高可扩展性,不过,如果你使用的是jfinal框架,也可以尝试使用它官方提供的支持,应该也很不错,当然,愿意用我这个我也是很欢迎的1313
官方的目前功能太有限,如果自己补充,又担心后续更新被覆盖了!
0

引用来自“简单代码”的评论

终于可以集成jfinal了13

引用来自“愚_者”的评论

这个版本开始大大提高可扩展性,不过,如果你使用的是jfinal框架,也可以尝试使用它官方提供的支持,应该也很不错,当然,愿意用我这个我也是很欢迎的1313
百花齐放是好事,赞楼主开源精神 ,顶一个
0

引用来自“简单代码”的评论

终于可以集成jfinal了13
这个版本开始大大提高可扩展性,不过,如果你使用的是jfinal框架,也可以尝试使用它官方提供的支持,应该也很不错,当然,愿意用我这个我也是很欢迎的1313
0
mark
0
终于可以集成jfinal了13
0
用过,挺好用。
0
好用吗?
0
支持,强烈支持
顶部