# wechat-tools-lib **Repository Path**: KangSpace/wechat-tools-lib ## Basic Information - **Project Name**: wechat-tools-lib - **Description**: 💬微信公众号接口集成;微信网页开发;微信网页授权;微信公众号模版消息;💬This is a tools lib for WeChat, use for mp.weixin.qq.com. - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-11 - **Last Updated**: 2022-08-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # wechat-tools-lib [](LICENSE)  ### 介绍(Introduction) 该项目集成封装微信公众号相关接口,并提供工具类访问接口。 ### 项目实现功能: 1. 微信公众号 * 集成微信网页授权接口及网页授权获取用户信息 * 集成微信公众号获取AccessToken,JsApiTicket及其缓存 * 集成微信公众号拉取用户列表及用户信息 * 集成微信公众号发送模版消息 * 集成微信公众号JS签名 2. 企业微信 * 集成企业微信网页授权接口及网页授权获取用户信息 * 集成企业微信获取Token及Token缓存 * 集成微信公众号获取AccessToken,JsApiTicket,AppJsApiTicket(应用JS-SDK)及其缓存 * 集成企业微信公众号发送应用消息 * 集成企业微信公众号JS签名(企业JS-SDK签名和应用JS-SDK签名) ### API列表:
| 功能 | 类 | 方法 | 用法 |
| 重定向到网页授权地址 |
org.kangspace.wechat.oauth2.OAuth2InterfaceAccess
|
void
redirectToAuthorizeUrl(String appId, String redirectURI, String param, HttpServletRequest request, HttpServletResponse response)
|
oAth2InterfaceAccess.redirectToAuthorizeUrl(appId,url,state,request,response)
|
void
redirectToAuthorizeUrl(String appId,String redirectURI, String param, WeChatConfig.OAth2Scope scope, HttpServletRequest request, HttpServletResponse response)
|
oAth2InterfaceAccess.redirectToAuthorizeUrl(appId,redirectURI,param, WeChatConfig.OAth2Scope.SNSAPI_BASE,request,response)
|
||
| 网页授权获取ACCESS_TOKEN | org.kangspace.wechat.oauth2.OAuth2InterfaceAccess
|
OAuth2AccessTokenReturnBean getAccessToken(String code) |
oAth2InterfaceAccess.getAccessToken("codexxx") |
| 网页授权获取用户信息 | org.kangspace.wechat.oauth2.OAuth2InterfaceAccess
|
OAuth2UserInfoReturnBeangetUserInfo(String accessToken,String openId,Lang lang) |
oAth2InterfaceAccess.getUserInfo(accessToken,openId, Lang.ZH_CN) |
| 获取微信公众号ACCESS_TOKEN | org.kangspace.wechat.mp.MpInterfaceAccess
|
AccessTokenReturnBeangetAccessToken(String appId) |
new MpInterfaceAccess().getAccessToken(appId) |
| 缓存获取微信公众号ACCESS_TOKEN(RedisTemplate) | org.kangspace.wechat.cache.WeChatAccessTokenCache |
Stringget(String appId,String key) |
new WeChatAccessTokenCache().getAccessToken(appId,"access_token") |
org.kangspace.wechat.cache.AbstractWeChatCacheOperator |
Tget(String appId,String key) |
实现抽象方法以控制缓存的操作 | |
| 获取微信公众号用户信息 | org.kangspace.wechat.mp.MpInterfaceAccess
|
MpUserBasicInfoReturnBeangetUserInfo(String accessToken,String openId) |
new MpInterfaceAccess().getUserInfo("accessToken","openId") |
| 批量获取微信公众号关注用户列表 | org.kangspace.wechat.mp.MpInterfaceAccess
|
MpUserListReturnBeangetUserList(String accessToken, String nextOpenId) |
new MpInterfaceAccess().getUserList("accessToken","nextOpenId") |
| 批量获取微信公众号关注用户列表详情 | org.kangspace.wechat.mp.MpInterfaceAccess
|
getMpUserListBatch(String appId, String accessToken, String nextOpenId, Consumer |
new MpInterfaceAccess().interfaceAccess.getMpUserListBatch(appId, accessToken, nextOpenId,
new Consumer<List<MpUserBasicInfoReturnBean>>() {
@Override
public void accept(List<MpUserBasicInfoReturnBean> mpUserInfos) {
for (MpUserBasicInfoReturnBean t : mpUserInfos) {
System.out.println("\t" + t.toString());
cntNum[0]++;
}
System.out.println();
}
}, new Function<String, String>() {
@Override
public String apply(String t) {
return getAccessToken(t, true);
}
});
|
| 发送模版消息 | org.kangspace.wechat.message.MessageTemplateSender
|
WeChatReturnBean send(MessageBean messageBean, String accessToken) |
WeChatReturnBean returnBean = sender.send(messageBean, "accessToken"); |
org.kangspace.wechat.message.batch.SendHelper
|
ForkJoinTasksend(String appId, SendObject obj, Function |
SendHelper.send(appId,message,(t)->wxAccessTokenCache.refreshByAppId(appId)) |
|
org.kangspace.wechat.message.factoryMessageFactory.ThreeKeyMessageFactory
|
SendHelper.SendObject get(String appId, String accessToken, String templateId, String openId, String key1Val, String key2Val, MessageBean.Miniprogram miniprogram) |
-- | |
| 企业微信相关集成 | org.kangspace.weworkWeWorkInterfaceAccess
|
-- | -- |
Maven,JDK1.7+,UTF-8
需在项目classes下配置wechat-config.properties,参考[resources/wechat-config-example.properties](src/main/resources/wechat-config-example.properties)
2. 使用"API列表"测试接口调用
3. JavaDoc接口文档
[wechat-tools-lib java-doc](https://kangspace.github.io/wechat-tools-lib/doc/javadoc/)
### MAVEN:
[OSSRH-62558](https://issues.sonatype.org/browse/OSSRH-62558)
> 可自行执行mvn install打包
```