public abstract class BaseWxCpTpServiceImpl<H,P> extends Object implements WxCpTpService, RequestHttp<H,P>
| 限定符和类型 | 字段和说明 |
|---|---|
protected WxCpTpConfigStorage |
configStorage |
protected Object |
globalAuthCorpJsApiTicketRefreshLock
全局的是否正在刷新auth_corp_jsapi_ticket的锁.
|
protected Object |
globalJsApiTicketRefreshLock
全局的是否正在刷新jsapi_ticket的锁.
|
protected Object |
globalProviderTokenRefreshLock |
protected Object |
globalSuiteAccessTokenRefreshLock
全局的是否正在刷新access token的锁.
|
protected Object |
globalSuiteTicketRefreshLock
全局刷新suite ticket的锁
|
| 构造器和说明 |
|---|
BaseWxCpTpServiceImpl() |
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
checkSignature(String msgSignature,
String timestamp,
String nonce,
String data)
验证推送过来的消息的正确性
详情请见: https://work.weixin.qq.com/api/doc#90000/90139/90968/消息体签名校验
|
<T,E> T |
execute(RequestExecutor<T,E> executor,
String uri,
E data)
向微信端发送请求,在这里执行的策略是当发生access_token过期时才去刷新,然后重新执行请求,而不是全局定时请求.
|
protected <T,E> T |
executeInternal(RequestExecutor<T,E> executor,
String uri,
E data) |
String |
get(String url,
String queryParam)
当本Service没有实现某个API的时候,可以用这个,针对所有微信API中的GET请求.
|
WxCpTpAdmin |
getAdminList(String authCorpId,
Integer agentId)
获取应用的管理员列表
|
String |
getAuthCorpJsApiTicket(String authCorpId)
获取授权企业的 jsapi ticket
|
WxCpTpAuthInfo |
getAuthInfo(String authCorpId,
String permanentCode)
获取企业的授权信息
|
WxAccessToken |
getCorpToken(String authCorpid,
String permanentCode)
获取企业凭证
|
WxTpLoginInfo |
getLoginInfo(String authCode)
企业用户登录信息
|
WxCpTpCorp |
getPermanentCode(String authCode)
获取企业永久授权码 .
|
WxCpTpPermanentCodeInfo |
getPermanentCodeInfo(String authCode)
获取企业永久授权码信息
原来的方法实现不全
|
String |
getPreAuthUrl(String redirectUri,
String state)
获取预授权链接
|
String |
getPreAuthUrl(String redirectUri,
String state,
int authType)
获取预授权链接,测试环境下使用
|
RequestHttp<?,?> |
getRequestHttp()
http请求对象.
|
WxSessionManager |
getSessionManager()
获取WxSessionManager 对象
|
String |
getSuiteAccessToken()
获取suite_access_token, 不强制刷新suite_access_token
|
String |
getSuiteJsApiTicket(String authCorpId)
获取应用的 jsapi ticket
|
String |
getSuiteTicket()
获得suite_ticket,不强制刷新suite_ticket
|
String |
getSuiteTicket(boolean forceRefresh)
获得suite_ticket
由于suite_ticket是微信服务器定时推送(每10分钟),不能主动获取,如果碰到过期只能抛异常
详情请见:https://work.weixin.qq.com/api/doc#90001/90143/90628
|
File |
getTmpDirFile() |
WxCpTpUserDetail |
getUserDetail3rd(String userTicket)
获取访问用户敏感信息
|
WxCpTpUserInfo |
getUserInfo3rd(String code)
获取访问用户身份
|
String |
getWxCpProviderToken()
获取服务商providerToken
|
WxCpTpContactService |
getWxCpTpContactService()
get contact service
|
WxCpTpDepartmentService |
getWxCpTpDepartmentService()
get department service
|
WxCpTpMediaService |
getWxCpTpMediaService()
get media service
|
WxCpTpOAService |
getWxCpTpOAService()
get oa service
|
WxCpTpUserService |
getWxCpTpUserService()
get user service
|
WxCpMaJsCode2SessionResult |
jsCode2Session(String jsCode)
小程序登录凭证校验
|
String |
post(String url,
String postData)
当本Service没有实现某个API的时候,可以用这个,针对所有微信API中的POST请求.
|
void |
setMaxRetryTimes(int maxRetryTimes)
设置当微信系统响应系统繁忙时,最大重试次数.
|
void |
setRetrySleepMillis(int retrySleepMillis)
设置当微信系统响应系统繁忙时,要等待多少 retrySleepMillis(ms) * 2^(重试次数 - 1) 再发起重试.
|
void |
setSuiteTicket(String suiteTicket)
保存企业微信定时推送的suite_ticket,(每10分钟)
详情请见:https://work.weixin.qq.com/api/doc#90001/90143/90628
注意:微信不是固定10分钟推送suite_ticket的, 且suite_ticket的有效期为30分钟
https://work.weixin.qq.com/api/doc/10975#%E8%8E%B7%E5%8F%96%E7%AC%AC%E4%B8%89%E6%96%B9%E5%BA%94%E7%94%A8%E5%87%AD%E8%AF%81
|
void |
setSuiteTicket(String suiteTicket,
int expiresInSeconds)
保存企业微信定时推送的suite_ticket,(每10分钟)
详情请见:https://work.weixin.qq.com/api/doc#90001/90143/90628
注意:微信不是固定10分钟推送suite_ticket的, 且suite_ticket的有效期为30分钟
https://work.weixin.qq.com/api/doc/10975#%E8%8E%B7%E5%8F%96%E7%AC%AC%E4%B8%89%E6%96%B9%E5%BA%94%E7%94%A8%E5%87%AD%E8%AF%81
|
void |
setTmpDirFile(File tmpDirFile) |
void |
setWxCpTpConfigStorage(WxCpTpConfigStorage wxConfigProvider)
注入
WxCpTpConfigStorage 的实现. |
void |
setWxCpTpContactService(WxCpTpContactService wxCpTpContactService)
set contact service
|
void |
setWxCpTpDepartmentService(WxCpTpDepartmentService wxCpTpDepartmentService)
set department service
|
void |
setWxCpTpMediaService(WxCpTpMediaService wxCpTpMediaService)
set media service
|
void |
setWxCpTpOAService(WxCpTpOAService wxCpTpOAService)
set oa service
|
void |
setWxCpTpUserService(WxCpTpUserService wxCpTpUserService)
set user service
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetSuiteAccessToken, getWxCpTpConfigStorage, initHttpgetRequestHttpClient, getRequestHttpProxy, getRequestTypeprotected final Object globalSuiteAccessTokenRefreshLock
protected final Object globalSuiteTicketRefreshLock
protected final Object globalJsApiTicketRefreshLock
protected final Object globalAuthCorpJsApiTicketRefreshLock
protected final Object globalProviderTokenRefreshLock
protected WxCpTpConfigStorage configStorage
public boolean checkSignature(String msgSignature, String timestamp, String nonce, String data)
WxCpTpService验证推送过来的消息的正确性 详情请见: https://work.weixin.qq.com/api/doc#90000/90139/90968/消息体签名校验
checkSignature 在接口中 WxCpTpServicemsgSignature - 消息签名timestamp - 时间戳nonce - 随机数data - 微信传输过来的数据,有可能是echoStr,有可能是xml消息public String getSuiteAccessToken() throws WxErrorException
WxCpTpServicegetSuiteAccessToken 在接口中 WxCpTpServiceWxErrorException - the wx error exception#getSuiteAccessToken(boolean)public String getSuiteTicket() throws WxErrorException
WxCpTpServicegetSuiteTicket 在接口中 WxCpTpServiceWxErrorException - the wx error exception#getSuiteTicket(boolean)public String getSuiteTicket(boolean forceRefresh) throws WxErrorException
WxCpTpService获得suite_ticket 由于suite_ticket是微信服务器定时推送(每10分钟),不能主动获取,如果碰到过期只能抛异常 详情请见:https://work.weixin.qq.com/api/doc#90001/90143/90628
getSuiteTicket 在接口中 WxCpTpServiceforceRefresh - 强制刷新WxErrorException - the wx error exceptionWxCpTpService.setSuiteTicket(String)public void setSuiteTicket(String suiteTicket)
WxCpTpService保存企业微信定时推送的suite_ticket,(每10分钟) 详情请见:https://work.weixin.qq.com/api/doc#90001/90143/90628 注意:微信不是固定10分钟推送suite_ticket的, 且suite_ticket的有效期为30分钟 https://work.weixin.qq.com/api/doc/10975#%E8%8E%B7%E5%8F%96%E7%AC%AC%E4%B8%89%E6%96%B9%E5%BA%94%E7%94%A8%E5%87%AD%E8%AF%81
setSuiteTicket 在接口中 WxCpTpServicepublic void setSuiteTicket(String suiteTicket, int expiresInSeconds)
WxCpTpService保存企业微信定时推送的suite_ticket,(每10分钟) 详情请见:https://work.weixin.qq.com/api/doc#90001/90143/90628 注意:微信不是固定10分钟推送suite_ticket的, 且suite_ticket的有效期为30分钟 https://work.weixin.qq.com/api/doc/10975#%E8%8E%B7%E5%8F%96%E7%AC%AC%E4%B8%89%E6%96%B9%E5%BA%94%E7%94%A8%E5%87%AD%E8%AF%81
setSuiteTicket 在接口中 WxCpTpServicepublic String getSuiteJsApiTicket(String authCorpId) throws WxErrorException
WxCpTpServicegetSuiteJsApiTicket 在接口中 WxCpTpServiceauthCorpId - 授权企业的cropIdWxErrorExceptionpublic String getAuthCorpJsApiTicket(String authCorpId) throws WxErrorException
WxCpTpServicegetAuthCorpJsApiTicket 在接口中 WxCpTpServiceauthCorpId - 授权企业的cropIdWxErrorExceptionpublic WxCpMaJsCode2SessionResult jsCode2Session(String jsCode) throws WxErrorException
WxCpTpServicejsCode2Session 在接口中 WxCpTpServicejsCode - 登录时获取的 codeWxErrorException - the wx error exceptionpublic WxAccessToken getCorpToken(String authCorpid, String permanentCode) throws WxErrorException
WxCpTpServicegetCorpToken 在接口中 WxCpTpServiceauthCorpid - 授权方corpidpermanentCode - 永久授权码,通过get_permanent_code获取WxErrorException - the wx error exceptionpublic WxCpTpCorp getPermanentCode(String authCode) throws WxErrorException
WxCpTpServicegetPermanentCode 在接口中 WxCpTpServiceauthCode - .WxErrorException - the wx error exceptionpublic WxCpTpPermanentCodeInfo getPermanentCodeInfo(String authCode) throws WxErrorException
WxCpTpService原来的方法实现不全
getPermanentCodeInfo 在接口中 WxCpTpServiceauthCode - the auth codeWxErrorException - the wx error exceptionpublic String getPreAuthUrl(String redirectUri, String state) throws WxErrorException
WxCpTpService获取预授权链接
getPreAuthUrl 在接口中 WxCpTpServiceredirectUri - 授权完成后的回调网址state - a-zA-Z0-9的参数值(不超过128个字节),用于第三方自行校验session,防止跨域攻击WxErrorException - the wx error exceptionpublic String getPreAuthUrl(String redirectUri, String state, int authType) throws WxErrorException
WxCpTpService获取预授权链接,测试环境下使用
getPreAuthUrl 在接口中 WxCpTpServiceredirectUri - 授权完成后的回调网址state - a-zA-Z0-9的参数值(不超过128个字节),用于第三方自行校验session,防止跨域攻击authType - 授权类型:0 正式授权, 1 测试授权。WxErrorException - the wx error exceptionpublic WxCpTpAuthInfo getAuthInfo(String authCorpId, String permanentCode) throws WxErrorException
WxCpTpServicegetAuthInfo 在接口中 WxCpTpServiceauthCorpId - 授权企业的corpIdpermanentCode - 授权企业的永久授权码WxErrorException - the wx error exceptionpublic String get(String url, String queryParam) throws WxErrorException
WxCpTpServiceget 在接口中 WxCpTpServiceurl - 接口地址queryParam - 请求参数WxErrorException - the wx error exceptionpublic String post(String url, String postData) throws WxErrorException
WxCpTpServicepost 在接口中 WxCpTpServiceurl - 接口地址postData - 请求body字符串WxErrorException - the wx error exceptionpublic <T,E> T execute(RequestExecutor<T,E> executor, String uri, E data) throws WxErrorException
execute 在接口中 WxCpTpServiceT - 请求值类型E - 返回值类型executor - 执行器uri - 请求地址data - 参数WxErrorException - the wx error exceptionprotected <T,E> T executeInternal(RequestExecutor<T,E> executor, String uri, E data) throws WxErrorException
WxErrorExceptionpublic void setWxCpTpConfigStorage(WxCpTpConfigStorage wxConfigProvider)
WxCpTpServiceWxCpTpConfigStorage 的实现.setWxCpTpConfigStorage 在接口中 WxCpTpServicewxConfigProvider - 配置对象public void setRetrySleepMillis(int retrySleepMillis)
WxCpTpService设置当微信系统响应系统繁忙时,要等待多少 retrySleepMillis(ms) * 2^(重试次数 - 1) 再发起重试. 默认:1000ms
setRetrySleepMillis 在接口中 WxCpTpServiceretrySleepMillis - 重试休息时间public void setMaxRetryTimes(int maxRetryTimes)
WxCpTpService设置当微信系统响应系统繁忙时,最大重试次数. 默认:5次
setMaxRetryTimes 在接口中 WxCpTpServicemaxRetryTimes - 最大重试次数public File getTmpDirFile()
public void setTmpDirFile(File tmpDirFile)
public RequestHttp<?,?> getRequestHttp()
WxCpTpServicegetRequestHttp 在接口中 WxCpTpServicepublic WxSessionManager getSessionManager()
WxCpTpServicegetSessionManager 在接口中 WxCpTpServicepublic WxCpTpUserInfo getUserInfo3rd(String code) throws WxErrorException
WxCpTpService获取访问用户身份
getUserInfo3rd 在接口中 WxCpTpServiceWxErrorExceptionpublic WxCpTpUserDetail getUserDetail3rd(String userTicket) throws WxErrorException
WxCpTpService获取访问用户敏感信息
getUserDetail3rd 在接口中 WxCpTpServiceWxErrorExceptionpublic WxTpLoginInfo getLoginInfo(String authCode) throws WxErrorException
WxCpTpServicegetLoginInfo 在接口中 WxCpTpServiceWxErrorExceptionpublic String getWxCpProviderToken() throws WxErrorException
WxCpTpServicegetWxCpProviderToken 在接口中 WxCpTpServiceWxErrorExceptionpublic WxCpTpContactService getWxCpTpContactService()
WxCpTpServicegetWxCpTpContactService 在接口中 WxCpTpServicepublic WxCpTpDepartmentService getWxCpTpDepartmentService()
WxCpTpServicegetWxCpTpDepartmentService 在接口中 WxCpTpServicepublic WxCpTpMediaService getWxCpTpMediaService()
WxCpTpServicegetWxCpTpMediaService 在接口中 WxCpTpServicepublic WxCpTpOAService getWxCpTpOAService()
WxCpTpServicegetWxCpTpOAService 在接口中 WxCpTpServicepublic WxCpTpUserService getWxCpTpUserService()
WxCpTpServicegetWxCpTpUserService 在接口中 WxCpTpServicepublic void setWxCpTpContactService(WxCpTpContactService wxCpTpContactService)
WxCpTpServicesetWxCpTpContactService 在接口中 WxCpTpServicewxCpTpContactService - the contact servicepublic void setWxCpTpDepartmentService(WxCpTpDepartmentService wxCpTpDepartmentService)
WxCpTpServicesetWxCpTpDepartmentService 在接口中 WxCpTpServicewxCpTpDepartmentService - the department servicepublic void setWxCpTpMediaService(WxCpTpMediaService wxCpTpMediaService)
WxCpTpServicesetWxCpTpMediaService 在接口中 WxCpTpServicewxCpTpMediaService - the media servicepublic void setWxCpTpOAService(WxCpTpOAService wxCpTpOAService)
WxCpTpServicesetWxCpTpOAService 在接口中 WxCpTpServicewxCpTpOAService - the oa servicepublic void setWxCpTpUserService(WxCpTpUserService wxCpTpUserService)
WxCpTpServicesetWxCpTpUserService 在接口中 WxCpTpServicewxCpTpUserService - the set user servicepublic WxCpTpAdmin getAdminList(String authCorpId, Integer agentId) throws WxErrorException
WxCpTpServicegetAdminList 在接口中 WxCpTpServiceWxErrorExceptionCopyright © 2021. All rights reserved.