From 1371d1d5c77f5122e1fe8e1f97743a7f0fced5be Mon Sep 17 00:00:00 2001 From: "jy.hu" Date: Thu, 6 Nov 2014 21:03:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0WeixinAccount=E4=B8=BA?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E7=9A=84=E6=9E=84=E9=80=A0=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- weixin4j-mp/weixin4j-mp-api/README.md | 4 +++- .../com/foxinmy/weixin4j/mp/WeixinProxy.java | 20 +++++++++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/weixin4j-mp/weixin4j-mp-api/README.md b/weixin4j-mp/weixin4j-mp-api/README.md index 47bc9db4..7f8fcf9f 100644 --- a/weixin4j-mp/weixin4j-mp-api/README.md +++ b/weixin4j-mp/weixin4j-mp-api/README.md @@ -55,16 +55,18 @@ weixin.properties说明 > bill_path=/tmp/weixin/bill
> ca_file=/tmp/weixin/xxxxx.p12
-2.实例化一个`WeixinProxy`对象,调用API. +2.实例化一个`WeixinProxy`对象,调用API,需要强调的是如果只传入appid,appsecret两个参数将无法调用支付相关接口 WeixinProxy weixinProxy = new WeixinProxy(); // weixinProxy = new WeixinProxy(appid,appsecret); + // weixinProxy = new WeixinProxy(weixinAccount); weixinProxy.getUser(openId); 3.针对`token`存储有两种方案,`File存储`/`Redis存储`,当然也可自己实现`TokenHolder`(继承`AbstractTokenHolder`并重写`getToken`方法),默认使用文件(xml)的方式保存token,如果环境中支持`redis`,建议使用`RedisTokenHolder`. WeixinProxy weixinProxy = new WeixinProxy(new RedisTokenHolder()); // weixinProxy = new WeixinProxy(new RedisTokenHolder(appid,appsecret)); + // weixinProxy = new WeixinProxy(new RedisTokenHolder(weixinAccount)); 4.`mvn package`. diff --git a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/WeixinProxy.java b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/WeixinProxy.java index e3b466e1..0d819c8c 100644 --- a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/WeixinProxy.java +++ b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/WeixinProxy.java @@ -52,6 +52,7 @@ import com.foxinmy.weixin4j.type.MediaType; * @see api文档 */ public class WeixinProxy { + private final MediaApi mediaApi; private final NotifyApi notifyApi; private final MassApi massApi; @@ -64,14 +65,15 @@ public class WeixinProxy { private final PayApi payApi; /** - * 默认采用文件存放Token跟配置文件中的appi信息 + * 默认采用文件存放Token信息 */ public WeixinProxy() { this(new FileTokenHolder()); } /** - * 也可接受传递过来的appid跟appsecret + * appid,appsecret
+ * 将无法调用支付相关接口 * * @param appid * @param appsecret @@ -80,6 +82,20 @@ public class WeixinProxy { this(new FileTokenHolder(appid, appsecret)); } + /** + * WeixinAccount对象 + * + * @param weixinAccount + */ + public WeixinProxy(WeixinAccount weixinAccount) { + this(new FileTokenHolder(weixinAccount)); + } + + /** + * TokenHolder对象 + * + * @param tokenHolder + */ public WeixinProxy(TokenHolder tokenHolder) { this.mediaApi = new MediaApi(tokenHolder); this.notifyApi = new NotifyApi(tokenHolder);