@wxbot/wechat-api-sdk 1.0.0 → 1.1.0
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/clientApi/gewe_ChatRoom.js +1 -1
- package/dist/geweChat/gewe/clientApi/gewe_ChatRoom.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -1
- package/dist/index.js.map +1 -1
- package/dist/weChatBase/weChatMessage/WeChatMessageFactory.d.ts +85 -0
- package/dist/weChatBase/weChatMessage/WeChatMessageFactory.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/WeChatMessageFactory.js +190 -0
- package/dist/weChatBase/weChatMessage/WeChatMessageFactory.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/AddFriendMessage.d.ts +67 -0
- package/dist/weChatBase/weChatMessage/types/AddFriendMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/AddFriendMessage.js +92 -0
- package/dist/weChatBase/weChatMessage/types/AddFriendMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/ChannelsVideoMessage.d.ts +98 -0
- package/dist/weChatBase/weChatMessage/types/ChannelsVideoMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/ChannelsVideoMessage.js +124 -0
- package/dist/weChatBase/weChatMessage/types/ChannelsVideoMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/ContactMessage.d.ts +62 -0
- package/dist/weChatBase/weChatMessage/types/ContactMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/ContactMessage.js +81 -0
- package/dist/weChatBase/weChatMessage/types/ContactMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/EmojiMessage.d.ts +60 -0
- package/dist/weChatBase/weChatMessage/types/EmojiMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/EmojiMessage.js +74 -0
- package/dist/weChatBase/weChatMessage/types/EmojiMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/FileMessage.d.ts +81 -0
- package/dist/weChatBase/weChatMessage/types/FileMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/FileMessage.js +127 -0
- package/dist/weChatBase/weChatMessage/types/FileMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/GroupInviteMessage.d.ts +70 -0
- package/dist/weChatBase/weChatMessage/types/GroupInviteMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/GroupInviteMessage.js +104 -0
- package/dist/weChatBase/weChatMessage/types/GroupInviteMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/GroupNoticeMessage.d.ts +52 -0
- package/dist/weChatBase/weChatMessage/types/GroupNoticeMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/GroupNoticeMessage.js +76 -0
- package/dist/weChatBase/weChatMessage/types/GroupNoticeMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/GroupSystemMessage.d.ts +94 -0
- package/dist/weChatBase/weChatMessage/types/GroupSystemMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/GroupSystemMessage.js +151 -0
- package/dist/weChatBase/weChatMessage/types/GroupSystemMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/GroupTodoMessage.d.ts +90 -0
- package/dist/weChatBase/weChatMessage/types/GroupTodoMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/GroupTodoMessage.js +111 -0
- package/dist/weChatBase/weChatMessage/types/GroupTodoMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/ImageMessage.d.ts +63 -0
- package/dist/weChatBase/weChatMessage/types/ImageMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/ImageMessage.js +93 -0
- package/dist/weChatBase/weChatMessage/types/ImageMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/LinkMessage.d.ts +78 -0
- package/dist/weChatBase/weChatMessage/types/LinkMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/LinkMessage.js +110 -0
- package/dist/weChatBase/weChatMessage/types/LinkMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/LocationMessage.d.ts +67 -0
- package/dist/weChatBase/weChatMessage/types/LocationMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/LocationMessage.js +84 -0
- package/dist/weChatBase/weChatMessage/types/LocationMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/MiniProgramMessage.d.ts +73 -0
- package/dist/weChatBase/weChatMessage/types/MiniProgramMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/MiniProgramMessage.js +91 -0
- package/dist/weChatBase/weChatMessage/types/MiniProgramMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/PatMessage.d.ts +70 -0
- package/dist/weChatBase/weChatMessage/types/PatMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/PatMessage.js +101 -0
- package/dist/weChatBase/weChatMessage/types/PatMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/RedPacketMessage.d.ts +93 -0
- package/dist/weChatBase/weChatMessage/types/RedPacketMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/RedPacketMessage.js +115 -0
- package/dist/weChatBase/weChatMessage/types/RedPacketMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/ReferMessage.d.ts +63 -0
- package/dist/weChatBase/weChatMessage/types/ReferMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/ReferMessage.js +88 -0
- package/dist/weChatBase/weChatMessage/types/ReferMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/RevokeMessage.d.ts +58 -0
- package/dist/weChatBase/weChatMessage/types/RevokeMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/RevokeMessage.js +82 -0
- package/dist/weChatBase/weChatMessage/types/RevokeMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/TextMessage.d.ts +26 -0
- package/dist/weChatBase/weChatMessage/types/TextMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/TextMessage.js +43 -0
- package/dist/weChatBase/weChatMessage/types/TextMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/TransferMessage.d.ts +83 -0
- package/dist/weChatBase/weChatMessage/types/TransferMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/TransferMessage.js +109 -0
- package/dist/weChatBase/weChatMessage/types/TransferMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/VideoMessage.d.ts +56 -0
- package/dist/weChatBase/weChatMessage/types/VideoMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/VideoMessage.js +76 -0
- package/dist/weChatBase/weChatMessage/types/VideoMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/VoiceMessage.d.ts +53 -0
- package/dist/weChatBase/weChatMessage/types/VoiceMessage.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/VoiceMessage.js +73 -0
- package/dist/weChatBase/weChatMessage/types/VoiceMessage.js.map +1 -0
- package/dist/weChatBase/weChatMessage/types/index.d.ts +25 -0
- package/dist/weChatBase/weChatMessage/types/index.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/index.js +44 -0
- package/dist/weChatBase/weChatMessage/types/index.js.map +1 -0
- package/dist/weChatBase/weChatMessage/weChatMessageType.d.ts +97 -3
- package/dist/weChatBase/weChatMessage/weChatMessageType.d.ts.map +1 -1
- package/dist/weChatBase/weChatMessage/weChatMessageType.js +101 -15
- package/dist/weChatBase/weChatMessage/weChatMessageType.js.map +1 -1
- package/dist/weChatBase/weChatMessage/weChatMsgBase.d.ts +4 -4
- package/dist/weChatBase/weChatMessage/weChatMsgBase.d.ts.map +1 -1
- package/dist/weChatBase/weChatMessage/weChatMsgBase.js +8 -9
- package/dist/weChatBase/weChatMessage/weChatMsgBase.js.map +1 -1
- package/package.json +8 -9
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GroupTodoMessage = void 0;
|
|
4
|
+
const weChatMsgBase_1 = require("../weChatMsgBase");
|
|
5
|
+
const weChatMessageType_1 = require("../weChatMessageType");
|
|
6
|
+
const utils_1 = require("../../../utils");
|
|
7
|
+
/**
|
|
8
|
+
* 群待办消息类
|
|
9
|
+
* MsgType = 10002, sysmsg.type = roomtoolstips
|
|
10
|
+
*
|
|
11
|
+
* 示例数据:
|
|
12
|
+
* {
|
|
13
|
+
* "MsgType": 10002,
|
|
14
|
+
* "Content": {
|
|
15
|
+
* "string": "<sysmsg type=\"roomtoolstips\"><todo>...</todo></sysmsg>"
|
|
16
|
+
* }
|
|
17
|
+
* }
|
|
18
|
+
*/
|
|
19
|
+
class GroupTodoMessage extends weChatMsgBase_1.WeChatMsg {
|
|
20
|
+
constructor(data) {
|
|
21
|
+
super(data.Appid, data.api, data.Wxid, weChatMessageType_1.WeChatMessageType.SystemMessage, 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.todoInfo = {};
|
|
24
|
+
/** 系统消息子类型 */
|
|
25
|
+
this.sysMsgType = weChatMessageType_1.SystemMessageSubType.GroupTodo;
|
|
26
|
+
// 解析群待办信息
|
|
27
|
+
this.parseTodoInfo();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* 解析群待办信息
|
|
31
|
+
*/
|
|
32
|
+
parseTodoInfo() {
|
|
33
|
+
try {
|
|
34
|
+
const xmlObj = (0, utils_1.getXml2Json)(this.Content);
|
|
35
|
+
if (xmlObj?.sysmsg?.todo) {
|
|
36
|
+
const todo = xmlObj.sysmsg.todo;
|
|
37
|
+
this.todoInfo = {
|
|
38
|
+
op: todo.op,
|
|
39
|
+
todoid: todo.todoid,
|
|
40
|
+
username: todo.username,
|
|
41
|
+
path: todo.path,
|
|
42
|
+
time: todo.time,
|
|
43
|
+
custominfo: todo.custominfo,
|
|
44
|
+
title: todo.title,
|
|
45
|
+
creator: todo.creator,
|
|
46
|
+
related_msgid: todo.related_msgid,
|
|
47
|
+
manager: todo.manager,
|
|
48
|
+
nreply: todo.nreply,
|
|
49
|
+
scene: todo.scene,
|
|
50
|
+
oper: todo.oper,
|
|
51
|
+
sharekey: todo.sharekey,
|
|
52
|
+
sharename: todo.sharename,
|
|
53
|
+
template: todo.template
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
console.error('解析群待办信息失败:', error);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* 获取待办标题
|
|
63
|
+
*/
|
|
64
|
+
getTodoTitle() {
|
|
65
|
+
return this.todoInfo.title || '群待办';
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* 获取操作者
|
|
69
|
+
*/
|
|
70
|
+
getOperator() {
|
|
71
|
+
return this.todoInfo.oper || '';
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* 获取创建者
|
|
75
|
+
*/
|
|
76
|
+
getCreator() {
|
|
77
|
+
return this.todoInfo.creator || '';
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* 获取模板文本
|
|
81
|
+
*/
|
|
82
|
+
getTemplateText() {
|
|
83
|
+
return this.todoInfo.template || '';
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* 判断是否为设置待办操作
|
|
87
|
+
*/
|
|
88
|
+
isSetTodo() {
|
|
89
|
+
return this.todoInfo.op === '0';
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* 获取消息描述
|
|
93
|
+
*/
|
|
94
|
+
getContent() {
|
|
95
|
+
const template = this.getTemplateText();
|
|
96
|
+
if (template) {
|
|
97
|
+
// 替换模板中的变量,例如 ${wxid_xxx} 替换为实际用户
|
|
98
|
+
return `[群待办]${template}`;
|
|
99
|
+
}
|
|
100
|
+
const title = this.getTodoTitle();
|
|
101
|
+
return `[群待办]${title}`;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* 获取消息文本
|
|
105
|
+
*/
|
|
106
|
+
async getMsgText() {
|
|
107
|
+
return this.getContent();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.GroupTodoMessage = GroupTodoMessage;
|
|
111
|
+
//# sourceMappingURL=GroupTodoMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupTodoMessage.js","sourceRoot":"","sources":["../../../../src/weChatBase/weChatMessage/types/GroupTodoMessage.ts"],"names":[],"mappings":";;;AAAA,oDAA6C;AAC7C,4DAA+E;AAC/E,0CAA6C;AAwC7C;;;;;;;;;;;GAWG;AACH,MAAa,gBAAiB,SAAQ,yBAAS;IAO3C,YAAY,IAAS;QACjB,KAAK,CACD,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,IAAI,EACT,qCAAiB,CAAC,aAAa,EAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,EACf,IAAI,CAAC,IAAI,CAAC,QAAQ,EAClB,IAAI,CAAC,IAAI,CAAC,UAAU,EACpB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EACxD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EACpD,IAAI,CAAC,IAAI,CAAC,SAAS,EACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAC9C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAC/D,CAAC;QApBN,YAAY;QACL,aAAQ,GAAkB,EAAE,CAAC;QAEpC,cAAc;QACP,eAAU,GAAW,wCAAoB,CAAC,SAAS,CAAC;QAkBvD,UAAU;QACV,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,aAAa;QACjB,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBAChC,IAAI,CAAC,QAAQ,GAAG;oBACZ,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBAC1B,CAAC;YACN,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,YAAY;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,WAAW;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,UAAU;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,eAAe;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,SAAS;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,CAAC;IACpC,CAAC;IAED;;OAEG;IACM,UAAU;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACxC,IAAI,QAAQ,EAAE,CAAC;YACX,kCAAkC;YAClC,OAAO,QAAQ,QAAQ,EAAE,CAAC;QAC9B,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,OAAO,QAAQ,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,UAAU;QACrB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;CACJ;AAjHD,4CAiHC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { WeChatMsg } from "../weChatMsgBase";
|
|
2
|
+
/**
|
|
3
|
+
* 图片信息接口
|
|
4
|
+
*/
|
|
5
|
+
export interface ImageInfo {
|
|
6
|
+
/** AES密钥 */
|
|
7
|
+
aeskey?: string;
|
|
8
|
+
/** CDN缩略图URL */
|
|
9
|
+
cdnthumburl?: string;
|
|
10
|
+
/** CDN中图URL */
|
|
11
|
+
cdnmidimgurl?: string;
|
|
12
|
+
/** 图片长度 */
|
|
13
|
+
length?: number;
|
|
14
|
+
/** MD5值 */
|
|
15
|
+
md5?: string;
|
|
16
|
+
/** 缩略图长度 */
|
|
17
|
+
cdnthumblength?: number;
|
|
18
|
+
/** 缩略图高度 */
|
|
19
|
+
cdnthumbheight?: number;
|
|
20
|
+
/** 缩略图宽度 */
|
|
21
|
+
cdnthumbwidth?: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 图片消息类
|
|
25
|
+
* MsgType = 3
|
|
26
|
+
*
|
|
27
|
+
* 示例数据:
|
|
28
|
+
* {
|
|
29
|
+
* "MsgType": 3,
|
|
30
|
+
* "Content": { "string": "<?xml...图片cdn信息..." },
|
|
31
|
+
* "ImgBuf": { "iLen": 2146, "buffer": "/9j/4AAQ..." }
|
|
32
|
+
* }
|
|
33
|
+
*/
|
|
34
|
+
export declare class ImageMessage extends WeChatMsg {
|
|
35
|
+
/** 缩略图Base64数据 */
|
|
36
|
+
thumbnailBase64?: string;
|
|
37
|
+
/** 图片信息 */
|
|
38
|
+
imageInfo: ImageInfo;
|
|
39
|
+
constructor(data: any);
|
|
40
|
+
/**
|
|
41
|
+
* 解析图片信息
|
|
42
|
+
*/
|
|
43
|
+
private parseImageInfo;
|
|
44
|
+
/**
|
|
45
|
+
* 获取缩略图Base64
|
|
46
|
+
*/
|
|
47
|
+
getThumbnailBase64(): string | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* 下载图片
|
|
50
|
+
* @param type 下载类型 1=缩略图, 2=中图, 3=原图
|
|
51
|
+
* @returns 图片URL或Base64
|
|
52
|
+
*/
|
|
53
|
+
downImage(type?: number, xmlStr?: string): Promise<string>;
|
|
54
|
+
/**
|
|
55
|
+
* 获取图片URL
|
|
56
|
+
*/
|
|
57
|
+
getMsgText(): Promise<string>;
|
|
58
|
+
/**
|
|
59
|
+
* 获取消息描述
|
|
60
|
+
*/
|
|
61
|
+
getContent(): string;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=ImageMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImageMessage.d.ts","sourceRoot":"","sources":["../../../../src/weChatBase/weChatMessage/types/ImageMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI7C;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,YAAY;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;GAUG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACvC,kBAAkB;IACX,eAAe,CAAC,EAAE,MAAM,CAAC;IAEhC,WAAW;IACJ,SAAS,EAAE,SAAS,CAAM;gBAErB,IAAI,EAAE,GAAG;IAyBrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAqBtB;;OAEG;IACH,kBAAkB,IAAI,MAAM,GAAG,SAAS;IAIxC;;;;OAIG;IACY,SAAS,CAAC,IAAI,GAAE,MAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5E;;OAEG;IACY,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAc5C;;OAEG;IACM,UAAU,IAAI,MAAM;CAGhC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ImageMessage = void 0;
|
|
4
|
+
const weChatMsgBase_1 = require("../weChatMsgBase");
|
|
5
|
+
const weChatMessageType_1 = require("../weChatMessageType");
|
|
6
|
+
const utils_1 = require("../../../utils");
|
|
7
|
+
/**
|
|
8
|
+
* 图片消息类
|
|
9
|
+
* MsgType = 3
|
|
10
|
+
*
|
|
11
|
+
* 示例数据:
|
|
12
|
+
* {
|
|
13
|
+
* "MsgType": 3,
|
|
14
|
+
* "Content": { "string": "<?xml...图片cdn信息..." },
|
|
15
|
+
* "ImgBuf": { "iLen": 2146, "buffer": "/9j/4AAQ..." }
|
|
16
|
+
* }
|
|
17
|
+
*/
|
|
18
|
+
class ImageMessage extends weChatMsgBase_1.WeChatMsg {
|
|
19
|
+
constructor(data) {
|
|
20
|
+
super(data.Appid, data.api, data.Wxid, weChatMessageType_1.WeChatMessageType.Image, 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.imageInfo = {};
|
|
23
|
+
// 解析缩略图
|
|
24
|
+
if (data.Data.ImgBuf && data.Data.ImgBuf.iLen > 0) {
|
|
25
|
+
this.thumbnailBase64 = data.Data.ImgBuf.buffer;
|
|
26
|
+
}
|
|
27
|
+
// 解析图片信息
|
|
28
|
+
this.parseImageInfo();
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* 解析图片信息
|
|
32
|
+
*/
|
|
33
|
+
parseImageInfo() {
|
|
34
|
+
try {
|
|
35
|
+
const xmlObj = (0, utils_1.getXml2Json)(this.Content);
|
|
36
|
+
if (xmlObj?.msg?.img) {
|
|
37
|
+
const img = xmlObj.msg.img;
|
|
38
|
+
this.imageInfo = {
|
|
39
|
+
aeskey: img.aeskey,
|
|
40
|
+
cdnthumburl: img.cdnthumburl,
|
|
41
|
+
cdnmidimgurl: img.cdnmidimgurl,
|
|
42
|
+
length: parseInt(img.length) || 0,
|
|
43
|
+
md5: img.md5,
|
|
44
|
+
cdnthumblength: parseInt(img.cdnthumblength) || 0,
|
|
45
|
+
cdnthumbheight: parseInt(img.cdnthumbheight) || 0,
|
|
46
|
+
cdnthumbwidth: parseInt(img.cdnthumbwidth) || 0
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
console.error('解析图片信息失败:', error);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* 获取缩略图Base64
|
|
56
|
+
*/
|
|
57
|
+
getThumbnailBase64() {
|
|
58
|
+
return this.thumbnailBase64;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* 下载图片
|
|
62
|
+
* @param type 下载类型 1=缩略图, 2=中图, 3=原图
|
|
63
|
+
* @returns 图片URL或Base64
|
|
64
|
+
*/
|
|
65
|
+
async downImage(type = 1, xmlStr) {
|
|
66
|
+
return super.downImage(type, xmlStr || this.Content);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* 获取图片URL
|
|
70
|
+
*/
|
|
71
|
+
async getMsgText() {
|
|
72
|
+
try {
|
|
73
|
+
const imageUrl = await this.downImage(1, this.Content);
|
|
74
|
+
if (!imageUrl) {
|
|
75
|
+
throw new Error("图片下载失败");
|
|
76
|
+
}
|
|
77
|
+
return imageUrl;
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
console.error('获取图片失败:', error);
|
|
81
|
+
// 降级返回缩略图Base64
|
|
82
|
+
return this.thumbnailBase64 || '[图片]';
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* 获取消息描述
|
|
87
|
+
*/
|
|
88
|
+
getContent() {
|
|
89
|
+
return '[图片]';
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.ImageMessage = ImageMessage;
|
|
93
|
+
//# sourceMappingURL=ImageMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImageMessage.js","sourceRoot":"","sources":["../../../../src/weChatBase/weChatMessage/types/ImageMessage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { WeChatMsg } from "../weChatMsgBase";
|
|
2
|
+
/**
|
|
3
|
+
* 链接信息接口
|
|
4
|
+
*/
|
|
5
|
+
export interface LinkInfo {
|
|
6
|
+
/** 链接标题 */
|
|
7
|
+
title?: string;
|
|
8
|
+
/** 链接描述 */
|
|
9
|
+
des?: string;
|
|
10
|
+
/** 链接URL */
|
|
11
|
+
url?: string;
|
|
12
|
+
/** 缩略图URL */
|
|
13
|
+
thumburl?: string;
|
|
14
|
+
/** 来源用户名 */
|
|
15
|
+
sourceusername?: string;
|
|
16
|
+
/** 来源显示名称 */
|
|
17
|
+
sourcedisplayname?: string;
|
|
18
|
+
/** CDN缩略图URL */
|
|
19
|
+
cdnthumburl?: string;
|
|
20
|
+
/** CDN缩略图MD5 */
|
|
21
|
+
cdnthumbmd5?: string;
|
|
22
|
+
/** CDN缩略图长度 */
|
|
23
|
+
cdnthumblength?: number;
|
|
24
|
+
/** CDN缩略图宽度 */
|
|
25
|
+
cdnthumbwidth?: number;
|
|
26
|
+
/** CDN缩略图高度 */
|
|
27
|
+
cdnthumbheight?: number;
|
|
28
|
+
/** CDN缩略图AES密钥 */
|
|
29
|
+
cdnthumbaeskey?: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 链接消息类
|
|
33
|
+
* MsgType = 49, appmsg.type = 5
|
|
34
|
+
*
|
|
35
|
+
* 包括:
|
|
36
|
+
* 1. 公众号链接消息
|
|
37
|
+
* 2. 群聊邀请(判断标题是否包含"邀请你加入群聊")
|
|
38
|
+
*
|
|
39
|
+
* 示例数据:
|
|
40
|
+
* {
|
|
41
|
+
* "MsgType": 49,
|
|
42
|
+
* "Content": {
|
|
43
|
+
* "string": "<?xml><msg><appmsg><type>5</type><title>文章标题</title>..."
|
|
44
|
+
* }
|
|
45
|
+
* }
|
|
46
|
+
*/
|
|
47
|
+
export declare class LinkMessage extends WeChatMsg {
|
|
48
|
+
/** 链接信息 */
|
|
49
|
+
linkInfo: LinkInfo;
|
|
50
|
+
/** 应用消息子类型 */
|
|
51
|
+
appMsgType: number;
|
|
52
|
+
constructor(data: any);
|
|
53
|
+
/**
|
|
54
|
+
* 解析链接信息
|
|
55
|
+
*/
|
|
56
|
+
private parseLinkInfo;
|
|
57
|
+
/**
|
|
58
|
+
* 判断是否为群聊邀请
|
|
59
|
+
*/
|
|
60
|
+
isGroupInvite(): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* 判断是否为公众号链接
|
|
63
|
+
*/
|
|
64
|
+
isPublicAccountLink(): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* 获取链接类型描述
|
|
67
|
+
*/
|
|
68
|
+
getLinkType(): string;
|
|
69
|
+
/**
|
|
70
|
+
* 获取消息描述
|
|
71
|
+
*/
|
|
72
|
+
getContent(): string;
|
|
73
|
+
/**
|
|
74
|
+
* 获取消息文本
|
|
75
|
+
*/
|
|
76
|
+
getMsgText(): Promise<string>;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=LinkMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinkMessage.d.ts","sourceRoot":"","sources":["../../../../src/weChatBase/weChatMessage/types/LinkMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI7C;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACtC,WAAW;IACJ,QAAQ,EAAE,QAAQ,CAAM;IAE/B,cAAc;IACP,UAAU,EAAE,MAAM,CAA0B;gBAEvC,IAAI,EAAE,GAAG;IAoBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAgCrB;;OAEG;IACH,aAAa,IAAI,OAAO;IAQxB;;OAEG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;OAEG;IACH,WAAW,IAAI,MAAM;IASrB;;OAEG;IACM,UAAU,IAAI,MAAM;IAM7B;;OAEG;IACY,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;CAG/C"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LinkMessage = 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 = 5
|
|
10
|
+
*
|
|
11
|
+
* 包括:
|
|
12
|
+
* 1. 公众号链接消息
|
|
13
|
+
* 2. 群聊邀请(判断标题是否包含"邀请你加入群聊")
|
|
14
|
+
*
|
|
15
|
+
* 示例数据:
|
|
16
|
+
* {
|
|
17
|
+
* "MsgType": 49,
|
|
18
|
+
* "Content": {
|
|
19
|
+
* "string": "<?xml><msg><appmsg><type>5</type><title>文章标题</title>..."
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
*/
|
|
23
|
+
class LinkMessage extends weChatMsgBase_1.WeChatMsg {
|
|
24
|
+
constructor(data) {
|
|
25
|
+
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 || '');
|
|
26
|
+
/** 链接信息 */
|
|
27
|
+
this.linkInfo = {};
|
|
28
|
+
/** 应用消息子类型 */
|
|
29
|
+
this.appMsgType = weChatMessageType_1.AppMessageSubType.Link;
|
|
30
|
+
// 解析链接信息
|
|
31
|
+
this.parseLinkInfo();
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 解析链接信息
|
|
35
|
+
*/
|
|
36
|
+
parseLinkInfo() {
|
|
37
|
+
try {
|
|
38
|
+
const xmlObj = (0, utils_1.getXml2Json)(this.Content);
|
|
39
|
+
if (xmlObj?.msg?.appmsg) {
|
|
40
|
+
const appmsg = xmlObj.msg.appmsg;
|
|
41
|
+
this.appMsgType = parseInt(appmsg.type) || weChatMessageType_1.AppMessageSubType.Link;
|
|
42
|
+
this.linkInfo = {
|
|
43
|
+
title: appmsg.title,
|
|
44
|
+
des: appmsg.des,
|
|
45
|
+
url: appmsg.url,
|
|
46
|
+
thumburl: appmsg.thumburl,
|
|
47
|
+
sourceusername: appmsg.sourceusername,
|
|
48
|
+
sourcedisplayname: appmsg.sourcedisplayname
|
|
49
|
+
};
|
|
50
|
+
// 解析CDN缩略图信息
|
|
51
|
+
if (appmsg.appattach) {
|
|
52
|
+
const attach = appmsg.appattach;
|
|
53
|
+
this.linkInfo.cdnthumburl = attach.cdnthumburl;
|
|
54
|
+
this.linkInfo.cdnthumbmd5 = attach.cdnthumbmd5;
|
|
55
|
+
this.linkInfo.cdnthumblength = parseInt(attach.cdnthumblength) || 0;
|
|
56
|
+
this.linkInfo.cdnthumbwidth = parseInt(attach.cdnthumbwidth) || 0;
|
|
57
|
+
this.linkInfo.cdnthumbheight = parseInt(attach.cdnthumbheight) || 0;
|
|
58
|
+
this.linkInfo.cdnthumbaeskey = attach.cdnthumbaeskey;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
console.error('解析链接信息失败:', error);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* 判断是否为群聊邀请
|
|
68
|
+
*/
|
|
69
|
+
isGroupInvite() {
|
|
70
|
+
const title = this.linkInfo.title || '';
|
|
71
|
+
// 支持多语言判断
|
|
72
|
+
return title.includes('邀请你加入群聊') ||
|
|
73
|
+
title.includes('invite you to join') ||
|
|
74
|
+
title.toLowerCase().includes('group chat');
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* 判断是否为公众号链接
|
|
78
|
+
*/
|
|
79
|
+
isPublicAccountLink() {
|
|
80
|
+
return !this.isGroupInvite() && !!this.linkInfo.sourceusername;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* 获取链接类型描述
|
|
84
|
+
*/
|
|
85
|
+
getLinkType() {
|
|
86
|
+
if (this.isGroupInvite()) {
|
|
87
|
+
return '群聊邀请';
|
|
88
|
+
}
|
|
89
|
+
else if (this.isPublicAccountLink()) {
|
|
90
|
+
return '公众号链接';
|
|
91
|
+
}
|
|
92
|
+
return '链接';
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* 获取消息描述
|
|
96
|
+
*/
|
|
97
|
+
getContent() {
|
|
98
|
+
const type = this.getLinkType();
|
|
99
|
+
const title = this.linkInfo.title || '链接';
|
|
100
|
+
return `[${type}]${title}`;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* 获取消息文本
|
|
104
|
+
*/
|
|
105
|
+
async getMsgText() {
|
|
106
|
+
return this.getContent();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.LinkMessage = LinkMessage;
|
|
110
|
+
//# sourceMappingURL=LinkMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinkMessage.js","sourceRoot":"","sources":["../../../../src/weChatBase/weChatMessage/types/LinkMessage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { WeChatMsg } from "../weChatMsgBase";
|
|
2
|
+
/**
|
|
3
|
+
* 位置信息接口
|
|
4
|
+
*/
|
|
5
|
+
export interface LocationInfo {
|
|
6
|
+
/** 纬度 */
|
|
7
|
+
x?: string;
|
|
8
|
+
/** 经度 */
|
|
9
|
+
y?: string;
|
|
10
|
+
/** 缩放级别 */
|
|
11
|
+
scale?: string;
|
|
12
|
+
/** 地址标签 */
|
|
13
|
+
label?: string;
|
|
14
|
+
/** POI名称 */
|
|
15
|
+
poiname?: string;
|
|
16
|
+
/** POI ID */
|
|
17
|
+
poiid?: string;
|
|
18
|
+
/** 城市名称 */
|
|
19
|
+
cityname?: string;
|
|
20
|
+
/** 行政区代码 */
|
|
21
|
+
adcode?: string;
|
|
22
|
+
/** POI类别提示 */
|
|
23
|
+
poiCategoryTips?: string;
|
|
24
|
+
/** POI营业时间 */
|
|
25
|
+
poiBusinessHour?: string;
|
|
26
|
+
/** POI电话 */
|
|
27
|
+
poiPhone?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* 地理位置消息类
|
|
31
|
+
* MsgType = 48
|
|
32
|
+
*
|
|
33
|
+
* 示例数据:
|
|
34
|
+
* {
|
|
35
|
+
* "MsgType": 48,
|
|
36
|
+
* "Content": { "string": "<?xml...位置信息..." }
|
|
37
|
+
* }
|
|
38
|
+
*/
|
|
39
|
+
export declare class LocationMessage extends WeChatMsg {
|
|
40
|
+
/** 位置信息 */
|
|
41
|
+
locationInfo: LocationInfo;
|
|
42
|
+
constructor(data: any);
|
|
43
|
+
/**
|
|
44
|
+
* 解析位置信息
|
|
45
|
+
*/
|
|
46
|
+
private parseLocationInfo;
|
|
47
|
+
/**
|
|
48
|
+
* 获取坐标
|
|
49
|
+
*/
|
|
50
|
+
getCoordinates(): {
|
|
51
|
+
lat: number;
|
|
52
|
+
lng: number;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* 获取地图链接
|
|
56
|
+
*/
|
|
57
|
+
getMapUrl(): string;
|
|
58
|
+
/**
|
|
59
|
+
* 获取消息描述
|
|
60
|
+
*/
|
|
61
|
+
getContent(): string;
|
|
62
|
+
/**
|
|
63
|
+
* 获取消息文本
|
|
64
|
+
*/
|
|
65
|
+
getMsgText(): Promise<string>;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=LocationMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocationMessage.d.ts","sourceRoot":"","sources":["../../../../src/weChatBase/weChatMessage/types/LocationMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI7C;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,SAAS;IACT,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,SAAS;IACT,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAC1C,WAAW;IACJ,YAAY,EAAE,YAAY,CAAM;gBAE3B,IAAI,EAAE,GAAG;IAoBrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAwBzB;;OAEG;IACH,cAAc,IAAI;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE;IAO9C;;OAEG;IACH,SAAS,IAAI,MAAM;IAMnB;;OAEG;IACM,UAAU,IAAI,MAAM;IAK7B;;OAEG;IACY,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;CAG/C"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocationMessage = void 0;
|
|
4
|
+
const weChatMsgBase_1 = require("../weChatMsgBase");
|
|
5
|
+
const weChatMessageType_1 = require("../weChatMessageType");
|
|
6
|
+
const utils_1 = require("../../../utils");
|
|
7
|
+
/**
|
|
8
|
+
* 地理位置消息类
|
|
9
|
+
* MsgType = 48
|
|
10
|
+
*
|
|
11
|
+
* 示例数据:
|
|
12
|
+
* {
|
|
13
|
+
* "MsgType": 48,
|
|
14
|
+
* "Content": { "string": "<?xml...位置信息..." }
|
|
15
|
+
* }
|
|
16
|
+
*/
|
|
17
|
+
class LocationMessage extends weChatMsgBase_1.WeChatMsg {
|
|
18
|
+
constructor(data) {
|
|
19
|
+
super(data.Appid, data.api, data.Wxid, weChatMessageType_1.WeChatMessageType.Location, 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.locationInfo = {};
|
|
22
|
+
// 解析位置信息
|
|
23
|
+
this.parseLocationInfo();
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 解析位置信息
|
|
27
|
+
*/
|
|
28
|
+
parseLocationInfo() {
|
|
29
|
+
try {
|
|
30
|
+
const xmlObj = (0, utils_1.getXml2Json)(this.Content);
|
|
31
|
+
if (xmlObj?.msg?.location) {
|
|
32
|
+
const loc = xmlObj.msg.location;
|
|
33
|
+
this.locationInfo = {
|
|
34
|
+
x: loc.x,
|
|
35
|
+
y: loc.y,
|
|
36
|
+
scale: loc.scale,
|
|
37
|
+
label: loc.label,
|
|
38
|
+
poiname: loc.poiname,
|
|
39
|
+
poiid: loc.poiid,
|
|
40
|
+
cityname: loc.cityname,
|
|
41
|
+
adcode: loc.adcode,
|
|
42
|
+
poiCategoryTips: loc.poiCategoryTips,
|
|
43
|
+
poiBusinessHour: loc.poiBusinessHour,
|
|
44
|
+
poiPhone: loc.poiPhone
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
console.error('解析位置信息失败:', error);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* 获取坐标
|
|
54
|
+
*/
|
|
55
|
+
getCoordinates() {
|
|
56
|
+
return {
|
|
57
|
+
lat: parseFloat(this.locationInfo.x || '0'),
|
|
58
|
+
lng: parseFloat(this.locationInfo.y || '0')
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* 获取地图链接
|
|
63
|
+
*/
|
|
64
|
+
getMapUrl() {
|
|
65
|
+
const { lat, lng } = this.getCoordinates();
|
|
66
|
+
const name = encodeURIComponent(this.locationInfo.poiname || '位置');
|
|
67
|
+
return `https://uri.amap.com/marker?position=${lng},${lat}&name=${name}`;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* 获取消息描述
|
|
71
|
+
*/
|
|
72
|
+
getContent() {
|
|
73
|
+
const name = this.locationInfo.poiname || this.locationInfo.label || '位置';
|
|
74
|
+
return `[位置]${name}`;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* 获取消息文本
|
|
78
|
+
*/
|
|
79
|
+
async getMsgText() {
|
|
80
|
+
return this.getContent();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.LocationMessage = LocationMessage;
|
|
84
|
+
//# sourceMappingURL=LocationMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocationMessage.js","sourceRoot":"","sources":["../../../../src/weChatBase/weChatMessage/types/LocationMessage.ts"],"names":[],"mappings":"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"}
|