From 51498cde8ac9dd41e9647f51929ae505a1ecd348 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=B6=9B?= <2450572350@qq.com> Date: Thu, 1 Jun 2023 10:22:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B8=B8=E8=A7=81=E7=9A=84=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=92=8C=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/example/wxhk/infe/SendMsg.java | 8 ++- .../wxhk/model/request/AddFriends.java | 2 +- .../wxhk/model/request/ConfirmThePayment.java | 2 +- .../wxhk/model/request/FindWeChat.java | 2 +- .../wxhk/model/request/ForwardMessages.java | 2 +- .../wxhk/model/request/GetGroupMembers.java | 2 +- .../GetsTheNicknameOfAGroupMember.java | 2 +- .../request/IncreaseGroupMembership.java | 2 +- .../example/wxhk/model/request/OpenHook.java | 18 +++++ .../wxhk/model/request/SendAtText.java | 2 +- .../example/wxhk/model/request/SendFile.java | 2 +- .../example/wxhk/model/request/SendImg.java | 2 +- .../example/wxhk/model/request/SendText.java | 2 +- .../wxhk/model/request/ThroughFriends.java | 2 +- .../com/example/wxhk/util/HttpAsyncUtil.java | 1 + .../com/example/wxhk/util/HttpSendUtil.java | 72 +++++++++++++++---- .../example/wxhk/tcp/HttpAsyncUtilTest.java | 6 ++ 17 files changed, 103 insertions(+), 26 deletions(-) create mode 100644 java_client/src/main/java/com/example/wxhk/model/request/OpenHook.java diff --git a/java_client/src/main/java/com/example/wxhk/infe/SendMsg.java b/java_client/src/main/java/com/example/wxhk/infe/SendMsg.java index 1ab7d3a..4050bd6 100644 --- a/java_client/src/main/java/com/example/wxhk/infe/SendMsg.java +++ b/java_client/src/main/java/com/example/wxhk/infe/SendMsg.java @@ -1,11 +1,17 @@ package com.example.wxhk.infe; +import io.vertx.core.json.JsonObject; + /** * http接口请求的基础接口 * * @author wt * @date 2023/06/01 */ -public interface SendMsg extends java.io.Serializable{ +public interface SendMsg extends java.io.Serializable{ + + default JsonObject toJson(){ + return JsonObject.mapFrom(this); + } } diff --git a/java_client/src/main/java/com/example/wxhk/model/request/AddFriends.java b/java_client/src/main/java/com/example/wxhk/model/request/AddFriends.java index cc20d11..42178aa 100644 --- a/java_client/src/main/java/com/example/wxhk/model/request/AddFriends.java +++ b/java_client/src/main/java/com/example/wxhk/model/request/AddFriends.java @@ -11,7 +11,7 @@ import lombok.experimental.Accessors; */ @Data @Accessors(chain = true) -public class AddFriends implements SendMsg { +public class AddFriends implements SendMsg { String wxid; /** * 验证信息 diff --git a/java_client/src/main/java/com/example/wxhk/model/request/ConfirmThePayment.java b/java_client/src/main/java/com/example/wxhk/model/request/ConfirmThePayment.java index 26e0f0b..d17d7ff 100644 --- a/java_client/src/main/java/com/example/wxhk/model/request/ConfirmThePayment.java +++ b/java_client/src/main/java/com/example/wxhk/model/request/ConfirmThePayment.java @@ -11,7 +11,7 @@ import lombok.experimental.Accessors; */ @Data @Accessors(chain = true) -public class ConfirmThePayment implements SendMsg { +public class ConfirmThePayment implements SendMsg { /** * 转账人微信id,从hook的消息中获取 */ diff --git a/java_client/src/main/java/com/example/wxhk/model/request/FindWeChat.java b/java_client/src/main/java/com/example/wxhk/model/request/FindWeChat.java index dc3d4a0..68a80a9 100644 --- a/java_client/src/main/java/com/example/wxhk/model/request/FindWeChat.java +++ b/java_client/src/main/java/com/example/wxhk/model/request/FindWeChat.java @@ -11,7 +11,7 @@ import lombok.experimental.Accessors; */ @Data @Accessors(chain = true) -public class FindWeChat implements SendMsg { +public class FindWeChat implements SendMsg { /** * 通过 手机或qq查询信息 */ diff --git a/java_client/src/main/java/com/example/wxhk/model/request/ForwardMessages.java b/java_client/src/main/java/com/example/wxhk/model/request/ForwardMessages.java index 723e928..fed4d28 100644 --- a/java_client/src/main/java/com/example/wxhk/model/request/ForwardMessages.java +++ b/java_client/src/main/java/com/example/wxhk/model/request/ForwardMessages.java @@ -11,7 +11,7 @@ import lombok.experimental.Accessors; */ @Data @Accessors(chain = true) -public class ForwardMessages implements SendMsg { +public class ForwardMessages implements SendMsg { /** * 消息接收人wxid */ diff --git a/java_client/src/main/java/com/example/wxhk/model/request/GetGroupMembers.java b/java_client/src/main/java/com/example/wxhk/model/request/GetGroupMembers.java index 7f48379..036fa9d 100644 --- a/java_client/src/main/java/com/example/wxhk/model/request/GetGroupMembers.java +++ b/java_client/src/main/java/com/example/wxhk/model/request/GetGroupMembers.java @@ -11,6 +11,6 @@ import lombok.experimental.Accessors; */ @Data @Accessors(chain = true) -public class GetGroupMembers implements SendMsg { +public class GetGroupMembers implements SendMsg { String chatRoomId; } diff --git a/java_client/src/main/java/com/example/wxhk/model/request/GetsTheNicknameOfAGroupMember.java b/java_client/src/main/java/com/example/wxhk/model/request/GetsTheNicknameOfAGroupMember.java index 60e4e22..5d68590 100644 --- a/java_client/src/main/java/com/example/wxhk/model/request/GetsTheNicknameOfAGroupMember.java +++ b/java_client/src/main/java/com/example/wxhk/model/request/GetsTheNicknameOfAGroupMember.java @@ -11,7 +11,7 @@ import lombok.experimental.Accessors; */ @Data @Accessors(chain = true) -public class GetsTheNicknameOfAGroupMember implements SendMsg { +public class GetsTheNicknameOfAGroupMember implements SendMsg { /** * 聊天室id */ diff --git a/java_client/src/main/java/com/example/wxhk/model/request/IncreaseGroupMembership.java b/java_client/src/main/java/com/example/wxhk/model/request/IncreaseGroupMembership.java index a43a1e4..a80cee2 100644 --- a/java_client/src/main/java/com/example/wxhk/model/request/IncreaseGroupMembership.java +++ b/java_client/src/main/java/com/example/wxhk/model/request/IncreaseGroupMembership.java @@ -11,7 +11,7 @@ import lombok.experimental.Accessors; */ @Data @Accessors(chain = true) -public class IncreaseGroupMembership implements SendMsg { +public class IncreaseGroupMembership implements SendMsg { /** * 聊天室id */ diff --git a/java_client/src/main/java/com/example/wxhk/model/request/OpenHook.java b/java_client/src/main/java/com/example/wxhk/model/request/OpenHook.java new file mode 100644 index 0000000..12929d0 --- /dev/null +++ b/java_client/src/main/java/com/example/wxhk/model/request/OpenHook.java @@ -0,0 +1,18 @@ +package com.example.wxhk.model.request; + +import com.example.wxhk.infe.SendMsg; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 开启hook + * + * @author wt + * @date 2023/06/01 + */ +@Data +@Accessors(chain = true) +public class OpenHook implements SendMsg { + String port; + String ip; +} diff --git a/java_client/src/main/java/com/example/wxhk/model/request/SendAtText.java b/java_client/src/main/java/com/example/wxhk/model/request/SendAtText.java index 28b93b0..d158bc3 100644 --- a/java_client/src/main/java/com/example/wxhk/model/request/SendAtText.java +++ b/java_client/src/main/java/com/example/wxhk/model/request/SendAtText.java @@ -11,7 +11,7 @@ import lombok.experimental.Accessors; */ @Data @Accessors(chain = true) -public class SendAtText implements SendMsg { +public class SendAtText implements SendMsg { /** * 聊天室id,群聊用 */ diff --git a/java_client/src/main/java/com/example/wxhk/model/request/SendFile.java b/java_client/src/main/java/com/example/wxhk/model/request/SendFile.java index ee5e409..54fcfb9 100644 --- a/java_client/src/main/java/com/example/wxhk/model/request/SendFile.java +++ b/java_client/src/main/java/com/example/wxhk/model/request/SendFile.java @@ -12,7 +12,7 @@ import lombok.experimental.Accessors; */ @Data @Accessors(chain = true) -public class SendFile implements SendMsg { +public class SendFile implements SendMsg { String wxid; /** * 发送文件路径 diff --git a/java_client/src/main/java/com/example/wxhk/model/request/SendImg.java b/java_client/src/main/java/com/example/wxhk/model/request/SendImg.java index a019d02..cd62977 100644 --- a/java_client/src/main/java/com/example/wxhk/model/request/SendImg.java +++ b/java_client/src/main/java/com/example/wxhk/model/request/SendImg.java @@ -12,7 +12,7 @@ import lombok.experimental.Accessors; */ @Data @Accessors(chain = true) -public class SendImg implements SendMsg { +public class SendImg implements SendMsg { String wxid; /** * 发送图片接口 diff --git a/java_client/src/main/java/com/example/wxhk/model/request/SendText.java b/java_client/src/main/java/com/example/wxhk/model/request/SendText.java index f15056e..a749c3d 100644 --- a/java_client/src/main/java/com/example/wxhk/model/request/SendText.java +++ b/java_client/src/main/java/com/example/wxhk/model/request/SendText.java @@ -12,7 +12,7 @@ import lombok.experimental.Accessors; */ @Data @Accessors(chain = true) -public class SendText implements SendMsg { +public class SendText implements SendMsg { String wxid; String msg; } diff --git a/java_client/src/main/java/com/example/wxhk/model/request/ThroughFriends.java b/java_client/src/main/java/com/example/wxhk/model/request/ThroughFriends.java index 2134b40..4e68332 100644 --- a/java_client/src/main/java/com/example/wxhk/model/request/ThroughFriends.java +++ b/java_client/src/main/java/com/example/wxhk/model/request/ThroughFriends.java @@ -11,7 +11,7 @@ import lombok.experimental.Accessors; */ @Data @Accessors(chain = true) -public class ThroughFriends implements SendMsg { +public class ThroughFriends implements SendMsg { /** * 添加好友消息内容里的encryptusername */ diff --git a/java_client/src/main/java/com/example/wxhk/util/HttpAsyncUtil.java b/java_client/src/main/java/com/example/wxhk/util/HttpAsyncUtil.java index b8d2ba0..db408bf 100644 --- a/java_client/src/main/java/com/example/wxhk/util/HttpAsyncUtil.java +++ b/java_client/src/main/java/com/example/wxhk/util/HttpAsyncUtil.java @@ -53,6 +53,7 @@ public class HttpAsyncUtil { 发送文件("6"), 开启hook("9"), 关闭hook("10"), + 添加好友("20"), 通过好友申请("23"), 获取群成员("25"), 获取群成员昵称("26"), diff --git a/java_client/src/main/java/com/example/wxhk/util/HttpSendUtil.java b/java_client/src/main/java/com/example/wxhk/util/HttpSendUtil.java index 6381a84..a599c60 100644 --- a/java_client/src/main/java/com/example/wxhk/util/HttpSendUtil.java +++ b/java_client/src/main/java/com/example/wxhk/util/HttpSendUtil.java @@ -1,7 +1,7 @@ package com.example.wxhk.util; import com.example.wxhk.model.PrivateChatMsg; -import com.example.wxhk.model.request.SendMsg; +import com.example.wxhk.model.request.*; import com.example.wxhk.tcp.vertx.ArrHandle; import com.example.wxhk.tcp.vertx.InitWeChat; import io.vertx.core.json.JsonObject; @@ -54,29 +54,40 @@ public class HttpSendUtil { } - public static JsonObject 发送文本(String wxid,String msg){ + public static JsonObject 发送文本(String wxid, String msg) { return HttpSyncUtil.exec(HttpAsyncUtil.Type.发送文本, JsonObject.mapFrom(new SendMsg().setMsg(msg).setWxid(wxid))); } - public static JsonObject 发送文本(String msg){ - return 发送文本(ArrHandle.getPriMsg().getFromUser(),msg); + + public static JsonObject 发送文本(String msg) { + return 发送文本(ArrHandle.getPriMsg().getFromUser(), msg); } - public static JsonObject 发送at文本(String chatRoomId,String wxids,String msg){ + + public static JsonObject 发送at文本(String chatRoomId, String wxids, String msg) { return HttpSyncUtil.exec(HttpAsyncUtil.Type.发送at文本, JsonObject.mapFrom(new SendMsg().setMsg(msg).setWxids(wxids).setChatRoomId(chatRoomId))); } - public static JsonObject 发送at文本(String wxids,String msg){ - return 发送at文本(ArrHandle.getPriMsg().getFromGroup(),wxids,msg); + + public static JsonObject 发送at文本(String wxids, String msg) { + return 发送at文本(ArrHandle.getPriMsg().getFromGroup(), wxids, msg); } - public static JsonObject 发送图片(String wxid,String msg){ + + public static JsonObject 发送图片(String wxid, String msg) { return HttpSyncUtil.exec(HttpAsyncUtil.Type.发送图片, JsonObject.mapFrom(new SendMsg().setImagePath(msg).setWxid(wxid))); } - public static JsonObject 发送图片(String msg){ - return 发送图片(ArrHandle.getPriMsg().getFromUser(),msg); + + public static JsonObject 发送图片(String msg) { + return 发送图片(ArrHandle.getPriMsg().getFromUser(), msg); } - public static JsonObject 发送文件(String wxid,String msg){ + + public static JsonObject 发送文件(String wxid, String msg) { return HttpSyncUtil.exec(HttpAsyncUtil.Type.发送文件, JsonObject.mapFrom(new SendMsg().setFilePath(msg).setWxid(wxid))); } - public static JsonObject 发送文件(String msg){ - return 发送文件(ArrHandle.getPriMsg().getFromUser(),msg); + + public static JsonObject 发送文件(String msg) { + return 发送文件(ArrHandle.getPriMsg().getFromUser(), msg); + } + + public static JsonObject 添加好友(AddFriends p) { + return HttpSyncUtil.exec(HttpAsyncUtil.Type.添加好友, p.toJson()); } @@ -85,4 +96,39 @@ public class HttpSendUtil { return exec.getJsonObject("data").getString("wxid"); } + public static JsonObject 联系人列表(){ + JsonObject exec = HttpSyncUtil.exec(HttpAsyncUtil.Type.联系人列表, new JsonObject()); + return exec.getJsonObject("data"); + } + public static JsonObject 开启hook(OpenHook hook){ + JsonObject exec = HttpSyncUtil.exec(HttpAsyncUtil.Type.开启hook,hook.toJson()); + return exec.getJsonObject("data"); + } + + @Deprecated + public static com.example.wxhk.infe.SendMsg of(HttpAsyncUtil.Type type) { + switch (type) { + + case 检查微信登陆 -> { + + } + case 获取登录信息 -> { + } + case 发送文本 -> { + return new SendText(); + } + case 发送at文本 -> { + return new SendAtText(); + } + case 发送图片 -> { + return new SendImg(); + } + case 发送文件 -> { + return new SendFile(); + } + + } + return new SendText(); + } + } diff --git a/java_client/src/test/java/com/example/wxhk/tcp/HttpAsyncUtilTest.java b/java_client/src/test/java/com/example/wxhk/tcp/HttpAsyncUtilTest.java index 6bf1ddf..1f317a0 100644 --- a/java_client/src/test/java/com/example/wxhk/tcp/HttpAsyncUtilTest.java +++ b/java_client/src/test/java/com/example/wxhk/tcp/HttpAsyncUtilTest.java @@ -40,5 +40,11 @@ class HttpAsyncUtilTest { } ThreadUtil.sync(this); + } + @Test + void exec2() { + + + } } \ No newline at end of file