| @@ -1,5 +1,6 @@ | |||||
| package cn.binarywang.wx.miniapp.bean; | package cn.binarywang.wx.miniapp.bean; | ||||
| import cn.binarywang.wx.miniapp.constant.WxMaConstants; | |||||
| import cn.binarywang.wx.miniapp.util.json.WxMaGsonBuilder; | import cn.binarywang.wx.miniapp.util.json.WxMaGsonBuilder; | ||||
| import lombok.*; | import lombok.*; | ||||
| @@ -61,6 +62,16 @@ public class WxMaSubscribeMessage implements Serializable { | |||||
| */ | */ | ||||
| private List<Data> data; | private List<Data> data; | ||||
| /** | |||||
| * 跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版 | |||||
| */ | |||||
| private String miniprogramState = WxMaConstants.MiniprogramState.FORMAL; | |||||
| /** | |||||
| * 进入小程序查看的语言类型,支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN | |||||
| */ | |||||
| private String lang = WxMaConstants.MiniprogramLang.ZH_CN; | |||||
| public WxMaSubscribeMessage addData(Data datum) { | public WxMaSubscribeMessage addData(Data datum) { | ||||
| if (this.data == null) { | if (this.data == null) { | ||||
| this.data = new ArrayList<>(); | this.data = new ArrayList<>(); | ||||
| @@ -137,4 +137,54 @@ public class WxMaConstants { | |||||
| */ | */ | ||||
| public static final int DEFAULT_INSURED_VALUE = 0; | public static final int DEFAULT_INSURED_VALUE = 0; | ||||
| } | } | ||||
| /** | |||||
| * 小程序订阅消息跳转小程序类型 | |||||
| * | |||||
| * developer为开发版;trial为体验版;formal为正式版;默认为正式版 | |||||
| */ | |||||
| public static final class MiniprogramState{ | |||||
| /** | |||||
| * 开发版 | |||||
| */ | |||||
| public static final String DEVELOPER = "developer"; | |||||
| /** | |||||
| * 体验版 | |||||
| */ | |||||
| public static final String TRIAL = "trial"; | |||||
| /** | |||||
| * 正式版 | |||||
| */ | |||||
| public static final String FORMAL = "formal"; | |||||
| } | |||||
| /** | |||||
| * 进入小程序查看的语言类型 | |||||
| * 支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN | |||||
| */ | |||||
| public static final class MiniprogramLang{ | |||||
| /** | |||||
| * 简体中文 | |||||
| */ | |||||
| public static final String ZH_CN = "zh_CN"; | |||||
| /** | |||||
| * 英文 | |||||
| */ | |||||
| public static final String EN_US = "en_US"; | |||||
| /** | |||||
| * 繁体中文 | |||||
| */ | |||||
| public static final String ZH_HK = "zh_HK"; | |||||
| /** | |||||
| * 繁体中文 | |||||
| */ | |||||
| public static final String ZH_TW = "zh_TW"; | |||||
| } | |||||
| } | } | ||||
| @@ -23,6 +23,14 @@ public class WxMaSubscribeMessageGsonAdapter implements JsonSerializer<WxMaSubsc | |||||
| messageJson.addProperty("page", message.getPage()); | messageJson.addProperty("page", message.getPage()); | ||||
| } | } | ||||
| if (message.getMiniprogramState() != null) { | |||||
| messageJson.addProperty("miniprogram_state", message.getMiniprogramState()); | |||||
| } | |||||
| if (message.getLang() != null) { | |||||
| messageJson.addProperty("lang", message.getLang()); | |||||
| } | |||||
| JsonObject data = new JsonObject(); | JsonObject data = new JsonObject(); | ||||
| messageJson.add("data", data); | messageJson.add("data", data); | ||||
| @@ -2,6 +2,10 @@ package cn.binarywang.wx.miniapp.api.impl; | |||||
| import cn.binarywang.wx.miniapp.api.WxMaService; | import cn.binarywang.wx.miniapp.api.WxMaService; | ||||
| import cn.binarywang.wx.miniapp.bean.*; | import cn.binarywang.wx.miniapp.bean.*; | ||||
| import cn.binarywang.wx.miniapp.constant.WxMaConstants; | |||||
| import org.testng.annotations.*; | |||||
| import cn.binarywang.wx.miniapp.api.WxMaService; | |||||
| import cn.binarywang.wx.miniapp.test.ApiTestModule; | import cn.binarywang.wx.miniapp.test.ApiTestModule; | ||||
| import cn.binarywang.wx.miniapp.test.TestConfig; | import cn.binarywang.wx.miniapp.test.TestConfig; | ||||
| import com.google.common.collect.Lists; | import com.google.common.collect.Lists; | ||||
| @@ -68,6 +72,8 @@ public class WxMaMsgServiceImplTest { | |||||
| WxMaSubscribeMessage message = new WxMaSubscribeMessage(); | WxMaSubscribeMessage message = new WxMaSubscribeMessage(); | ||||
| message.setTemplateId(config.getTemplateId()); | message.setTemplateId(config.getTemplateId()); | ||||
| message.setToUser(config.getOpenid()); | message.setToUser(config.getOpenid()); | ||||
| message.setLang(WxMaConstants.MiniprogramLang.ZH_CN); | |||||
| message.setMiniprogramState(WxMaConstants.MiniprogramState.FORMAL); | |||||
| message.addData(new WxMaSubscribeMessage.Data("thing1", "苹果到货啦")); | message.addData(new WxMaSubscribeMessage.Data("thing1", "苹果到货啦")); | ||||
| message.addData(new WxMaSubscribeMessage.Data("amount3", "¥5")); | message.addData(new WxMaSubscribeMessage.Data("amount3", "¥5")); | ||||
| message.addData(new WxMaSubscribeMessage.Data("thing5", "记得领取哦")); | message.addData(new WxMaSubscribeMessage.Data("thing5", "记得领取哦")); | ||||