mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-08-25 01:14:36 +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;
|
package me.chanjar.weixin.mp.bean.subscribe;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
|
|
||||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Mklaus
|
* @author Mklaus
|
||||||
* @date 2018-01-22 下午12:18
|
* @date 2018-01-22 下午12:18
|
||||||
@ -78,5 +77,11 @@ public class WxMpSubscribeMessage {
|
|||||||
|
|
||||||
private String appid;
|
private String appid;
|
||||||
private String pagePath;
|
private String pagePath;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否使用path,否则使用pagepath.
|
||||||
|
* 加入此字段是基于微信官方接口变化多端的考虑
|
||||||
|
*/
|
||||||
|
private boolean usePath = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -77,6 +77,12 @@ public class WxMpTemplateMessage implements Serializable {
|
|||||||
|
|
||||||
private String appid;
|
private String appid;
|
||||||
private String pagePath;
|
private String pagePath;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否使用path,否则使用pagepath.
|
||||||
|
* 加入此字段是基于微信官方接口变化多端的考虑
|
||||||
|
*/
|
||||||
|
private boolean usePath = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
package me.chanjar.weixin.mp.util.json;
|
package me.chanjar.weixin.mp.util.json;
|
||||||
|
|
||||||
|
import java.lang.reflect.Type;
|
||||||
|
|
||||||
import com.google.gson.JsonElement;
|
import com.google.gson.JsonElement;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.google.gson.JsonSerializationContext;
|
import com.google.gson.JsonSerializationContext;
|
||||||
import com.google.gson.JsonSerializer;
|
import com.google.gson.JsonSerializer;
|
||||||
import me.chanjar.weixin.mp.bean.subscribe.WxMpSubscribeMessage;
|
import me.chanjar.weixin.mp.bean.subscribe.WxMpSubscribeMessage;
|
||||||
|
|
||||||
import java.lang.reflect.Type;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Mklaus
|
* @author Mklaus
|
||||||
* @date 2018-01-22 下午12:31
|
* @date 2018-01-22 下午12:31
|
||||||
@ -24,10 +24,15 @@ public class WxMpSubscribeMessageGsonAdapter implements JsonSerializer<WxMpSubsc
|
|||||||
messageJson.addProperty("url", message.getUrl());
|
messageJson.addProperty("url", message.getUrl());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (message.getMiniProgram() != null) {
|
final WxMpSubscribeMessage.MiniProgram miniProgram = message.getMiniProgram();
|
||||||
|
if (miniProgram != null) {
|
||||||
JsonObject miniProgramJson = new JsonObject();
|
JsonObject miniProgramJson = new JsonObject();
|
||||||
miniProgramJson.addProperty("appid", message.getMiniProgram().getAppid());
|
miniProgramJson.addProperty("appid", miniProgram.getAppid());
|
||||||
miniProgramJson.addProperty("pagepath", message.getMiniProgram().getPagePath());
|
if (miniProgram.isUsePath()) {
|
||||||
|
miniProgramJson.addProperty("path", miniProgram.getPagePath());
|
||||||
|
} else {
|
||||||
|
miniProgramJson.addProperty("pagepath", miniProgram.getPagePath());
|
||||||
|
}
|
||||||
messageJson.add("miniprogram", miniProgramJson);
|
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.WxMpTemplateData;
|
||||||
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
|
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author chanjarster
|
||||||
|
*/
|
||||||
public class WxMpTemplateMessageGsonAdapter implements JsonSerializer<WxMpTemplateMessage> {
|
public class WxMpTemplateMessageGsonAdapter implements JsonSerializer<WxMpTemplateMessage> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -20,10 +23,15 @@ public class WxMpTemplateMessageGsonAdapter implements JsonSerializer<WxMpTempla
|
|||||||
messageJson.addProperty("url", message.getUrl());
|
messageJson.addProperty("url", message.getUrl());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (message.getMiniProgram() != null) {
|
final WxMpTemplateMessage.MiniProgram miniProgram = message.getMiniProgram();
|
||||||
|
if (miniProgram != null) {
|
||||||
JsonObject miniProgramJson = new JsonObject();
|
JsonObject miniProgramJson = new JsonObject();
|
||||||
miniProgramJson.addProperty("appid", message.getMiniProgram().getAppid());
|
miniProgramJson.addProperty("appid", miniProgram.getAppid());
|
||||||
miniProgramJson.addProperty("pagepath", message.getMiniProgram().getPagePath());
|
if (miniProgram.isUsePath()) {
|
||||||
|
miniProgramJson.addProperty("path", miniProgram.getPagePath());
|
||||||
|
} else {
|
||||||
|
miniProgramJson.addProperty("pagepath", miniProgram.getPagePath());
|
||||||
|
}
|
||||||
messageJson.add("miniprogram", miniProgramJson);
|
messageJson.add("miniprogram", miniProgramJson);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ public class WxMpSubscribeMessageTest {
|
|||||||
.toUser("OPENID")
|
.toUser("OPENID")
|
||||||
.templateId("TEMPLATE_ID")
|
.templateId("TEMPLATE_ID")
|
||||||
.url("URL")
|
.url("URL")
|
||||||
.miniProgram(new WxMpSubscribeMessage.MiniProgram("xiaochengxuappid12345", "index?foo=bar"))
|
.miniProgram(new WxMpSubscribeMessage.MiniProgram("xiaochengxuappid12345", "index?foo=bar",false))
|
||||||
.scene("SCENE")
|
.scene("SCENE")
|
||||||
.title("TITLE")
|
.title("TITLE")
|
||||||
.contentValue("VALUE")
|
.contentValue("VALUE")
|
||||||
|
@ -17,7 +17,7 @@ public class WxMpTemplateMessageTest {
|
|||||||
WxMpTemplateMessage tm = WxMpTemplateMessage.builder()
|
WxMpTemplateMessage tm = WxMpTemplateMessage.builder()
|
||||||
.toUser("OPENID")
|
.toUser("OPENID")
|
||||||
.templateId("ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY")
|
.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")
|
.url("http://weixin.qq.com/download")
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user