public abstract class BaseWxCpTpServiceImpl<H,P> extends Object implements WxCpTpService, RequestHttp<H,P>
| 限定符和类型 | 字段和说明 |
|---|---|
protected WxCpTpConfigStorage |
configStorage |
protected Object |
globalJsApiTicketRefreshLock
全局的是否正在刷新jsapi_ticket的锁.
|
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请求.
|
String |
getAuthCorpJsApiTicket(String authCorpId)
获取授权企业的 jsapi ticket
|
WxCpTpAuthInfo |
getAuthInfo(String authCorpId,
String permanentCode)
获取企业的授权信息
|
WxAccessToken |
getCorpToken(String authCorpid,
String permanentCode)
获取企业凭证
|
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)
获取访问用户身份
|
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 的实现. |
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 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 在接口中 WxCpTpServiceWxErrorExceptionCopyright © 2020. All rights reserved.