优化TokenCreator相关类

This commit is contained in:
jinyu
2015-06-12 00:31:26 +08:00
parent d1ede56860
commit 76ae9d58e3
14 changed files with 107 additions and 47 deletions
@@ -62,7 +62,7 @@ public class WeixinProxy {
}
/**
* appid,appsecret
* corpid,corpsecret
*
* @param corpid
* @param corpsecret
@@ -78,4 +78,9 @@ batch_replaceuser_uri={api_base_url}/batch/replaceuser?access_token=%s
batch_replaceparty_uri={api_base_url}/batch/replaceparty?access_token=%s
batch_replaceparty.cvs={"header":"\u90e8\u95e8\u540d\u79f0,\u90e8\u95e8ID,\u7236\u90e8\u95e8ID,\u6392\u5e8f","column":["name","id","parentid","order"]}
# \u83b7\u53d6\u5f02\u6b65\u4efb\u52a1\u6267\u884c\u7ed3\u679c
batch_getresult_uri={api_base_url}/batch/getresult?access_token=%s&jobid=%s
batch_getresult_uri={api_base_url}/batch/getresult?access_token=%s&jobid=%s
# \u63d0\u4f9b\u5546oauth\u6388\u6743
provider_oauth_uri=https://qy.weixin.qq.com/cgi-bin/loginpage?corp_id=%s&redirect_uri=%s&state=%s
# \u4f01\u4e1a\u53f7\u7ba1\u7406\u5458\u767b\u5f55\u4fe1\u606f
oauth_logininfo_uri={api_base_url}/service/get_login_info?provider_access_token=%s
@@ -30,8 +30,22 @@ public class WeixinQyAccount extends WeixinAccount {
super(corpid, corpsecret);
}
/**
* 提供商的secret
*/
private String providerSecret;
public String getProviderSecret() {
return providerSecret;
}
public void setProviderSecret(String providerSecret) {
this.providerSecret = providerSecret;
}
@Override
public String toString() {
return "WeixinQyAccount [" + super.toString() + "]";
return "WeixinQyAccount [" + super.toString() + ", providerSecret="
+ providerSecret + "]";
}
}
@@ -8,9 +8,10 @@ import com.foxinmy.weixin4j.model.Consts;
import com.foxinmy.weixin4j.model.Token;
import com.foxinmy.weixin4j.token.TokenCreator;
import com.foxinmy.weixin4j.token.TokenHolder;
import com.foxinmy.weixin4j.util.ConfigUtil;
/**
* 微信企业号JSTICKET创建
* 微信企业号JSTICKET创建
*
* @className WeixinJSTicketCreator
* @author jy
@@ -22,30 +23,41 @@ import com.foxinmy.weixin4j.token.TokenHolder;
*/
public class WeixinJSTicketCreator implements TokenCreator {
private final String appid;
private final String corpid;
private final TokenHolder weixinTokenHolder;
private final WeixinHttpClient httpClient;
/**
* jssdk
*
* @param weixinTokenHolder
* <font color="red">公众平台的access_token</font>
*/
public WeixinJSTicketCreator(TokenHolder weixinTokenHolder) {
this(ConfigUtil.getWeixinAccount().getId(), weixinTokenHolder);
}
/**
* <font color="red">企业号的的access_token</font>
*
* @param weixinTokenHolder
*/
public WeixinJSTicketCreator(String appid, TokenHolder weixinTokenHolder) {
this.appid = appid;
public WeixinJSTicketCreator(String corpid, TokenHolder weixinTokenHolder) {
this.corpid = corpid;
this.weixinTokenHolder = weixinTokenHolder;
this.httpClient = new WeixinHttpClient();
}
@Override
public String getCacheKey() {
return String.format("qy_jsticket_%s", appid);
return String.format("qy_jsticket_%s", corpid);
}
@Override
public Token createToken() throws WeixinException {
WeixinResponse response = httpClient.get(String.format(Consts.QY_JS_TICKET_URL,
weixinTokenHolder.getToken().getAccessToken()));
WeixinResponse response = httpClient.get(String.format(
Consts.QY_JS_TICKET_URL, weixinTokenHolder.getToken()
.getAccessToken()));
JSONObject result = response.getAsJson();
Token token = new Token(result.getString("ticket"));
token.setExpiresIn(result.getIntValue("expires_in"));
@@ -11,7 +11,7 @@ import com.foxinmy.weixin4j.token.TokenCreator;
import com.foxinmy.weixin4j.util.ConfigUtil;
/**
* 微信企业号TOKEN创建
* 微信企业号TOKEN创建
*
* @className WeixinTokenCreator
* @author jy
@@ -28,10 +28,11 @@ public class WeixinTokenCreator implements TokenCreator {
private final String corpsecret;
public WeixinTokenCreator() {
WeixinAccount weixinAccount = ConfigUtil.getWeixinAccount();
this.corpid = weixinAccount.getId();
this.corpsecret = weixinAccount.getSecret();
this.httpClient = new WeixinHttpClient();
this(ConfigUtil.getWeixinAccount());
}
public WeixinTokenCreator(WeixinAccount weixinAccount) {
this(weixinAccount.getId(), weixinAccount.getSecret());
}
public WeixinTokenCreator(String corpid, String corpsecret) {
@@ -2,9 +2,13 @@
# \u4f01\u4e1a\u53f7\u4fe1\u606f
account={"id":"wxf10bce209c91d0e2","secret":"cW0OtP7-7YJ7jHKFZaJW2skJHE9bLHadxOswBdVdI2walRBSPfTSA6QqD_QXw8JZ",\
"token":"gp2eGT5mIpngr",\
"encodingAesKey":"BRYfV4zPFUJb3v3MySNBg1ERKE3vyyMRoScu76vFySv"}
"encodingAesKey":"BRYfV4zPFUJb3v3MySNBg1ERKE3vyyMRoScu76vFySv",\
"providerSecret":"\u63d0\u4f9b\u5546\u7684secret"}
# \u4f7f\u7528FileTokenHolder\u65f6token\u7684\u5b58\u653e\u8def\u5f84
token_path=/tmp/weixin4j/token
# \u5a92\u4f53\u6587\u4ef6\u4fdd\u5b58\u8def\u5f84
media_path=/tmp/weixin4j/media
media_path=/tmp/weixin4j/media
# oauth\u6388\u6743\u540e\u91cd\u5b9a\u5411\u7684url
redirect_uri=