JFinal Weixin - 微信公众号极速 SDK

Apache
Java
跨平台
2014-10-21
JFinal

JFinal Weixin 是基于 JFinal 的微信公众号极速 SDK,只需参考 Demo 代码即可进行极速开发。自 JFinal Weixin 1.2 版本开始已添加对多公众号支持

1、WeixinConfig

public class WeixinConfig extends JFinalConfig {
  public void configConstant(Constants me) {
    loadPropertyFile("a_little_config.txt");
    me.setDevMode(getPropertyToBoolean("devMode", false));
		
    // ApiConfigKit 设为开发模式可以在开发阶段输出请求交互的 xml 与 json 数据
    ApiConfigKit.setDevMode(me.getDevMode());
  }
	
  public void configRoute(Routes me) {
    me.add("/msg", WeixinMsgController.class);
    me.add("/api", WeixinApiController.class, "/api");
  }
	
  public void configPlugin(Plugins me) {}
  public void configInterceptor(Interceptors me) {}
  public void configHandler(Handlers me) {}
}

以上通过 configRoute 方法配置了访问路由 "/msg" 与 "/api"。项目启动后,在微信服以务器上配置 url:http://域名/msg

2、WeixinMsgController

public class WeixinMsgController extends MsgController {
  protected void processInTextMsg(InTextMsg inTextMsg) {
   String msgContent = inTextMsg.getContent().trim();
   // 帮助提示
   if ("help".equalsIgnoreCase(msgContent)) {
     OutTextMsg outMsg = new OutTextMsg(inTextMsg);
     outMsg.setContent(helpStr);
     render(outMsg);
   }	
   else if ("美女".equalsIgnoreCase(msgContent)) {
     OutNewsMsg outMsg = new OutNewsMsg(inTextMsg);
     outMsg.addNews("秀色可餐", "JFinal Weixin 极速开发就是这么爽,有木有 ^_^", "http://mmbiz.qpic.cn/mmbiz/zz3Q6WSrzq2GJLC60ECD7rE7n1cvKWRNFvOyib4KGdic3N5APUWf4ia3LLPxJrtyIYRx93aPNkDtib3ADvdaBXmZJg/0", "http://mp.weixin.qq.com/s?__biz=MjM5ODAwOTU3Mg==&mid=200987822&idx=1&sn=7eb2918275fb0fa7b520768854fb7b80#rd");
     render(outMsg);
   }
   // 其它文本消息直接返回原值 + 帮助提示
   else {
     OutTextMsg outMsg = new OutTextMsg(inTextMsg);
     outMsg.setContent("\t文本消息已成功接收,内容为: " + inTextMsg.getContent() + "\n\n" + helpStr);
     render(outMsg);
   }
  }

  protected void processInImageMsg(InImageMsg inImageMsg) {
    OutImageMsg outMsg = new OutImageMsg(inImageMsg);
    // 将刚发过来的图片再发回去
    outMsg.setMediaId(inImageMsg.getMediaId());
    render(outMsg);
  }
  

  /**
   * 如果要支持多公众账号,只需要在此返回各个公众号对应的  ApiConfig 对象即可
   * 可以通过在请求 url 中挂参数来动态从数据库中获取 ApiConfig 属性值
   */
  public ApiConfig getApiConfig() {
    return new ApiConfig(...);
  }

  // 其她自动接收并解析消息的便利方法省略
}

WeixinMsgController 通过继承自 MsgController 便拥有了接收消息和发送消息的便利方法。

3、WeixinApiController

public class WeixinApiController extends ApiController {
  public void index() {
    render("/api/index.html");
  }
	
  /**
  * 获取公众号菜单
  */
  public void getMenu() {
    ApiResult apiResult = MenuApi.getMenu();
    if (apiResult.isSucceed())
      renderText(apiResult.getJson());
    else
      renderText(apiResult.getErrorMsg());
    }
	
    /**
    * 获取公众号关注用户
    */
    public void getFollowers() {
      ApiResult apiResult = UserApi.getFollows();
      renderText(apiResult.getJson());
    }

  /**
   * 如果要支持多公众账号,只需要在此返回各个公众号对应的  ApiConfig 对象即可
   * 可以通过在请求 url 中挂参数来动态从数据库中获取 ApiConfig 属性值
   */
  public ApiConfig getApiConfig() {
    return new ApiConfig(...);
  }
}

通过调用 MenuApi、UserApi 等 Api 的相关方法即可获取封装成 ApiResult 对象的结果,使用 render 系列方法即可快捷输出结果。

4、更多支持

JFinal Weixin 官方网站:http://www.jfinal.com 

关注官方微信号马上体验 demo 功能:

加载中

评论(53)

霸气小火
霸气小火
maven打包报错ase加密失败怎么办
科技范麒麟才子
科技范麒麟才子
支持 开发小程序吗?
杜福忠
杜福忠
一体式微信公众平台开发利器
JavaSon712
JavaSon712
http://git.oschina.net/jfinal/jfinal-weixin和jfinal-weixin-1.9-bin-with-src到底是用哪个???无语
a
a2006094101
jfinal好几个项目是否会导致投票分散啊,但这个的确很好用
兴仔哥
兴仔哥
已经投票
zhizaideren
zhizaideren
JFinal-weixin确实很强大,开发公众号很快哦
Undeadway
Undeadway
现在 jfinal-weixin 支不支持微信投票内容的获取?比如:https://www.oschina.net/question/98011_2266889
gitttttttt
gitttttttt
留一个阿里云免费优惠券->http://aliyun.izhuanyer.com
酷聊_爱你美
酷聊_爱你美
国内软件与国外,分开才能操作成自创软件一派版。要在中国上网走出国门。

JFinal Weixin 2.1 发布,微信极速 SDK

JFinal Weixin 发布四年多以来,以其简单性、稳定性,获得了大量用户的喜爱,这四年多以来 JFinal Weixin 紧跟微信官方动态,不断增加、完善功能,例如跟随本次微信官方发布的 XXE 漏洞,第一...

07/10 12:10

JFinal Weixin 1.9 发布,微信极速 SDK

JFinal Weixin 1.9 正式发布!离上一次 JFinal weixin 1.8 发布,已经过去 10 个月。在过去的 10 个月时间里 JFinal Weixin 紧随微信公众平台的演化,不断增加了新的 API,同时也在不断完善原...

2017/05/22 15:00

JFinal Weixin 1.8 发布,微信极速 SDK

离上一次 JFinal weixin 1.7 发布,已经过去了 6 个月。在过去的半年时间里 JFinal Weixin 紧随微信公众平台的演化,不断增加了新的 API,同时也在不断完善原有 API,力求打造一个完备的微信...

2016/07/13 10:13

JFinal Weixin 1.7发布,用 JFinal 开发,就这么定了

JFinal Weixin 1.7 增加了 Wap支付功能,改进jackson,支持用户信息中含有特殊字符时的json转换,并且修复了一个支付模块中的一个 bug,建议升级。 maven 升级坐标: <dependency>   <grou...

2016/01/12 15:48

JFinal Weixin 1.6,用 JFinal 开发,就这么定了

继昨日JFinal 2.1发布之后,再来一发JFinal Weixin 1.6,让所有JFinaler们更加Happy,本次升级主要添加了微信摇一摇周边API、高级群发API、客户账号管理API。此外还对原有依赖jar包进行了缩减...

2015/12/30 15:52

JFinal Weixin 1.5 发布,微信极速 SDK

JFinal Weixin 1.5 大幅完善了对微信公众平台API的支持,以便满足更多开发者的需求。主要添加了微信摇一摇、微信支付、素材管理MediaApi,分布式Token存储等实用功能。 本次版本所有功能来源...

2015/11/12 16:28

JFinal Weixin 1.4 发布,微信极速 SDK

JFinal weixin 是第一个微信公众平台极速SDK,基于 jfinal weixin 开发不仅可以立即拥有简单易用的API,而且将立即拥有JFinal 所有的极速化支持,让开发更加轻松自如,节省更多时间去陪家人、...

2015/07/03 14:17

JFinal Weixin 1.3 发布,微信极速 SDK

JFinal Weixin 1.3 主要是将JFinal升级到了2.0版,并对原有代码进行小幅重构,其它添加的功能如下: 1:添加 CustomMsgApi 支持多客服消息 2:添加 QrcodeApi 支持带参数的二维码生成 该版本...

2015/06/25 15:12

JFinal Weixin 1.2 发布,微信极速 SDK

JFinal Weixin 1.2 主要添加了对多公众号账户的支持,并对原有代码进行小幅重构,具体变化如下: 改进内容: 添加 ApiConfigKit,便于将 ApiConfig 对象与当前线程进行绑定,方便在各处通过 ...

2014/12/11 15:40

JFinal Weixin 1.1 发布,微信极速 SDK

JFinal Weixin 1.1 主要添加了消息加密功能,以及对 access token 意外失效问题做出了处理。 access token 通常会因为外部原因而意外失效: 1:项目中 AccessTokenApi 在获取到 access token...

2014/12/04 12:01

没有更多内容

加载失败,请刷新页面

4
回答
JFinal Weixin怎么添加自定义菜单?

添加了出不来啊,在哪里调用那个接口 /** * 查询菜单 */ MenuApi.getMenu(); /** * 创建菜单 */ MenuApi....

2016/01/16 18:20
4
回答
JFinal Weixin怎么创建自定义菜单啊,没看懂
JFinal 的回答 2015/01/30 20:09
最佳答案
1:创建一个 MenuController,并将其路由配置为 "/api/menu" public class MenuController extends ApiController { public void create() { String menuJson = getPara("me...
3
回答
Jfinal Weixin调用接口报错

在处理菜单点击事件的方法里 WeixinMsgController.processInMenuEvent ,调用CustomServiceApi.send...

09/23 20:06
3
回答
JFinal Weixin怎样接入微信?
JFinal 的回答 2015/01/14 17:26
最佳答案
接入方式极度简单: 1:在此下载整个项目并导入到 eclipse 之中:http://git.oschina.net/jfinal/jfinal-weixin,改一下 a_little_config.txt 中的token、appId、appSecret 为正确的值,token值可以自己随便取...
2
回答
在微信公众号开发中,当完成某个任务后如何推送一条消息,让用户知晓?

在微信公众号开发中,当完成某个任务后如何在聊天界面推送一条消息,让用户知晓?并在消息中嵌入某个h5页面的链接。新手求指点。。。。

2015/07/07 16:39
3
回答
【JFinal-Weixin】自定义菜单问题
小强哥unas 的回答 2014/12/18 09:16
最佳答案
location 地址位置消息,二维码扫描关注事件与扫描带参数二维码事件,也都已经支持。 服务号消息还未支持,@JFinal 计划下一版本支持 。我们的系统需要推送模板消息,也是自己扩展了一下,供参考。http://www.oschina.net/code/snippet_923337_44560
3
回答
jfinal-weixin获取OPENID问题

@JFINAL 波总您好,想请教你一个问题,我参考jfinal-weixin里面的WeixinMsgController的MsgController的Ms...

2015/09/28 10:23
7
回答
微信退款抛javax.crypto.BadPaddingException: Given final block not properly padded

@JFinal 你好,想跟你请教个问题: 使用退款refund API时, 报这个错误,证书是从微信上下载的。 Caused by: java.io.IO...

2016/08/18 11:19
3
回答
JFinal weixin是否还没支持企业号?近期有支持企业号的开发计划吗?
JFinal 的回答 2016/02/02 22:35
最佳答案
已然有了:http://git.oschina.net/javen205/jfinal_qyweixin
5
回答
有没有不用官方API开发微信的朋友? 直接用http模拟登录的朋友?
本人纯属虚构 的回答 2017/03/07 09:30
最佳答案
结贴,用httpclient自动管理cookie可以。但是以前我一直都是手动管理没问题,对照了也没有欠缺cookie 至今也没发现问题出在哪里。就先用httpclient自动管理吧。

没有更多内容

加载失败,请刷新页面

微信开发之jfinal-weixin项目以jar包运行

微信开发之jfinal-weixin项目以jar包运行

2015/11/20 22:02
161
0
spring-boot-starter-weixin v1.3.0 发布和使用

简介 spring-boot-starter-weixin 是一个方便 Spring boot 用户快速接入JFinal-weixin进行 微信和小程序开发的插件,支持Spring boot 1.x 和 Spring boot 2.x。 5月前发布创建了一个版本之后...

09/08 13:18
16
0
jfinal weixin使用

工作记录用,帮助有需要的人。

2014/10/22 11:33
677
2
使用JFinal开发的互联网金融理财产品“八戒理财”上线了

八戒理财是汇盈财富旗下移动理财品牌,专注解决流动性与高收益矛盾,主打随存随取,10天一涨息的活期理财产品。利率最高可达14%,提现最快当日到账。使用JFinal 1.9版本开发。

2015/06/24 12:15
950
1
jfinal微信开发环境搭建

本篇文章主要讲解如何使用jfinal搭建环境通过微信开发。

2015/07/16 11:03
243
0
微信公众号开发实时调试方法

微信公众平台对开发者的支持并不友好,例如没有提供开发的 SDK,开发者中心甩手一套开发文档和一个在线调试页面,但开发者最需要的是在开过程中的本地调试,设置好断点,实时地查看程序运行流...

2014/10/24 09:44
14.8K
19
jfinal框架增加微信jsapi支持

部分手机在图片上传的时候,调取不到sd卡相册或其他图片,为了解决这个兼容性问题,同一个页面使用了两种图片上传方案。 html5 :图片编码成base64 ,发送到后台,解码存储。这种方法用于解决...

2015/05/29 10:01
1K
2
Jfinal微信项目运行机理分析

Jfinal_weixin的SDK又出新版了,在这个版里面,又出了好都新功能,随着最近微信开发慢慢的火起来,越来越多的Jfinal的同学们也渐渐的开始关注这个sdk了,平时在工作中也有很多的同学再问,说...

2014/12/16 00:42
3.4K
1
jfinal-mailer一款支持线程池的异步邮件,可以使用freemarker作为模板的邮件插件

jfinal-mailer一款支持线程池的异步邮件,可以使用freemarker作为模板的邮件插件

2014/09/12 13:12
153
0
jfinal-akka 使用akka执行异步任务

jfinal-akka 使用akka执行异步任务

2014/09/12 13:18
355
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部