mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2026-02-16 13:26:23 +08:00
模板消息加入对小程序的支持 #172
This commit is contained in:
@@ -12,11 +12,38 @@ import java.util.List;
|
||||
public class WxMpTemplateMessage implements Serializable {
|
||||
private static final long serialVersionUID = 5063374783759519418L;
|
||||
|
||||
/**
|
||||
* 接收者openid
|
||||
*/
|
||||
private String toUser;
|
||||
|
||||
/**
|
||||
* 模板ID
|
||||
*/
|
||||
private String templateId;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 跳小程序所需数据,不需跳小程序可不用传该数据
|
||||
* url和miniprogram都是非必填字段,若都不传则模板无跳转;若都传,会优先跳转至小程序。
|
||||
* 开发者可根据实际需要选择其中一种跳转方式即可。当用户的微信客户端版本不支持跳小程序时,将会跳转至url。
|
||||
* </pre>
|
||||
*/
|
||||
private String url;
|
||||
/**
|
||||
* 模板跳转链接
|
||||
* @see #url
|
||||
*/
|
||||
private MiniProgram miniProgram;
|
||||
|
||||
/**
|
||||
* 模板数据
|
||||
*/
|
||||
private List<WxMpTemplateData> data = new ArrayList<>();
|
||||
|
||||
public WxMpTemplateMessage() {
|
||||
}
|
||||
|
||||
public String getToUser() {
|
||||
return this.toUser;
|
||||
}
|
||||
@@ -53,6 +80,14 @@ public class WxMpTemplateMessage implements Serializable {
|
||||
this.data.add(datum);
|
||||
}
|
||||
|
||||
public MiniProgram getMiniProgram() {
|
||||
return this.miniProgram;
|
||||
}
|
||||
|
||||
public void setMiniProgram(MiniProgram miniProgram) {
|
||||
this.miniProgram = miniProgram;
|
||||
}
|
||||
|
||||
public String toJson() {
|
||||
return WxMpGsonBuilder.INSTANCE.create().toJson(this);
|
||||
}
|
||||
@@ -61,11 +96,41 @@ public class WxMpTemplateMessage implements Serializable {
|
||||
return new WxMpTemplateMessageBuilder();
|
||||
}
|
||||
|
||||
public static class MiniProgram {
|
||||
private String appid;
|
||||
private String pagePath;
|
||||
|
||||
public MiniProgram() {
|
||||
}
|
||||
|
||||
public MiniProgram(String appid, String pagePath) {
|
||||
this.appid = appid;
|
||||
this.pagePath = pagePath;
|
||||
}
|
||||
|
||||
public String getAppid() {
|
||||
return this.appid;
|
||||
}
|
||||
|
||||
public void setAppid(String appid) {
|
||||
this.appid = appid;
|
||||
}
|
||||
|
||||
public String getPagePath() {
|
||||
return this.pagePath;
|
||||
}
|
||||
|
||||
public void setPagePath(String pagePath) {
|
||||
this.pagePath = pagePath;
|
||||
}
|
||||
}
|
||||
|
||||
public static class WxMpTemplateMessageBuilder {
|
||||
private String toUser;
|
||||
private String templateId;
|
||||
private String url;
|
||||
private List<WxMpTemplateData> data = new ArrayList<>();
|
||||
private MiniProgram miniProgram;
|
||||
|
||||
public WxMpTemplateMessageBuilder toUser(String toUser) {
|
||||
this.toUser = toUser;
|
||||
@@ -95,12 +160,18 @@ public class WxMpTemplateMessage implements Serializable {
|
||||
return this;
|
||||
}
|
||||
|
||||
public WxMpTemplateMessageBuilder miniProgram(MiniProgram miniProgram) {
|
||||
this.miniProgram = miniProgram;
|
||||
return this;
|
||||
}
|
||||
|
||||
public WxMpTemplateMessage build() {
|
||||
WxMpTemplateMessage m = new WxMpTemplateMessage();
|
||||
m.toUser = this.toUser;
|
||||
m.templateId = this.templateId;
|
||||
m.url = this.url;
|
||||
m.data = this.data;
|
||||
m.miniProgram = this.miniProgram;
|
||||
return m;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,6 +28,13 @@ public class WxMpTemplateMessageGsonAdapter implements JsonSerializer<WxMpTempla
|
||||
messageJson.addProperty("url", message.getUrl());
|
||||
}
|
||||
|
||||
if(message.getMiniProgram() !=null){
|
||||
JsonObject miniProgramJson = new JsonObject();
|
||||
miniProgramJson.addProperty("appid", message.getMiniProgram().getAppid());
|
||||
miniProgramJson.addProperty("pagepath", message.getMiniProgram().getPagePath());
|
||||
messageJson.add("miniprogram", miniProgramJson);
|
||||
}
|
||||
|
||||
JsonObject data = new JsonObject();
|
||||
messageJson.add("data", data);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user