diff --git a/clients/java/wechat-ferry-mvn/CHANGELOG.md b/clients/java/wechat-ferry-mvn/CHANGELOG.md
index db01c80..43bc7d5 100644
--- a/clients/java/wechat-ferry-mvn/CHANGELOG.md
+++ b/clients/java/wechat-ferry-mvn/CHANGELOG.md
@@ -18,16 +18,16 @@ ___
-## v39.5.2
+## v39.5.1
### 版本列表
-下载地址:[v39.5.2](https://github.com/lich0821/WeChatFerry/releases/tag/v39.5.2)
+下载地址:[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.2 | v39.5.2.zip |
+| WeChatFerry-SDK | 39.5.1 | v39.5.1.zip |
### 功能列表
@@ -58,11 +58,18 @@ ___
| 查询朋友圈 | /friendCircle | ❔ | 待测试 |
| 接收转账 | /receiveTransfer | ❌ | 该版本不支持 |
+### 提示
+
+v39.5.2版本目前会出现注入失败的情况,暂时推迟更新至该版本,故本次采用v39.5.1进行过渡
+
### 2025-05-01
- 1.更新DLL版本迭代
- 2.更新说明文件
- 3.修改群消息策略功能,支持指定对应的群开启对应的功能
+- 4.SDK调试模式新增配置文件参数,默认不开启
+- 5.proto文件同步更新
+- 6.目录名称变更为wcf-bmc
diff --git a/clients/java/wechat-ferry-mvn/README.MD b/clients/java/wechat-ferry-mvn/README.MD
index ff7ff96..8f59259 100644
--- a/clients/java/wechat-ferry-mvn/README.MD
+++ b/clients/java/wechat-ferry-mvn/README.MD
@@ -1,4 +1,4 @@
-# WeChatFerry Java 客户端 maven版
+# WCF-BMC 【WeChatFerry中的Springboot+Maven版的客户端】
⚠️ **只支持 Windows** ⚠️
@@ -14,7 +14,7 @@
| JDK | 1.8+ | √ |
| Maven | 3.8+ | √ |
| 微信客户端 | 3.9.12.51 | √ |
-| WeChatFerry-SDK | 39.5.2 | √ |
+| WeChatFerry-SDK | 39.5.1 | √ |
| 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
@@ -56,7 +56,7 @@
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
```
@@ -87,14 +87,14 @@ swagger地址:http://localhost:9201/swagger-ui/index.html
或者进入到项目根目录使用命令打包
``` shell
-cd wechat-ferry-mvn
+cd wcf-bmc
mvn clean
mvn install
```
-打包后的文件在target/wechat-ferry-mvn-0.0.1-SNAPSHOT.jar
+打包后的文件在target/wcf-bmc-x.x.x.x-SNAPSHOT.jar
## 安装部署
@@ -110,7 +110,7 @@ mvn install
自己在项目中找到对应的文件,手动复制过去
```
-wcf
+wcf-bmc
├─dll 核心dll目录
│ ├─sdk.dll sdk文件
│ ├─spy.dll spy文件
@@ -124,7 +124,7 @@ wcf
│ ├─application.yml 配置文件
│ └─logback-spring.xml 日志配置文件
│
-├─wechat-ferry-mvn-xx.x.x.jar 打包后的源码包
+├─wcf-bmc-xx.x.x.x.jar 打包后的源码包
│
```
@@ -142,7 +142,7 @@ cd wcf
3.执行启动命令,jar名称换成自己的
``` shell
-java -Dconfig.dir=./config -jar wechat-ferry-mvn-xx.x.x.jar
+java -Dconfig.dir=./config -jar wcf-bmc-xx.x.x.x.jar
```
## 参与开发
@@ -164,7 +164,7 @@ java -Dconfig.dir=./config -jar wechat-ferry-mvn-xx.x.x.jar
### 模块结构
```
-wechat-ferry-mvn
+wcf-bmc
├─dll 核心dll
│ ├─sdk.dll sdk文件
│ └─readme.txt 本目录说明文件
@@ -270,7 +270,7 @@ message RoomData
如:
```cmd
-feat(0): [java]-[wechat-ferry-mvn]-基础类目录划分迁移及代码格式
+feat(0): [wcf-bmc]-基础类目录划分迁移及代码格式
```
| 名称 | 版本 |
diff --git a/clients/java/wechat-ferry-mvn/dll/sdk.dll b/clients/java/wechat-ferry-mvn/dll/sdk.dll
index 7483265..a01d6b0 100644
Binary files a/clients/java/wechat-ferry-mvn/dll/sdk.dll and b/clients/java/wechat-ferry-mvn/dll/sdk.dll differ
diff --git a/clients/java/wechat-ferry-mvn/dll/spy.dll b/clients/java/wechat-ferry-mvn/dll/spy.dll
index 2eb45fc..3ffdacd 100644
Binary files a/clients/java/wechat-ferry-mvn/dll/spy.dll and b/clients/java/wechat-ferry-mvn/dll/spy.dll differ
diff --git a/clients/java/wechat-ferry-mvn/dll/spy_debug.dll b/clients/java/wechat-ferry-mvn/dll/spy_debug.dll
index 4900318..e708c8d 100644
Binary files a/clients/java/wechat-ferry-mvn/dll/spy_debug.dll and b/clients/java/wechat-ferry-mvn/dll/spy_debug.dll differ
diff --git a/clients/java/wechat-ferry-mvn/pom.xml b/clients/java/wechat-ferry-mvn/pom.xml
index bf2e974..3d8a039 100644
--- a/clients/java/wechat-ferry-mvn/pom.xml
+++ b/clients/java/wechat-ferry-mvn/pom.xml
@@ -11,15 +11,15 @@
2.7.18
- wechat-ferry-mvn
+ wcf-bmc
jar
- wechat-ferry-mvn
- 39.2.4
- WeChatFerry客户端Java-Maven版
+ wcf-bmc
+ 39.5.1.1
+ WeChatFerry Springboot Maven Client (WCF-Springboot的Maven版客户端)
com.wechat.ferry.WeChatFerryApplication
- wechat-ferry-mvn
+ wcf-bmc
@@ -142,6 +142,7 @@
src/main/resources
+ true
bin/*
@@ -163,6 +164,7 @@
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/config/WeChatConfiguration.java b/clients/java/wechat-ferry-mvn/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/wechat-ferry-mvn/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/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/WeChatFerryProperties.java
index 10a3d49..1d33770 100644
--- a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/WeChatFerryProperties.java
+++ b/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/config/WeChatFerryProperties.java
@@ -29,6 +29,11 @@ public class WeChatFerryProperties {
*/
private Integer socketPort;
+ /**
+ * SDK是否调试模式
+ */
+ private Boolean sdkDebugSwitch = false;
+
/**
* 联系人类型-官方杂号,禁止与其他分类重复(格式:代码|名称)
* 使用时记得需要提取代码或者名称匹配
diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/proto/Wcf.java b/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/proto/Wcf.java
index 14c1ee3..bd3d1f3 100644
--- a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/entity/proto/Wcf.java
+++ b/clients/java/wechat-ferry-mvn/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;
}
}
@@ -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/handle/WeChatSocketClient.java b/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/handle/WeChatSocketClient.java
index 615c0b5..40fbf10 100644
--- a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/handle/WeChatSocketClient.java
+++ b/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/handle/WeChatSocketClient.java
@@ -82,6 +82,10 @@ public class WeChatSocketClient {
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;
diff --git a/clients/java/wechat-ferry-mvn/src/main/resources/application.yml b/clients/java/wechat-ferry-mvn/src/main/resources/application.yml
index d6b9ed0..19df8d1 100644
--- a/clients/java/wechat-ferry-mvn/src/main/resources/application.yml
+++ b/clients/java/wechat-ferry-mvn/src/main/resources/application.yml
@@ -9,7 +9,7 @@ spring:
# 配置应用信息
application:
# 应用名
- name: wechat-ferry
+ name: wcf-bmc
# swagger适配
mvc:
pathmatch:
@@ -26,6 +26,8 @@ wechat:
dll-path: E:\WeChatFerry\clients\java\wechat-ferry-mvn\dll\sdk.dll
# socket端口
socket-port: 10086
+ # SDK是否调试模式
+ sdk-debug-switch: false
# 联系人类型-官方杂号,禁止与其他分类重复(格式:代码|名称)
contacts-type-mixed:
- filehelper|文件传输助手
diff --git a/clients/java/wechat-ferry-mvn/src/main/resources/proto/wcf.proto b/clients/java/wechat-ferry-mvn/src/main/resources/proto/wcf.proto
index 8f5a99e..7d5bef7 100644
--- a/clients/java/wechat-ferry-mvn/src/main/resources/proto/wcf.proto
+++ b/clients/java/wechat-ferry-mvn/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
@@ -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
+}