Skip to content

declaration API of we chat open platform interface SDK

License

Notifications You must be signed in to change notification settings

timbersea/wesmile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wesmile

介绍

用过别人写的一些微信公众号实现的SDK,感觉不是很好用,繁琐不说,实现也不算是很优雅, 本着减轻使用者的负担,所以就自己写了一套声明式微信公众号API SDK, 调用方需要关注的点只有语法路径,参数,返回结果,简洁明了,易扩展

软件架构

1基于JDK的动态代理,类似与mybatis mapper接口注解SQL的方式 2实现声明式微信公众号,小程序官方文档的SDK实现 3信赖于fastjons和okhttp,支持json解析库和http请求库的可插拨式替换

安装教程

git clone https://gitee.com/ngitfk/wesmile.git
cd  ./wesmile
mvn clean install

或者

mvn clean install -DskipTests=true

使用说明

添加依赖

<dependency>
    <groupId>com.qian</groupId>
    <artifactId>wesmile</artifactId>
    <version>1.0-SNAPSHOT</version>
 </dependency>

示例

//init with your properties
 WeSmileUtil.init(config.getAppid(), config.getAppsecret());

UserAnalysisData api=WeSmileUtil.getInstance(UserAnalysisData.class)

//build params and invoke
UserAnalyze userAnalyze = new UserAnalyze();
userAnalyze.setBegin_date("2014-12-02");
 userAnalyze.setEnd_date("2014-12-07");
 Getusersummary getusersummary = api.getusersummary(userAnalyze);
 
or 
//
WeSmile ws =new WeSmile();
weSmile.setAppid(appid);
weSmile.setAppSecret(appSecret);

customer http request sender
we.setHttpRequester(...);
UserAnalysisData api=ws.getInstance(UserAnalysisData.class)

如何扩展本sdk中没有实现微信公众号/小程序服务器端接口?

//定义接口方法参考com.qian.wesmile.api包中的接口写法
@RelativePath("/datacube/getweanalysisappiddailyvisittrend")//根据官方文档填写地址
List<Map> yourMethod(@JsonBody Params Params);
//定义接口返回的数据实体类,字段名采用下划线风格以减少不必要的麻烦,接口方法中的参数即是API中的参数
YourSelfInterface api=WeSmileUtil.getInstance(YourSelfInterface.class);
api.yourMethod();

核心API中的WeSmileUtil.getInstance()或者WeSmile.getInstance()方法的参数可以是任意的接口的class对象, 根据 微信开放文档 中接口的说明,自定义接口并使用com.qian.wx.annotation下几个注解声明请示的路径以及参数,已经提供了一API的声明 可以直接使用,欢迎提供其它的接口声明并提交PR,

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

反馈

ngitfk@qq.com

About

declaration API of we chat open platform interface SDK

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages