diff --git a/clients/java/wechat-ferry-mvn/.gitignore b/clients/java/wcf-bmc/.gitignore similarity index 100% rename from clients/java/wechat-ferry-mvn/.gitignore rename to clients/java/wcf-bmc/.gitignore diff --git a/clients/java/wechat-ferry-mvn/CHANGELOG.md b/clients/java/wcf-bmc/CHANGELOG.md similarity index 71% rename from clients/java/wechat-ferry-mvn/CHANGELOG.md rename to clients/java/wcf-bmc/CHANGELOG.md index 4ad11a5..a1e325e 100644 --- a/clients/java/wechat-ferry-mvn/CHANGELOG.md +++ b/clients/java/wcf-bmc/CHANGELOG.md @@ -18,6 +18,125 @@ ___

+## v39.5.2 + +### 版本列表 + +下载地址:[v39.5.2](https://github.com/lich0821/WeChatFerry/releases/tag/v39.5.2) + +| 名称 | 版本 | 文件名 | +|-----------------|-----------|---------------------------| +| 微信客户端 | 3.9.12.51 | WeChatSetup-3.9.12.51.exe | +| WeChatFerry-SDK | 39.5.2 | v39.5.2.zip | +| wcf-bmc | 39.5.2.1 | wcf-bmc-39.5.2.1.jar | + +### 功能列表 + +| 接口名 | 地址 | +|----------------|------------------------| +| 查询登录状态 | /loginStatus | +| 获取登录微信内部识别号UID | /loginWeChatUid | +| 获取登录微信信息 | /loginWeChatInfo | +| 获取消息类型列表 | /list/msgType | +| 获取联系人列表 | /list/contacts | +| 获取数据库表名称列表 | /list/dbTableName | +| 获取指定数据库中的表列表 | /list/dbTable | +| 执行数据库查询SQL | /exec/dbQuerySql | +| 发送消息汇总入口 | /send/msgMaster | +| 发送文本消息 | /send/textMsg | +| 发送富文本消息 | /send/richTextMsg | +| 发送XML消息 | /send/xmlMsg | +| 发送图片消息 | /send/imageMsg | +| 发送表情消息 | /send/emojiMsg | +| 发送文件消息 | /send/fileMsg | +| 拍一拍群友 | /patOnePat | +| 撤回消息 | /revokeMsg | +| 通过好友申请 | /passFriendApply | +| 添加群成员为微信好友 | /addFriend/groupMember | +| 查询群成员 | /groupMember/list | +| 邀请群成员 | /groupMember/invite | +| 删除群成员 | /groupMember/delete | +| 查询朋友圈 | /friendCircle | +| 接收转账 | /receiveTransfer | + +### 已知bug + +v39.5.2版本目前会出现注入失败的情况,待排查修复,可先使用v39.5.1,只须替换dll版本即可 + +### 2025-05-03 + +- 1.更新dll为v39.5.2 + +
+ +___ + +

+ +## v39.5.1 - 推荐✨ + +### 版本列表 + +下载地址:[v39.5.1](https://github.com/lich0821/WeChatFerry/releases/tag/v39.5.1) + +| 名称 | 版本 | 文件名 | +|-----------------|-----------|---------------------------| +| 微信客户端 | 3.9.12.51 | WeChatSetup-3.9.12.51.exe | +| WeChatFerry-SDK | 39.5.1 | v39.5.1.zip | +| wcf-bmc | 39.5.1.1 | wcf-bmc-39.5.1.1.jar | + +### 功能列表 + +| 接口名 | 地址 | 是否支持 | 备注 | +|----------------|------------------------|------|--------| +| 查询登录状态 | /loginStatus | ✔️ | 已测试 | +| 获取登录微信内部识别号UID | /loginWeChatUid | ✔️ | 已测试 | +| 获取登录微信信息 | /loginWeChatInfo | ✔️ | 已测试 | +| 获取消息类型列表 | /list/msgType | ✔️ | 已测试 | +| 获取联系人列表 | /list/contacts | ✔️ | 已测试 | +| 获取数据库表名称列表 | /list/dbTableName | ✔️ | 已测试 | +| 获取指定数据库中的表列表 | /list/dbTable | ✔️ | 已测试 | +| 执行数据库查询SQL | /exec/dbQuerySql | ✔️ | 已测试 | +| 发送消息汇总入口 | /send/msgMaster | ❌ | 预留 | +| 发送文本消息 | /send/textMsg | ✔️ | 已测试 | +| 发送富文本消息 | /send/richTextMsg | ❌ | 已知BUG | +| 发送XML消息 | /send/xmlMsg | ❌ | 该版本不支持 | +| 发送图片消息 | /send/imageMsg | ✔️ | 已测试 | +| 发送表情消息 | /send/emojiMsg | ✔️ | 已测试 | +| 发送文件消息 | /send/fileMsg | ✔️ | 已测试 | +| 拍一拍群友 | /patOnePat | ✔️ | 已测试 | +| 撤回消息 | /revokeMsg | ❌ | 该版本不支持 | +| 通过好友申请 | /passFriendApply | ❌ | 该版本不支持 | +| 添加群成员为微信好友 | /addFriend/groupMember | ❔ | 待测试 | +| 查询群成员 | /groupMember/list | ✔️ | 已测试 | +| 邀请群成员 | /groupMember/invite | ❔ | 待测试 | +| 删除群成员 | /groupMember/delete | ❔ | 待测试 | +| 查询朋友圈 | /friendCircle | ❔ | 待测试 | +| 接收转账 | /receiveTransfer | ❌ | 该版本不支持 | + +### 提示 + +v39.5.2版本目前会出现注入失败的情况,暂时推迟更新至该版本,故本次采用v39.5.1进行过渡 + +### 2025-05-03 + +- 1.修复不同群定制不同功能号的配置文件参数取值错误问题,修改写法 + +### 2025-05-01 + +- 1.更新DLL版本迭代 +- 2.更新说明文件 +- 3.修改群消息策略功能,支持指定对应的群开启对应的功能 +- 4.SDK调试模式新增配置文件参数,默认不开启 +- 5.proto文件同步更新 +- 6.目录名称变更为wcf-bmc + +
+ +___ + +

+ ## v39.4.2 ### 版本列表 @@ -227,7 +346,7 @@ ___

-## v39.2.4 - 推荐✨ +## v39.2.4 ### 版本列表 @@ -269,4 +388,4 @@ ___
-___ \ No newline at end of file +___ diff --git a/clients/java/wechat-ferry-mvn/README.MD b/clients/java/wcf-bmc/README.MD similarity index 74% rename from clients/java/wechat-ferry-mvn/README.MD rename to clients/java/wcf-bmc/README.MD index 5e4f744..2fa111d 100644 --- a/clients/java/wechat-ferry-mvn/README.MD +++ b/clients/java/wcf-bmc/README.MD @@ -1,4 +1,4 @@ -# WeChatFerry Java 客户端 maven版 +# WCF-BMC 【WeChatFerry中的Springboot+Maven版的客户端】 ⚠️ **只支持 Windows** ⚠️ @@ -13,8 +13,8 @@ |-----------------|-----------|----| | JDK | 1.8+ | √ | | Maven | 3.8+ | √ | -| 微信客户端 | 3.9.12.17 | √ | -| WeChatFerry-SDK | 39.4.2 | √ | +| 微信客户端 | 3.9.12.51 | √ | +| WeChatFerry-SDK | 39.5.2 | √ | | MySQL | 8.0+ | 备用 | ### 下载文件 @@ -25,17 +25,17 @@ 可以直接以WeChatFerry为根目录打开 -或者以WeChatFerry/clients/java/wechat-ferry-mvn为根目录打开 +或者以WeChatFerry/clients/java/wcf-bmc为根目录打开 ### 添加Maven -找到 WeChatFerry/clients/java/wechat-ferry-mvn/pom.xml 文件,右键添加到Maven中,会自动下载依赖 +找到 WeChatFerry/clients/java/wcf-bmc/pom.xml 文件,右键添加到Maven中,会自动下载依赖 ### 替换对应版本的dll 把刚下载的最新发布文件解压到本项目中的 dll 文件目录下,直接替换原因文件即可 -替换 `clients/java/wechat-ferry-mvn/dll` 目录下(也可以在配置文件中改为自定义的目录) +替换 `clients/java/wcf-bmc/dll` 目录下(也可以在配置文件中改为自定义的目录) - sdk.dll - spy.dll @@ -54,11 +54,11 @@ ```yaml # 本服务参数 wechat: - ferry: - # DLL文件位置 - dll-path: E:\WeChatFerry\clients\java\wechat-ferry-mvn\dll\sdk.dll - # socket端口 - socket-port: 10086 + ferry: + # DLL文件位置 + dll-path: E:\WeChatFerry\clients\java\wcf-bmc\dll\sdk.dll + # socket端口 + socket-port: 10086 ``` ### 数据库修改-目前未使用 @@ -77,6 +77,74 @@ wechat: swagger地址:http://localhost:9201/swagger-ui/index.html +### 项目打包 + +使用maven插件打包 + +- 先 clean +- 在 install + +或者进入到项目根目录使用命令打包 + +``` shell +cd wcf-bmc + +mvn clean + +mvn install +``` + +打包后的文件在target/wcf-bmc-xx.x.x.x-SNAPSHOT.jar + +## 安装部署 + +### 服务器环境 + +| 名称 | 版本 | 备注 | +|-------|--------|----| +| JDK | 1.8+ | √ | +| 微信客户端 | 安装对应版本 | √ | + +### 整合安装包 + +自己在项目中找到对应的文件,手动复制过去 + +``` +wcf-bmc +├─dll 核心dll目录 +│ ├─sdk.dll sdk文件 +│ ├─spy.dll spy文件 +│ ├─spy_debug.dll spy文件 +│ └─DISCLAIMER.md DISCLAIMER文件 +│ +├─bin 命令目录 +│ └─run.bat 启动命令 +│ +├─config 配置文件目录 +│ ├─application.yml 配置文件 +│ └─logback-spring.xml 日志配置文件 +│ +├─wcf-bmc-xx.x.x.x.jar 打包后的源码包 +│ + +``` + +### 启动 + +1.退出微信客户端后台 + +2.进入命令黑窗口(CMD),并进入到项目目录下 + +``` shell +cd wcf +``` + +3.执行启动命令,jar名称换成自己的 + +``` shell +java -Dconfig.dir=./config -jar wcf-bmc-xx.x.x.x.jar +``` + ## 参与开发 ### 核心依赖 @@ -96,11 +164,14 @@ swagger地址:http://localhost:9201/swagger-ui/index.html ### 模块结构 ``` -wechat-ferry-mvn +wcf-bmc ├─dll 核心dll │ ├─sdk.dll sdk文件 │ └─readme.txt 本目录说明文件 -│ +│ +├─images 图片 +│ └─md MD文档图片 +│ ├─src 源 │ ├─main 重启命令 │ │ ├─java(com.wechat.ferry) java代码目录 @@ -129,10 +200,11 @@ wechat-ferry-mvn │ │ │ ├─win32-x86-64 依赖程序 │ │ │ ├─application.yml 本程序主配置文件 │ │ │ └─logback-spring.xml 日志配置文件 -│ +│ +├─CHANGELOG.md 更新日志文件 ├─pom.xml POM文件 ├─README.MD 说明文件 -│ +│ ``` @@ -198,7 +270,7 @@ message RoomData 如: ```cmd -feat(0): [java]-[wechat-ferry-mvn]-基础类目录划分迁移及代码格式 +feat(0): [wcf-bmc]-基础类目录划分迁移及代码格式 ``` | 名称 | 版本 | @@ -211,6 +283,13 @@ feat(0): [java]-[wechat-ferry-mvn]-基础类目录划分迁移及代码格式 下面主要是针对一些合作开发者的咨询做统一回复,可以直接忽略。 +#### 项目名称的由来 + +WCF-BCM
+WCF是WeChatFerry
+第一层:BMC是Business Management Center的缩写
+第二层:BMC是SpringBoot Maven Client
+ #### 目录层级拆分太细 其实这个服务是底层服务,目录分细确实会增加开发量,但是针对于后面的拓展和维护上来说,个人感觉利大于弊, diff --git a/clients/java/wechat-ferry-mvn/dll/.gitkeep b/clients/java/wcf-bmc/dll/.gitkeep similarity index 100% rename from clients/java/wechat-ferry-mvn/dll/.gitkeep rename to clients/java/wcf-bmc/dll/.gitkeep diff --git a/clients/java/wechat-ferry-mvn/dll/DISCLAIMER.md b/clients/java/wcf-bmc/dll/DISCLAIMER.md similarity index 100% rename from clients/java/wechat-ferry-mvn/dll/DISCLAIMER.md rename to clients/java/wcf-bmc/dll/DISCLAIMER.md diff --git a/clients/java/wechat-ferry-mvn/dll/readme.txt b/clients/java/wcf-bmc/dll/readme.txt similarity index 100% rename from clients/java/wechat-ferry-mvn/dll/readme.txt rename to clients/java/wcf-bmc/dll/readme.txt diff --git a/clients/java/wcf-bmc/dll/sdk.dll b/clients/java/wcf-bmc/dll/sdk.dll new file mode 100644 index 0000000..7483265 Binary files /dev/null and b/clients/java/wcf-bmc/dll/sdk.dll differ diff --git a/clients/java/wcf-bmc/dll/spy.dll b/clients/java/wcf-bmc/dll/spy.dll new file mode 100644 index 0000000..2eb45fc Binary files /dev/null and b/clients/java/wcf-bmc/dll/spy.dll differ diff --git a/clients/java/wcf-bmc/dll/spy_debug.dll b/clients/java/wcf-bmc/dll/spy_debug.dll new file mode 100644 index 0000000..4900318 Binary files /dev/null and b/clients/java/wcf-bmc/dll/spy_debug.dll differ diff --git a/clients/java/wechat-ferry-mvn/pom.xml b/clients/java/wcf-bmc/pom.xml similarity index 88% rename from clients/java/wechat-ferry-mvn/pom.xml rename to clients/java/wcf-bmc/pom.xml index c6453da..5cd0b76 100644 --- a/clients/java/wechat-ferry-mvn/pom.xml +++ b/clients/java/wcf-bmc/pom.xml @@ -11,15 +11,19 @@ 2.7.18 - wechat-ferry-mvn + wcf-bmc jar - wechat-ferry-mvn - 39.2.4 - WeChatFerry客户端Java-Maven版 + wcf-bmc + 39.5.2.1 + WeChatFerry Springboot Maven Client (WCF-Springboot的Maven版客户端) + + + https://github.com/PathfinderAx/WeChatFerry + com.wechat.ferry.WeChatFerryApplication - wechat-ferry-mvn + wcf-bmc @@ -36,6 +40,11 @@ spring-boot-starter-test test + + + org.springframework.boot + spring-boot-starter-validation + org.springframework.boot @@ -53,12 +62,6 @@ 1.18.30 provided - - - javax.validation - validation-api - 2.0.1.Final - io.springfox @@ -82,12 +85,19 @@ httpclient 4.5.13 - + + + com.squareup.okhttp3 + okhttp + 4.10.0 + + com.google.protobuf protobuf-java 3.22.2 + net.java.dev.jna jna @@ -162,8 +172,8 @@ org.springframework.boot spring-boot-maven-plugin + ${app.name}-${project.version} true - ${application.main.class} diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/WeChatFerryApplication.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/WeChatFerryApplication.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/WeChatFerryApplication.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/WeChatFerryApplication.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/aggregation/.gitkeep b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/aggregation/.gitkeep similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/aggregation/.gitkeep rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/aggregation/.gitkeep diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/aggregation/facade/ChatRoomDo.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/aggregation/facade/ChatRoomDo.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/aggregation/facade/ChatRoomDo.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/aggregation/facade/ChatRoomDo.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/aggregation/facade/ContactDo.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/aggregation/facade/ContactDo.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/aggregation/facade/ContactDo.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/aggregation/facade/ContactDo.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/ProtobufConfig.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/config/ProtobufConfig.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/ProtobufConfig.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/config/ProtobufConfig.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/SwaggerConfig.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/config/SwaggerConfig.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/SwaggerConfig.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/config/SwaggerConfig.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/WeChatConfiguration.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/config/WeChatConfiguration.java similarity index 96% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/WeChatConfiguration.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/config/WeChatConfiguration.java index 7564627..8efe3d4 100644 --- a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/WeChatConfiguration.java +++ b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/config/WeChatConfiguration.java @@ -33,7 +33,8 @@ public class WeChatConfiguration { // Client client = new Client("127.0.0.1", 10086); // 本地启动 RPC - WeChatSocketClient wechatSocketClient = new WeChatSocketClient(properties.getSocketPort(), properties.getDllPath()); + WeChatSocketClient wechatSocketClient = + new WeChatSocketClient(properties.getSocketPort(), properties.getSdkDebugSwitch(), properties.getDllPath()); // 是否已登录 // log.info("isLogin: {}", client.isLogin()); diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/WeChatFerryProperties.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/config/WeChatFerryProperties.java similarity index 81% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/WeChatFerryProperties.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/config/WeChatFerryProperties.java index 28e5789..1d33770 100644 --- a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/WeChatFerryProperties.java +++ b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/config/WeChatFerryProperties.java @@ -29,6 +29,11 @@ public class WeChatFerryProperties { */ private Integer socketPort; + /** + * SDK是否调试模式 + */ + private Boolean sdkDebugSwitch = false; + /** * 联系人类型-官方杂号,禁止与其他分类重复(格式:代码|名称) * 使用时记得需要提取代码或者名称匹配 @@ -42,9 +47,16 @@ public class WeChatFerryProperties { private List contactsTypeOfficial; /** - * 需要开启消息处理的群 + * 消息处理的群开关 */ - private List openMsgGroups; + private Boolean openMsgGroupSwitch = false; + + /** + * 需要开启消息处理的群 + * 格式:key:群编号 val:开启的功能号,对应ReceiveMsgChannelEnum枚举中的code + * 53257911728@chatroom: 1,2 + */ + private Map openMsgGroups; /** * 接收消息回调开关 diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/WebConfig.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/config/WebConfig.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/WebConfig.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/config/WebConfig.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/constant/.gitkeep b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/constant/.gitkeep similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/constant/.gitkeep rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/constant/.gitkeep diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/controller/WeChatDllController.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/controller/WeChatDllController.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/controller/WeChatDllController.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/controller/WeChatDllController.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/controller/WeChatMsgController.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/controller/WeChatMsgController.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/controller/WeChatMsgController.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/controller/WeChatMsgController.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/IResponse.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/IResponse.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/IResponse.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/IResponse.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/TResponse.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/TResponse.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/TResponse.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/TResponse.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/dto/.gitkeep b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/dto/.gitkeep similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/dto/.gitkeep rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/dto/.gitkeep diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/dto/WxPpMsgDTO.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/dto/WxPpMsgDTO.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/dto/WxPpMsgDTO.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/dto/WxPpMsgDTO.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/po/.gitkeep b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/po/.gitkeep similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/po/.gitkeep rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/po/.gitkeep diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/po/wcf/ChatRoom.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/po/wcf/ChatRoom.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/po/wcf/ChatRoom.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/po/wcf/ChatRoom.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/po/wcf/ChatRoomInfo.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/po/wcf/ChatRoomInfo.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/po/wcf/ChatRoomInfo.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/po/wcf/ChatRoomInfo.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/po/wcf/Contact.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/po/wcf/Contact.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/po/wcf/Contact.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/po/wcf/Contact.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/po/wcf/ContactHeadImgUrl.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/po/wcf/ContactHeadImgUrl.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/po/wcf/ContactHeadImgUrl.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/po/wcf/ContactHeadImgUrl.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/po/wcf/RevokeMsgStorage.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/po/wcf/RevokeMsgStorage.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/po/wcf/RevokeMsgStorage.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/po/wcf/RevokeMsgStorage.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/proto/Wcf.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/proto/Wcf.java similarity index 99% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/proto/Wcf.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/proto/Wcf.java index 75c327b..bd3d1f3 100644 --- a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/proto/Wcf.java +++ b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/proto/Wcf.java @@ -147,6 +147,10 @@ public final class Wcf { * FUNC_INV_ROOM_MEMBERS = 114; */ FUNC_INV_ROOM_MEMBERS(114), + /** + * FUNC_SHUTDOWN = 255; + */ + FUNC_SHUTDOWN(255), UNRECOGNIZED(-1), ; @@ -278,6 +282,10 @@ public final class Wcf { * FUNC_INV_ROOM_MEMBERS = 114; */ public static final int FUNC_INV_ROOM_MEMBERS_VALUE = 114; + /** + * FUNC_SHUTDOWN = 255; + */ + public static final int FUNC_SHUTDOWN_VALUE = 255; public final int getNumber() { @@ -336,6 +344,7 @@ public final class Wcf { case 112: return FUNC_ADD_ROOM_MEMBERS; case 113: return FUNC_DEL_ROOM_MEMBERS; case 114: return FUNC_INV_ROOM_MEMBERS; + case 255: return FUNC_SHUTDOWN; default: return null; } } @@ -9101,7 +9110,7 @@ public final class Wcf { /** *
-     * 缩略图
+     * 视频或图片消息的缩略图路径
      * 
* * string thumb = 10; @@ -9110,7 +9119,7 @@ public final class Wcf { java.lang.String getThumb(); /** *
-     * 缩略图
+     * 视频或图片消息的缩略图路径
      * 
* * string thumb = 10; @@ -9121,7 +9130,7 @@ public final class Wcf { /** *
-     * 附加内容
+     * 附加内容,视频或图片消息的路径
      * 
* * string extra = 11; @@ -9130,7 +9139,7 @@ public final class Wcf { java.lang.String getExtra(); /** *
-     * 附加内容
+     * 附加内容,视频或图片消息的路径
      * 
* * string extra = 11; @@ -9141,7 +9150,7 @@ public final class Wcf { /** *
-     * 消息 xml
+     * 消息 xml 部分
      * 
* * string xml = 12; @@ -9150,7 +9159,7 @@ public final class Wcf { java.lang.String getXml(); /** *
-     * 消息 xml
+     * 消息 xml 部分
      * 
* * string xml = 12; @@ -9469,7 +9478,7 @@ public final class Wcf { private volatile java.lang.Object thumb_ = ""; /** *
-     * 缩略图
+     * 视频或图片消息的缩略图路径
      * 
* * string thumb = 10; @@ -9490,7 +9499,7 @@ public final class Wcf { } /** *
-     * 缩略图
+     * 视频或图片消息的缩略图路径
      * 
* * string thumb = 10; @@ -9516,7 +9525,7 @@ public final class Wcf { private volatile java.lang.Object extra_ = ""; /** *
-     * 附加内容
+     * 附加内容,视频或图片消息的路径
      * 
* * string extra = 11; @@ -9537,7 +9546,7 @@ public final class Wcf { } /** *
-     * 附加内容
+     * 附加内容,视频或图片消息的路径
      * 
* * string extra = 11; @@ -9563,7 +9572,7 @@ public final class Wcf { private volatile java.lang.Object xml_ = ""; /** *
-     * 消息 xml
+     * 消息 xml 部分
      * 
* * string xml = 12; @@ -9584,7 +9593,7 @@ public final class Wcf { } /** *
-     * 消息 xml
+     * 消息 xml 部分
      * 
* * string xml = 12; @@ -10750,7 +10759,7 @@ public final class Wcf { private java.lang.Object thumb_ = ""; /** *
-       * 缩略图
+       * 视频或图片消息的缩略图路径
        * 
* * string thumb = 10; @@ -10770,7 +10779,7 @@ public final class Wcf { } /** *
-       * 缩略图
+       * 视频或图片消息的缩略图路径
        * 
* * string thumb = 10; @@ -10791,7 +10800,7 @@ public final class Wcf { } /** *
-       * 缩略图
+       * 视频或图片消息的缩略图路径
        * 
* * string thumb = 10; @@ -10808,7 +10817,7 @@ public final class Wcf { } /** *
-       * 缩略图
+       * 视频或图片消息的缩略图路径
        * 
* * string thumb = 10; @@ -10822,7 +10831,7 @@ public final class Wcf { } /** *
-       * 缩略图
+       * 视频或图片消息的缩略图路径
        * 
* * string thumb = 10; @@ -10842,7 +10851,7 @@ public final class Wcf { private java.lang.Object extra_ = ""; /** *
-       * 附加内容
+       * 附加内容,视频或图片消息的路径
        * 
* * string extra = 11; @@ -10862,7 +10871,7 @@ public final class Wcf { } /** *
-       * 附加内容
+       * 附加内容,视频或图片消息的路径
        * 
* * string extra = 11; @@ -10883,7 +10892,7 @@ public final class Wcf { } /** *
-       * 附加内容
+       * 附加内容,视频或图片消息的路径
        * 
* * string extra = 11; @@ -10900,7 +10909,7 @@ public final class Wcf { } /** *
-       * 附加内容
+       * 附加内容,视频或图片消息的路径
        * 
* * string extra = 11; @@ -10914,7 +10923,7 @@ public final class Wcf { } /** *
-       * 附加内容
+       * 附加内容,视频或图片消息的路径
        * 
* * string extra = 11; @@ -10934,7 +10943,7 @@ public final class Wcf { private java.lang.Object xml_ = ""; /** *
-       * 消息 xml
+       * 消息 xml 部分
        * 
* * string xml = 12; @@ -10954,7 +10963,7 @@ public final class Wcf { } /** *
-       * 消息 xml
+       * 消息 xml 部分
        * 
* * string xml = 12; @@ -10975,7 +10984,7 @@ public final class Wcf { } /** *
-       * 消息 xml
+       * 消息 xml 部分
        * 
* * string xml = 12; @@ -10992,7 +11001,7 @@ public final class Wcf { } /** *
-       * 消息 xml
+       * 消息 xml 部分
        * 
* * string xml = 12; @@ -11006,7 +11015,7 @@ public final class Wcf { } /** *
-       * 消息 xml
+       * 消息 xml 部分
        * 
* * string xml = 12; @@ -23636,6 +23645,26 @@ java.lang.String defaultValue) { */ com.google.protobuf.ByteString getHomeBytes(); + + /** + *
+     * 修改后的wxid
+     * 
+ * + * string alias = 5; + * @return The alias. + */ + java.lang.String getAlias(); + /** + *
+     * 修改后的wxid
+     * 
+ * + * string alias = 5; + * @return The bytes for alias. + */ + com.google.protobuf.ByteString + getAliasBytes(); } /** * Protobuf type {@code wcf.UserInfo} @@ -23654,6 +23683,7 @@ java.lang.String defaultValue) { name_ = ""; mobile_ = ""; home_ = ""; + alias_ = ""; } @java.lang.Override @@ -23864,6 +23894,53 @@ java.lang.String defaultValue) { } } + public static final int ALIAS_FIELD_NUMBER = 5; + @SuppressWarnings("serial") + private volatile java.lang.Object alias_ = ""; + /** + *
+     * 修改后的wxid
+     * 
+ * + * string alias = 5; + * @return The alias. + */ + @java.lang.Override + public java.lang.String getAlias() { + java.lang.Object ref = alias_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + alias_ = s; + return s; + } + } + /** + *
+     * 修改后的wxid
+     * 
+ * + * string alias = 5; + * @return The bytes for alias. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getAliasBytes() { + java.lang.Object ref = alias_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + alias_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -23890,6 +23967,9 @@ java.lang.String defaultValue) { if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(home_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 4, home_); } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(alias_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 5, alias_); + } getUnknownFields().writeTo(output); } @@ -23911,6 +23991,9 @@ java.lang.String defaultValue) { if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(home_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, home_); } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(alias_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, alias_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -23934,6 +24017,8 @@ java.lang.String defaultValue) { .equals(other.getMobile())) return false; if (!getHome() .equals(other.getHome())) return false; + if (!getAlias() + .equals(other.getAlias())) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -23953,6 +24038,8 @@ java.lang.String defaultValue) { hash = (53 * hash) + getMobile().hashCode(); hash = (37 * hash) + HOME_FIELD_NUMBER; hash = (53 * hash) + getHome().hashCode(); + hash = (37 * hash) + ALIAS_FIELD_NUMBER; + hash = (53 * hash) + getAlias().hashCode(); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -24086,6 +24173,7 @@ java.lang.String defaultValue) { name_ = ""; mobile_ = ""; home_ = ""; + alias_ = ""; return this; } @@ -24131,6 +24219,9 @@ java.lang.String defaultValue) { if (((from_bitField0_ & 0x00000008) != 0)) { result.home_ = home_; } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.alias_ = alias_; + } } @java.lang.Override @@ -24165,6 +24256,11 @@ java.lang.String defaultValue) { bitField0_ |= 0x00000008; onChanged(); } + if (!other.getAlias().isEmpty()) { + alias_ = other.alias_; + bitField0_ |= 0x00000010; + onChanged(); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -24211,6 +24307,11 @@ java.lang.String defaultValue) { bitField0_ |= 0x00000008; break; } // case 34 + case 42: { + alias_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 42 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag @@ -24595,6 +24696,98 @@ java.lang.String defaultValue) { onChanged(); return this; } + + private java.lang.Object alias_ = ""; + /** + *
+       * 修改后的wxid
+       * 
+ * + * string alias = 5; + * @return The alias. + */ + public java.lang.String getAlias() { + java.lang.Object ref = alias_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + alias_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * 修改后的wxid
+       * 
+ * + * string alias = 5; + * @return The bytes for alias. + */ + public com.google.protobuf.ByteString + getAliasBytes() { + java.lang.Object ref = alias_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + alias_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * 修改后的wxid
+       * 
+ * + * string alias = 5; + * @param value The alias to set. + * @return This builder for chaining. + */ + public Builder setAlias( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + alias_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + *
+       * 修改后的wxid
+       * 
+ * + * string alias = 5; + * @return This builder for chaining. + */ + public Builder clearAlias() { + alias_ = getDefaultInstance().getAlias(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + /** + *
+       * 修改后的wxid
+       * 
+ * + * string alias = 5; + * @param value The bytes for alias to set. + * @return This builder for chaining. + */ + public Builder setAliasBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + alias_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -34213,48 +34406,48 @@ java.lang.String defaultValue) { "d\"\"\n\006DbRows\022\030\n\004rows\030\001 \003(\0132\n.wcf.DbRow\"5\n" + "\014Verification\022\n\n\002v3\030\001 \001(\t\022\n\n\002v4\030\002 \001(\t\022\r\n" + "\005scene\030\003 \001(\005\"+\n\nMemberMgmt\022\016\n\006roomid\030\001 \001" + - "(\t\022\r\n\005wxids\030\002 \001(\t\"D\n\010UserInfo\022\014\n\004wxid\030\001 " + + "(\t\022\r\n\005wxids\030\002 \001(\t\"S\n\010UserInfo\022\014\n\004wxid\030\001 " + "\001(\t\022\014\n\004name\030\002 \001(\t\022\016\n\006mobile\030\003 \001(\t\022\014\n\004hom" + - "e\030\004 \001(\t\"#\n\007DecPath\022\013\n\003src\030\001 \001(\t\022\013\n\003dst\030\002" + - " \001(\t\"4\n\010Transfer\022\014\n\004wxid\030\001 \001(\t\022\014\n\004tfid\030\002" + - " \001(\t\022\014\n\004taid\030\003 \001(\t\"9\n\tAttachMsg\022\016\n\002id\030\001 " + - "\001(\004B\0020\001\022\r\n\005thumb\030\002 \001(\t\022\r\n\005extra\030\003 \001(\t\"\'\n" + - "\010AudioMsg\022\016\n\002id\030\001 \001(\004B\0020\001\022\013\n\003dir\030\002 \001(\t\"y" + - "\n\010RichText\022\014\n\004name\030\001 \001(\t\022\017\n\007account\030\002 \001(" + - "\t\022\r\n\005title\030\003 \001(\t\022\016\n\006digest\030\004 \001(\t\022\013\n\003url\030" + - "\005 \001(\t\022\020\n\010thumburl\030\006 \001(\t\022\020\n\010receiver\030\007 \001(" + - "\t\"&\n\006PatMsg\022\016\n\006roomid\030\001 \001(\t\022\014\n\004wxid\030\002 \001(" + - "\t\"(\n\006OcrMsg\022\016\n\006status\030\001 \001(\005\022\016\n\006result\030\002 " + - "\001(\t\".\n\nForwardMsg\022\016\n\002id\030\001 \001(\004B\0020\001\022\020\n\010rec" + - "eiver\030\002 \001(\t\"\267\002\n\010RoomData\022)\n\007members\030\001 \003(" + - "\0132\030.wcf.RoomData.RoomMember\022\024\n\007field_2\030\002" + - " \001(\005H\000\210\001\001\022\017\n\007field_3\030\003 \001(\005\022\024\n\007field_4\030\004 " + - "\001(\005H\001\210\001\001\022\020\n\010capacity\030\005 \001(\005\022\024\n\007field_6\030\006 " + - "\001(\tH\002\210\001\001\022\017\n\007field_7\030\007 \001(\005\022\017\n\007field_8\030\010 \001" + - "(\005\022\016\n\006admins\030\t \003(\t\032E\n\nRoomMember\022\014\n\004wxid" + - "\030\001 \001(\t\022\021\n\004name\030\002 \001(\tH\000\210\001\001\022\r\n\005state\030\003 \001(\005" + - "B\007\n\005_nameB\n\n\010_field_2B\n\n\010_field_4B\n\n\010_fi" + - "eld_6*\362\005\n\tFunctions\022\021\n\rFUNC_RESERVED\020\000\022\021" + - "\n\rFUNC_IS_LOGIN\020\001\022\026\n\022FUNC_GET_SELF_WXID\020" + - "\020\022\026\n\022FUNC_GET_MSG_TYPES\020\021\022\025\n\021FUNC_GET_CO" + - "NTACTS\020\022\022\025\n\021FUNC_GET_DB_NAMES\020\023\022\026\n\022FUNC_" + - "GET_DB_TABLES\020\024\022\026\n\022FUNC_GET_USER_INFO\020\025\022" + - "\026\n\022FUNC_GET_AUDIO_MSG\020\026\022\021\n\rFUNC_SEND_TXT" + - "\020 \022\021\n\rFUNC_SEND_IMG\020!\022\022\n\016FUNC_SEND_FILE\020" + - "\"\022\021\n\rFUNC_SEND_XML\020#\022\025\n\021FUNC_SEND_EMOTIO" + - "N\020$\022\026\n\022FUNC_SEND_RICH_TXT\020%\022\025\n\021FUNC_SEND" + - "_PAT_MSG\020&\022\024\n\020FUNC_FORWARD_MSG\020\'\022\030\n\024FUNC" + - "_ENABLE_RECV_TXT\0200\022\031\n\025FUNC_DISABLE_RECV_" + - "TXT\020@\022\026\n\022FUNC_EXEC_DB_QUERY\020P\022\026\n\022FUNC_AC" + - "CEPT_FRIEND\020Q\022\026\n\022FUNC_RECV_TRANSFER\020R\022\024\n" + - "\020FUNC_REFRESH_PYQ\020S\022\030\n\024FUNC_DOWNLOAD_ATT" + - "ACH\020T\022\031\n\025FUNC_GET_CONTACT_INFO\020U\022\023\n\017FUNC" + - "_REVOKE_MSG\020V\022\027\n\023FUNC_REFRESH_QRCODE\020W\022\026" + - "\n\022FUNC_DECRYPT_IMAGE\020`\022\021\n\rFUNC_EXEC_OCR\020" + - "a\022\031\n\025FUNC_ADD_ROOM_MEMBERS\020p\022\031\n\025FUNC_DEL" + - "_ROOM_MEMBERS\020q\022\031\n\025FUNC_INV_ROOM_MEMBERS" + - "\020rB\037\n\035com.wechat.ferry.entity.protob\006pro" + - "to3" + "e\030\004 \001(\t\022\r\n\005alias\030\005 \001(\t\"#\n\007DecPath\022\013\n\003src" + + "\030\001 \001(\t\022\013\n\003dst\030\002 \001(\t\"4\n\010Transfer\022\014\n\004wxid\030" + + "\001 \001(\t\022\014\n\004tfid\030\002 \001(\t\022\014\n\004taid\030\003 \001(\t\"9\n\tAtt" + + "achMsg\022\016\n\002id\030\001 \001(\004B\0020\001\022\r\n\005thumb\030\002 \001(\t\022\r\n" + + "\005extra\030\003 \001(\t\"\'\n\010AudioMsg\022\016\n\002id\030\001 \001(\004B\0020\001" + + "\022\013\n\003dir\030\002 \001(\t\"y\n\010RichText\022\014\n\004name\030\001 \001(\t\022" + + "\017\n\007account\030\002 \001(\t\022\r\n\005title\030\003 \001(\t\022\016\n\006diges" + + "t\030\004 \001(\t\022\013\n\003url\030\005 \001(\t\022\020\n\010thumburl\030\006 \001(\t\022\020" + + "\n\010receiver\030\007 \001(\t\"&\n\006PatMsg\022\016\n\006roomid\030\001 \001" + + "(\t\022\014\n\004wxid\030\002 \001(\t\"(\n\006OcrMsg\022\016\n\006status\030\001 \001" + + "(\005\022\016\n\006result\030\002 \001(\t\".\n\nForwardMsg\022\016\n\002id\030\001" + + " \001(\004B\0020\001\022\020\n\010receiver\030\002 \001(\t\"\267\002\n\010RoomData\022" + + ")\n\007members\030\001 \003(\0132\030.wcf.RoomData.RoomMemb" + + "er\022\024\n\007field_2\030\002 \001(\005H\000\210\001\001\022\017\n\007field_3\030\003 \001(" + + "\005\022\024\n\007field_4\030\004 \001(\005H\001\210\001\001\022\020\n\010capacity\030\005 \001(" + + "\005\022\024\n\007field_6\030\006 \001(\tH\002\210\001\001\022\017\n\007field_7\030\007 \001(\005" + + "\022\017\n\007field_8\030\010 \001(\005\022\016\n\006admins\030\t \003(\t\032E\n\nRoo" + + "mMember\022\014\n\004wxid\030\001 \001(\t\022\021\n\004name\030\002 \001(\tH\000\210\001\001" + + "\022\r\n\005state\030\003 \001(\005B\007\n\005_nameB\n\n\010_field_2B\n\n\010" + + "_field_4B\n\n\010_field_6*\206\006\n\tFunctions\022\021\n\rFU" + + "NC_RESERVED\020\000\022\021\n\rFUNC_IS_LOGIN\020\001\022\026\n\022FUNC" + + "_GET_SELF_WXID\020\020\022\026\n\022FUNC_GET_MSG_TYPES\020\021" + + "\022\025\n\021FUNC_GET_CONTACTS\020\022\022\025\n\021FUNC_GET_DB_N" + + "AMES\020\023\022\026\n\022FUNC_GET_DB_TABLES\020\024\022\026\n\022FUNC_G" + + "ET_USER_INFO\020\025\022\026\n\022FUNC_GET_AUDIO_MSG\020\026\022\021" + + "\n\rFUNC_SEND_TXT\020 \022\021\n\rFUNC_SEND_IMG\020!\022\022\n\016" + + "FUNC_SEND_FILE\020\"\022\021\n\rFUNC_SEND_XML\020#\022\025\n\021F" + + "UNC_SEND_EMOTION\020$\022\026\n\022FUNC_SEND_RICH_TXT" + + "\020%\022\025\n\021FUNC_SEND_PAT_MSG\020&\022\024\n\020FUNC_FORWAR" + + "D_MSG\020\'\022\030\n\024FUNC_ENABLE_RECV_TXT\0200\022\031\n\025FUN" + + "C_DISABLE_RECV_TXT\020@\022\026\n\022FUNC_EXEC_DB_QUE" + + "RY\020P\022\026\n\022FUNC_ACCEPT_FRIEND\020Q\022\026\n\022FUNC_REC" + + "V_TRANSFER\020R\022\024\n\020FUNC_REFRESH_PYQ\020S\022\030\n\024FU" + + "NC_DOWNLOAD_ATTACH\020T\022\031\n\025FUNC_GET_CONTACT" + + "_INFO\020U\022\023\n\017FUNC_REVOKE_MSG\020V\022\027\n\023FUNC_REF" + + "RESH_QRCODE\020W\022\026\n\022FUNC_DECRYPT_IMAGE\020`\022\021\n" + + "\rFUNC_EXEC_OCR\020a\022\031\n\025FUNC_ADD_ROOM_MEMBER" + + "S\020p\022\031\n\025FUNC_DEL_ROOM_MEMBERS\020q\022\031\n\025FUNC_I" + + "NV_ROOM_MEMBERS\020r\022\022\n\rFUNC_SHUTDOWN\020\377\001B\037\n" + + "\035com.wechat.ferry.entity.protob\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -34385,7 +34578,7 @@ java.lang.String defaultValue) { internal_static_wcf_UserInfo_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_wcf_UserInfo_descriptor, - new java.lang.String[] { "Wxid", "Name", "Mobile", "Home", }); + new java.lang.String[] { "Wxid", "Name", "Mobile", "Home", "Alias", }); internal_static_wcf_DecPath_descriptor = getDescriptor().getMessageTypes().get(20); internal_static_wcf_DecPath_fieldAccessorTable = new diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/.gitkeep b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/.gitkeep similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/.gitkeep rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/.gitkeep diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfAddFriendGroupMemberReq.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfAddFriendGroupMemberReq.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfAddFriendGroupMemberReq.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfAddFriendGroupMemberReq.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfDatabaseSqlReq.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfDatabaseSqlReq.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfDatabaseSqlReq.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfDatabaseSqlReq.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfDatabaseTableReq.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfDatabaseTableReq.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfDatabaseTableReq.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfDatabaseTableReq.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfDeleteGroupMemberReq.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfDeleteGroupMemberReq.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfDeleteGroupMemberReq.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfDeleteGroupMemberReq.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfGroupMemberReq.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfGroupMemberReq.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfGroupMemberReq.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfGroupMemberReq.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfInviteGroupMemberReq.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfInviteGroupMemberReq.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfInviteGroupMemberReq.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfInviteGroupMemberReq.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfPassFriendApplyReq.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfPassFriendApplyReq.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfPassFriendApplyReq.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfPassFriendApplyReq.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfPatOnePatMsgReq.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfPatOnePatMsgReq.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfPatOnePatMsgReq.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfPatOnePatMsgReq.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfReceiveTransferReq.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfReceiveTransferReq.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfReceiveTransferReq.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfReceiveTransferReq.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfRevokeMsgReq.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfRevokeMsgReq.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfRevokeMsgReq.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfRevokeMsgReq.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendEmojiMsgReq.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendEmojiMsgReq.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendEmojiMsgReq.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendEmojiMsgReq.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendFileMsgReq.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendFileMsgReq.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendFileMsgReq.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendFileMsgReq.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendImageMsgReq.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendImageMsgReq.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendImageMsgReq.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendImageMsgReq.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendRichTextMsgReq.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendRichTextMsgReq.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendRichTextMsgReq.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendRichTextMsgReq.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendTextMsgReq.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendTextMsgReq.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendTextMsgReq.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendTextMsgReq.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendXmlMsgReq.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendXmlMsgReq.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendXmlMsgReq.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/request/WxPpWcfSendXmlMsgReq.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/.gitkeep b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/.gitkeep similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/.gitkeep rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/.gitkeep diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfContactsResp.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfContactsResp.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfContactsResp.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfContactsResp.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfDatabaseFieldResp.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfDatabaseFieldResp.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfDatabaseFieldResp.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfDatabaseFieldResp.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfDatabaseRowResp.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfDatabaseRowResp.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfDatabaseRowResp.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfDatabaseRowResp.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfDatabaseTableResp.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfDatabaseTableResp.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfDatabaseTableResp.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfDatabaseTableResp.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfGroupMemberResp.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfGroupMemberResp.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfGroupMemberResp.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfGroupMemberResp.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfLoginInfoResp.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfLoginInfoResp.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfLoginInfoResp.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfLoginInfoResp.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfMsgTypeResp.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfMsgTypeResp.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfMsgTypeResp.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfMsgTypeResp.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendEmojiMsgResp.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendEmojiMsgResp.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendEmojiMsgResp.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendEmojiMsgResp.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendFileMsgResp.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendFileMsgResp.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendFileMsgResp.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendFileMsgResp.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendImageMsgResp.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendImageMsgResp.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendImageMsgResp.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendImageMsgResp.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendPatOnePatMsgResp.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendPatOnePatMsgResp.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendPatOnePatMsgResp.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendPatOnePatMsgResp.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendRichTextMsgResp.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendRichTextMsgResp.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendRichTextMsgResp.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendRichTextMsgResp.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendTextMsgResp.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendTextMsgResp.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendTextMsgResp.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendTextMsgResp.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendXmlMsgResp.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendXmlMsgResp.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendXmlMsgResp.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/entity/vo/response/WxPpWcfSendXmlMsgResp.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/DatabaseNameEnum.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/DatabaseNameEnum.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/DatabaseNameEnum.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/DatabaseNameEnum.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/MsgCallbackTypeEnum.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/MsgCallbackTypeEnum.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/MsgCallbackTypeEnum.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/MsgCallbackTypeEnum.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/MsgEventTypeEnum.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/MsgEventTypeEnum.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/MsgEventTypeEnum.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/MsgEventTypeEnum.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/ReceiveMsgChannelEnum.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/ReceiveMsgChannelEnum.java similarity index 98% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/ReceiveMsgChannelEnum.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/ReceiveMsgChannelEnum.java index f279c85..1d4850c 100644 --- a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/ReceiveMsgChannelEnum.java +++ b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/ReceiveMsgChannelEnum.java @@ -9,7 +9,7 @@ import lombok.Getter; /** * 枚举-接收消息处理渠道 - * + * * @author chandler * @date 2024/12/25 14:15 */ @@ -27,7 +27,7 @@ public enum ReceiveMsgChannelEnum { */ UN_MATCH("", null), - // 结束 + // END ; private final String code; diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/ResponseCodeEnum.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/ResponseCodeEnum.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/ResponseCodeEnum.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/ResponseCodeEnum.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/SexEnum.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/SexEnum.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/SexEnum.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/SexEnum.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/TableNameEnum.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/TableNameEnum.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/TableNameEnum.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/TableNameEnum.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/WcfMsgTypeEnum.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/WcfMsgTypeEnum.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/WcfMsgTypeEnum.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/WcfMsgTypeEnum.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/WhetherEnum.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/WhetherEnum.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/WhetherEnum.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/WhetherEnum.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/WxContactsMixedEnum.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/WxContactsMixedEnum.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/WxContactsMixedEnum.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/WxContactsMixedEnum.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/WxContactsOfficialEnum.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/WxContactsOfficialEnum.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/WxContactsOfficialEnum.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/WxContactsOfficialEnum.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/WxContactsTypeEnum.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/WxContactsTypeEnum.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/WxContactsTypeEnum.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/WxContactsTypeEnum.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/WxPpMsgTypeEnum.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/WxPpMsgTypeEnum.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/enums/WxPpMsgTypeEnum.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/enums/WxPpMsgTypeEnum.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/exception/BizException.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/exception/BizException.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/exception/BizException.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/exception/BizException.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/exception/GlobalExceptionHandler.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/exception/GlobalExceptionHandler.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/exception/GlobalExceptionHandler.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/exception/GlobalExceptionHandler.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/handle/WeChatSocketClient.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/handle/WeChatSocketClient.java similarity index 98% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/handle/WeChatSocketClient.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/handle/WeChatSocketClient.java index cb3e19d..40fbf10 100644 --- a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/handle/WeChatSocketClient.java +++ b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/handle/WeChatSocketClient.java @@ -75,12 +75,17 @@ public class WeChatSocketClient { private BlockingQueue msgQ; private final String host; + private final Integer port; public WeChatSocketClient(Integer port, String dllPath) { this(DEFAULT_HOST, port, false, dllPath); } + public WeChatSocketClient(Integer port, boolean debug, String dllPath) { + this(DEFAULT_HOST, port, debug, dllPath); + } + public WeChatSocketClient(String host, Integer port, boolean debug, String dllPath) { this.host = host; this.port = port; @@ -120,7 +125,7 @@ public class WeChatSocketClient { public Response sendCmd(Request req) { try { - // 设置超时时间 20s + // 设置发送 20 秒超时 cmdSocket.setSendTimeout(20000); ByteBuffer bb = ByteBuffer.wrap(req.toByteArray()); cmdSocket.send(bb); @@ -138,6 +143,33 @@ public class WeChatSocketClient { } } + private void listenMsg(String url) { + try { + msgSocket = new Pair1Socket(); + msgSocket.dial(url); + // 设置接收 5 秒超时 + msgSocket.setReceiveTimeout(5000); + } catch (Exception e) { + log.error("创建消息 RPC 失败", e); + return; + } + ByteBuffer bb = ByteBuffer.allocate(BUFFER_SIZE); + while (isReceivingMsg) { + try { + long size = msgSocket.receive(bb, true); + WxMsg wxMsg = Response.parseFrom(Arrays.copyOfRange(bb.array(), 0, (int)size)).getWxmsg(); + msgQ.put(wxMsg); + } catch (Exception e) { + // 多半是超时,忽略吧 + } + } + try { + msgSocket.close(); + } catch (Exception e) { + log.error("关闭连接失败", e); + } + } + /** * 当前微信客户端是否登录微信号 * @@ -217,33 +249,6 @@ public class WeChatSocketClient { return false; } - private void listenMsg(String url) { - try { - msgSocket = new Pair1Socket(); - msgSocket.dial(url); - // 设置 2 秒超时 - msgSocket.setReceiveTimeout(2000); - } catch (Exception e) { - log.error("创建消息 RPC 失败", e); - return; - } - ByteBuffer bb = ByteBuffer.allocate(BUFFER_SIZE); - while (isReceivingMsg) { - try { - long size = msgSocket.receive(bb, true); - WxMsg wxMsg = Response.parseFrom(Arrays.copyOfRange(bb.array(), 0, (int)size)).getWxmsg(); - msgQ.put(wxMsg); - } catch (Exception e) { - // 多半是超时,忽略吧 - } - } - try { - msgSocket.close(); - } catch (Exception e) { - log.error("关闭连接失败", e); - } - } - public void enableRecvMsg(int qSize) { if (isReceivingMsg) { return; diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/service/SDK.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/service/SDK.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/service/SDK.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/service/SDK.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/service/WeChatDllService.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/service/WeChatDllService.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/service/WeChatDllService.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/service/WeChatDllService.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/service/WeChatMsgService.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/service/WeChatMsgService.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/service/WeChatMsgService.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/service/WeChatMsgService.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/service/impl/.gitkeep b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/service/impl/.gitkeep similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/service/impl/.gitkeep rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/service/impl/.gitkeep diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/service/impl/WeChatDllServiceImpl.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/service/impl/WeChatDllServiceImpl.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/service/impl/WeChatDllServiceImpl.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/service/impl/WeChatDllServiceImpl.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/service/impl/WeChatMsgServiceImpl.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/service/impl/WeChatMsgServiceImpl.java similarity index 54% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/service/impl/WeChatMsgServiceImpl.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/service/impl/WeChatMsgServiceImpl.java index c268777..7ea128a 100644 --- a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/service/impl/WeChatMsgServiceImpl.java +++ b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/service/impl/WeChatMsgServiceImpl.java @@ -1,6 +1,11 @@ package com.wechat.ferry.service.impl; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.LinkedHashMap; +import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import javax.annotation.Resource; @@ -39,21 +44,59 @@ public class WeChatMsgServiceImpl implements WeChatMsgService { // 转为JSON对象 WxPpMsgDTO dto = JSON.parseObject(jsonString, WxPpMsgDTO.class); // 有开启的群聊配置 - if (!CollectionUtils.isEmpty(weChatFerryProperties.getOpenMsgGroups())) { - // 指定处理的群聊 - if (weChatFerryProperties.getOpenMsgGroups().contains(dto.getRoomId()) || weChatFerryProperties.getOpenMsgGroups().contains("ALL")) { - // TODO 模式有多种 1-根据消息类型单独调用某一个 2-全部调用,各业务类中自己决定是否继续 - if (true) { - // 因为一种消息允许进行多种处理,这里采用执行所有策略,请自行在各策略中判断是否需要执行 - for (ReceiveMsgStrategy value : ReceiveMsgFactory.getAllStrategyContainers().values()) { - value.doHandle(dto); + if (weChatFerryProperties.getOpenMsgGroupSwitch() && !weChatFerryProperties.getOpenMsgGroups().isEmpty()) { + Map> openMsgGroupMap = new LinkedHashMap<>(); + String allFnNoStr = ""; + List allFnNoList = new ArrayList<>(); + if (weChatFerryProperties.getOpenMsgGroups().containsKey("ALL")) { + allFnNoStr = weChatFerryProperties.getOpenMsgGroups().get("ALL"); + // 分割字符串并去除空格及空元素 + allFnNoList = Arrays.stream(allFnNoStr.split(",")) + // 去掉前后空格 + .map(String::trim) + // 过滤掉空字符串 + .filter(s -> !s.isEmpty()) + // 去重 + .distinct().collect(Collectors.toList()); + openMsgGroupMap.put("ALL", allFnNoList); + } + + // 遍历 + for (String key : weChatFerryProperties.getOpenMsgGroups().keySet()) { + List valList = new ArrayList<>(); + if (!"ALL".equals(key)) { + String str = weChatFerryProperties.getOpenMsgGroups().get(key); + String[] arr = str.split(","); + for (String s : arr) { + // 去重,且ALL中不包含 + if (!valList.contains(s) && !allFnNoList.contains(s)) { + valList.add(s); + } + } + openMsgGroupMap.put(key, valList); + } + } + + // 指定处理的群聊 + if (!openMsgGroupMap.isEmpty()) { + log.debug("[收到消息后处理]-[汇总后的所有功能]-openMsgGroupMap:{}", openMsgGroupMap); + List fnNoList = new ArrayList<>(); + // 先执行所有群都需要执行的 + if (openMsgGroupMap.containsKey("ALL")) { + fnNoList = openMsgGroupMap.get("ALL"); + } + // 加入个性化的 + if (openMsgGroupMap.containsKey(dto.getRoomId())) { + fnNoList.addAll(openMsgGroupMap.get(dto.getRoomId())); + } + // 需要执行的策略 + if (!CollectionUtils.isEmpty(fnNoList)) { + log.debug("[收到消息后处理]-[汇总后的单群功能]-fnNoList:{},群号:{}", fnNoList, dto.getRoomId()); + for (String no : fnNoList) { + // 根据功能号获取对应的策略 + ReceiveMsgStrategy receiveMsgStrategy = ReceiveMsgFactory.getStrategy(no); + receiveMsgStrategy.doHandle(dto); } - } else { - // 单独调用某一种 - // 这里自己把消息类型转为自己的枚举类型 - String handleType = "1"; - ReceiveMsgStrategy receiveMsgStrategy = ReceiveMsgFactory.getStrategy(handleType); - receiveMsgStrategy.doHandle(dto); } } } diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/strategy/.gitkeep b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/strategy/.gitkeep similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/strategy/.gitkeep rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/strategy/.gitkeep diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/strategy/msg/receive/ReceiveMsgFactory.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/strategy/msg/receive/ReceiveMsgFactory.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/strategy/msg/receive/ReceiveMsgFactory.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/strategy/msg/receive/ReceiveMsgFactory.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/strategy/msg/receive/ReceiveMsgStrategy.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/strategy/msg/receive/ReceiveMsgStrategy.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/strategy/msg/receive/ReceiveMsgStrategy.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/strategy/msg/receive/ReceiveMsgStrategy.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/strategy/msg/receive/impl/SignInMsgStrategyImpl.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/strategy/msg/receive/impl/SignInMsgStrategyImpl.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/strategy/msg/receive/impl/SignInMsgStrategyImpl.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/strategy/msg/receive/impl/SignInMsgStrategyImpl.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/task/.gitkeep b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/task/.gitkeep similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/task/.gitkeep rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/task/.gitkeep diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/task/ContactGroupMonitorTask.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/task/ContactGroupMonitorTask.java similarity index 98% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/task/ContactGroupMonitorTask.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/task/ContactGroupMonitorTask.java index 897d107..6432306 100644 --- a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/task/ContactGroupMonitorTask.java +++ b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/task/ContactGroupMonitorTask.java @@ -63,6 +63,10 @@ public class ContactGroupMonitorTask { */ private Boolean initStatus = false; + /** + * 定时任务-联系人群组监控 + * TODO-存在BUG 仅当做案例进行展示 + */ @Scheduled(cron = "0 0 0 * * ?") public void scheduled() { if (true) { diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/utils/HttpClientUtil.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/utils/HttpClientUtil.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/utils/HttpClientUtil.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/utils/HttpClientUtil.java diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/utils/XmlJsonConvertUtil.java b/clients/java/wcf-bmc/src/main/java/com/wechat/ferry/utils/XmlJsonConvertUtil.java similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/utils/XmlJsonConvertUtil.java rename to clients/java/wcf-bmc/src/main/java/com/wechat/ferry/utils/XmlJsonConvertUtil.java diff --git a/clients/java/wechat-ferry-mvn/src/main/resources/application.yml b/clients/java/wcf-bmc/src/main/resources/application.yml similarity index 76% rename from clients/java/wechat-ferry-mvn/src/main/resources/application.yml rename to clients/java/wcf-bmc/src/main/resources/application.yml index 8f78100..7bfd3ec 100644 --- a/clients/java/wechat-ferry-mvn/src/main/resources/application.yml +++ b/clients/java/wcf-bmc/src/main/resources/application.yml @@ -9,7 +9,7 @@ spring: # 配置应用信息 application: # 应用名 - name: wechat-ferry + name: wcf-bmc # swagger适配 mvc: pathmatch: @@ -23,18 +23,25 @@ logging: wechat: ferry: # DLL文件位置 - dll-path: E:\WeChatFerry\clients\java\wechat-ferry-mvn\dll\sdk.dll + dll-path: E:\WeChatFerry\clients\java\wcf-bmc\dll\sdk.dll # socket端口 socket-port: 10086 + # SDK是否调试模式 + sdk-debug-switch: false # 联系人类型-官方杂号,禁止与其他分类重复(格式:代码|名称) contacts-type-mixed: - filehelper|文件传输助手 # 联系人类型-公众号,禁止与其他分类重复(格式:代码|名称) contacts-type-official: - weixinguanhaozhushou|微信公众平台 + # 接收消息回调开关 + open-msg-group-switch: false # 需要开启消息处理的群 open-msg-groups: - - 53257911728@chatroom + # key:"[群编号]" val:开启的功能号,对应ReceiveMsgChannelEnum枚举中的code + "[ALL]": '' + "[53257911730@chatroom]": '1,2,3' + "[50501762866@chatroom]": '1,3' # 接收消息回调开关 receive-msg-callback-switch: false # 接收消息回调地址 diff --git a/clients/java/wechat-ferry-mvn/src/main/resources/libs/nng-java-1.4.0-SNAPSHOT.jar b/clients/java/wcf-bmc/src/main/resources/libs/nng-java-1.4.0-SNAPSHOT.jar similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/resources/libs/nng-java-1.4.0-SNAPSHOT.jar rename to clients/java/wcf-bmc/src/main/resources/libs/nng-java-1.4.0-SNAPSHOT.jar diff --git a/clients/java/wcf-bmc/src/main/resources/logback-spring.xml b/clients/java/wcf-bmc/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..3cae4df --- /dev/null +++ b/clients/java/wcf-bmc/src/main/resources/logback-spring.xml @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + + + + + + ${log.path}/debug.log + + ${log.path}/%d{yyyy-MM, aux}/debug.%d{yyyy-MM-dd}.%i.log.gz + 50MB + 30 + + + true + + + %date [%thread] %-5level [%logger{50}] %file:%line - %msg%n + utf-8 + + + + + + ${log.path}/error.log + + ${log.path}/%d{yyyy-MM}/error.%d{yyyy-MM-dd}.%i.log.gz + 50MB + 30 + + + true + + + %date [%thread] %-5level [%logger{50}] %file:%line - %msg%n + utf-8 + + + + ERROR + + + + + + ${log.path}/${log.name}.log + + ${log.path}/${log.name}.%d{yyyy-MM-dd}.%i.log + 200MB + 30 + + + true + + + %date [%thread] %-5level [%logger{50}] %file:%line - %msg%n + utf-8 + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/clients/java/wechat-ferry-mvn/src/main/resources/proto/.gitkeep b/clients/java/wcf-bmc/src/main/resources/proto/.gitkeep similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/resources/proto/.gitkeep rename to clients/java/wcf-bmc/src/main/resources/proto/.gitkeep diff --git a/clients/java/wechat-ferry-mvn/src/main/resources/proto/wcf.proto b/clients/java/wcf-bmc/src/main/resources/proto/wcf.proto similarity index 95% rename from clients/java/wechat-ferry-mvn/src/main/resources/proto/wcf.proto rename to clients/java/wcf-bmc/src/main/resources/proto/wcf.proto index ae33fc2..7d5bef7 100644 --- a/clients/java/wechat-ferry-mvn/src/main/resources/proto/wcf.proto +++ b/clients/java/wcf-bmc/src/main/resources/proto/wcf.proto @@ -36,6 +36,7 @@ enum Functions { FUNC_ADD_ROOM_MEMBERS = 0x70; FUNC_DEL_ROOM_MEMBERS = 0x71; FUNC_INV_ROOM_MEMBERS = 0x72; + FUNC_SHUTDOWN = 0xFF; } message Request @@ -94,9 +95,9 @@ message WxMsg string content = 7; // 消息内容 string sender = 8; // 消息发送者 string sign = 9; // Sign - string thumb = 10; // 缩略图 - string extra = 11; // 附加内容 - string xml = 12; // 消息 xml + string thumb = 10; // 视频或图片消息的缩略图路径 + string extra = 11; // 附加内容,视频或图片消息的路径 + string xml = 12; // 消息 xml 部分 } message TextMsg @@ -178,6 +179,7 @@ message UserInfo string name = 2; // 昵称 string mobile = 3; // 手机号 string home = 4; // 文件/图片等父路径 + string alias = 5; // 修改后的wxid } message DecPath @@ -254,4 +256,4 @@ message RoomData int32 field_7 = 7; int32 field_8 = 8; repeated string admins = 9; // 管理员 -} \ No newline at end of file +} diff --git a/clients/java/wechat-ferry-mvn/src/main/resources/win32-x86-64/.gitkeep b/clients/java/wcf-bmc/src/main/resources/win32-x86-64/.gitkeep similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/resources/win32-x86-64/.gitkeep rename to clients/java/wcf-bmc/src/main/resources/win32-x86-64/.gitkeep diff --git a/clients/java/wechat-ferry-mvn/src/main/resources/win32-x86-64/nng.dll b/clients/java/wcf-bmc/src/main/resources/win32-x86-64/nng.dll similarity index 100% rename from clients/java/wechat-ferry-mvn/src/main/resources/win32-x86-64/nng.dll rename to clients/java/wcf-bmc/src/main/resources/win32-x86-64/nng.dll diff --git a/clients/java/wechat-ferry-mvn/dll/sdk.dll b/clients/java/wechat-ferry-mvn/dll/sdk.dll deleted file mode 100644 index ef8c6a4..0000000 Binary files a/clients/java/wechat-ferry-mvn/dll/sdk.dll and /dev/null differ diff --git a/clients/java/wechat-ferry-mvn/dll/spy.dll b/clients/java/wechat-ferry-mvn/dll/spy.dll deleted file mode 100644 index b0f9f68..0000000 Binary files a/clients/java/wechat-ferry-mvn/dll/spy.dll and /dev/null differ diff --git a/clients/java/wechat-ferry-mvn/dll/spy_debug.dll b/clients/java/wechat-ferry-mvn/dll/spy_debug.dll deleted file mode 100644 index a2335ef..0000000 Binary files a/clients/java/wechat-ferry-mvn/dll/spy_debug.dll and /dev/null differ diff --git a/clients/java/wechat-ferry-mvn/src/main/resources/logback-spring.xml b/clients/java/wechat-ferry-mvn/src/main/resources/logback-spring.xml deleted file mode 100644 index d7669b6..0000000 --- a/clients/java/wechat-ferry-mvn/src/main/resources/logback-spring.xml +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - - - ${CONSOLE_LOG_PATTERN} - - - - - - ${log.path}/debug.log - - ${log.path}/%d{yyyy-MM, aux}/debug.%d{yyyy-MM-dd}.%i.log.gz - 50MB - 30 - - - true - - - %date [%thread] %-5level [%logger{50}] %file:%line - %msg%n - utf-8 - - - - - - ${log.path}/error.log - - ${log.path}/%d{yyyy-MM}/error.%d{yyyy-MM-dd}.%i.log.gz - 50MB - 30 - - - true - - - %date [%thread] %-5level [%logger{50}] %file:%line - %msg%n - utf-8 - - - - ERROR - - - - - - - - - - - - - - - - - - - - - - - - -