主要对jssdk的支持以及别的优化(:

This commit is contained in:
jinyu
2015-12-25 12:03:02 +08:00
parent b7376d7d6b
commit 73c6aaf05a
12 changed files with 566 additions and 10 deletions
@@ -42,6 +42,7 @@ import com.foxinmy.weixin4j.mp.model.QRResult;
import com.foxinmy.weixin4j.mp.model.SemQuery;
import com.foxinmy.weixin4j.mp.model.SemResult;
import com.foxinmy.weixin4j.mp.model.User;
import com.foxinmy.weixin4j.mp.token.WeixinJSTicketCreator;
import com.foxinmy.weixin4j.mp.token.WeixinTokenCreator;
import com.foxinmy.weixin4j.mp.type.DatacubeType;
import com.foxinmy.weixin4j.mp.type.IndustryType;
@@ -78,6 +79,7 @@ public class WeixinProxy {
private final DataApi dataApi;
private final TokenHolder tokenHolder;
private String appId;
/**
* 默认使用文件方式保存token、使用weixin4j.properties配置的账号信息
@@ -115,15 +117,16 @@ public class WeixinProxy {
TokenStorager tokenStorager) {
this(new TokenHolder(new WeixinTokenCreator(appid, appsecret),
tokenStorager));
this.appId = appid;
}
/**
* 注意:TokenCreator 需为 <font color="red">WeixinTokenCreator</font>
*
* @see com.foxinmy.weixin4j.mp.token.WeixinTokenCreator.WeixinTokenCreator
* @see com.foxinmy.weixin4j.mp.token.WeixinTokenCreator
* @param tokenHolder
*/
public WeixinProxy(TokenHolder tokenHolder) {
private WeixinProxy(TokenHolder tokenHolder) {
this.tokenHolder = tokenHolder;
this.mediaApi = new MediaApi(tokenHolder);
this.notifyApi = new NotifyApi(tokenHolder);
@@ -138,10 +141,34 @@ public class WeixinProxy {
this.dataApi = new DataApi(tokenHolder);
}
/**
* 获取appid
*
* @return
*/
public String getAppId() {
return this.appId;
}
/**
* token获取
*
* @return
*/
public TokenHolder getTokenHolder() {
return this.tokenHolder;
}
/**
* 获取JSSDK的tokenHolder
*
* @return
*/
public TokenHolder getJSTicketHolder() {
return new TokenHolder(new WeixinJSTicketCreator(this.appId,
this.tokenHolder), this.tokenHolder.getTokenStorager());
}
/**
* 上传图文消息内的图片获取URL
* 请注意,本接口所上传的图片不占用公众号的素材库中图片数量的5000个的限制。图片仅支持jpg/png格式,大小必须在1MB以下。
@@ -58,7 +58,7 @@ public class MenuApi extends MpApi {
private JsonResult createMenu0(String url, JSONObject data)
throws WeixinException {
WeixinResponse response = weixinExecutor.post(
String.format(url, "h5hb64iP9mBzt0rK6DW1OuOpE066F6iQXmHUqJ83fxTHkDaA0tNOjMMuUrWGwAves4Vi5bfwPKdp3IVhCsZCOHhsX74GXnrTtMg_oFPgiUwSXEhAIABGN"),
String.format(url, tokenHolder.getAccessToken()),
JSON.toJSONString(data, new NameFilter() {
@Override
public String process(Object object, String name,
@@ -129,8 +129,8 @@ public class MenuApi extends MpApi {
for (int i = 0; i < menuObjs.size(); i++) {
menuObj = menuObjs.getJSONObject(i);
menus.add(new Menu(menuObj.getString("menuid"),
buttonsConvertor(menuObj),
menuObj.getObject("matchrule", MenuMatchRule.class)));
buttonsConvertor(menuObj), menuObj.getObject(
"matchrule", MenuMatchRule.class)));
}
}
return menus;