@wxbot/wechat-api-sdk 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/geweChat/gewe/apiCore/geweBaseApi.js +1 -59
- package/dist/geweChat/gewe/clientApi/geweMessage.js +1 -216
- package/dist/geweChat/gewe/clientApi/gewe_Api.js +1 -24
- package/dist/geweChat/gewe/clientApi/gewe_ChatRoom.js +1 -125
- package/dist/geweChat/gewe/clientApi/gewe_Friend.js +1 -110
- package/dist/geweChat/gewe/clientApi/gewe_Login.js +1 -119
- package/dist/geweChat/gewe/clientApi/gewe_Tools.js +1 -45
- package/dist/index.js +1 -38
- package/dist/protocolTypes.js +1 -11
- package/dist/utils/gameCore.js +1 -26
- package/dist/utils/index.js +1 -150
- package/dist/utils/linq.js +1 -24
- package/dist/weChatBase/EventBus.js +1 -32
- package/dist/weChatBase/entity/chatMemberInfo.js +1 -7
- package/dist/weChatBase/entity/simpleSession.js +1 -8
- package/dist/weChatBase/interface/weChatApiBase.js +1 -9
- package/dist/weChatBase/interface/weChatBase.js +1 -12
- package/dist/weChatBase/interface/weChatChatRoomBase.js +1 -9
- package/dist/weChatBase/interface/weChatFriendBase.js +1 -9
- package/dist/weChatBase/interface/weChatLoginBase.js +1 -9
- package/dist/weChatBase/interface/weChatMessageBase.js +1 -15
- package/dist/weChatBase/interface/weChatToolsBase.js +1 -8
- package/dist/weChatBase/request/chatRoom/wxGetChatroomInfoRequest.js +1 -16
- package/dist/weChatBase/request/chatRoom/wxGetChatroomMemberInfoRequest.js +1 -16
- package/dist/weChatBase/request/chatRoom/wxGetChatroomMemberListRequest.js +1 -10
- package/dist/weChatBase/request/chatRoom/wxGetChatroomQRCodeRequest.js +1 -10
- package/dist/weChatBase/request/friend/friendPassVerifyRequest.js +1 -14
- package/dist/weChatBase/request/friend/getContactListRequest.js +1 -20
- package/dist/weChatBase/request/friend/getContactRequest.js +1 -10
- package/dist/weChatBase/request/friend/wxGetContractDetailRequest.js +1 -10
- package/dist/weChatBase/request/friend/wxSearchContactRequest.js +1 -13
- package/dist/weChatBase/request/friend/wxUploadContactRequest.js +1 -7
- package/dist/weChatBase/request/login/wxAutoHeartBeatRequest.js +1 -10
- package/dist/weChatBase/request/login/wxAwakenRequest.js +1 -10
- package/dist/weChatBase/request/login/wxCheckOnlineRequest.js +1 -10
- package/dist/weChatBase/request/login/wxDialogLoginRequest.js +1 -10
- package/dist/weChatBase/request/login/wxGetLoginQrCodeRequest.js +1 -28
- package/dist/weChatBase/request/login/wxGetLoginQrStatus.js +1 -16
- package/dist/weChatBase/request/login/wxGetOnlineStatusRequest.js +1 -10
- package/dist/weChatBase/request/login/wxHeartBeatRequest.js +1 -10
- package/dist/weChatBase/request/login/wxLogOutRequest.js +1 -10
- package/dist/weChatBase/request/login/wxReconnectionRequest.js +1 -10
- package/dist/weChatBase/request/login/wxTwiceAutoAuthRequest.js +1 -10
- package/dist/weChatBase/request/message/syncMessageRequest.js +1 -10
- package/dist/weChatBase/request/message/wxForwardImageRequest.js +1 -10
- package/dist/weChatBase/request/message/wxRevokeMsgRequest.js +1 -10
- package/dist/weChatBase/request/message/wxSendAppRequest.js +1 -10
- package/dist/weChatBase/request/message/wxSendCardRequest.js +1 -10
- package/dist/weChatBase/request/message/wxSendEmojiRequest.js +1 -10
- package/dist/weChatBase/request/message/wxSendFileRequest.js +1 -10
- package/dist/weChatBase/request/message/wxSendImageRequest.js +1 -10
- package/dist/weChatBase/request/message/wxSendLinkRequest.js +1 -10
- package/dist/weChatBase/request/message/wxSendLocationRequest.js +1 -10
- package/dist/weChatBase/request/message/wxSendTxtRequest.js +1 -10
- package/dist/weChatBase/request/message/wxSendVideoRequest.js +1 -10
- package/dist/weChatBase/request/message/wxSendVoiceRequest.js +1 -10
- package/dist/weChatBase/request/tools/wxDownloadImgRequest.js +1 -14
- package/dist/weChatBase/request/tools/wxEmojiDownloadRequest.js +1 -10
- package/dist/weChatBase/request/tools/wxSetWebhookRequest.js +1 -10
- package/dist/weChatBase/request/tools/wxUploadFileRequest.js +1 -10
- package/dist/weChatBase/type/opCode.js +1 -16
- package/dist/weChatBase/type/scene.js +1 -32
- package/dist/weChatBase/weChatAPIClientBase.js +1 -92
- package/dist/weChatBase/weChatMessage/WeChatMessageFactory.js +1 -190
- package/dist/weChatBase/weChatMessage/types/AddFriendMessage.js +1 -92
- package/dist/weChatBase/weChatMessage/types/ChannelsVideoMessage.js +1 -124
- package/dist/weChatBase/weChatMessage/types/ContactMessage.js +1 -81
- package/dist/weChatBase/weChatMessage/types/EmojiMessage.js +1 -74
- package/dist/weChatBase/weChatMessage/types/FileMessage.js +1 -127
- package/dist/weChatBase/weChatMessage/types/GroupInviteMessage.js +1 -104
- package/dist/weChatBase/weChatMessage/types/GroupNoticeMessage.js +1 -76
- package/dist/weChatBase/weChatMessage/types/GroupSystemMessage.js +1 -151
- package/dist/weChatBase/weChatMessage/types/GroupTodoMessage.js +1 -111
- package/dist/weChatBase/weChatMessage/types/ImageMessage.js +1 -93
- package/dist/weChatBase/weChatMessage/types/LinkMessage.js +1 -110
- package/dist/weChatBase/weChatMessage/types/LocationMessage.js +1 -84
- package/dist/weChatBase/weChatMessage/types/MiniProgramMessage.js +1 -91
- package/dist/weChatBase/weChatMessage/types/PatMessage.js +1 -101
- package/dist/weChatBase/weChatMessage/types/RedPacketMessage.js +1 -115
- package/dist/weChatBase/weChatMessage/types/ReferMessage.js +1 -88
- package/dist/weChatBase/weChatMessage/types/RevokeMessage.js +1 -82
- package/dist/weChatBase/weChatMessage/types/TextMessage.js +1 -43
- package/dist/weChatBase/weChatMessage/types/TransferMessage.js +1 -109
- package/dist/weChatBase/weChatMessage/types/VideoMessage.js +1 -76
- package/dist/weChatBase/weChatMessage/types/VoiceMessage.js +1 -73
- package/dist/weChatBase/weChatMessage/types/index.js +1 -44
- package/dist/weChatBase/weChatMessage/weChatMessageType.js +1 -115
- package/dist/weChatBase/weChatMessage/weChatMsgBase.d.ts +1 -0
- package/dist/weChatBase/weChatMessage/weChatMsgBase.d.ts.map +1 -1
- package/dist/weChatBase/weChatMessage/weChatMsgBase.js +1 -238
- package/dist/weChatBase/weChatResult.js +1 -44
- package/dist/wechatApi.js +1 -23
- package/package.json +11 -7
- package/dist/geweChat/gewe/apiCore/geweBaseApi.js.map +0 -1
- package/dist/geweChat/gewe/clientApi/geweMessage.js.map +0 -1
- package/dist/geweChat/gewe/clientApi/gewe_Api.js.map +0 -1
- package/dist/geweChat/gewe/clientApi/gewe_ChatRoom.js.map +0 -1
- package/dist/geweChat/gewe/clientApi/gewe_Friend.js.map +0 -1
- package/dist/geweChat/gewe/clientApi/gewe_Login.js.map +0 -1
- package/dist/geweChat/gewe/clientApi/gewe_Tools.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/protocolTypes.js.map +0 -1
- package/dist/utils/gameCore.js.map +0 -1
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/linq.js.map +0 -1
- package/dist/weChatBase/EventBus.js.map +0 -1
- package/dist/weChatBase/entity/chatMemberInfo.js.map +0 -1
- package/dist/weChatBase/entity/simpleSession.js.map +0 -1
- package/dist/weChatBase/interface/weChatApiBase.js.map +0 -1
- package/dist/weChatBase/interface/weChatBase.js.map +0 -1
- package/dist/weChatBase/interface/weChatChatRoomBase.js.map +0 -1
- package/dist/weChatBase/interface/weChatFriendBase.js.map +0 -1
- package/dist/weChatBase/interface/weChatLoginBase.js.map +0 -1
- package/dist/weChatBase/interface/weChatMessageBase.js.map +0 -1
- package/dist/weChatBase/interface/weChatToolsBase.js.map +0 -1
- package/dist/weChatBase/request/chatRoom/wxGetChatroomInfoRequest.js.map +0 -1
- package/dist/weChatBase/request/chatRoom/wxGetChatroomMemberInfoRequest.js.map +0 -1
- package/dist/weChatBase/request/chatRoom/wxGetChatroomMemberListRequest.js.map +0 -1
- package/dist/weChatBase/request/chatRoom/wxGetChatroomQRCodeRequest.js.map +0 -1
- package/dist/weChatBase/request/friend/friendPassVerifyRequest.js.map +0 -1
- package/dist/weChatBase/request/friend/getContactListRequest.js.map +0 -1
- package/dist/weChatBase/request/friend/getContactRequest.js.map +0 -1
- package/dist/weChatBase/request/friend/wxGetContractDetailRequest.js.map +0 -1
- package/dist/weChatBase/request/friend/wxSearchContactRequest.js.map +0 -1
- package/dist/weChatBase/request/friend/wxUploadContactRequest.js.map +0 -1
- package/dist/weChatBase/request/login/wxAutoHeartBeatRequest.js.map +0 -1
- package/dist/weChatBase/request/login/wxAwakenRequest.js.map +0 -1
- package/dist/weChatBase/request/login/wxCheckOnlineRequest.js.map +0 -1
- package/dist/weChatBase/request/login/wxDialogLoginRequest.js.map +0 -1
- package/dist/weChatBase/request/login/wxGetLoginQrCodeRequest.js.map +0 -1
- package/dist/weChatBase/request/login/wxGetLoginQrStatus.js.map +0 -1
- package/dist/weChatBase/request/login/wxGetOnlineStatusRequest.js.map +0 -1
- package/dist/weChatBase/request/login/wxHeartBeatRequest.js.map +0 -1
- package/dist/weChatBase/request/login/wxLogOutRequest.js.map +0 -1
- package/dist/weChatBase/request/login/wxReconnectionRequest.js.map +0 -1
- package/dist/weChatBase/request/login/wxTwiceAutoAuthRequest.js.map +0 -1
- package/dist/weChatBase/request/message/syncMessageRequest.js.map +0 -1
- package/dist/weChatBase/request/message/wxForwardImageRequest.js.map +0 -1
- package/dist/weChatBase/request/message/wxRevokeMsgRequest.js.map +0 -1
- package/dist/weChatBase/request/message/wxSendAppRequest.js.map +0 -1
- package/dist/weChatBase/request/message/wxSendCardRequest.js.map +0 -1
- package/dist/weChatBase/request/message/wxSendEmojiRequest.js.map +0 -1
- package/dist/weChatBase/request/message/wxSendFileRequest.js.map +0 -1
- package/dist/weChatBase/request/message/wxSendImageRequest.js.map +0 -1
- package/dist/weChatBase/request/message/wxSendLinkRequest.js.map +0 -1
- package/dist/weChatBase/request/message/wxSendLocationRequest.js.map +0 -1
- package/dist/weChatBase/request/message/wxSendTxtRequest.js.map +0 -1
- package/dist/weChatBase/request/message/wxSendVideoRequest.js.map +0 -1
- package/dist/weChatBase/request/message/wxSendVoiceRequest.js.map +0 -1
- package/dist/weChatBase/request/tools/wxDownloadImgRequest.js.map +0 -1
- package/dist/weChatBase/request/tools/wxEmojiDownloadRequest.js.map +0 -1
- package/dist/weChatBase/request/tools/wxSetWebhookRequest.js.map +0 -1
- package/dist/weChatBase/request/tools/wxUploadFileRequest.js.map +0 -1
- package/dist/weChatBase/type/opCode.js.map +0 -1
- package/dist/weChatBase/type/scene.js.map +0 -1
- package/dist/weChatBase/utils/xmlParser.d.ts +0 -11
- package/dist/weChatBase/utils/xmlParser.d.ts.map +0 -1
- package/dist/weChatBase/utils/xmlParser.js +0 -106
- package/dist/weChatBase/utils/xmlParser.js.map +0 -1
- package/dist/weChatBase/weChatAPIClientBase.js.map +0 -1
- package/dist/weChatBase/weChatMessage/WeChatMessageFactory.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/AddFriendMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/ChannelsVideoMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/ContactMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/EmojiMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/FileMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/GroupInviteMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/GroupNoticeMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/GroupSystemMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/GroupTodoMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/ImageMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/LinkMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/LocationMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/MiniProgramMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/PatMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/RedPacketMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/ReferMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/RevokeMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/TextMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/TransferMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/VideoMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/VoiceMessage.js.map +0 -1
- package/dist/weChatBase/weChatMessage/types/index.js.map +0 -1
- package/dist/weChatBase/weChatMessage/weChatMessageType.js.map +0 -1
- package/dist/weChatBase/weChatMessage/weChatMsgBase.js.map +0 -1
- package/dist/weChatBase/weChatResult.js.map +0 -1
- package/dist/wechatApi.js.map +0 -1
|
@@ -1,92 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AddFriendMessage = void 0;
|
|
4
|
-
const weChatMsgBase_1 = require("../weChatMsgBase");
|
|
5
|
-
const weChatMessageType_1 = require("../weChatMessageType");
|
|
6
|
-
const utils_1 = require("../../../utils");
|
|
7
|
-
/**
|
|
8
|
-
* 好友添加请求通知消息类
|
|
9
|
-
* MsgType = 37
|
|
10
|
-
*
|
|
11
|
-
* 示例数据:
|
|
12
|
-
* {
|
|
13
|
-
* "MsgType": 37,
|
|
14
|
-
* "FromUserName": { "string": "fmessage" },
|
|
15
|
-
* "Content": { "string": "<msg fromusername=...>" }
|
|
16
|
-
* }
|
|
17
|
-
*/
|
|
18
|
-
class AddFriendMessage extends weChatMsgBase_1.WeChatMsg {
|
|
19
|
-
constructor(data) {
|
|
20
|
-
super(data.Appid, data.api, data.Wxid, weChatMessageType_1.WeChatMessageType.AddFriend, data.Data.MsgId, data.Data.NewMsgId, data.Data.CreateTime, data.Data.FromUserName?.string || data.Data.FromUserName, data.Data.ToUserName?.string || data.Data.ToUserName, data.Data.MsgSource, data.Data.Content?.string || data.Data.Content, data.Data.PushContent?.string || data.Data.PushContent || '');
|
|
21
|
-
/** 好友请求信息 */
|
|
22
|
-
this.friendRequestInfo = {};
|
|
23
|
-
// 解析好友请求信息
|
|
24
|
-
this.parseFriendRequestInfo();
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* 解析好友请求信息
|
|
28
|
-
*/
|
|
29
|
-
parseFriendRequestInfo() {
|
|
30
|
-
try {
|
|
31
|
-
const xmlObj = (0, utils_1.getXml2Json)(this.Content);
|
|
32
|
-
if (xmlObj?.msg) {
|
|
33
|
-
const msg = xmlObj.msg;
|
|
34
|
-
this.friendRequestInfo = {
|
|
35
|
-
fromusername: msg.fromusername,
|
|
36
|
-
encryptusername: msg.encryptusername,
|
|
37
|
-
fromnickname: msg.fromnickname,
|
|
38
|
-
content: msg.content,
|
|
39
|
-
scene: msg.scene,
|
|
40
|
-
fullpy: msg.fullpy,
|
|
41
|
-
shortpy: msg.shortpy,
|
|
42
|
-
sex: msg.sex,
|
|
43
|
-
province: msg.province,
|
|
44
|
-
city: msg.city,
|
|
45
|
-
sign: msg.sign,
|
|
46
|
-
bigheadimgurl: msg.bigheadimgurl,
|
|
47
|
-
smallheadimgurl: msg.smallheadimgurl,
|
|
48
|
-
ticket: msg.ticket
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
catch (error) {
|
|
53
|
-
console.error('解析好友请求信息失败:', error);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* 获取场景描述
|
|
58
|
-
*/
|
|
59
|
-
getSceneText() {
|
|
60
|
-
const sceneMap = {
|
|
61
|
-
'1': '搜索微信号',
|
|
62
|
-
'2': '查看QQ好友',
|
|
63
|
-
'3': '摇一摇',
|
|
64
|
-
'6': '通讯录',
|
|
65
|
-
'10': '面对面建群',
|
|
66
|
-
'12': '来自QQ好友',
|
|
67
|
-
'14': '通过群聊',
|
|
68
|
-
'15': '手机通讯录',
|
|
69
|
-
'17': '名片分享',
|
|
70
|
-
'18': '附近的人',
|
|
71
|
-
'25': '漂流瓶',
|
|
72
|
-
'29': '通过群聊二维码'
|
|
73
|
-
};
|
|
74
|
-
return sceneMap[this.friendRequestInfo.scene || ''] || '未知来源';
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* 获取消息描述
|
|
78
|
-
*/
|
|
79
|
-
getContent() {
|
|
80
|
-
const nickname = this.friendRequestInfo.fromnickname || '用户';
|
|
81
|
-
const content = this.friendRequestInfo.content || '';
|
|
82
|
-
return `[好友请求]${nickname}:${content}`;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* 获取消息文本
|
|
86
|
-
*/
|
|
87
|
-
async getMsgText() {
|
|
88
|
-
return this.getContent();
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
exports.AddFriendMessage = AddFriendMessage;
|
|
92
|
-
//# sourceMappingURL=AddFriendMessage.js.map
|
|
1
|
+
'use strict';function _0x3e97(){const _0x1c76cc=['yMLNAgvHzgLTz3vYBa','CgfYC2vgCMLLBMrszxf1zxn0sw5MBW','C21HBgXOzwfKAw1NDxjS','z2v0q29UDgvUDa','5Pgh5lIa5Pgh','DgLJA2v0','nZCYmJqWwvr0uMvb','txnNswq','6ycA6l+h576K6igk','5RYc5Rwb55o2','zNjVBxvZzxjUyw1L','z2v0wg1SmKPZB24','C2v4','nda3odi4nefTvuHxCa','v2vdAgf0txnN','tMv3txnNswq','C3rYAw5N','q29UDgvUDa','5zcn54Mh5yIg5lQR','5P2L6iEQuvhLPB3LJ4S','qwrKrNjPzw5K','lI4VlI4VlI4VDxrPBhm','6zMe6l+r55Qe5lQ6','v3HPza','z2v0txnNvgv4Da','z2v0u2nLBMvuzxH0','zNjVBw5Py2TUyw1L','6kEJ5P6q5Aw95y+l6k+35Rgc5l+H5OgV5AsX6lsLoG','mty2mKLMrND3rq','uhvZAenVBNrLBNq','mte5ntKYogX1EeHswa','zNjPzw5KuMvXDwvZDeLUzM8','mtq3ntKXohHVvwLUAq','ndKWnxnJt0vUyG','C2nLBMu','ntCWnerxugrHwG','mty1nZbMt3bSDuW','lI4VD2vdAgf0twvZC2fNzvr5Cgu','txnNu291CMnL','zw5JCNLWDhvZzxjUyw1L','rgf0yq','C2LNBG','6ycA6l+h576K6igk5lQm57U056cb','y29UDgvUDa','zNvSBhb5','6ycA6k6V5B2v','x19LC01VzhvSzq','y2L0Eq','rNjVBvvZzxjoyw1L','vg9vC2vYtMfTzq','C2HVCNrWEq','nZy2nZy0wuT1sgTW'];_0x3e97=function(){return _0x1c76cc;};return _0x3e97();}const _0x5c0f3b=_0x22ce;(function(_0x1a19c3,_0x50094a){const _0x4b472e=_0x22ce,_0x48c5c=_0x1a19c3();while(!![]){try{const _0x190855=parseInt(_0x4b472e(0xc1))/0x1+-parseInt(_0x4b472e(0xa7))/0x2+parseInt(_0x4b472e(0xa0))/0x3+parseInt(_0x4b472e(0xbf))/0x4+-parseInt(_0x4b472e(0xc5))/0x5*(parseInt(_0x4b472e(0xbd))/0x6)+parseInt(_0x4b472e(0xae))/0x7+parseInt(_0x4b472e(0xc4))/0x8*(-parseInt(_0x4b472e(0xc2))/0x9);if(_0x190855===_0x50094a)break;else _0x48c5c['push'](_0x48c5c['shift']());}catch(_0x458d8d){_0x48c5c['push'](_0x48c5c['shift']());}}}(_0x3e97,0xe0b61));function _0x22ce(_0x178eb9,_0x1a992a){_0x178eb9=_0x178eb9-0x97;const _0x3e97d4=_0x3e97();let _0x22ce69=_0x3e97d4[_0x178eb9];if(_0x22ce['EcRPDR']===undefined){var _0x3634b5=function(_0x181f40){const _0x60eebd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x23a316='',_0x254fed='';for(let _0x4789c1=0x0,_0x18b398,_0x78992f,_0x495674=0x0;_0x78992f=_0x181f40['charAt'](_0x495674++);~_0x78992f&&(_0x18b398=_0x4789c1%0x4?_0x18b398*0x40+_0x78992f:_0x78992f,_0x4789c1++%0x4)?_0x23a316+=String['fromCharCode'](0xff&_0x18b398>>(-0x2*_0x4789c1&0x6)):0x0){_0x78992f=_0x60eebd['indexOf'](_0x78992f);}for(let _0x1d6d6c=0x0,_0x56ef6e=_0x23a316['length'];_0x1d6d6c<_0x56ef6e;_0x1d6d6c++){_0x254fed+='%'+('00'+_0x23a316['charCodeAt'](_0x1d6d6c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x254fed);};_0x22ce['SYygDO']=_0x3634b5,_0x22ce['VXCNuS']={},_0x22ce['EcRPDR']=!![];}const _0x5cd198=_0x3e97d4[0x0],_0x47ee75=_0x178eb9+_0x5cd198,_0x414b29=_0x22ce['VXCNuS'][_0x47ee75];return!_0x414b29?(_0x22ce69=_0x22ce['SYygDO'](_0x22ce69),_0x22ce['VXCNuS'][_0x47ee75]=_0x22ce69):_0x22ce69=_0x414b29,_0x22ce69;}Object['defineProperty'](exports,_0x5c0f3b(0x9b),{'value':!![]}),exports['AddFriendMessage']=void 0x0;const weChatMsgBase_1=require('../weChatMsgBase'),weChatMessageType_1=require(_0x5c0f3b(0xc6)),utils_1=require(_0x5c0f3b(0xb6));class AddFriendMessage extends weChatMsgBase_1[_0x5c0f3b(0xaf)]{constructor(_0x23a316){const _0x565eab=_0x5c0f3b;super(_0x23a316['Appid'],_0x23a316['api'],_0x23a316[_0x565eab(0xb8)],weChatMessageType_1['WeChatMessageType'][_0x565eab(0xb5)],_0x23a316[_0x565eab(0xc9)][_0x565eab(0xa8)],_0x23a316['Data'][_0x565eab(0xb0)],_0x23a316['Data']['CreateTime'],_0x23a316['Data'][_0x565eab(0x9d)]?.[_0x565eab(0xb1)]||_0x23a316[_0x565eab(0xc9)]['FromUserName'],_0x23a316[_0x565eab(0xc9)][_0x565eab(0x9e)]?.[_0x565eab(0xb1)]||_0x23a316['Data'][_0x565eab(0x9e)],_0x23a316[_0x565eab(0xc9)][_0x565eab(0xc7)],_0x23a316[_0x565eab(0xc9)][_0x565eab(0xb2)]?.[_0x565eab(0xb1)]||_0x23a316[_0x565eab(0xc9)][_0x565eab(0xb2)],_0x23a316[_0x565eab(0xc9)][_0x565eab(0xbe)]?.[_0x565eab(0xb1)]||_0x23a316['Data']['PushContent']||''),this[_0x565eab(0xc0)]={},this[_0x565eab(0xa2)]();}[_0x5c0f3b(0xa2)](){const _0xe36277=_0x5c0f3b;try{const _0x254fed=(0x0,utils_1[_0xe36277(0xac)])(this['Content']);if(_0x254fed?.['msg']){const _0x4789c1=_0x254fed['msg'];this['friendRequestInfo']={'fromusername':_0x4789c1[_0xe36277(0xab)],'encryptusername':_0x4789c1[_0xe36277(0xc8)],'fromnickname':_0x4789c1[_0xe36277(0xbb)],'content':_0x4789c1[_0xe36277(0x98)],'scene':_0x4789c1[_0xe36277(0xc3)],'fullpy':_0x4789c1[_0xe36277(0x99)],'shortpy':_0x4789c1[_0xe36277(0x9f)],'sex':_0x4789c1[_0xe36277(0xad)],'province':_0x4789c1['province'],'city':_0x4789c1[_0xe36277(0x9c)],'sign':_0x4789c1[_0xe36277(0xca)],'bigheadimgurl':_0x4789c1[_0xe36277(0xa1)],'smallheadimgurl':_0x4789c1[_0xe36277(0xa3)],'ticket':_0x4789c1[_0xe36277(0xa6)]};}}catch(_0x18b398){console['error'](_0xe36277(0xbc),_0x18b398);}}[_0x5c0f3b(0xba)](){const _0x11b3a7=_0x5c0f3b,_0x78992f={'1':'搜索微信号','2':'查看QQ好友','3':_0x11b3a7(0xa5),'6':_0x11b3a7(0x9a),'10':'面对面建群','12':_0x11b3a7(0xb4),'14':_0x11b3a7(0xa9),'15':'手机通讯录','17':_0x11b3a7(0xb3),'18':_0x11b3a7(0xb7),'25':_0x11b3a7(0xaa),'29':_0x11b3a7(0x97)};return _0x78992f[this[_0x11b3a7(0xc0)][_0x11b3a7(0xc3)]||'']||'未知来源';}[_0x5c0f3b(0xa4)](){const _0x5943ea=_0x5c0f3b,_0x495674=this[_0x5943ea(0xc0)][_0x5943ea(0xbb)]||'用户',_0x1d6d6c=this['friendRequestInfo'][_0x5943ea(0x98)]||'';return'[好友请求]'+_0x495674+':'+_0x1d6d6c;}async[_0x5c0f3b(0xb9)](){const _0x17b7b8=_0x5c0f3b;return this[_0x17b7b8(0xa4)]();}}exports['AddFriendMessage']=AddFriendMessage;
|
|
@@ -1,124 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ChannelsVideoMessage = void 0;
|
|
4
|
-
const weChatMsgBase_1 = require("../weChatMsgBase");
|
|
5
|
-
const weChatMessageType_1 = require("../weChatMessageType");
|
|
6
|
-
const utils_1 = require("../../../utils");
|
|
7
|
-
/**
|
|
8
|
-
* 视频号消息类
|
|
9
|
-
* MsgType = 49, appmsg.type = 51
|
|
10
|
-
*
|
|
11
|
-
* 示例数据:
|
|
12
|
-
* {
|
|
13
|
-
* "MsgType": 49,
|
|
14
|
-
* "Content": {
|
|
15
|
-
* "string": "<?xml><msg><appmsg><type>51</type><title>...</title>..."
|
|
16
|
-
* }
|
|
17
|
-
* }
|
|
18
|
-
*/
|
|
19
|
-
class ChannelsVideoMessage extends weChatMsgBase_1.WeChatMsg {
|
|
20
|
-
constructor(data) {
|
|
21
|
-
super(data.Appid, data.api, data.Wxid, weChatMessageType_1.WeChatMessageType.AppMessage, data.Data.MsgId, data.Data.NewMsgId, data.Data.CreateTime, data.Data.FromUserName?.string || data.Data.FromUserName, data.Data.ToUserName?.string || data.Data.ToUserName, data.Data.MsgSource, data.Data.Content?.string || data.Data.Content, data.Data.PushContent?.string || data.Data.PushContent || '');
|
|
22
|
-
/** 视频号信息 */
|
|
23
|
-
this.channelsInfo = {};
|
|
24
|
-
/** 应用消息子类型 */
|
|
25
|
-
this.appMsgType = weChatMessageType_1.AppMessageSubType.ChannelsVideo;
|
|
26
|
-
// 解析视频号信息
|
|
27
|
-
this.parseChannelsInfo();
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* 解析视频号信息
|
|
31
|
-
*/
|
|
32
|
-
parseChannelsInfo() {
|
|
33
|
-
try {
|
|
34
|
-
const xmlObj = (0, utils_1.getXml2Json)(this.Content);
|
|
35
|
-
if (xmlObj?.msg?.appmsg) {
|
|
36
|
-
const appmsg = xmlObj.msg.appmsg;
|
|
37
|
-
this.channelsInfo = {
|
|
38
|
-
title: appmsg.title,
|
|
39
|
-
url: appmsg.url
|
|
40
|
-
};
|
|
41
|
-
// 解析finderFeed
|
|
42
|
-
if (appmsg.finderFeed) {
|
|
43
|
-
const feed = appmsg.finderFeed;
|
|
44
|
-
this.channelsInfo.finderFeed = {
|
|
45
|
-
objectId: feed.objectId,
|
|
46
|
-
feedType: parseInt(feed.feedType) || 0,
|
|
47
|
-
nickname: feed.nickname,
|
|
48
|
-
avatar: feed.avatar,
|
|
49
|
-
desc: feed.desc,
|
|
50
|
-
mediaCount: parseInt(feed.mediaCount) || 0,
|
|
51
|
-
objectNonceId: feed.objectNonceId,
|
|
52
|
-
liveId: feed.liveId,
|
|
53
|
-
username: feed.username
|
|
54
|
-
};
|
|
55
|
-
// 解析媒体列表
|
|
56
|
-
if (feed.mediaList?.media) {
|
|
57
|
-
const mediaArray = Array.isArray(feed.mediaList.media)
|
|
58
|
-
? feed.mediaList.media
|
|
59
|
-
: [feed.mediaList.media];
|
|
60
|
-
this.channelsInfo.finderFeed.mediaList = mediaArray.map(media => ({
|
|
61
|
-
mediaType: parseInt(media.mediaType) || 0,
|
|
62
|
-
url: media.url,
|
|
63
|
-
thumbUrl: media.thumbUrl,
|
|
64
|
-
width: parseInt(media.width) || 0,
|
|
65
|
-
height: parseInt(media.height) || 0,
|
|
66
|
-
coverUrl: media.coverUrl,
|
|
67
|
-
fullCoverUrl: media.fullCoverUrl,
|
|
68
|
-
videoPlayDuration: parseInt(media.videoPlayDuration) || 0
|
|
69
|
-
}));
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
catch (error) {
|
|
75
|
-
console.error('解析视频号信息失败:', error);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* 获取视频号作者昵称
|
|
80
|
-
*/
|
|
81
|
-
getAuthorNickname() {
|
|
82
|
-
return this.channelsInfo.finderFeed?.nickname || '视频号作者';
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* 获取视频号描述
|
|
86
|
-
*/
|
|
87
|
-
getDescription() {
|
|
88
|
-
return this.channelsInfo.finderFeed?.desc || '';
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* 获取视频时长(秒)
|
|
92
|
-
*/
|
|
93
|
-
getVideoDuration() {
|
|
94
|
-
const mediaList = this.channelsInfo.finderFeed?.mediaList;
|
|
95
|
-
if (mediaList && mediaList.length > 0) {
|
|
96
|
-
return mediaList[0].videoPlayDuration || 0;
|
|
97
|
-
}
|
|
98
|
-
return 0;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* 判断是否为直播
|
|
102
|
-
*/
|
|
103
|
-
isLive() {
|
|
104
|
-
const feedType = this.channelsInfo.finderFeed?.feedType || 0;
|
|
105
|
-
return feedType === 1; // feedType=1 表示直播
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* 获取消息描述
|
|
109
|
-
*/
|
|
110
|
-
getContent() {
|
|
111
|
-
const author = this.getAuthorNickname();
|
|
112
|
-
const desc = this.getDescription();
|
|
113
|
-
const type = this.isLive() ? '视频号直播' : '视频号';
|
|
114
|
-
return `[${type}]${author}${desc ? `: ${desc.substring(0, 20)}...` : ''}`;
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* 获取消息文本
|
|
118
|
-
*/
|
|
119
|
-
async getMsgText() {
|
|
120
|
-
return this.getContent();
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
exports.ChannelsVideoMessage = ChannelsVideoMessage;
|
|
124
|
-
//# sourceMappingURL=ChannelsVideoMessage.js.map
|
|
1
|
+
'use strict';const _0x2de313=_0x5239;(function(_0x2ad81a,_0x4d84da){const _0x39a119=_0x5239,_0x1e416c=_0x2ad81a();while(!![]){try{const _0x551246=parseInt(_0x39a119(0xf9))/0x1*(parseInt(_0x39a119(0xf0))/0x2)+parseInt(_0x39a119(0x11d))/0x3+-parseInt(_0x39a119(0x116))/0x4+parseInt(_0x39a119(0xfc))/0x5+parseInt(_0x39a119(0x108))/0x6*(parseInt(_0x39a119(0xf6))/0x7)+parseInt(_0x39a119(0xfd))/0x8*(parseInt(_0x39a119(0x105))/0x9)+-parseInt(_0x39a119(0x107))/0xa;if(_0x551246===_0x4d84da)break;else _0x1e416c['push'](_0x1e416c['shift']());}catch(_0x38c66f){_0x1e416c['push'](_0x1e416c['shift']());}}}(_0x5b33,0x1eed1));Object[_0x2de313(0x114)](exports,_0x2de313(0x11e),{'value':!![]}),exports[_0x2de313(0x10e)]=void 0x0;const weChatMsgBase_1=require(_0x2de313(0x100)),weChatMessageType_1=require(_0x2de313(0xf7)),utils_1=require(_0x2de313(0xf5));function _0x5239(_0x5a56a1,_0x4035da){_0x5a56a1=_0x5a56a1-0xee;const _0x5b337d=_0x5b33();let _0x523958=_0x5b337d[_0x5a56a1];if(_0x5239['LidERN']===undefined){var _0x14f346=function(_0x367f2c){const _0x14bbcd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x23c970='',_0x643f27='';for(let _0x54dc45=0x0,_0x1db509,_0x1764e1,_0x306e35=0x0;_0x1764e1=_0x367f2c['charAt'](_0x306e35++);~_0x1764e1&&(_0x1db509=_0x54dc45%0x4?_0x1db509*0x40+_0x1764e1:_0x1764e1,_0x54dc45++%0x4)?_0x23c970+=String['fromCharCode'](0xff&_0x1db509>>(-0x2*_0x54dc45&0x6)):0x0){_0x1764e1=_0x14bbcd['indexOf'](_0x1764e1);}for(let _0x4d32f8=0x0,_0x3a1ae6=_0x23c970['length'];_0x4d32f8<_0x3a1ae6;_0x4d32f8++){_0x643f27+='%'+('00'+_0x23c970['charCodeAt'](_0x4d32f8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x643f27);};_0x5239['izDwes']=_0x14f346,_0x5239['RtRtoa']={},_0x5239['LidERN']=!![];}const _0x4da274=_0x5b337d[0x0],_0x3cbbcd=_0x5a56a1+_0x4da274,_0x3d67ae=_0x5239['RtRtoa'][_0x3cbbcd];return!_0x3d67ae?(_0x523958=_0x5239['izDwes'](_0x523958),_0x5239['RtRtoa'][_0x3cbbcd]=_0x523958):_0x523958=_0x3d67ae,_0x523958;}class ChannelsVideoMessage extends weChatMsgBase_1[_0x2de313(0x118)]{constructor(_0x23c970){const _0x424385=_0x2de313;super(_0x23c970[_0x424385(0x129)],_0x23c970[_0x424385(0xfa)],_0x23c970['Wxid'],weChatMessageType_1['WeChatMessageType'][_0x424385(0xf8)],_0x23c970[_0x424385(0xee)]['MsgId'],_0x23c970[_0x424385(0xee)]['NewMsgId'],_0x23c970['Data'][_0x424385(0x127)],_0x23c970[_0x424385(0xee)][_0x424385(0x10d)]?.['string']||_0x23c970['Data'][_0x424385(0x10d)],_0x23c970[_0x424385(0xee)][_0x424385(0xfe)]?.[_0x424385(0x106)]||_0x23c970[_0x424385(0xee)][_0x424385(0xfe)],_0x23c970['Data'][_0x424385(0x109)],_0x23c970[_0x424385(0xee)][_0x424385(0x126)]?.[_0x424385(0x106)]||_0x23c970['Data'][_0x424385(0x126)],_0x23c970[_0x424385(0xee)][_0x424385(0x102)]?.[_0x424385(0x106)]||_0x23c970[_0x424385(0xee)][_0x424385(0x102)]||''),this[_0x424385(0x128)]={},this['appMsgType']=weChatMessageType_1['AppMessageSubType']['ChannelsVideo'],this['parseChannelsInfo']();}['parseChannelsInfo'](){const _0x31f458=_0x2de313;try{const _0x643f27=(0x0,utils_1['getXml2Json'])(this['Content']);if(_0x643f27?.[_0x31f458(0x10a)]?.[_0x31f458(0x10b)]){const _0x54dc45=_0x643f27[_0x31f458(0x10a)][_0x31f458(0x10b)];this[_0x31f458(0x128)]={'title':_0x54dc45[_0x31f458(0x125)],'url':_0x54dc45[_0x31f458(0x112)]};if(_0x54dc45[_0x31f458(0xf2)]){const _0x1db509=_0x54dc45[_0x31f458(0xf2)];this[_0x31f458(0x128)][_0x31f458(0xf2)]={'objectId':_0x1db509[_0x31f458(0x11c)],'feedType':parseInt(_0x1db509['feedType'])||0x0,'nickname':_0x1db509[_0x31f458(0xff)],'avatar':_0x1db509['avatar'],'desc':_0x1db509['desc'],'mediaCount':parseInt(_0x1db509[_0x31f458(0x101)])||0x0,'objectNonceId':_0x1db509[_0x31f458(0x119)],'liveId':_0x1db509[_0x31f458(0x111)],'username':_0x1db509[_0x31f458(0x11b)]};if(_0x1db509[_0x31f458(0x10c)]?.[_0x31f458(0x103)]){const _0x1764e1=Array[_0x31f458(0x117)](_0x1db509['mediaList']['media'])?_0x1db509['mediaList']['media']:[_0x1db509[_0x31f458(0x10c)][_0x31f458(0x103)]];this[_0x31f458(0x128)][_0x31f458(0xf2)]['mediaList']=_0x1764e1['map'](_0x306e35=>({'mediaType':parseInt(_0x306e35[_0x31f458(0x113)])||0x0,'url':_0x306e35[_0x31f458(0x112)],'thumbUrl':_0x306e35[_0x31f458(0xf1)],'width':parseInt(_0x306e35[_0x31f458(0x12b)])||0x0,'height':parseInt(_0x306e35[_0x31f458(0x115)])||0x0,'coverUrl':_0x306e35[_0x31f458(0xf3)],'fullCoverUrl':_0x306e35[_0x31f458(0x120)],'videoPlayDuration':parseInt(_0x306e35[_0x31f458(0x121)])||0x0}));}}}}catch(_0x4d32f8){console[_0x31f458(0x123)](_0x31f458(0xef),_0x4d32f8);}}['getAuthorNickname'](){const _0x5b0831=_0x2de313;return this[_0x5b0831(0x128)][_0x5b0831(0xf2)]?.[_0x5b0831(0xff)]||'视频号作者';}['getDescription'](){const _0x16ab0c=_0x2de313;return this[_0x16ab0c(0x128)]['finderFeed']?.[_0x16ab0c(0xf4)]||'';}['getVideoDuration'](){const _0x5232d9=_0x2de313,_0x3a1ae6=this[_0x5232d9(0x128)]['finderFeed']?.[_0x5232d9(0x10c)];if(_0x3a1ae6&&_0x3a1ae6['length']>0x0)return _0x3a1ae6[0x0][_0x5232d9(0x121)]||0x0;return 0x0;}[_0x2de313(0x12a)](){const _0xe9d12b=_0x2de313,_0x53c2ba=this[_0xe9d12b(0x128)][_0xe9d12b(0xf2)]?.[_0xe9d12b(0x124)]||0x0;return _0x53c2ba===0x1;}[_0x2de313(0x10f)](){const _0x5f16fd=_0x2de313,_0x4a64e0=this['getAuthorNickname'](),_0xe28c75=this[_0x5f16fd(0x11a)](),_0x146afb=this[_0x5f16fd(0x12a)]()?_0x5f16fd(0x104):_0x5f16fd(0x110);return'['+_0x146afb+']'+_0x4a64e0+(_0xe28c75?':\x20'+_0xe28c75[_0x5f16fd(0x122)](0x0,0x14)+_0x5f16fd(0xfb):'');}async[_0x2de313(0x11f)](){const _0x12f7cb=_0x2de313;return this[_0x12f7cb(0x10f)]();}}exports[_0x2de313(0x10e)]=ChannelsVideoMessage;function _0x5b33(){const _0x5204e2=['BgL2zuLK','DxjS','BwvKAwfuExbL','zgvMAw5LuhjVCgvYDhK','AgvPz2H0','mtK5mda4zMrOEufX','AxnbCNjHEq','v2vdAgf0txnN','B2jQzwn0tM9Uy2vjza','z2v0rgvZy3jPChrPB24','DxnLCM5HBwu','B2jQzwn0swq','nZuZmdaWy2XstKLQ','x19LC01VzhvSzq','z2v0txnNvgv4Da','zNvSBenVDMvYvxjS','DMLKzw9qBgf5rhvYyxrPB24','C3vIC3rYAw5N','zxjYB3i','zMvLzfr5Cgu','DgL0Bgu','q29UDgvUDa','q3jLyxrLvgLTzq','y2HHBM5LBhnjBMzV','qxbWAwq','AxnmAxzL','D2LKDgG','rgf0yq','6kEJ5P6q6kEg6Akr5y+35l+H5OgV5AsX6lsLoG','ndK0mdm4wKfItLrY','DgH1BwjvCMW','zMLUzgvYrMvLza','y292zxjvCMW','zgvZyW','lI4VlI4VlI4VDxrPBhm','n2jXr1bcsW','lI4VD2vdAgf0twvZC2fNzvr5Cgu','qxbWtwvZC2fNzq','mxfQrwnhsq','yxbP','lI4U','odiZnJy1EeHZDKnb','mZj0zxLZu2q','vg9vC2vYtMfTzq','BMLJA25HBwu','lI4VD2vdAgf0txnNqMfZzq','BwvKAwfdB3vUDa','uhvZAenVBNrLBNq','BwvKAwe','6kEg6Akr5y+355U05PkT','mZC5mZK1r1fZAgrZ','C3rYAw5N','nZCYmZa4mfLtvuPzqG','nZa0mty2uMDVrffX','txnNu291CMnL','BxnN','yxbWBxnN','BwvKAwfmAxn0','rNjVBvvZzxjoyw1L','q2HHBM5LBhnwAwrLB01LC3nHz2u','z2v0q29UDgvUDa','6kEg6Akr5y+3'];_0x5b33=function(){return _0x5204e2;};return _0x5b33();}
|
|
@@ -1,81 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ContactMessage = void 0;
|
|
4
|
-
const weChatMsgBase_1 = require("../weChatMsgBase");
|
|
5
|
-
const weChatMessageType_1 = require("../weChatMessageType");
|
|
6
|
-
const utils_1 = require("../../../utils");
|
|
7
|
-
/**
|
|
8
|
-
* 名片消息类
|
|
9
|
-
* MsgType = 42
|
|
10
|
-
*
|
|
11
|
-
* 示例数据:
|
|
12
|
-
* {
|
|
13
|
-
* "MsgType": 42,
|
|
14
|
-
* "Content": { "string": "<?xml...名片信息..." }
|
|
15
|
-
* }
|
|
16
|
-
*/
|
|
17
|
-
class ContactMessage extends weChatMsgBase_1.WeChatMsg {
|
|
18
|
-
constructor(data) {
|
|
19
|
-
super(data.Appid, data.api, data.Wxid, weChatMessageType_1.WeChatMessageType.Contact, data.Data.MsgId, data.Data.NewMsgId, data.Data.CreateTime, data.Data.FromUserName?.string || data.Data.FromUserName, data.Data.ToUserName?.string || data.Data.ToUserName, data.Data.MsgSource, data.Data.Content?.string || data.Data.Content, data.Data.PushContent?.string || data.Data.PushContent || '');
|
|
20
|
-
/** 名片信息 */
|
|
21
|
-
this.cardInfo = {};
|
|
22
|
-
// 解析名片信息
|
|
23
|
-
this.parseContactInfo();
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* 解析名片信息
|
|
27
|
-
*/
|
|
28
|
-
parseContactInfo() {
|
|
29
|
-
try {
|
|
30
|
-
const xmlObj = (0, utils_1.getXml2Json)(this.Content);
|
|
31
|
-
if (xmlObj?.msg) {
|
|
32
|
-
const msg = xmlObj.msg;
|
|
33
|
-
this.cardInfo = {
|
|
34
|
-
username: msg.username,
|
|
35
|
-
nickname: msg.nickname,
|
|
36
|
-
fullpy: msg.fullpy,
|
|
37
|
-
shortpy: msg.shortpy,
|
|
38
|
-
alias: msg.alias,
|
|
39
|
-
sex: parseInt(msg.sex) || 0,
|
|
40
|
-
province: msg.province,
|
|
41
|
-
city: msg.city,
|
|
42
|
-
sign: msg.sign,
|
|
43
|
-
bigheadimgurl: msg.bigheadimgurl,
|
|
44
|
-
smallheadimgurl: msg.smallheadimgurl,
|
|
45
|
-
antispamticket: msg.antispamticket
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
console.error('解析名片信息失败:', error);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* 获取性别描述
|
|
55
|
-
*/
|
|
56
|
-
getSexText() {
|
|
57
|
-
switch (this.cardInfo.sex) {
|
|
58
|
-
case 1:
|
|
59
|
-
return '男';
|
|
60
|
-
case 2:
|
|
61
|
-
return '女';
|
|
62
|
-
default:
|
|
63
|
-
return '未知';
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* 获取消息描述
|
|
68
|
-
*/
|
|
69
|
-
getContent() {
|
|
70
|
-
const nickname = this.cardInfo.nickname || '未知';
|
|
71
|
-
return `[名片]${nickname}`;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* 获取消息文本
|
|
75
|
-
*/
|
|
76
|
-
async getMsgText() {
|
|
77
|
-
return this.getContent();
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
exports.ContactMessage = ContactMessage;
|
|
81
|
-
//# sourceMappingURL=ContactMessage.js.map
|
|
1
|
+
'use strict';const _0x1f8bab=_0x5369;(function(_0x15c413,_0x39d876){const _0x46bc44=_0x5369,_0x568256=_0x15c413();while(!![]){try{const _0x30bb39=-parseInt(_0x46bc44(0x11a))/0x1+parseInt(_0x46bc44(0x124))/0x2+-parseInt(_0x46bc44(0x10c))/0x3+-parseInt(_0x46bc44(0x109))/0x4*(-parseInt(_0x46bc44(0x114))/0x5)+-parseInt(_0x46bc44(0x121))/0x6+-parseInt(_0x46bc44(0x10f))/0x7*(parseInt(_0x46bc44(0x115))/0x8)+parseInt(_0x46bc44(0x116))/0x9;if(_0x30bb39===_0x39d876)break;else _0x568256['push'](_0x568256['shift']());}catch(_0x2e32e5){_0x568256['push'](_0x568256['shift']());}}}(_0xd4de,0xd280e));Object['defineProperty'](exports,_0x1f8bab(0x133),{'value':!![]}),exports[_0x1f8bab(0x128)]=void 0x0;function _0x5369(_0x4f1860,_0x235de0){_0x4f1860=_0x4f1860-0x106;const _0xd4dead=_0xd4de();let _0x536933=_0xd4dead[_0x4f1860];if(_0x5369['xcfIhm']===undefined){var _0x38272c=function(_0x566df9){const _0x2a0e4d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa4ddd5='',_0x183c7b='';for(let _0x5f214c=0x0,_0x1ab531,_0x1ae237,_0x50c4f5=0x0;_0x1ae237=_0x566df9['charAt'](_0x50c4f5++);~_0x1ae237&&(_0x1ab531=_0x5f214c%0x4?_0x1ab531*0x40+_0x1ae237:_0x1ae237,_0x5f214c++%0x4)?_0xa4ddd5+=String['fromCharCode'](0xff&_0x1ab531>>(-0x2*_0x5f214c&0x6)):0x0){_0x1ae237=_0x2a0e4d['indexOf'](_0x1ae237);}for(let _0x12fd3a=0x0,_0x3cc461=_0xa4ddd5['length'];_0x12fd3a<_0x3cc461;_0x12fd3a++){_0x183c7b+='%'+('00'+_0xa4ddd5['charCodeAt'](_0x12fd3a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x183c7b);};_0x5369['QMGgdY']=_0x38272c,_0x5369['QmLBjc']={},_0x5369['xcfIhm']=!![];}const _0x3cd8f1=_0xd4dead[0x0],_0x7c68f4=_0x4f1860+_0x3cd8f1,_0x4ca4e9=_0x5369['QmLBjc'][_0x7c68f4];return!_0x4ca4e9?(_0x536933=_0x5369['QMGgdY'](_0x536933),_0x5369['QmLBjc'][_0x7c68f4]=_0x536933):_0x536933=_0x4ca4e9,_0x536933;}function _0xd4de(){const _0x7d7c57=['C2HVCNrWEq','nJC5otG0mLz3uxHcCW','ChjVDMLUy2u','z2v0u2v4vgv4Da','otq2mduYAgr2zhvs','BMLJA25HBwu','q3jLyxrLvgLTzq','y2L0Eq','q29UDgfJDe1LC3nHz2u','zxjYB3i','lI4VD2vdAgf0twvZC2fNzvr5Cgu','yxbP','qxbWAwq','vg9vC2vYtMfTzq','C2v4','yMLNAgvHzgLTz3vYBa','C2LNBG','v2vdAgf0twvZC2fNzvr5Cgu','rgf0yq','x19LC01VzhvSzq','z2v0txnNvgv4Da','C3rYAw5N','DxnLCM5HBwu','ndi4z0X3Bunb','txnNu291CMnL','y2fYzeLUzM8','ndGYodyWoeTAEM1QCG','C21HBgXOzwfKAw1NDxjS','q29UDgfJDa','n0furhjhtG','v2vdAgf0txnN','rNjVBvvZzxjoyw1L','tMv3txnNswq','q29UDgvUDa','ndaWndv3DKT6C3q','mJy5mJy0DMjkDMro','mZaXmJa1mZrRA1rdBw4','v3HPza','BxnN','CgfYC2vdB250ywn0sw5MBW','mtaZnZK5mLbrv1bLBa','z2v0wg1SmKPZB24','zNvSBhb5','uhvZAenVBNrLBNq','ywXPyxm','z2v0q29UDgvUDa'];_0xd4de=function(){return _0x7d7c57;};return _0xd4de();}const weChatMsgBase_1=require('../weChatMsgBase'),weChatMessageType_1=require(_0x1f8bab(0x12a)),utils_1=require('../../../utils');class ContactMessage extends weChatMsgBase_1[_0x1f8bab(0x110)]{constructor(_0xa4ddd5){const _0xe3adb4=_0x1f8bab;super(_0xa4ddd5[_0xe3adb4(0x12c)],_0xa4ddd5[_0xe3adb4(0x12b)],_0xa4ddd5[_0xe3adb4(0x117)],weChatMessageType_1[_0xe3adb4(0x131)][_0xe3adb4(0x10e)],_0xa4ddd5['Data']['MsgId'],_0xa4ddd5[_0xe3adb4(0x132)][_0xe3adb4(0x112)],_0xa4ddd5['Data'][_0xe3adb4(0x126)],_0xa4ddd5[_0xe3adb4(0x132)][_0xe3adb4(0x111)]?.[_0xe3adb4(0x107)]||_0xa4ddd5[_0xe3adb4(0x132)][_0xe3adb4(0x111)],_0xa4ddd5['Data']['ToUserName']?.['string']||_0xa4ddd5[_0xe3adb4(0x132)][_0xe3adb4(0x12d)],_0xa4ddd5[_0xe3adb4(0x132)][_0xe3adb4(0x10a)],_0xa4ddd5[_0xe3adb4(0x132)][_0xe3adb4(0x113)]?.[_0xe3adb4(0x107)]||_0xa4ddd5[_0xe3adb4(0x132)][_0xe3adb4(0x113)],_0xa4ddd5[_0xe3adb4(0x132)][_0xe3adb4(0x11d)]?.[_0xe3adb4(0x107)]||_0xa4ddd5[_0xe3adb4(0x132)][_0xe3adb4(0x11d)]||''),this[_0xe3adb4(0x10b)]={},this[_0xe3adb4(0x119)]();}[_0x1f8bab(0x119)](){const _0x4a78a5=_0x1f8bab;try{const _0x183c7b=(0x0,utils_1[_0x4a78a5(0x11b)])(this[_0x4a78a5(0x113)]);if(_0x183c7b?.['msg']){const _0x5f214c=_0x183c7b[_0x4a78a5(0x118)];this[_0x4a78a5(0x10b)]={'username':_0x5f214c[_0x4a78a5(0x108)],'nickname':_0x5f214c[_0x4a78a5(0x125)],'fullpy':_0x5f214c[_0x4a78a5(0x11c)],'shortpy':_0x5f214c[_0x4a78a5(0x120)],'alias':_0x5f214c[_0x4a78a5(0x11e)],'sex':parseInt(_0x5f214c[_0x4a78a5(0x12e)])||0x0,'province':_0x5f214c[_0x4a78a5(0x122)],'city':_0x5f214c[_0x4a78a5(0x127)],'sign':_0x5f214c[_0x4a78a5(0x130)],'bigheadimgurl':_0x5f214c[_0x4a78a5(0x12f)],'smallheadimgurl':_0x5f214c[_0x4a78a5(0x10d)],'antispamticket':_0x5f214c['antispamticket']};}}catch(_0x1ab531){console[_0x4a78a5(0x129)]('解析名片信息失败:',_0x1ab531);}}[_0x1f8bab(0x123)](){const _0x288e5d=_0x1f8bab;switch(this[_0x288e5d(0x10b)][_0x288e5d(0x12e)]){case 0x1:return'男';case 0x2:return'女';default:return'未知';}}[_0x1f8bab(0x11f)](){const _0x4f7433=_0x1f8bab,_0x1ae237=this[_0x4f7433(0x10b)][_0x4f7433(0x125)]||'未知';return'[名片]'+_0x1ae237;}async[_0x1f8bab(0x106)](){return this['getContent']();}}exports[_0x1f8bab(0x128)]=ContactMessage;
|
|
@@ -1,74 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EmojiMessage = void 0;
|
|
4
|
-
const weChatMsgBase_1 = require("../weChatMsgBase");
|
|
5
|
-
const weChatMessageType_1 = require("../weChatMessageType");
|
|
6
|
-
const utils_1 = require("../../../utils");
|
|
7
|
-
/**
|
|
8
|
-
* Emoji表情消息类
|
|
9
|
-
* MsgType = 47
|
|
10
|
-
*
|
|
11
|
-
* 示例数据:
|
|
12
|
-
* {
|
|
13
|
-
* "MsgType": 47,
|
|
14
|
-
* "Content": { "string": "<msg><emoji md5=\"cc567...\" .../></msg>" }
|
|
15
|
-
* }
|
|
16
|
-
*/
|
|
17
|
-
class EmojiMessage extends weChatMsgBase_1.WeChatMsg {
|
|
18
|
-
constructor(data) {
|
|
19
|
-
super(data.Appid, data.api, data.Wxid, weChatMessageType_1.WeChatMessageType.Emoji, data.Data.MsgId, data.Data.NewMsgId, data.Data.CreateTime, data.Data.FromUserName?.string || data.Data.FromUserName, data.Data.ToUserName?.string || data.Data.ToUserName, data.Data.MsgSource, data.Data.Content?.string || data.Data.Content, data.Data.PushContent?.string || data.Data.PushContent || '');
|
|
20
|
-
/** 表情信息 */
|
|
21
|
-
this.emojiInfo = {};
|
|
22
|
-
// 解析表情信息
|
|
23
|
-
this.parseEmojiInfo();
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* 解析表情信息
|
|
27
|
-
*/
|
|
28
|
-
parseEmojiInfo() {
|
|
29
|
-
try {
|
|
30
|
-
const xmlObj = (0, utils_1.getXml2Json)(this.Content);
|
|
31
|
-
if (xmlObj?.msg?.emoji) {
|
|
32
|
-
const emoji = xmlObj.msg.emoji;
|
|
33
|
-
this.emojiInfo = {
|
|
34
|
-
md5: emoji.md5,
|
|
35
|
-
len: parseInt(emoji.len) || 0,
|
|
36
|
-
cdnurl: emoji.cdnurl,
|
|
37
|
-
encrypturl: emoji.encrypturl,
|
|
38
|
-
aeskey: emoji.aeskey,
|
|
39
|
-
externurl: emoji.externurl,
|
|
40
|
-
externmd5: emoji.externmd5,
|
|
41
|
-
width: parseInt(emoji.width) || 0,
|
|
42
|
-
height: parseInt(emoji.height) || 0
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
catch (error) {
|
|
47
|
-
console.error('解析emoji信息失败:', error);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* 获取表情数据(用于发送emoji)
|
|
52
|
-
*/
|
|
53
|
-
getEmojiData() {
|
|
54
|
-
return {
|
|
55
|
-
md5: this.emojiInfo.md5 || '',
|
|
56
|
-
size: this.emojiInfo.len || 0,
|
|
57
|
-
url: this.emojiInfo.cdnurl || ''
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* 获取消息描述
|
|
62
|
-
*/
|
|
63
|
-
getContent() {
|
|
64
|
-
return '[动画表情]';
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* 获取消息文本(返回JSON格式的emoji数据)
|
|
68
|
-
*/
|
|
69
|
-
async getMsgText() {
|
|
70
|
-
return JSON.stringify(this.getEmojiData());
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
exports.EmojiMessage = EmojiMessage;
|
|
74
|
-
//# sourceMappingURL=EmojiMessage.js.map
|
|
1
|
+
'use strict';function _0xbed0(_0x28c4ba,_0xd6416f){_0x28c4ba=_0x28c4ba-0x144;const _0x5d3bd8=_0x5d3b();let _0xbed009=_0x5d3bd8[_0x28c4ba];if(_0xbed0['riCsVl']===undefined){var _0x541a62=function(_0x48725a){const _0x13ce10='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1b4c19='',_0x38cef2='';for(let _0x2cd6fa=0x0,_0x1124f7,_0x301be0,_0x11ebfa=0x0;_0x301be0=_0x48725a['charAt'](_0x11ebfa++);~_0x301be0&&(_0x1124f7=_0x2cd6fa%0x4?_0x1124f7*0x40+_0x301be0:_0x301be0,_0x2cd6fa++%0x4)?_0x1b4c19+=String['fromCharCode'](0xff&_0x1124f7>>(-0x2*_0x2cd6fa&0x6)):0x0){_0x301be0=_0x13ce10['indexOf'](_0x301be0);}for(let _0x339623=0x0,_0x29e0b2=_0x1b4c19['length'];_0x339623<_0x29e0b2;_0x339623++){_0x38cef2+='%'+('00'+_0x1b4c19['charCodeAt'](_0x339623)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x38cef2);};_0xbed0['YehcrE']=_0x541a62,_0xbed0['iAYdbH']={},_0xbed0['riCsVl']=!![];}const _0x3e76b6=_0x5d3bd8[0x0],_0x1ea6aa=_0x28c4ba+_0x3e76b6,_0x2025de=_0xbed0['iAYdbH'][_0x1ea6aa];return!_0x2025de?(_0xbed009=_0xbed0['YehcrE'](_0xbed009),_0xbed0['iAYdbH'][_0x1ea6aa]=_0xbed009):_0xbed009=_0x2025de,_0xbed009;}const _0x161b4c=_0xbed0;(function(_0x4196fd,_0x472717){const _0x60f27b=_0xbed0,_0x14fd7f=_0x4196fd();while(!![]){try{const _0x1c1274=-parseInt(_0x60f27b(0x148))/0x1+-parseInt(_0x60f27b(0x149))/0x2*(-parseInt(_0x60f27b(0x151))/0x3)+-parseInt(_0x60f27b(0x14d))/0x4*(parseInt(_0x60f27b(0x159))/0x5)+-parseInt(_0x60f27b(0x147))/0x6+-parseInt(_0x60f27b(0x156))/0x7+parseInt(_0x60f27b(0x16c))/0x8+parseInt(_0x60f27b(0x154))/0x9*(parseInt(_0x60f27b(0x15e))/0xa);if(_0x1c1274===_0x472717)break;else _0x14fd7f['push'](_0x14fd7f['shift']());}catch(_0x35a45b){_0x14fd7f['push'](_0x14fd7f['shift']());}}}(_0x5d3b,0x873f0));Object[_0x161b4c(0x167)](exports,'__esModule',{'value':!![]}),exports['EmojiMessage']=void 0x0;const weChatMsgBase_1=require(_0x161b4c(0x158)),weChatMessageType_1=require('../weChatMessageType'),utils_1=require(_0x161b4c(0x15c));class EmojiMessage extends weChatMsgBase_1[_0x161b4c(0x14f)]{constructor(_0x1b4c19){const _0x4c5670=_0x161b4c;super(_0x1b4c19[_0x4c5670(0x162)],_0x1b4c19['api'],_0x1b4c19[_0x4c5670(0x16e)],weChatMessageType_1[_0x4c5670(0x14c)][_0x4c5670(0x150)],_0x1b4c19[_0x4c5670(0x163)][_0x4c5670(0x155)],_0x1b4c19[_0x4c5670(0x163)][_0x4c5670(0x15d)],_0x1b4c19['Data'][_0x4c5670(0x15b)],_0x1b4c19[_0x4c5670(0x163)]['FromUserName']?.[_0x4c5670(0x152)]||_0x1b4c19['Data'][_0x4c5670(0x145)],_0x1b4c19[_0x4c5670(0x163)][_0x4c5670(0x146)]?.[_0x4c5670(0x152)]||_0x1b4c19[_0x4c5670(0x163)][_0x4c5670(0x146)],_0x1b4c19[_0x4c5670(0x163)]['MsgSource'],_0x1b4c19[_0x4c5670(0x163)][_0x4c5670(0x14b)]?.['string']||_0x1b4c19[_0x4c5670(0x163)][_0x4c5670(0x14b)],_0x1b4c19[_0x4c5670(0x163)][_0x4c5670(0x16f)]?.[_0x4c5670(0x152)]||_0x1b4c19[_0x4c5670(0x163)]['PushContent']||''),this['emojiInfo']={},this[_0x4c5670(0x161)]();}[_0x161b4c(0x161)](){const _0x5c1435=_0x161b4c;try{const _0x38cef2=(0x0,utils_1[_0x5c1435(0x153)])(this[_0x5c1435(0x14b)]);if(_0x38cef2?.[_0x5c1435(0x164)]?.['emoji']){const _0x2cd6fa=_0x38cef2[_0x5c1435(0x164)][_0x5c1435(0x170)];this[_0x5c1435(0x166)]={'md5':_0x2cd6fa[_0x5c1435(0x169)],'len':parseInt(_0x2cd6fa[_0x5c1435(0x165)])||0x0,'cdnurl':_0x2cd6fa[_0x5c1435(0x16b)],'encrypturl':_0x2cd6fa[_0x5c1435(0x16d)],'aeskey':_0x2cd6fa['aeskey'],'externurl':_0x2cd6fa[_0x5c1435(0x14a)],'externmd5':_0x2cd6fa[_0x5c1435(0x157)],'width':parseInt(_0x2cd6fa['width'])||0x0,'height':parseInt(_0x2cd6fa[_0x5c1435(0x16a)])||0x0};}}catch(_0x1124f7){console[_0x5c1435(0x15f)]('解析emoji信息失败:',_0x1124f7);}}[_0x161b4c(0x14e)](){const _0x5eff7a=_0x161b4c;return{'md5':this[_0x5eff7a(0x166)]['md5']||'','size':this[_0x5eff7a(0x166)]['len']||0x0,'url':this[_0x5eff7a(0x166)][_0x5eff7a(0x16b)]||''};}[_0x161b4c(0x160)](){const _0x3bb44b=_0x161b4c;return _0x3bb44b(0x144);}async[_0x161b4c(0x15a)](){const _0x44a198=_0x161b4c;return JSON[_0x44a198(0x168)](this[_0x44a198(0x14e)]());}}function _0x5d3b(){const _0x35f5ea=['CgfYC2vfBw9QAuLUzM8','qxbWAwq','rgf0yq','BxnN','BgvU','zw1VAMLjBMzV','zgvMAw5LuhjVCgvYDhK','C3rYAw5NAwz5','Bwq1','AgvPz2H0','y2rUDxjS','nJmWmtq5nNPTzhjYva','zw5JCNLWDhvYBa','v3HPza','uhvZAenVBNrLBNq','zw1VAMK','w+wkQoEuU+IHQoAdHv0','rNjVBvvZzxjoyw1L','vg9vC2vYtMfTzq','mtq2odaYq1HZCefP','nJKXnZaYtvDfuLvf','nJu0teTcvxj5','zxH0zxjUDxjS','q29UDgvUDa','v2vdAgf0twvZC2fNzvr5Cgu','mta4zLr3CNHk','z2v0rw1VAMLeyxrH','v2vdAgf0txnN','rw1VAMK','odmXC2DAuwvg','C3rYAw5N','z2v0wg1SmKPZB24','owfsv3DTsq','txnNswq','ndKYmJe5n0rvBg5vwG','zxH0zxjUBwq1','lI4VD2vdAgf0txnNqMfZzq','mJuWmdvmBerQAey','z2v0txnNvgv4Da','q3jLyxrLvgLTzq','lI4VlI4VlI4VDxrPBhm','tMv3txnNswq','mtiZmda2otb6DLLWtfC','zxjYB3i','z2v0q29UDgvUDa'];_0x5d3b=function(){return _0x35f5ea;};return _0x5d3b();}exports['EmojiMessage']=EmojiMessage;
|
|
@@ -1,127 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FileMessage = void 0;
|
|
4
|
-
const weChatMsgBase_1 = require("../weChatMsgBase");
|
|
5
|
-
const weChatMessageType_1 = require("../weChatMessageType");
|
|
6
|
-
const utils_1 = require("../../../utils");
|
|
7
|
-
/**
|
|
8
|
-
* 文件消息类
|
|
9
|
-
* MsgType = 49, appmsg.type = 6 或 74
|
|
10
|
-
*
|
|
11
|
-
* type=74: 文件发送中通知(不可用于转发和下载)
|
|
12
|
-
* type=6: 文件发送完成(可用于转发和下载)
|
|
13
|
-
*
|
|
14
|
-
* 示例数据:
|
|
15
|
-
* {
|
|
16
|
-
* "MsgType": 49,
|
|
17
|
-
* "Content": {
|
|
18
|
-
* "string": "<?xml><msg><appmsg><type>6</type><title>file.xlsx</title>..."
|
|
19
|
-
* }
|
|
20
|
-
* }
|
|
21
|
-
*/
|
|
22
|
-
class FileMessage extends weChatMsgBase_1.WeChatMsg {
|
|
23
|
-
constructor(data) {
|
|
24
|
-
super(data.Appid, data.api, data.Wxid, weChatMessageType_1.WeChatMessageType.AppMessage, data.Data.MsgId, data.Data.NewMsgId, data.Data.CreateTime, data.Data.FromUserName?.string || data.Data.FromUserName, data.Data.ToUserName?.string || data.Data.ToUserName, data.Data.MsgSource, data.Data.Content?.string || data.Data.Content, data.Data.PushContent?.string || data.Data.PushContent || '');
|
|
25
|
-
/** 文件信息 */
|
|
26
|
-
this.fileInfo = {};
|
|
27
|
-
/** 是否为发送完成状态 */
|
|
28
|
-
this._isComplete = false;
|
|
29
|
-
// 解析文件信息
|
|
30
|
-
this.appMsgType = this.parseFileInfo();
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* 解析文件信息
|
|
34
|
-
* @returns 应用消息子类型
|
|
35
|
-
*/
|
|
36
|
-
parseFileInfo() {
|
|
37
|
-
try {
|
|
38
|
-
const xmlObj = (0, utils_1.getXml2Json)(this.Content);
|
|
39
|
-
if (xmlObj?.msg?.appmsg) {
|
|
40
|
-
const appmsg = xmlObj.msg.appmsg;
|
|
41
|
-
const appMsgType = parseInt(appmsg.type) || weChatMessageType_1.AppMessageSubType.File;
|
|
42
|
-
// 判断是否为发送完成状态
|
|
43
|
-
this._isComplete = appMsgType === weChatMessageType_1.AppMessageSubType.File;
|
|
44
|
-
this.fileInfo = {
|
|
45
|
-
title: appmsg.title
|
|
46
|
-
};
|
|
47
|
-
// 解析附件信息
|
|
48
|
-
if (appmsg.appattach) {
|
|
49
|
-
const attach = appmsg.appattach;
|
|
50
|
-
this.fileInfo.totallen = parseInt(attach.totallen) || 0;
|
|
51
|
-
this.fileInfo.fileext = attach.fileext;
|
|
52
|
-
this.fileInfo.cdnattachurl = attach.cdnattachurl;
|
|
53
|
-
this.fileInfo.aeskey = attach.aeskey;
|
|
54
|
-
this.fileInfo.attachid = attach.attachid;
|
|
55
|
-
this.fileInfo.fileuploadtoken = attach.fileuploadtoken;
|
|
56
|
-
this.fileInfo.encryver = attach.encryver;
|
|
57
|
-
this.fileInfo.overwrite_newmsgid = attach.overwrite_newmsgid;
|
|
58
|
-
}
|
|
59
|
-
// MD5信息
|
|
60
|
-
this.fileInfo.md5 = appmsg.md5;
|
|
61
|
-
return appMsgType;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
catch (error) {
|
|
65
|
-
console.error('解析文件信息失败:', error);
|
|
66
|
-
}
|
|
67
|
-
return weChatMessageType_1.AppMessageSubType.File;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* 判断文件是否发送完成
|
|
71
|
-
* 只有发送完成的文件才能进行转发和下载
|
|
72
|
-
*/
|
|
73
|
-
isComplete() {
|
|
74
|
-
return this._isComplete;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* 判断文件是否正在发送中
|
|
78
|
-
*/
|
|
79
|
-
isSending() {
|
|
80
|
-
return !this._isComplete;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* 获取文件大小描述
|
|
84
|
-
*/
|
|
85
|
-
getFileSizeText() {
|
|
86
|
-
const size = this.fileInfo.totallen || 0;
|
|
87
|
-
if (size < 1024) {
|
|
88
|
-
return `${size}B`;
|
|
89
|
-
}
|
|
90
|
-
else if (size < 1024 * 1024) {
|
|
91
|
-
return `${(size / 1024).toFixed(2)}KB`;
|
|
92
|
-
}
|
|
93
|
-
else if (size < 1024 * 1024 * 1024) {
|
|
94
|
-
return `${(size / (1024 * 1024)).toFixed(2)}MB`;
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
return `${(size / (1024 * 1024 * 1024)).toFixed(2)}GB`;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* 获取消息描述
|
|
102
|
-
*/
|
|
103
|
-
getContent() {
|
|
104
|
-
const fileName = this.fileInfo.title || '文件';
|
|
105
|
-
const fileSize = this.getFileSizeText();
|
|
106
|
-
const status = this.isComplete() ? '' : '(发送中)';
|
|
107
|
-
return `[文件${status}]${fileName} (${fileSize})`;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* 获取消息文本
|
|
111
|
-
*/
|
|
112
|
-
async getMsgText() {
|
|
113
|
-
return this.getContent();
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* 获取文件下载URL(仅发送完成后可用)
|
|
117
|
-
*/
|
|
118
|
-
getDownloadUrl() {
|
|
119
|
-
if (!this.isComplete()) {
|
|
120
|
-
console.warn('文件尚未发送完成,无法获取下载URL');
|
|
121
|
-
return null;
|
|
122
|
-
}
|
|
123
|
-
return this.fileInfo.cdnattachurl || null;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
exports.FileMessage = FileMessage;
|
|
127
|
-
//# sourceMappingURL=FileMessage.js.map
|
|
1
|
+
'use strict';const _0x14429f=_0x25b3;(function(_0x252d1e,_0x478961){const _0x4160f0=_0x25b3,_0x852d19=_0x252d1e();while(!![]){try{const _0x2c0dc3=-parseInt(_0x4160f0(0x160))/0x1+-parseInt(_0x4160f0(0x15c))/0x2*(-parseInt(_0x4160f0(0x171))/0x3)+-parseInt(_0x4160f0(0x155))/0x4+-parseInt(_0x4160f0(0x165))/0x5+-parseInt(_0x4160f0(0x179))/0x6*(parseInt(_0x4160f0(0x158))/0x7)+parseInt(_0x4160f0(0x14a))/0x8*(-parseInt(_0x4160f0(0x14f))/0x9)+parseInt(_0x4160f0(0x167))/0xa*(parseInt(_0x4160f0(0x15a))/0xb);if(_0x2c0dc3===_0x478961)break;else _0x852d19['push'](_0x852d19['shift']());}catch(_0x486c9c){_0x852d19['push'](_0x852d19['shift']());}}}(_0x5e58,0xe408f));function _0x25b3(_0x4033db,_0x5bc1cc){_0x4033db=_0x4033db-0x14a;const _0x5e58ff=_0x5e58();let _0x25b3ce=_0x5e58ff[_0x4033db];if(_0x25b3['yqzpfh']===undefined){var _0x18462f=function(_0xb123ab){const _0x44604f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x418c2a='',_0x5949be='';for(let _0x251852=0x0,_0x58c7b2,_0x5d1f5a,_0x213815=0x0;_0x5d1f5a=_0xb123ab['charAt'](_0x213815++);~_0x5d1f5a&&(_0x58c7b2=_0x251852%0x4?_0x58c7b2*0x40+_0x5d1f5a:_0x5d1f5a,_0x251852++%0x4)?_0x418c2a+=String['fromCharCode'](0xff&_0x58c7b2>>(-0x2*_0x251852&0x6)):0x0){_0x5d1f5a=_0x44604f['indexOf'](_0x5d1f5a);}for(let _0x525a60=0x0,_0x164490=_0x418c2a['length'];_0x525a60<_0x164490;_0x525a60++){_0x5949be+='%'+('00'+_0x418c2a['charCodeAt'](_0x525a60)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5949be);};_0x25b3['qFEgCb']=_0x18462f,_0x25b3['CMdXYs']={},_0x25b3['yqzpfh']=!![];}const _0x34330a=_0x5e58ff[0x0],_0x3849cc=_0x4033db+_0x34330a,_0x1aa800=_0x25b3['CMdXYs'][_0x3849cc];return!_0x1aa800?(_0x25b3ce=_0x25b3['qFEgCb'](_0x25b3ce),_0x25b3['CMdXYs'][_0x3849cc]=_0x25b3ce):_0x25b3ce=_0x1aa800,_0x25b3ce;}Object[_0x14429f(0x15b)](exports,'__esModule',{'value':!![]}),exports[_0x14429f(0x15f)]=void 0x0;function _0x5e58(){const _0x27d2f5=['yxbWBxnN','z2v0rg93BMXVywrvCMW','Bwq1','txnNswq','rgf0yq','6kEJ5P6q5PAh5lU25l+H5OgV5AsX6lsLoG','Dg90ywXSzw4','odu4nZqXr0z1Bvn4','z2v0wg1SmKPZB24','rNjVBvvZzxjoyw1L','5PAh5lU25BcA5PYQ5y+r6ycb5A6m5OIq77Ym5PEG5Rov6i635y+w5lIl6l29vvjm','Dg9gAxHLza','lI4VlI4VlI4VDxrPBhm','lI4VD2vdAgf0twvZC2fNzvr5Cgu','ywvZA2v5','mte2nZGYmKL4vK1PuG','C3rYAw5N','rMLSzq','D2fYBG','y2rUyxr0ywnODxjS','zw5JCNL2zxi','uhvZAenVBNrLBNq','zMLSzwv4Da','yxbP','z2v0rMLSzvnPEMvuzxH0','zMLSzxvWBg9HzhrVA2vU','mJa4otzpwwvtrMK','txnNu291CMnL','x2LZq29TCgXLDgu','zMLSzuLUzM8','Axntzw5KAw5N','mJqZEg9UEKTz','tMv3txnNswq','vg9vC2vYtMfTzq','v2vdAgf0twvZC2fNzvr5Cgu','AxndB21WBgv0zq','z2v0q29UDgvUDa','ntm4mdq3mNzmt3DitW','q3jLyxrLvgLTzq','DgL0Bgu','mZviEe5rq1u','qxbWtwvZC2fNzvn1yLr5Cgu','mJCXmdmWmw5Rwfvsza','zgvMAw5LuhjVCgvYDhK','mtbQzMvcB00','qxbWtwvZC2fNzq','CgfYC2vgAwXLsw5MBW','rMLSzu1LC3nHz2u','ndu4otK5werdBeDR','w+AwH+s7TG','q29UDgvUDa','BxnN','qxbWAwq','ote5mdeYnxb3BKnWva','yxbWyxr0ywnO','mtCWBgroqKjI','yxr0ywnOAwq','v2vdAgf0txnN'];_0x5e58=function(){return _0x27d2f5;};return _0x5e58();}const weChatMsgBase_1=require('../weChatMsgBase'),weChatMessageType_1=require(_0x14429f(0x177)),utils_1=require(_0x14429f(0x176));class FileMessage extends weChatMsgBase_1[_0x14429f(0x169)]{constructor(_0x418c2a){const _0x3bdbe1=_0x14429f;super(_0x418c2a[_0x3bdbe1(0x164)],_0x418c2a[_0x3bdbe1(0x181)],_0x418c2a['Wxid'],weChatMessageType_1[_0x3bdbe1(0x152)][_0x3bdbe1(0x15d)],_0x418c2a[_0x3bdbe1(0x16e)][_0x3bdbe1(0x16d)],_0x418c2a[_0x3bdbe1(0x16e)][_0x3bdbe1(0x150)],_0x418c2a[_0x3bdbe1(0x16e)][_0x3bdbe1(0x156)],_0x418c2a[_0x3bdbe1(0x16e)]['FromUserName']?.[_0x3bdbe1(0x17a)]||_0x418c2a[_0x3bdbe1(0x16e)][_0x3bdbe1(0x173)],_0x418c2a['Data'][_0x3bdbe1(0x151)]?.[_0x3bdbe1(0x17a)]||_0x418c2a['Data'][_0x3bdbe1(0x151)],_0x418c2a['Data'][_0x3bdbe1(0x14b)],_0x418c2a[_0x3bdbe1(0x16e)][_0x3bdbe1(0x162)]?.['string']||_0x418c2a['Data']['Content'],_0x418c2a['Data'][_0x3bdbe1(0x17f)]?.[_0x3bdbe1(0x17a)]||_0x418c2a['Data']['PushContent']||''),this[_0x3bdbe1(0x14d)]={},this['_isComplete']=![],this['appMsgType']=this[_0x3bdbe1(0x15e)]();}[_0x14429f(0x15e)](){const _0x1688bd=_0x14429f;try{const _0x5949be=(0x0,utils_1[_0x1688bd(0x172)])(this[_0x1688bd(0x162)]);if(_0x5949be?.['msg']?.[_0x1688bd(0x16a)]){const _0x251852=_0x5949be[_0x1688bd(0x163)]['appmsg'],_0x58c7b2=parseInt(_0x251852['type'])||weChatMessageType_1[_0x1688bd(0x159)][_0x1688bd(0x17b)];this[_0x1688bd(0x14c)]=_0x58c7b2===weChatMessageType_1[_0x1688bd(0x159)]['File'],this[_0x1688bd(0x14d)]={'title':_0x251852['title']};if(_0x251852[_0x1688bd(0x166)]){const _0x5d1f5a=_0x251852[_0x1688bd(0x166)];this[_0x1688bd(0x14d)]['totallen']=parseInt(_0x5d1f5a[_0x1688bd(0x170)])||0x0,this[_0x1688bd(0x14d)]['fileext']=_0x5d1f5a[_0x1688bd(0x180)],this['fileInfo'][_0x1688bd(0x17d)]=_0x5d1f5a[_0x1688bd(0x17d)],this[_0x1688bd(0x14d)][_0x1688bd(0x178)]=_0x5d1f5a[_0x1688bd(0x178)],this[_0x1688bd(0x14d)][_0x1688bd(0x168)]=_0x5d1f5a[_0x1688bd(0x168)],this[_0x1688bd(0x14d)][_0x1688bd(0x183)]=_0x5d1f5a[_0x1688bd(0x183)],this['fileInfo'][_0x1688bd(0x17e)]=_0x5d1f5a[_0x1688bd(0x17e)],this[_0x1688bd(0x14d)]['overwrite_newmsgid']=_0x5d1f5a['overwrite_newmsgid'];}return this[_0x1688bd(0x14d)][_0x1688bd(0x16c)]=_0x251852[_0x1688bd(0x16c)],_0x58c7b2;}}catch(_0x213815){console['error'](_0x1688bd(0x16f),_0x213815);}return weChatMessageType_1[_0x1688bd(0x159)][_0x1688bd(0x17b)];}[_0x14429f(0x153)](){return this['_isComplete'];}[_0x14429f(0x14e)](){const _0x265728=_0x14429f;return!this[_0x265728(0x14c)];}[_0x14429f(0x182)](){const _0xcd3c45=_0x14429f,_0x525a60=this[_0xcd3c45(0x14d)]['totallen']||0x0;if(_0x525a60<0x400)return _0x525a60+'B';else{if(_0x525a60<0x400*0x400)return(_0x525a60/0x400)['toFixed'](0x2)+'KB';else return _0x525a60<0x400*0x400*0x400?(_0x525a60/(0x400*0x400))[_0xcd3c45(0x175)](0x2)+'MB':(_0x525a60/(0x400*0x400*0x400))[_0xcd3c45(0x175)](0x2)+'GB';}}[_0x14429f(0x154)](){const _0x3b2621=_0x14429f,_0x164490=this[_0x3b2621(0x14d)][_0x3b2621(0x157)]||'文件',_0x965bbe=this[_0x3b2621(0x182)](),_0x5d4811=this[_0x3b2621(0x153)]()?'':'(发送中)';return _0x3b2621(0x161)+_0x5d4811+']'+_0x164490+'\x20('+_0x965bbe+')';}async['getMsgText'](){const _0x4665b9=_0x14429f;return this[_0x4665b9(0x154)]();}[_0x14429f(0x16b)](){const _0x1bf547=_0x14429f;if(!this[_0x1bf547(0x153)]())return console[_0x1bf547(0x17c)](_0x1bf547(0x174)),null;return this[_0x1bf547(0x14d)][_0x1bf547(0x17d)]||null;}}exports[_0x14429f(0x15f)]=FileMessage;
|