Skip to content

Commit 7892f71

Browse files
authored
Merge pull request #184 from Wechat-Group/develop
合并Develop,准备发布2.6.0版本
2 parents 3a9d21b + 7c32fcc commit 7892f71

File tree

108 files changed

+4939
-2446
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

108 files changed

+4939
-2446
lines changed

build.gradle

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ allprojects {
22
apply plugin: 'maven'
33

44
group = 'com.github.binarywang'
5-
version = '2.5.0'
5+
version = '2.6.0'
66
}
77

88
subprojects {
@@ -27,7 +27,6 @@ subprojects {
2727
compile group: 'commons-codec', name: 'commons-codec', version:'1.10'
2828
compile group: 'commons-io', name: 'commons-io', version:'2.5'
2929
compile group: 'org.apache.commons', name: 'commons-lang3', version:'3.4'
30-
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version:'2.8.0'
3130
compile group: 'redis.clients', name: 'jedis', version:'2.9.0'
3231
testCompile group: 'ch.qos.logback', name: 'logback-classic', version:'1.1.2'
3332
}
File renamed without changes.

pom.xml

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<modelVersion>4.0.0</modelVersion>
66
<groupId>com.github.binarywang</groupId>
77
<artifactId>weixin-java-parent</artifactId>
8-
<version>2.5.0</version>
8+
<version>2.6.0</version>
99
<packaging>pom</packaging>
1010
<name>WeiXin Java Tools - Parent</name>
1111
<description>微信公众号、企业号上级POM</description>
@@ -86,7 +86,8 @@
8686
<module>weixin-java-common</module>
8787
<module>weixin-java-cp</module>
8888
<module>weixin-java-mp</module>
89-
<module>weixin-java-osgi</module>
89+
<module>weixin-java-pay</module>
90+
<!--module>weixin-java-osgi</module-->
9091
</modules>
9192

9293
<properties>
@@ -105,6 +106,7 @@
105106
<commons-io.version>2.5</commons-io.version>
106107
<commons-codec.version>1.10</commons-codec.version>
107108
<jetty.version>9.3.0.RC0</jetty.version>
109+
<jedis.version>2.9.0</jedis.version>
108110
</properties>
109111

110112
<dependencies>
@@ -113,6 +115,11 @@
113115
<artifactId>slf4j-api</artifactId>
114116
<version>${slf4j.version}</version>
115117
</dependency>
118+
<dependency>
119+
<groupId>com.thoughtworks.xstream</groupId>
120+
<artifactId>xstream</artifactId>
121+
<version>1.4.9</version>
122+
</dependency>
116123
<dependency>
117124
<groupId>ch.qos.logback</groupId>
118125
<artifactId>logback-classic</artifactId>
@@ -152,17 +159,12 @@
152159
<dependency>
153160
<groupId>com.google.guava</groupId>
154161
<artifactId>guava</artifactId>
162+
<version>${guava.version}</version>
155163
</dependency>
156164
</dependencies>
157165

158166
<dependencyManagement>
159167
<dependencies>
160-
<dependency>
161-
<groupId>junit</groupId>
162-
<artifactId>junit</artifactId>
163-
<version>4.11</version>
164-
<scope>test</scope>
165-
</dependency>
166168
<dependency>
167169
<groupId>com.google.inject</groupId>
168170
<artifactId>guice</artifactId>
@@ -194,9 +196,9 @@
194196
<scope>test</scope>
195197
</dependency>
196198
<dependency>
197-
<groupId>com.google.guava</groupId>
198-
<artifactId>guava</artifactId>
199-
<version>${guava.version}</version>
199+
<groupId>redis.clients</groupId>
200+
<artifactId>jedis</artifactId>
201+
<version>${jedis.version}</version>
200202
</dependency>
201203
</dependencies>
202204
</dependencyManagement>

readme.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@
66
### 注意事项:
77
1. 声明: ***本项目Fork自chanjarster/weixin-java-tools,但由于原项目已停止维护,故单独维护和发布,且发布到maven上的groupId也会不同,详细信息见下文。***
88
1. **新手请注意,本项目仅是一个开发工具包(即SDK),未提供Web实现,建议使用maven或gradle引用本项目即可使用本SDK提供的各种功能,详情可参考下文中提到的Demo项目或本项目中的部分单元测试代码;如果没有贡献代码的意愿,不建议下载项目的源码自行编译,因为如果想看源码使用maven也是可以下载源码的**
9-
1. 最新更新:**2017-2-12 发布[【2.5.0正式版】](https://github.com/Wechat-Group/weixin-java-tools/releases)**
9+
1. 最新更新:**2017-4-13 发布[【2.6.0正式版】](https://github.com/Wechat-Group/weixin-java-tools/releases)**
1010
1. 开源中国网站的本项目介绍的首页链接地址:https://www.oschina.net/p/weixin-java-tools-new
1111
1. 自2.0.0版本以来,公众号的接口调整比较大,主要是为了解决主接口类过于庞大不方便管理的问题,将接口实现代码按模块进行拆分。
12+
1. 自2.6.0版本开始,微信支付相关功能抽出独立为一个模块,详细使用方式请参考相关demo;
1213
1. SDK详细开发文档请查阅 [【Wiki】](https://github.com/wechat-group/weixin-java-tools/wiki),部分文档可能未能及时更新,如有发现,可以及时上报或者自行修改。***另外微信开发新手请务必阅读wiki首页的常见问题部分,可以少走很多弯路,节省不少时间。***
1314
1. 各个模块的Javadoc可以在线查看(有可能是最新的测试版本的,请注意观察版本号):[weixin-java-pay](https://binarywang.github.io/weixin-java-pay-javadoc/)[weixin-java-mp](https://binarywang.github.io/weixin-java-mp-javadoc/)[weixin-java-common](https://binarywang.github.io/weixin-java-common-javadoc/)[weixin-java-cp](https://binarywang.github.io/weixin-java-cp-javadoc/)
1415
1. 本SDK要求的最低JDK版本是7,还在使用JDK6的用户请参考[【此项目】]( https://github.com/binarywang/weixin-java-tools-for-jdk6) ,而其他更早的JDK版本则需要自己改造实现。
1516
1. 如有新功能需求,发现BUG,或者由于微信官方接口调整导致的代码问题,可以直接在[【Issues】](https://github.com/Wechat-Group/weixin-java-tools/issues)页提出issue,便于讨论追踪问题;
16-
1. 如果想贡献代码,请阅读[【代码贡献指南】](CONTRIBUTION.md)
17+
1. 如果想贡献代码,请阅读[【代码贡献指南】](contribution.md)
1718
1. 捐助渠道已开通,如有意向请前往托管于码云的项目首页(具体地址见下文)的页面评论区上方,可以找到“捐助”按钮,非常感谢各位捐助的同学!
1819

1920
---------------------------------
@@ -58,12 +59,12 @@ maven:
5859
<dependency>
5960
<groupId>com.github.binarywang</groupId>
6061
<artifactId>weixin-java-pay</artifactId>
61-
<version>2.5.7.BETA</version>
62+
<version>2.6.0</version>
6263
</dependency>
6364
```
6465
gradle:
6566
```groovy
66-
compile 'com.github.binarywang:weixin-java-pay:2.5.7.BETA'
67+
compile 'com.github.binarywang:weixin-java-pay:2.6.0'
6768
```
6869

6970
* 公众号(订阅号及服务号):
@@ -73,12 +74,12 @@ maven:
7374
<dependency>
7475
<groupId>com.github.binarywang</groupId>
7576
<artifactId>weixin-java-mp</artifactId>
76-
<version>2.5.0</version>
77+
<version>2.6.0</version>
7778
</dependency>
7879
```
7980
gradle:
8081
```groovy
81-
compile 'com.github.binarywang:weixin-java-mp:2.5.0'
82+
compile 'com.github.binarywang:weixin-java-mp:2.6.0'
8283
```
8384

8485
* 企业号:
@@ -88,10 +89,10 @@ maven:
8889
<dependency>
8990
<groupId>com.github.binarywang</groupId>
9091
<artifactId>weixin-java-cp</artifactId>
91-
<version>2.5.0</version>
92+
<version>2.6.0</version>
9293
</dependency>
9394
```
9495
gradle:
9596
```groovy
96-
compile 'com.github.binarywang:weixin-java-cp:2.5.0'
97+
compile 'com.github.binarywang:weixin-java-cp:2.6.0'
9798
```

weixin-java-common/pom.xml

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,14 @@
66
<parent>
77
<groupId>com.github.binarywang</groupId>
88
<artifactId>weixin-java-parent</artifactId>
9-
<version>2.5.0</version>
9+
<version>2.6.0</version>
1010
</parent>
1111

1212
<artifactId>weixin-java-common</artifactId>
1313
<name>WeiXin Java Tools - Common</name>
1414
<description>微信公众号、企业号Java SDK Common</description>
1515

1616
<dependencies>
17-
<dependency>
18-
<groupId>com.thoughtworks.xstream</groupId>
19-
<artifactId>xstream</artifactId>
20-
<version>1.4.7</version>
21-
</dependency>
22-
<dependency>
23-
<groupId>junit</groupId>
24-
<artifactId>junit</artifactId>
25-
<scope>test</scope>
26-
</dependency>
2717
<dependency>
2818
<groupId>org.testng</groupId>
2919
<artifactId>testng</artifactId>

weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxConsts.java

Lines changed: 27 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,15 @@ public class WxConsts {
5555
///////////////////////
5656
public static final String MASS_ST_SUCCESS = "send success";
5757
public static final String MASS_ST_FAIL = "send fail";
58-
public static final String MASS_ST_涉嫌广告 = "err(10001)";
59-
public static final String MASS_ST_涉嫌政治 = "err(20001)";
60-
public static final String MASS_ST_涉嫌社会 = "err(20004)";
61-
public static final String MASS_ST_涉嫌色情 = "err(20002)";
62-
public static final String MASS_ST_涉嫌违法犯罪 = "err(20006)";
63-
public static final String MASS_ST_涉嫌欺诈 = "err(20008)";
64-
public static final String MASS_ST_涉嫌版权 = "err(20013)";
65-
public static final String MASS_ST_涉嫌互推_互相宣传 = "err(22000)";
66-
public static final String MASS_ST_涉嫌其他 = "err(21000)";
58+
public static final String MASS_ST_10001 = "err(10001)";
59+
public static final String MASS_ST_20001 = "err(20001)";
60+
public static final String MASS_ST_20004 = "err(20004)";
61+
public static final String MASS_ST_20002 = "err(20002)";
62+
public static final String MASS_ST_20006 = "err(20006)";
63+
public static final String MASS_ST_20008 = "err(20008)";
64+
public static final String MASS_ST_20013 = "err(20013)";
65+
public static final String MASS_ST_22000 = "err(22000)";
66+
public static final String MASS_ST_21000 = "err(21000)";
6767

6868
/**
6969
* 群发反馈消息代码所对应的文字描述
@@ -101,6 +101,7 @@ public class WxConsts {
101101
public static final String EVT_KF_CLOSE_SESSION = "kf_close_session"; // 客服关闭会话
102102
public static final String EVT_KF_SWITCH_SESSION = "kf_switch_session"; // 客服转接会话
103103
public static final String EVT_POI_CHECK_NOTIFY = "poi_check_notify"; //门店审核事件推送
104+
public static final String EVN_SUBMIT_MEMBERCARD_USER_INFO = "submit_membercard_user_info"; //接收会员信息事件推送
104105
//以下为微信认证事件
105106
/**
106107
* 资质认证成功
@@ -135,26 +136,23 @@ public class WxConsts {
135136
public static final String MEDIA_VIDEO = "video";
136137
public static final String MEDIA_THUMB = "thumb";
137138
public static final String MEDIA_FILE = "file";
139+
140+
138141
///////////////////////
139-
// 文件类型
142+
// 自定义菜单的按钮类型
140143
///////////////////////
141-
public static final String FILE_JPG = "jpeg";
142-
public static final String FILE_MP3 = "mp3";
143-
public static final String FILE_AMR = "amr";
144-
public static final String FILE_MP4 = "mp4";
145144
/**
146145
* 点击推事件
147146
*/
148147
public static final String BUTTON_CLICK = "click";
149-
150-
151-
///////////////////////
152-
// 自定义菜单的按钮类型
153-
///////////////////////
154148
/**
155149
* 跳转URL
156150
*/
157151
public static final String BUTTON_VIEW = "view";
152+
/**
153+
* 跳转到小程序
154+
*/
155+
public static final String BUTTON_MINIPROGRAM = "miniprogram";
158156
/**
159157
* 扫码推事件
160158
*/
@@ -187,6 +185,7 @@ public class WxConsts {
187185
* 跳转图文消息URL
188186
*/
189187
public static final String BUTTON_VIEW_LIMITED = "view_limited";
188+
190189
/**
191190
* 不弹出授权页面,直接跳转,只能获取用户openid
192191
*/
@@ -216,14 +215,14 @@ public class WxConsts {
216215
static {
217216
MASS_ST_2_DESC.put(MASS_ST_SUCCESS, "发送成功");
218217
MASS_ST_2_DESC.put(MASS_ST_FAIL, "发送失败");
219-
MASS_ST_2_DESC.put(MASS_ST_涉嫌广告, "涉嫌广告");
220-
MASS_ST_2_DESC.put(MASS_ST_涉嫌政治, "涉嫌政治");
221-
MASS_ST_2_DESC.put(MASS_ST_涉嫌社会, "涉嫌社会");
222-
MASS_ST_2_DESC.put(MASS_ST_涉嫌色情, "涉嫌色情");
223-
MASS_ST_2_DESC.put(MASS_ST_涉嫌违法犯罪, "涉嫌违法犯罪");
224-
MASS_ST_2_DESC.put(MASS_ST_涉嫌欺诈, "涉嫌欺诈");
225-
MASS_ST_2_DESC.put(MASS_ST_涉嫌版权, "涉嫌版权");
226-
MASS_ST_2_DESC.put(MASS_ST_涉嫌互推_互相宣传, "涉嫌互推_互相宣传");
227-
MASS_ST_2_DESC.put(MASS_ST_涉嫌其他, "涉嫌其他");
218+
MASS_ST_2_DESC.put(MASS_ST_10001, "涉嫌广告");
219+
MASS_ST_2_DESC.put(MASS_ST_20001, "涉嫌政治");
220+
MASS_ST_2_DESC.put(MASS_ST_20004, "涉嫌社会");
221+
MASS_ST_2_DESC.put(MASS_ST_20002, "涉嫌色情");
222+
MASS_ST_2_DESC.put(MASS_ST_20006, "涉嫌违法犯罪");
223+
MASS_ST_2_DESC.put(MASS_ST_20008, "涉嫌欺诈");
224+
MASS_ST_2_DESC.put(MASS_ST_20013, "涉嫌版权");
225+
MASS_ST_2_DESC.put(MASS_ST_22000, "涉嫌互推_互相宣传");
226+
MASS_ST_2_DESC.put(MASS_ST_21000, "涉嫌其他");
228227
}
229228
}

weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/menu/WxMenuButton.java

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package me.chanjar.weixin.common.bean.menu;
22

3+
import com.google.gson.annotations.SerializedName;
34
import me.chanjar.weixin.common.util.ToStringUtils;
45

56
import java.io.Serializable;
@@ -9,12 +10,65 @@
910
public class WxMenuButton implements Serializable {
1011
private static final long serialVersionUID = -1070939403109776555L;
1112

13+
/**
14+
* <pre>
15+
* 菜单的响应动作类型:
16+
* view表示网页类型,
17+
* click表示点击类型,
18+
* miniprogram表示小程序类型
19+
* </pre>
20+
*/
1221
private String type;
22+
23+
/**
24+
* 菜单标题,不超过16个字节,子菜单不超过60个字节
25+
*/
1326
private String name;
27+
28+
/**
29+
* <pre>
30+
* 菜单KEY值,用于消息接口推送,不超过128字节
31+
* click等点击类型必须
32+
* </pre>
33+
*/
1434
private String key;
35+
36+
/**
37+
* <pre>
38+
* 网页链接,用户点击菜单可打开链接,不超过1024字节。type为miniprogram时,不支持小程序的老版本客户端将打开本url。
39+
* view、miniprogram类型必须
40+
* </pre>
41+
*/
1542
private String url;
43+
44+
/**
45+
* <pre>
46+
* 调用新增永久素材接口返回的合法media_id
47+
* media_id类型和view_limited类型必须
48+
* </pre>
49+
*/
50+
@SerializedName("media_id")
1651
private String mediaId;
1752

53+
/**
54+
* <pre>
55+
* 小程序的appid
56+
* miniprogram类型必须
57+
* </pre>
58+
*/
59+
@SerializedName("appid")
60+
private String appId;
61+
62+
/**
63+
* <pre>
64+
* 小程序的页面路径
65+
* miniprogram类型必须
66+
* </pre>
67+
*/
68+
@SerializedName("pagepath")
69+
private String pagePath;
70+
71+
@SerializedName("sub_button")
1872
private List<WxMenuButton> subButtons = new ArrayList<>();
1973

2074
@Override
@@ -69,4 +123,20 @@ public String getMediaId() {
69123
public void setMediaId(String mediaId) {
70124
this.mediaId = mediaId;
71125
}
126+
127+
public String getAppId() {
128+
return appId;
129+
}
130+
131+
public void setAppId(String appId) {
132+
this.appId = appId;
133+
}
134+
135+
public String getPagePath() {
136+
return pagePath;
137+
}
138+
139+
public void setPagePath(String pagePath) {
140+
this.pagePath = pagePath;
141+
}
72142
}

0 commit comments

Comments
 (0)