From 5d037b2eb6164a756b9b27d60911f786725fa327 Mon Sep 17 00:00:00 2001 From: jinyu Date: Wed, 20 Jan 2016 20:15:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E4=B8=AA=E6=80=A7=E5=8C=96=E8=8F=9C=E5=8D=95=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=8C=B9=E9=85=8D=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGE.md | 4 ++- weixin4j-mp/CHANGE.md | 4 ++- .../weixin4j/mp/model/MenuMatchRule.java | 35 ++++++++++++++++++- .../com/foxinmy/weixin4j/mp/type/Lang.java | 8 +++-- 4 files changed, 45 insertions(+), 6 deletions(-) diff --git a/CHANGE.md b/CHANGE.md index 02fa63ae..bc129f93 100644 --- a/CHANGE.md +++ b/CHANGE.md @@ -613,4 +613,6 @@ * 2016-01-20 - + weixin4j-mp:新增获取模板和删除模板接口 \ No newline at end of file + + weixin4j-mp:新增获取模板和删除模板接口 + + + weixin4j-mp:新增自定义个性化菜单语言信息匹配项 \ No newline at end of file diff --git a/weixin4j-mp/CHANGE.md b/weixin4j-mp/CHANGE.md index ac1ea170..e6357a78 100644 --- a/weixin4j-mp/CHANGE.md +++ b/weixin4j-mp/CHANGE.md @@ -202,4 +202,6 @@ * 2016-01-20 - + 新增获取模板和删除模板接口 \ No newline at end of file + + 新增获取模板和删除模板接口 + + + 新增自定义个性化菜单语言信息匹配项 \ No newline at end of file diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/model/MenuMatchRule.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/model/MenuMatchRule.java index 28b1b8e5..d69e8246 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/model/MenuMatchRule.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/model/MenuMatchRule.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.annotation.JSONField; import com.foxinmy.weixin4j.model.Gender; import com.foxinmy.weixin4j.mp.type.ClientPlatformType; +import com.foxinmy.weixin4j.mp.type.Lang; /** * 个性化菜单匹配规则 @@ -62,6 +63,10 @@ public class MenuMatchRule implements Serializable { */ private ClientPlatformType platformType; + /** + * 请使用 {@link #platform(ClientPlatformType platformType)}} + * @param platform + */ @JSONField(name = "client_platform_type") public void platform0(int platform) { this.platformType = ClientPlatformType.values().length >= platform ? ClientPlatformType @@ -133,6 +138,29 @@ public class MenuMatchRule implements Serializable { return this; } + /** + * 语言信息,是用户在微信中设置的语言 + */ + private Lang language; + + /** + * 请使用 {@link #language(Lang language)} + * @param language + */ + @JSONField(name = "language") + public void language0(int language) { + this.language = Lang.values().length >= language ? Lang.values()[language - 1] + : null; + } + + public MenuMatchRule language(Lang language) { + if (language != null) { + matchRule.put("language", language.ordinal() + 1); + } + this.language = language; + return this; + } + public ClientPlatformType getPlatformType() { return platformType; } @@ -157,6 +185,10 @@ public class MenuMatchRule implements Serializable { return city; } + public Lang getLanguage() { + return language; + } + public boolean hasRule() { return !matchRule.isEmpty(); } @@ -169,6 +201,7 @@ public class MenuMatchRule implements Serializable { public String toString() { return "MenuMatchRule [groupId=" + groupId + ", gender=" + gender + ", platformType=" + platformType + ", country=" + country - + ", province=" + province + ", city=" + city + "]"; + + ", province=" + province + ", city=" + city + ", language=" + + language + "]"; } } diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/type/Lang.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/type/Lang.java index c8744b62..7af53a55 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/type/Lang.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/type/Lang.java @@ -1,8 +1,8 @@ package com.foxinmy.weixin4j.mp.type; - /** * 国家地区语言版本 + * * @className Lang * @author jy * @date 2014年11月5日 @@ -10,8 +10,10 @@ package com.foxinmy.weixin4j.mp.type; * @see */ public enum Lang { - zh_CN("简体"), zh_TW("繁体"), en("英语"); - + zh_CN("简体中文"), zh_TW("繁体中文"), zh_HK("繁体中文"), en("英语"), id("印尼"), ms("马来"), es( + "西班牙"), ko("韩国"), it("意大利"), ja("日本"), pl("波兰"), pt("葡萄牙"), ru("俄国"), th( + "泰文"), vi("越南"), ar("阿拉伯语"), hi("北印度"), he("希伯来"), tr("土耳其"), de( + "德语"), fr("法语"); private String desc; Lang(String desc) {