From 8995196b8d2fa2198309cd8bd51c2ceedf36c8ee Mon Sep 17 00:00:00 2001
From: jinyu
Date: Thu, 16 Apr 2015 11:30:42 +0800
Subject: [PATCH] =?UTF-8?q?=E5=85=AC=E4=BC=97=E5=8F=B7=EF=BC=9A=E8=B0=83?=
=?UTF-8?q?=E6=95=B4=E4=BA=8C=E7=BB=B4=E7=A0=81=E5=8F=82=E6=95=B0=E7=B1=BB?=
=?UTF-8?q?=20&=20=E6=96=B0=E5=A2=9E=E8=87=AA=E5=AE=9A=E4=B9=89=E8=8F=9C?=
=?UTF-8?q?=E5=8D=95=E9=85=8D=E7=BD=AE=E3=80=81=E8=87=AA=E5=8A=A8=E5=9B=9E?=
=?UTF-8?q?=E5=A4=8D=E9=85=8D=E7=BD=AE=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
CHANGE.md | 7 +-
.../com/foxinmy/weixin4j/model/Button.java | 83 +++---
.../com/foxinmy/weixin4j/model/Consts.java | 4 +-
.../foxinmy/weixin4j/msg/model/MpArticle.java | 52 +++-
weixin4j-mp/README.md | 12 +-
weixin4j-mp/weixin4j-mp-api/README.md | 12 +-
.../com/foxinmy/weixin4j/mp/WeixinProxy.java | 52 ++--
.../foxinmy/weixin4j/mp/api/CustomApi.java | 2 +-
.../foxinmy/weixin4j/mp/api/HelperApi.java | 141 ++++++++++
.../com/foxinmy/weixin4j/mp/api/MenuApi.java | 34 ++-
.../com/foxinmy/weixin4j/mp/api/OauthApi.java | 2 +-
.../com/foxinmy/weixin4j/mp/api/QrApi.java | 36 +--
.../foxinmy/weixin4j/mp/api/weixin.properties | 4 +
.../weixin4j/mp/model/AutoReplySetting.java | 260 ++++++++++++++++++
.../weixin4j/mp/model/MenuSetting.java | 48 ++++
.../weixin4j/mp/model/QRParameter.java | 111 ++++----
.../foxinmy/weixin4j/mp/payment/PayUtil.java | 4 +-
.../mp/token/WeixinJSTicketCreator.java | 5 +-
.../weixin4j/mp/type/AutomatchMode.java | 21 ++
.../weixin4j/mp/type/AutoreplyMode.java | 21 ++
.../com/foxinmy/weixin4j/mp/type/QRType.java | 19 +-
.../src/main/resources/weixin.properties | 4 +-
.../foxinmy/weixin4j/mp/test/HelpTest.java | 10 +
.../foxinmy/weixin4j/mp/test/MediaTest.java | 32 +--
.../foxinmy/weixin4j/mp/test/MenuTest.java | 20 +-
.../com/foxinmy/weixin4j/mp/test/QRTest.java | 14 +-
weixin4j-mp/weixin4j-mp-server/README.md | 2 +-
.../src/main/resources/weixin.properties | 4 +-
.../com/foxinmy/weixin4j/qy/api/MenuApi.java | 31 ++-
29 files changed, 817 insertions(+), 230 deletions(-)
create mode 100644 weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/model/AutoReplySetting.java
create mode 100644 weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/model/MenuSetting.java
create mode 100644 weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/type/AutomatchMode.java
create mode 100644 weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/type/AutoreplyMode.java
diff --git a/CHANGE.md b/CHANGE.md
index dd8dd5ad..7cd804a5 100644
--- a/CHANGE.md
+++ b/CHANGE.md
@@ -241,4 +241,9 @@
+ **weixin4j-mp**: 新增用户分组批量移动、删除组别接口
+ **weixin4j-qy**: 新增WeixinTokenCreator与WeixinJSTicketCreator类
-
\ No newline at end of file
+
+* 2015-04-16
+
+ + **weixin4j-mp**: 调整[二维码参数](./weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/model/QRParameter.java)类
+
+ + **weixin4j-mp**: 新增获取[自定义菜单配置、自动回复配置](./weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/HelperApi.java)接口
\ No newline at end of file
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/model/Button.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/model/Button.java
index 7c65787d..e6604270 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/model/Button.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/model/Button.java
@@ -29,19 +29,25 @@ public class Button implements Serializable {
*/
private String name;
/**
- * 菜单的响应动作类型
+ * 菜单类型
+ * 公众平台官网上能够设置的菜单类型有view、text、img、photo、video、voice
*
* @see com.foxinmy.weixin4j.type.ButtonType
*/
- private ButtonType type;
+ private String type;
/**
- * 菜单KEY值,用于消息接口推送,不超过128字节
+ * 菜单KEY值,根据type的类型而定,用于消息接口推送,不超过128字节.
+ *
+ * 官网上设置的自定义菜单: Text:保存文字到value; Img、voice:保存mediaID到value;
+ * Video:保存视频下载链接到value; News:保存图文消息到news_info; View:保存链接到url。
+ *
+ * 使用API设置的自定义菜单:
+ * click、scancode_push、scancode_waitmsg、pic_sysphoto、pic_photo_or_album
+ * 、 pic_weixin、location_select:保存值到key;view:保存链接到url
+ *
+ *
*/
- private String key;
- /**
- * view类型必须 网页链接,用户点击菜单可打开链接,不超过256字节
- */
- private String url;
+ private Serializable content;
/**
* 二级菜单数组,个数应为1~5个
*/
@@ -53,18 +59,18 @@ public class Button implements Serializable {
/**
* 创建一个菜单
- * @param name 菜单显示的名称
- * @param value 当buttonType为view时value设置为url,否则为key.
- * @param buttonType 按钮类型
+ *
+ * @param name
+ * 菜单显示的名称
+ * @param content
+ * 当buttonType为view时content设置为url,否则为key.
+ * @param buttonType
+ * 按钮类型
*/
- public Button(String name, String value, ButtonType buttonType) {
+ public Button(String name, String content, ButtonType buttonType) {
this.name = name;
- this.type = buttonType;
- if (buttonType == ButtonType.view) {
- this.url = value;
- } else {
- this.key = value;
- }
+ this.content = content;
+ this.type = buttonType.name();
}
public String getName() {
@@ -75,28 +81,25 @@ public class Button implements Serializable {
this.name = name;
}
- public ButtonType getType() {
+ public String getType() {
return type;
}
- public void setType(ButtonType type) {
+ @JSONField(serialize = false, deserialize = false)
+ public ButtonType getFormatType() {
+ return ButtonType.valueOf(type);
+ }
+
+ public void setType(String type) {
this.type = type;
}
- public String getKey() {
- return key;
+ public Serializable getContent() {
+ return content;
}
- public void setKey(String key) {
- this.key = key;
- }
-
- public String getUrl() {
- return url;
- }
-
- public void setUrl(String url) {
- this.url = url;
+ public void setContent(Serializable content) {
+ this.content = content;
}
public List