主要对jssdk的支持以及别的优化(:
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -45,7 +45,11 @@ public class MenuTest extends TokenTest {
|
||||
Button button = new Button("小哥介绍", domain, ButtonType.view);
|
||||
button.pushSub(new Button(
|
||||
"小哥介绍",
|
||||
"http://mp.weixin.qq.com/s?__biz=MzI2MTA5OTM4OQ==&mid=400990970&idx=1&sn=5c7fd72e782c49f7c933b91c63eddc80#rd",
|
||||
"http://x.eqxiu.com/s/89oy462U",
|
||||
ButtonType.view));
|
||||
button.pushSub(new Button(
|
||||
"小哥官网",
|
||||
"http://www.jdxiaoge.com",
|
||||
ButtonType.view));
|
||||
button.pushSub(new Button("兴趣部落", "http://buluo.qq.com/p/barindex.html?from=share&bid=282651", ButtonType.view));
|
||||
button.pushSub(new Button("服务流程", "FLOW", ButtonType.click));
|
||||
|
||||
Reference in New Issue
Block a user