mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-04-05 17:38:05 +08:00
#534 针对公众号发送模版消息中的小程序path和pagepath问题增加可选参数,如果想让请求使用path作为参数名,设置usePath属性为true即可,否则会使用pagepath。
This commit is contained in:
parent
a24b74603f
commit
ebf9baac27
@ -1,14 +1,13 @@
|
||||
package me.chanjar.weixin.mp.bean.subscribe;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author Mklaus
|
||||
* @date 2018-01-22 下午12:18
|
||||
@ -78,5 +77,11 @@ public class WxMpSubscribeMessage {
|
||||
|
||||
private String appid;
|
||||
private String pagePath;
|
||||
|
||||
/**
|
||||
* 是否使用path,否则使用pagepath.
|
||||
* 加入此字段是基于微信官方接口变化多端的考虑
|
||||
*/
|
||||
private boolean usePath = false;
|
||||
}
|
||||
}
|
||||
|
@ -77,6 +77,12 @@ public class WxMpTemplateMessage implements Serializable {
|
||||
|
||||
private String appid;
|
||||
private String pagePath;
|
||||
|
||||
/**
|
||||
* 是否使用path,否则使用pagepath.
|
||||
* 加入此字段是基于微信官方接口变化多端的考虑
|
||||
*/
|
||||
private boolean usePath = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,13 +1,13 @@
|
||||
package me.chanjar.weixin.mp.util.json;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonSerializationContext;
|
||||
import com.google.gson.JsonSerializer;
|
||||
import me.chanjar.weixin.mp.bean.subscribe.WxMpSubscribeMessage;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
|
||||
/**
|
||||
* @author Mklaus
|
||||
* @date 2018-01-22 下午12:31
|
||||
@ -24,10 +24,15 @@ public class WxMpSubscribeMessageGsonAdapter implements JsonSerializer<WxMpSubsc
|
||||
messageJson.addProperty("url", message.getUrl());
|
||||
}
|
||||
|
||||
if (message.getMiniProgram() != null) {
|
||||
final WxMpSubscribeMessage.MiniProgram miniProgram = message.getMiniProgram();
|
||||
if (miniProgram != null) {
|
||||
JsonObject miniProgramJson = new JsonObject();
|
||||
miniProgramJson.addProperty("appid", message.getMiniProgram().getAppid());
|
||||
miniProgramJson.addProperty("pagepath", message.getMiniProgram().getPagePath());
|
||||
miniProgramJson.addProperty("appid", miniProgram.getAppid());
|
||||
if (miniProgram.isUsePath()) {
|
||||
miniProgramJson.addProperty("path", miniProgram.getPagePath());
|
||||
} else {
|
||||
miniProgramJson.addProperty("pagepath", miniProgram.getPagePath());
|
||||
}
|
||||
messageJson.add("miniprogram", miniProgramJson);
|
||||
}
|
||||
|
||||
|
@ -9,6 +9,9 @@ import com.google.gson.JsonSerializer;
|
||||
import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
|
||||
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
|
||||
|
||||
/**
|
||||
* @author chanjarster
|
||||
*/
|
||||
public class WxMpTemplateMessageGsonAdapter implements JsonSerializer<WxMpTemplateMessage> {
|
||||
|
||||
@Override
|
||||
@ -20,10 +23,15 @@ public class WxMpTemplateMessageGsonAdapter implements JsonSerializer<WxMpTempla
|
||||
messageJson.addProperty("url", message.getUrl());
|
||||
}
|
||||
|
||||
if (message.getMiniProgram() != null) {
|
||||
final WxMpTemplateMessage.MiniProgram miniProgram = message.getMiniProgram();
|
||||
if (miniProgram != null) {
|
||||
JsonObject miniProgramJson = new JsonObject();
|
||||
miniProgramJson.addProperty("appid", message.getMiniProgram().getAppid());
|
||||
miniProgramJson.addProperty("pagepath", message.getMiniProgram().getPagePath());
|
||||
miniProgramJson.addProperty("appid", miniProgram.getAppid());
|
||||
if (miniProgram.isUsePath()) {
|
||||
miniProgramJson.addProperty("path", miniProgram.getPagePath());
|
||||
} else {
|
||||
miniProgramJson.addProperty("pagepath", miniProgram.getPagePath());
|
||||
}
|
||||
messageJson.add("miniprogram", miniProgramJson);
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,7 @@ public class WxMpSubscribeMessageTest {
|
||||
.toUser("OPENID")
|
||||
.templateId("TEMPLATE_ID")
|
||||
.url("URL")
|
||||
.miniProgram(new WxMpSubscribeMessage.MiniProgram("xiaochengxuappid12345", "index?foo=bar"))
|
||||
.miniProgram(new WxMpSubscribeMessage.MiniProgram("xiaochengxuappid12345", "index?foo=bar",false))
|
||||
.scene("SCENE")
|
||||
.title("TITLE")
|
||||
.contentValue("VALUE")
|
||||
|
@ -17,7 +17,7 @@ public class WxMpTemplateMessageTest {
|
||||
WxMpTemplateMessage tm = WxMpTemplateMessage.builder()
|
||||
.toUser("OPENID")
|
||||
.templateId("ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY")
|
||||
.miniProgram(new WxMpTemplateMessage.MiniProgram("xiaochengxuappid12345", "index?foo=bar"))
|
||||
.miniProgram(new WxMpTemplateMessage.MiniProgram("xiaochengxuappid12345", "index?foo=bar",true))
|
||||
.url("http://weixin.qq.com/download")
|
||||
.build();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user