wechat4j

What is wechat4j?

wechat develop framework for java(微信开发框架JAVA版,最简单易用微信开发框架)

wechat4j可以用来干什么?

wechat4j是一个帮助你开发微信应用的jar包,使用它,你开发微信公众号应用只需要几秒钟的时间,完全不用关注太细节的东西。

wechat4j快速开始

可以去下载wechat4j示例项目wechat4jDemo,然后在其基础之上修改即可。如果你要自己搭建,那么使用wechat4j只需要三步就可以搭建微信开发环境。

  1. 创建一个web工程,导入jdk和相关的web工程jar包。
  2. 下载wechat4j.jar包,下载地址wechat4j下载
  3. 创建wechat4j配置文件,在src目录下(java根目录)创建wechat4j.properties文件,配置你微信公众号的相关信息。内容如下:
    #you wechat token
    wechat.token=token
    #wechat appid
    wechat.appid=appid
    #wechat app secret
    wechat.appsecret=secret

    你也可以在jar包的META-INF目录下找到wechat4j.properties.sample文件,复制到src目录下修改名称即可。wechat4j.properties配置文件的详细配置项意义参见wechat4j配置文件解读

通过以上步骤,你的微信工程就完全搭好了。

wechat4j 运行环境

wechat4j要求的最低java运行环境是jdk1.6

wechat4j.jar的依赖jar包

  • commons-codec.jar 1.3以上
  • commons-lang3.jar
  • log4j.jar 1.2以上
  • fastjson-1.2.0.jar
  • sword-lang-1.2 (https://github.com/sword-org/sword-lang/releases)
  • fluent-hc-4.3.6.jar(httpclient依赖)
  • httpclient-4.3.6.jar
  • httpcore-4.3.3.jar (httpclient依赖)
  • servlet-api.jar 如果你是web工程,导入支持web工程的包就会包括,例如tomcat包

你可以去集中下载这些jar包的集合wechat4j所需jar下载,也可以去maven库或者对应jar包的项目官网下载.

开发自己的微信应用

wechat4j开发环境搭好之后,就可以开始开发自己的微信应用了。比如我有一个微信号的token是lejian,下面就以她为例子来说明。

创建自己公众号服务类

创建自己的微信公众号服务类,需要继承wechat4j的WechatSupport类,然后实现其抽象方法即可,下面以文本消息处理为例子

public class Lejian extends WechatSupport{
    public Lejian(HttpServletRequest request) {
        super(request);
    }

    @Override
    protected void onText() {
        this.wechatRequest.getFromUserName();
        String content = "test ok";
        responseText(content);
    }
}

上面代码中的onText()是WechatSupport的抽象方法,需要你自己的类来实现,表示对文本消息的处理,示例中是接收到用户的消息之后,返回给用户“test ok”文本消息。

创建微信服务地址

创建微信服务地址(微信公众平台中配置的自己服务器地址)servlet类。如果是springmvc则创建对应的controller,如果是struts则创建对应的action类。servlet类示例如下:

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Lejian lejian = new Lejian(request);
        String result = lejian.execute();
        response.getOutputStream().write(result.getBytes());
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Lejian lejian = new Lejian(request);
        String result = lejian.execute();
        response.getOutputStream().write(result.getBytes());

    }

通过上面两步你的微信服务就可以运行了

如何得到微信的请求参数

继承了WechatSupport类之后,你可以通过wechatRequest.getFromUserName()类似的方法来得到微信服务器请求的参数。详细信息请阅读微信请求参数

如何设置响应参数

继承了WechatSupport类之后,你可以通过wechatResponse.setFromUserName(fromUser)类似的方法来设置给微信服务器的响应参数。详细信息请阅读响应微信服务器参数

如何响应用户信息

以文本信息为例,响应文本信息只需要在你的onText方法中使用responseText(content)即可(参见上面的代码例子)

wechat4j示例项目

如果你有好的demo项目,请邮件或者修改本文件然后pull request给我,我会列在上面。

技术支持

贡献代码

  1. 如果你觉得本项目不错,希望你能够点击一下右上角的star
  2. 如果你希望参与改进本项目,那么请点击右上角的fork,修改之后pull request即可。如果你的贡献不错,你就会收到加入sword开源社区的邀请。
  3. 如果你发现了一个bug,请你创建一个issue来报告。 非常非常欢迎你能够参与本项目的建设,每人做出一点点贡献,对整个项目来说就是一个非常大的贡献,希望集合众人的力量,让项目走的更好,能够为更多的人服务。

贡献者列表

分支