Skip to content

Commit 2472b7b

Browse files
authored
Merge pull request binarywang#5 from wechat-group/develop
Develop
2 parents 0ee199d + b23b764 commit 2472b7b

File tree

152 files changed

+4246
-2708
lines changed

Some content is hidden

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

152 files changed

+4246
-2708
lines changed

.gitignore

Lines changed: 49 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,49 @@
1-
*.class
2-
test-output
3-
4-
# Mobile Tools for Java (J2ME)
5-
.mtj.tmp/
6-
7-
# Package Files #
8-
*.jar
9-
*.war
10-
*.ear
11-
12-
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
13-
hs_err_pid*
14-
15-
target
16-
bin
17-
.project
18-
.classpath
19-
.settings
20-
21-
sw-pom.xml
22-
*.iml
23-
test-config.xml
24-
.idea
25-
/.gradle/
26-
/gradle/
27-
*.bat
28-
/gradlew
1+
*.class
2+
test-output
3+
4+
# Mobile Tools for Java (J2ME)
5+
.mtj.tmp/
6+
7+
# Package Files #
8+
*.jar
9+
*.war
10+
*.ear
11+
12+
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
13+
hs_err_pid*
14+
15+
target
16+
bin
17+
.project
18+
.classpath
19+
.settings
20+
21+
sw-pom.xml
22+
*.iml
23+
test-config.xml
24+
.idea
25+
/.gradle/
26+
/gradle/
27+
*.bat
28+
/gradlew
29+
30+
# OSX
31+
# Icon must end with two \r
32+
Icon
33+
34+
35+
._*
36+
.DS_Store
37+
.AppleDouble
38+
.LSOverride
39+
.DocumentRevisions-V100
40+
.fseventsd
41+
.Spotlight-V100
42+
.TemporaryItems
43+
.Trashes
44+
.VolumeIcon.icns
45+
.AppleDB
46+
.AppleDesktop
47+
Network Trash Folder
48+
Temporary Items
49+
.apdisk

README.md

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,29 @@
11
# Weixin Java Tools 微信公众号/企业号开发Java SDK
2-
## [![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badge/) ![Maven Central](https://img.shields.io/maven-central/v/com.github.binarywang/weixin-java-parent.svg) [![Build Status](https://travis-ci.org/wechat-group/weixin-java-tools.svg?branch=develop)](https://travis-ci.org/wechat-group/weixin-java-tools)
2+
## ![Maven Central](https://img.shields.io/maven-central/v/com.github.binarywang/weixin-java-parent.svg) [![Build Status](https://travis-ci.org/wechat-group/weixin-java-tools.svg?branch=develop)](https://travis-ci.org/wechat-group/weixin-java-tools) [![Join QQ Group](http://pub.idqqimg.com/wpa/images/group.png)](http://jq.qq.com/?_wv=1027&k=40lRskK)
33

44

55
### 注意:
66
1. ***本项目Fork自chanjarster/weixin-java-tools,但由于原项目已停止维护,故单独维护和发布,且发布到maven上的groupId也会不同,详细信息见下文。***
7-
1. ***自2.0.0版本以来,主要是公众号的接口调整比较大,主要是为了解决主接口类过于庞大不方便管理的问题,将接口实现代码按模块进行拆分。***
8-
1. 最新更新:2016-08-31 发布2.1.0正式版!
7+
1. ***自2.0.0版本以来,公众号的接口调整比较大,主要是为了解决主接口类过于庞大不方便管理的问题,将接口实现代码按模块进行拆分。***
8+
1. 本SDK要求的最低JDK版本是7,为满足少量还在使用JDK6的用户的需求,特意抽出独立的代码分支项目,请参考 https://github.com/binarywang/weixin-java-tools-for-jdk6 ,其他更早的JDK版本则需要自己改造实现;
9+
1. 最新更新:2016-09-30 发布2.2.0正式版!
910

1011
===========
1112

12-
## 开发交流方式:
13-
1. ***入群须知:为保证入群成员质量,请申请入群前,先Star本项目,然后在申请入群时,输入您的Github帐号ID,以便管理员核对,ID即你的github主页地址https://github.com/XXXX 中最后的部分XXXX的内容,或者在github网页右上角点击头像后查看Signed in as后方内容。***
14-
1. QQ群:343954419 [![Join QQ Group](http://pub.idqqimg.com/wpa/images/group.png)](http://shang.qq.com/wpa/qunwpa?idkey=078f7a153d243853e24cf2b542e7a6ccbf2a592bc138080f84d11297f736ec46)
15-
1. 微信群: 因二维码有时间限制,如有想加入微信群的,请入QQ群后咨询获取最新入群二维码;
13+
## 开发交流方式及注意事项:
14+
1. QQ群:343954419(因群人数限制即将爆满,故开启付费加群方式并不定期清理不活跃人群,感谢理解) [![Join QQ Group](http://pub.idqqimg.com/wpa/images/group.png)](http://jq.qq.com/?_wv=1027&k=40lRskK)
15+
1. 微信群: 因微信群已达到100人限制,故如有想加入微信群的,请入QQ群后联系管理员,提供微信号以便邀请加入;
16+
1. 新手提问前,请先阅读此文章:http://t.cn/RV93MRB
17+
1. 寻求帮助时需贴代码或大长串异常信息的,请利用http://paste.ubuntu.com
1618
1. 有功能需求或由于微信官方接口调整导致的代码问题,可以直接提出issue,便于讨论追踪问题;
17-
1. 详细开发文档请看 [Wiki](https://github.com/wechat-group/weixin-java-tools/wiki)
19+
1. 详细开发文档请看 [Wiki](https://github.com/wechat-group/weixin-java-tools/wiki),部分文档可能未能及时更新,如有发现,可以及时上报或者自行修改
1820

1921
===========
2022

2123
## 版本说明
22-
* 本项目定为每月发布一次正式版,版本号格式为X.X.0(如2.0.0,2.1.0等),月初或月底发布新版本,遇到重大问题需修复会及时提交新版本,欢迎大家随时提交Pull Request;
23-
* BUG修复和新特性一般会先发布成小版本作为临时版本(如2.0.1,2.0.2等,即尾号不为0,以区别于正式版);
24-
* 目前最新版本号为 ![Maven Central](https://img.shields.io/maven-central/v/com.github.binarywang/weixin-java-parent.svg) ,也可以通过访问链接[【公众号】](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.github.binarywang%22%20AND%20a%3A%22weixin-java-mp%22)[【企业号】](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.github.binarywang%22%20AND%20a%3A%22weixin-java-cp%22)
24+
1. 本项目定为每月发布一次正式版,版本号格式为X.X.0(如2.1.0,2.2.0等),月初或月底发布新版本,遇到重大问题需修复会及时提交新版本,欢迎大家随时提交Pull Request;
25+
1. BUG修复和新特性一般会先发布成小版本作为临时版本(如2.0.1,2.0.2等,即尾号不为0,以区别于正式版);
26+
1. 目前最新版本号为 ![Maven Central](https://img.shields.io/maven-central/v/com.github.binarywang/weixin-java-parent.svg) ,也可以通过访问链接 [【公众号】](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.github.binarywang%22%20AND%20a%3A%22weixin-java-mp%22)[【企业号】](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.github.binarywang%22%20AND%20a%3A%22weixin-java-cp%22)
2527
分别查看所有最新的版本。
2628

2729
## Maven & Gradle
@@ -33,12 +35,12 @@ maven:
3335
<dependency>
3436
<groupId>com.github.binarywang</groupId>
3537
<artifactId>weixin-java-mp</artifactId>
36-
<version>2.1.0</version>
38+
<version>2.2.0</version>
3739
</dependency>
3840
```
3941
gradle:
4042
```groovy
41-
compile 'com.github.binarywang:weixin-java-mp:2.1.0'
43+
compile 'com.github.binarywang:weixin-java-mp:2.2.0'
4244
```
4345

4446
* 企业号:
@@ -48,30 +50,33 @@ maven:
4850
<dependency>
4951
<groupId>com.github.binarywang</groupId>
5052
<artifactId>weixin-java-cp</artifactId>
51-
<version>2.1.0</version>
53+
<version>2.2.0</version>
5254
</dependency>
5355
```
5456
gradle:
5557
```groovy
56-
compile 'com.github.binarywang:weixin-java-cp:2.1.0'
58+
compile 'com.github.binarywang:weixin-java-cp:2.2.0'
5759
```
5860

61+
===========
62+
5963
#### 本项目主要存放在github上,地址为 :
6064
* https://github.com/wechat-group/weixin-java-tools
6165
* ===========但同时会在其他几个网站同步更新,地址分别是:
6266
* https://bitbucket.org/binarywang/weixin-java-tools
6367
* http://git.oschina.net/binary/weixin-java-tools
6468
* https://git.coding.net/binarywang/weixin-java-tools.git
6569

66-
67-
## 目前可参考的Demo项目有两个:
70+
===========
71+
## 目前可参考的Demo项目有两个(目前都是公众号的,风格不同,欢迎提供更多的demo供新手参考):
6872
1. https://github.com/wechat-group/weixin-mp-demo
6973
1. https://github.com/wechat-group/weixin-java-tools-springmvc
7074

75+
===========
7176
## 关于代码贡献
72-
* 非常欢迎和感谢对本项目发起Pull Request的同学,本项目代码风格为使用2个空格代表一个Tab,因此在提交代码时请注意一下,否则很容易在IDE格式化代码后与原代码产生大量diff,这样会给其他人阅读代码带来极大的困扰。
73-
* 为了便于设置,本项目引入editorconfig插件,请使用eclipse的同学在贡献代码前安装相关插件,IntelliJ IDEA则自带支持,无需额外安装插件。
74-
* 本项目可以采用两种方式接受代码贡献:
77+
1. 非常欢迎和感谢对本项目发起Pull Request的同学,本项目代码风格为使用2个空格代表一个Tab,因此在提交代码时请注意一下,否则很容易在IDE格式化代码后与原代码产生大量diff,这样会给其他人阅读代码带来极大的困扰。
78+
1. 为了便于设置,本项目引入editorconfig插件,请使用eclipse的同学在贡献代码前安装相关插件,IntelliJ IDEA则自带支持,无需额外安装插件。
79+
1. 本项目可以采用两种方式接受代码贡献:
7580

76-
1. 第一种就是基于[Git Flow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow)开发流程,因此在发起Pull Request的时候请选择develop分支。
77-
1. 另外一种贡献代码的方式就是加入SDK Developers开发组,如果对自己的代码足够自信,可以随时提交代码,注意要随时进行单元测试,保证提交代码没有明显问题,具体加入方式,请咨询管理员。
81+
1. 第一种就是基于[Git Flow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow)开发流程,因此在发起Pull Request的时候请选择develop分支。
82+
1. 另外一种贡献代码的方式就是加入SDK Developers开发组,前提是对自己的代码足够自信就可以申请加入,加入之后可以随时直接提交代码,但要注意对所做的修改或新增的代码进行单元测试,保证提交代码没有明显问题,具体加入方式,请咨询管理员。

build.gradle

Lines changed: 1 addition & 3 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.1.0-SNAPSHOT'
5+
version = '2.2.0'
66
}
77

88
subprojects {
@@ -20,12 +20,10 @@ subprojects {
2020

2121
dependencies {
2222
compile group: 'org.slf4j', name: 'slf4j-api', version:'1.7.10'
23-
compile group: 'org.apache.httpcomponents', name: 'fluent-hc', version:'4.5'
2423
compile group: 'org.apache.httpcomponents', name: 'httpmime', version:'4.5'
2524
compile group: 'org.jodd', name: 'jodd-http', version:'3.6.7'
2625
compile group: 'com.google.code.gson', name: 'gson', version:'2.7'
2726
compile group: 'com.google.guava', name: 'guava', version:'19.0'
28-
compile group: 'org.jooq', name: 'joor', version:'0.9.6'
2927
compile group: 'commons-codec', name: 'commons-codec', version:'1.10'
3028
compile group: 'commons-io', name: 'commons-io', version:'2.5'
3129
compile group: 'org.apache.commons', name: 'commons-lang3', version:'3.4'

pom.xml

Lines changed: 15 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
<modelVersion>4.0.0</modelVersion>
66
<groupId>com.github.binarywang</groupId>
77
<artifactId>weixin-java-parent</artifactId>
8-
<version>2.1.2</version>
8+
<version>2.3.0-SNAPSHOT</version>
99
<packaging>pom</packaging>
1010
<name>WeiXin Java Tools - Parent</name>
1111
<description>微信公众号、企业号上级POM</description>
12-
<url>https://github.com/binarywang/weixin-java-tools</url>
12+
<url>https://github.com/wechat-group/weixin-java-tools</url>
1313

1414
<licenses>
1515
<license>
@@ -22,23 +22,31 @@
2222
<developer>
2323
<name>Daniel Qian</name>
2424
<email>chanjarster@gmail.com</email>
25+
<url>https://github.com/chanjarster</url>
2526
</developer>
2627
<developer>
2728
<name>Binary Wang</name>
2829
<email>binarywang@gmail.com</email>
30+
<url>https://github.com/binarywang</url>
31+
</developer>
32+
<developer>
33+
<name>gaigeshen</name>
34+
<email>gaigeshen@qq.com</email>
35+
<url>https://github.com/gaigeshen</url>
2936
</developer>
3037
</developers>
3138

3239
<scm>
33-
<connection>scm:git:https://github.com/binarywang/weixin-java-tools.git</connection>
34-
<developerConnection>scm:git:git@github.com:binarywang/weixin-java-tools.git</developerConnection>
35-
<url>https://github.com/binarywang/weixin-java-tools</url>
40+
<connection>scm:git:https://github.com/wechat-group/weixin-java-tools.git</connection>
41+
<developerConnection>scm:git:git@github.com:wechat-group/weixin-java-tools.git</developerConnection>
42+
<url>https://github.com/wechat-group/weixin-java-tools</url>
3643
</scm>
3744

3845
<modules>
3946
<module>weixin-java-common</module>
4047
<module>weixin-java-cp</module>
4148
<module>weixin-java-mp</module>
49+
<module>weixin-java-osgi</module>
4250
</modules>
4351

4452
<properties>
@@ -52,8 +60,7 @@
5260
<jedis.version>2.9.0</jedis.version>
5361
<gson.version>2.7</gson.version>
5462
<guava.version>19.0</guava.version>
55-
<joor.version>0.9.6</joor.version>
56-
<commons-lang3.version>3.4</commons-lang3.version>
63+
<commons-lang3.version>3.5</commons-lang3.version>
5764
<commons-io.version>2.5</commons-io.version>
5865
<commons-codec.version>1.10</commons-codec.version>
5966
<jetty.version>9.3.0.M0</jetty.version>
@@ -72,11 +79,6 @@
7279
<version>${logback.version}</version>
7380
<scope>test</scope>
7481
</dependency>
75-
<dependency>
76-
<groupId>org.apache.httpcomponents</groupId>
77-
<artifactId>fluent-hc</artifactId>
78-
<version>${httpclient.version}</version>
79-
</dependency>
8082
<dependency>
8183
<groupId>org.apache.httpcomponents</groupId>
8284
<artifactId>httpmime</artifactId>
@@ -111,16 +113,12 @@
111113
<groupId>redis.clients</groupId>
112114
<artifactId>jedis</artifactId>
113115
<version>${jedis.version}</version>
114-
<scope>provided</scope>
116+
<optional>true</optional>
115117
</dependency>
116118
<dependency>
117119
<groupId>com.google.guava</groupId>
118120
<artifactId>guava</artifactId>
119121
</dependency>
120-
<dependency>
121-
<groupId>org.jooq</groupId>
122-
<artifactId>joor</artifactId>
123-
</dependency>
124122
</dependencies>
125123

126124
<dependencyManagement>
@@ -166,11 +164,6 @@
166164
<artifactId>guava</artifactId>
167165
<version>${guava.version}</version>
168166
</dependency>
169-
<dependency>
170-
<groupId>org.jooq</groupId>
171-
<artifactId>joor</artifactId>
172-
<version>${joor.version}</version>
173-
</dependency>
174167
</dependencies>
175168
</dependencyManagement>
176169

@@ -300,5 +293,4 @@
300293
</plugins>
301294
</build>
302295

303-
304296
</project>

weixin-java-common/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.github.binarywang</groupId>
88
<artifactId>weixin-java-parent</artifactId>
9-
<version>2.1.2</version>
9+
<version>2.3.0-SNAPSHOT</version>
1010
</parent>
1111

1212
<artifactId>weixin-java-common</artifactId>

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

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,15 @@ public class WxConsts {
2323
///////////////////////
2424
// 主动发送消息(即客服消息)的消息类型
2525
///////////////////////
26-
public static final String CUSTOM_MSG_TEXT = "text";
27-
public static final String CUSTOM_MSG_IMAGE = "image";
28-
public static final String CUSTOM_MSG_VOICE = "voice";
29-
public static final String CUSTOM_MSG_VIDEO = "video";
30-
public static final String CUSTOM_MSG_MUSIC = "music";
31-
public static final String CUSTOM_MSG_NEWS = "news";
32-
public static final String CUSTOM_MSG_FILE = "file";
33-
public static final String CUSTOM_MSG_WXCARD = "wxcard";
26+
public static final String CUSTOM_MSG_TEXT = "text";//文本消息
27+
public static final String CUSTOM_MSG_IMAGE = "image";//图片消息
28+
public static final String CUSTOM_MSG_VOICE = "voice";//语音消息
29+
public static final String CUSTOM_MSG_VIDEO = "video";//视频消息
30+
public static final String CUSTOM_MSG_MUSIC = "music";//音乐消息
31+
public static final String CUSTOM_MSG_NEWS = "news";//图文消息(点击跳转到外链)
32+
public static final String CUSTOM_MSG_MPNEWS = "mpnews";//图文消息(点击跳转到图文消息页面)
33+
public static final String CUSTOM_MSG_FILE = "file";//发送文件(CP专用)
34+
public static final String CUSTOM_MSG_WXCARD = "wxcard";//卡券消息
3435
public static final String CUSTOM_MSG_TRANSFER_CUSTOMER_SERVICE = "transfer_customer_service";
3536
public static final String CUSTOM_MSG_SAFE_NO = "0";
3637
public static final String CUSTOM_MSG_SAFE_YES = "1";
@@ -63,6 +64,7 @@ public class WxConsts {
6364
* 群发反馈消息代码所对应的文字描述
6465
*/
6566
public static final Map<String, String> MASS_ST_2_DESC = new HashMap<>();
67+
6668
///////////////////////
6769
// 微信端推送过来的事件类型
6870
///////////////////////
@@ -93,6 +95,33 @@ public class WxConsts {
9395
public static final String EVT_KF_CREATE_SESSION = "kf_create_session"; // 客服接入会话
9496
public static final String EVT_KF_CLOSE_SESSION = "kf_close_session"; // 客服关闭会话
9597
public static final String EVT_KF_SWITCH_SESSION = "kf_switch_session"; // 客服转接会话
98+
public static final String EVT_POI_CHECK_NOTIFY = "poi_check_notify"; //门店审核事件推送
99+
//以下为微信认证事件
100+
/**
101+
* 资质认证成功
102+
*/
103+
public static final String EVT_QUALIFICATION_VERIFY_SUCCESS = "qualification_verify_success";
104+
/**
105+
* 资质认证失败
106+
*/
107+
public static final String EVT_QUALIFICATION_VERIFY_FAIL = "qualification_verify_fail";
108+
/**
109+
* 名称认证成功
110+
*/
111+
public static final String EVT_NAMING_VERIFY_SUCCESS = "naming_verify_success";
112+
/**
113+
* 名称认证失败
114+
*/
115+
public static final String EVT_NAMING_VERIFY_FAIL = "naming_verify_fail";
116+
/**
117+
* 年审通知
118+
*/
119+
public static final String EVT_ANNUAL_RENEW = "annual_renew";
120+
/**
121+
* 认证过期失效通知
122+
*/
123+
public static final String EVT_VERIFY_EXPIRED = "verify_expired";
124+
96125
///////////////////////
97126
// 上传多媒体文件的类型
98127
///////////////////////
@@ -165,7 +194,7 @@ public class WxConsts {
165194
* 弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息
166195
*/
167196
public static final String OAUTH2_SCOPE_USER_INFO = "snsapi_userinfo";
168-
197+
169198
/**
170199
* 网页应用登录授权作用域 snsapi_login
171200
*/

0 commit comments

Comments
 (0)