微信公众平台SDK JAVA实现WeChat-SDK

前言

微信公众号java sdk技术选型

- jfinal-weixin weixin-java-tools fastweixin weixin-popular 实现简单 √ x √ √ 更新快且全 √ √ √ √ 有对应的实体封装 x √ √ √ 依赖少 x x √ √ 代码结构&可拓展性 √ √ √ x

自实现WeChat-SDK

已实现功能:

未实现功能:

项目依赖:

    jackson(可选,默认的序列化工具类依赖于jsckson。可自定义实现对应的序列化接口) slf4j(日志用) httpcomponents (可选,默认的HTTP请求工具类依赖于httpcomponents 。可自定义实现对应的HTTP请求接口) junit (测试用)

WeChat-SDK使用

maven依赖:

<dependency>
  <groupId>com.github.vioao</groupId>
  <artifactId>wechat-sdk</artifactId>
  <version>1.0.0</version>
</dependency>

目前是版本1.0.0,接下来会不断完善代码。使得代码功能更全,使用更方便。

接口使用示例:

// 用户标签接口
    @Test
    public void testAboutTagUsers() {
          
   
        TagsResponse result1 = UserApi.getTags(TOKEN);
        System.out.println("Get tags: " + result1);
        Assert.assertEquals(true, result1.isSuccess());

        if (result1.getTags().size() > 0) {
          
   
            Integer tagId = result1.getTags().get(0).getId();

            BaseResponse result2 = UserApi.batchTagUsers(TOKEN, Arrays.asList(OPENID), tagId);
            System.out.println("Batch tag users: " + result2);
            Assert.assertEquals(true, result2.isSuccess());

            FollowResponse result3 = UserApi.getTagUserIds(TOKEN, tagId, null);
            System.out.println("Get tag users: " + result3);
            Assert.assertEquals(true, result3.isSuccess());

            BaseResponse result4 = UserApi.batchUnTagUsers(TOKEN, Arrays.asList(OPENID), tagId);
            System.out.println("Batch tag users: " + result4);
            Assert.assertEquals(true, result4.isSuccess());
        }
    }

    // 菜单接口
    @Test
    public void testCreate() {
          
   
        Button click = new Button();
        click.setType("click");
        click.setName("今日歌曲");
        click.setKey("V1001_TODAY_MUSIC");

        Button view = new Button();
        view.setType("view");
        view.setName("搜索");
        view.setUrl("http://www.soso.com/");
        Button click2 = new Button();
        click2.setType("click");
        click2.setName("赞一下我们");
        click2.setKey("V1001_GOOD");
        Button complex = new Button();
        complex.setName("菜单");
        complex.setSubButton(Arrays.asList(view, click2));

        MenuButtons menuButtons = new MenuButtons();
        menuButtons.setButton(Arrays.asList(click, complex));
        BaseResponse result = MenuApi.create(TOKEN, menuButtons);

        System.out.println("Create Menu: " + result);
        Assert.assertEquals(true, result.isSuccess());
    }

更多示例可以查看项目的单元测试代码。项目地址:


更新日志

2018-02-28

Done:

完善以下功能模块的实现:

2018-03-11

Done:

第三方平台对小程序的管理:

ToDo:

第三方平台对小程序的管理
    代码管理 小程序模版库管理 小程序代码模版库管理

2018-03-24

Done:

第三方平台对小程序的管理:
    小程序代码管理 小程序代码模版库管理 小程序模版设置 小程序插件管理权限集
发布1.1.0版本

maven依赖:

<dependency>
  <groupId>com.github.vioao</groupId>
  <artifactId>wechat-sdk</artifactId>
  <version>1.1.0</version>
</dependency>

ToDo:

第三方平台相关:
经验分享 程序员 微信小程序 职场和发展