This commit is contained in:
jinyu 2016-01-29 10:12:54 +08:00
parent 2e2d207e76
commit 1bc05afce9
4 changed files with 32 additions and 34 deletions

View File

@ -40,6 +40,7 @@ import com.foxinmy.weixin4j.qy.model.IdParameter;
import com.foxinmy.weixin4j.qy.model.Party;
import com.foxinmy.weixin4j.qy.model.Tag;
import com.foxinmy.weixin4j.qy.model.User;
import com.foxinmy.weixin4j.qy.suite.SuitePerCodeHolder;
import com.foxinmy.weixin4j.qy.suite.WeixinTokenSuiteCreator;
import com.foxinmy.weixin4j.qy.token.WeixinTicketCreator;
import com.foxinmy.weixin4j.qy.token.WeixinTokenCreator;
@ -49,7 +50,6 @@ import com.foxinmy.weixin4j.qy.type.KfType;
import com.foxinmy.weixin4j.qy.type.UserStatus;
import com.foxinmy.weixin4j.settings.Weixin4jSettings;
import com.foxinmy.weixin4j.token.TokenHolder;
import com.foxinmy.weixin4j.token.TokenStorager;
import com.foxinmy.weixin4j.tuple.MpArticle;
import com.foxinmy.weixin4j.type.MediaType;
import com.foxinmy.weixin4j.type.TicketType;
@ -103,15 +103,21 @@ public class WeixinProxy {
/**
* 第三方套件(永久授权码机制)
*
* @param tokenCreator
* 微信企业号token创建(永久授权码)
* @param tokenStorager
* token存储
* @param perCodeHolder
* 第三方套件永久授权码
* {@link com.foxinmy.weixin4j.qy.api.SuiteApi#getPerCodeHolder(String)}
* @param suiteTokenHolder
* 第三方套件凭证token
* {@link com.foxinmy.weixin4j.qy.api.SuiteApi#getTokenSuiteHolder(String)}
* @see com.foxinmy.weixin4j.qy.api.SuiteApi
* @see WeixinSuiteProxy#getWeixinProxy(String, String)
*/
public WeixinProxy(WeixinTokenSuiteCreator tokenCreator,
TokenStorager tokenStorager) {
this(new TokenHolder(tokenCreator, tokenStorager));
this.settings = new Weixin4jSettings(tokenCreator.getAuthCorpId(), null);
public WeixinProxy(SuitePerCodeHolder perCodeHolder,
TokenHolder suiteTokenHolder) {
this(new TokenHolder(new WeixinTokenSuiteCreator(perCodeHolder,
suiteTokenHolder), suiteTokenHolder.getTokenStorager()));
this.settings = new Weixin4jSettings(perCodeHolder.getAuthCorpId(),
null);
}
/**

View File

@ -160,5 +160,20 @@ public class WeixinSuiteProxy {
return providerApi.getLoginUrl(corpId, targetType, agentId);
}
/**
* 创建WeixinProxy对象
*
* @param suiteId
* 套件ID
* @param authCorpId
* 已授权的corpid
* @see com.foxinmy.weixin4j.qy.WeixinProxy
* @return
*/
public WeixinProxy getWeixinProxy(String suiteId, String authCorpId) {
return new WeixinProxy(api(suiteId).getPerCodeHolder(authCorpId), api(
suiteId).getSuiteTokenHolder());
}
public final static String VERSION = "1.6.7";
}

View File

@ -6,7 +6,6 @@ import com.foxinmy.weixin4j.exception.WeixinException;
import com.foxinmy.weixin4j.http.weixin.JsonResult;
import com.foxinmy.weixin4j.http.weixin.WeixinResponse;
import com.foxinmy.weixin4j.model.Token;
import com.foxinmy.weixin4j.qy.WeixinProxy;
import com.foxinmy.weixin4j.qy.model.AgentInfo;
import com.foxinmy.weixin4j.qy.model.AgentSetter;
import com.foxinmy.weixin4j.qy.model.OUserInfo;
@ -111,19 +110,6 @@ public class SuiteApi extends QyApi {
suiteTicketHolder.getTokenStorager());
}
/**
* 创建WeixinProxy对象
*
* @param authCorpId
* 已授权的corpid
* @return
*/
public WeixinProxy getWeixinProxy(String authCorpId) {
return new WeixinProxy(new WeixinTokenSuiteCreator(
getPerCodeHolder(authCorpId), suiteTokenHolder),
suiteTicketHolder.getTokenStorager());
}
/**
* 设置套件授权配置:如果需要对某次授权进行配置则调用本接口目前仅可以设置哪些应用可以授权不调用则默认允许所有应用进行授权
*

View File

@ -29,9 +29,9 @@ public class WeixinTokenSuiteCreator implements TokenCreator {
/**
*
* @param perCodeHolder
* 永久授权码
* 第三方套件永久授权码
* @param suiteTokenHolder
* 套件token
* 第三方套件凭证token
*/
public WeixinTokenSuiteCreator(SuitePerCodeHolder perCodeHolder,
TokenHolder suiteTokenHolder) {
@ -64,13 +64,4 @@ public class WeixinTokenSuiteCreator implements TokenCreator {
token.setOriginalResult(response.getAsString());
return token;
}
/**
* 获取授权放的corpid
*
* @return
*/
public String getAuthCorpId() {
return this.perCodeHolder.getAuthCorpId();
}
}