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 +}