Bladeren bron

:art: #1406 小程序订阅消息发送接口增加新参数:mniprogram_state 和 lang

S 5 jaren geleden
bovenliggende
commit
6aa8559970

+ 11 - 0
weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/WxMaSubscribeMessage.java

@@ -1,5 +1,6 @@
 package cn.binarywang.wx.miniapp.bean;
 
+import cn.binarywang.wx.miniapp.constant.WxMaConstants;
 import cn.binarywang.wx.miniapp.util.json.WxMaGsonBuilder;
 import lombok.*;
 
@@ -61,6 +62,16 @@ public class WxMaSubscribeMessage implements Serializable {
    */
   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) {
     if (this.data == null) {
       this.data = new ArrayList<>();

+ 50 - 0
weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaConstants.java

@@ -137,4 +137,54 @@ public class WxMaConstants {
      */
     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";
+  }
 }

+ 8 - 0
weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/util/json/WxMaSubscribeMessageGsonAdapter.java

@@ -23,6 +23,14 @@ public class WxMaSubscribeMessageGsonAdapter implements JsonSerializer<WxMaSubsc
       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();
     messageJson.add("data", data);
 

+ 6 - 0
weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaMsgServiceImplTest.java

@@ -2,6 +2,10 @@ package cn.binarywang.wx.miniapp.api.impl;
 
 import cn.binarywang.wx.miniapp.api.WxMaService;
 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.TestConfig;
 import com.google.common.collect.Lists;
@@ -68,6 +72,8 @@ public class WxMaMsgServiceImplTest {
     WxMaSubscribeMessage message = new WxMaSubscribeMessage();
     message.setTemplateId(config.getTemplateId());
     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("amount3", "¥5"));
     message.addData(new WxMaSubscribeMessage.Data("thing5", "记得领取哦"));