@wxbot/wechat-api-sdk 1.0.0 → 1.0.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/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 +76 -0
- package/dist/weChatBase/weChatMessage/WeChatMessageFactory.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/WeChatMessageFactory.js +181 -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/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/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 +23 -0
- package/dist/weChatBase/weChatMessage/types/index.d.ts.map +1 -0
- package/dist/weChatBase/weChatMessage/types/index.js +42 -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 +3 -4
- package/dist/weChatBase/weChatMessage/weChatMsgBase.d.ts.map +1 -1
- package/dist/weChatBase/weChatMessage/weChatMsgBase.js +4 -8
- package/dist/weChatBase/weChatMessage/weChatMsgBase.js.map +1 -1
- package/package.json +1 -1
|
@@ -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);
|
|
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;IAmBrB;;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);
|
|
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":";;;AAAA,oDAA6C;AAC7C,4DAAyD;AACzD,0CAA6C;AA8B7C;;;;;;;;;GASG;AACH,MAAa,eAAgB,SAAQ,yBAAS;IAI1C,YAAY,IAAS;QACjB,KAAK,CACD,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,IAAI,EACT,qCAAiB,CAAC,QAAQ,EAC1B,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,CACjD,CAAC;QAhBN,WAAW;QACJ,iBAAY,GAAiB,EAAE,CAAC;QAiBnC,SAAS;QACT,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,iBAAiB;QACrB,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAChC,IAAI,CAAC,YAAY,GAAG;oBAChB,CAAC,EAAE,GAAG,CAAC,CAAC;oBACR,CAAC,EAAE,GAAG,CAAC,CAAC;oBACR,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,eAAe,EAAE,GAAG,CAAC,eAAe;oBACpC,eAAe,EAAE,GAAG,CAAC,eAAe;oBACpC,QAAQ,EAAE,GAAG,CAAC,QAAQ;iBACzB,CAAC;YACN,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,cAAc;QACV,OAAO;YACH,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,GAAG,CAAC;YAC3C,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,GAAG,CAAC;SAC9C,CAAC;IACN,CAAC;IAED;;OAEG;IACH,SAAS;QACL,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QACnE,OAAO,wCAAwC,GAAG,IAAI,GAAG,SAAS,IAAI,EAAE,CAAC;IAC7E,CAAC;IAED;;OAEG;IACM,UAAU;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,CAAC;QAC1E,OAAO,OAAO,IAAI,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,UAAU;QACrB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;CACJ;AAnFD,0CAmFC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { WeChatMsg } from "../weChatMsgBase";
|
|
2
|
+
/**
|
|
3
|
+
* 小程序信息接口
|
|
4
|
+
*/
|
|
5
|
+
export interface MiniProgramInfo {
|
|
6
|
+
/** 小程序标题 */
|
|
7
|
+
title?: string;
|
|
8
|
+
/** 小程序描述 */
|
|
9
|
+
des?: string;
|
|
10
|
+
/** 小程序URL */
|
|
11
|
+
url?: string;
|
|
12
|
+
/** 来源用户名 */
|
|
13
|
+
sourceusername?: string;
|
|
14
|
+
/** 来源显示名称 */
|
|
15
|
+
sourcedisplayname?: string;
|
|
16
|
+
/** 小程序详细信息 */
|
|
17
|
+
weappinfo?: {
|
|
18
|
+
/** 小程序用户名 */
|
|
19
|
+
username?: string;
|
|
20
|
+
/** 小程序AppID */
|
|
21
|
+
appid?: string;
|
|
22
|
+
/** 小程序类型 */
|
|
23
|
+
type?: number;
|
|
24
|
+
/** 小程序版本 */
|
|
25
|
+
version?: number;
|
|
26
|
+
/** 小程序图标URL */
|
|
27
|
+
weappiconurl?: string;
|
|
28
|
+
/** 小程序页面路径 */
|
|
29
|
+
pagepath?: string;
|
|
30
|
+
/** 分享ID */
|
|
31
|
+
shareId?: string;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* 小程序消息类
|
|
36
|
+
* MsgType = 49, appmsg.type = 33 或 36
|
|
37
|
+
*
|
|
38
|
+
* 示例数据:
|
|
39
|
+
* {
|
|
40
|
+
* "MsgType": 49,
|
|
41
|
+
* "Content": {
|
|
42
|
+
* "string": "<?xml><msg><appmsg><type>33</type><title>腾讯云助手</title>..."
|
|
43
|
+
* }
|
|
44
|
+
* }
|
|
45
|
+
*/
|
|
46
|
+
export declare class MiniProgramMessage extends WeChatMsg {
|
|
47
|
+
/** 小程序信息 */
|
|
48
|
+
miniProgramInfo: MiniProgramInfo;
|
|
49
|
+
/** 应用消息子类型 */
|
|
50
|
+
appMsgType: number;
|
|
51
|
+
constructor(data: any);
|
|
52
|
+
/**
|
|
53
|
+
* 解析小程序信息
|
|
54
|
+
*/
|
|
55
|
+
private parseMiniProgramInfo;
|
|
56
|
+
/**
|
|
57
|
+
* 获取小程序AppID
|
|
58
|
+
*/
|
|
59
|
+
getAppId(): string | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* 获取小程序页面路径
|
|
62
|
+
*/
|
|
63
|
+
getPagePath(): string | undefined;
|
|
64
|
+
/**
|
|
65
|
+
* 获取消息描述
|
|
66
|
+
*/
|
|
67
|
+
getContent(): string;
|
|
68
|
+
/**
|
|
69
|
+
* 获取消息文本
|
|
70
|
+
*/
|
|
71
|
+
getMsgText(): Promise<string>;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=MiniProgramMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MiniProgramMessage.d.ts","sourceRoot":"","sources":["../../../../src/weChatBase/weChatMessage/types/MiniProgramMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI7C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,YAAY;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc;IACd,SAAS,CAAC,EAAE;QACR,aAAa;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,YAAY;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,eAAe;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,cAAc;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW;QACX,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACL;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAmB,SAAQ,SAAS;IAC7C,YAAY;IACL,eAAe,EAAE,eAAe,CAAM;IAE7C,cAAc;IACP,UAAU,EAAE,MAAM,CAAC;gBAEd,IAAI,EAAE,GAAG;IAmBrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAqC5B;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B;;OAEG;IACH,WAAW,IAAI,MAAM,GAAG,SAAS;IAIjC;;OAEG;IACM,UAAU,IAAI,MAAM;IAK7B;;OAEG;IACY,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;CAG/C"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MiniProgramMessage = 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 = 33 或 36
|
|
10
|
+
*
|
|
11
|
+
* 示例数据:
|
|
12
|
+
* {
|
|
13
|
+
* "MsgType": 49,
|
|
14
|
+
* "Content": {
|
|
15
|
+
* "string": "<?xml><msg><appmsg><type>33</type><title>腾讯云助手</title>..."
|
|
16
|
+
* }
|
|
17
|
+
* }
|
|
18
|
+
*/
|
|
19
|
+
class MiniProgramMessage 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);
|
|
22
|
+
/** 小程序信息 */
|
|
23
|
+
this.miniProgramInfo = {};
|
|
24
|
+
// 解析小程序信息
|
|
25
|
+
this.appMsgType = this.parseMiniProgramInfo();
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* 解析小程序信息
|
|
29
|
+
*/
|
|
30
|
+
parseMiniProgramInfo() {
|
|
31
|
+
try {
|
|
32
|
+
const xmlObj = (0, utils_1.getXml2Json)(this.Content);
|
|
33
|
+
if (xmlObj?.msg?.appmsg) {
|
|
34
|
+
const appmsg = xmlObj.msg.appmsg;
|
|
35
|
+
const appMsgType = parseInt(appmsg.type) || weChatMessageType_1.AppMessageSubType.MiniProgram;
|
|
36
|
+
this.miniProgramInfo = {
|
|
37
|
+
title: appmsg.title,
|
|
38
|
+
des: appmsg.des,
|
|
39
|
+
url: appmsg.url,
|
|
40
|
+
sourceusername: appmsg.sourceusername,
|
|
41
|
+
sourcedisplayname: appmsg.sourcedisplayname
|
|
42
|
+
};
|
|
43
|
+
// 解析weappinfo
|
|
44
|
+
if (appmsg.weappinfo) {
|
|
45
|
+
const weapp = appmsg.weappinfo;
|
|
46
|
+
this.miniProgramInfo.weappinfo = {
|
|
47
|
+
username: weapp.username,
|
|
48
|
+
appid: weapp.appid,
|
|
49
|
+
type: parseInt(weapp.type) || 0,
|
|
50
|
+
version: parseInt(weapp.version) || 0,
|
|
51
|
+
weappiconurl: weapp.weappiconurl,
|
|
52
|
+
pagepath: weapp.pagepath,
|
|
53
|
+
shareId: weapp.shareId
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
return appMsgType;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
console.error('解析小程序信息失败:', error);
|
|
61
|
+
}
|
|
62
|
+
return weChatMessageType_1.AppMessageSubType.MiniProgram;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* 获取小程序AppID
|
|
66
|
+
*/
|
|
67
|
+
getAppId() {
|
|
68
|
+
return this.miniProgramInfo.weappinfo?.appid;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* 获取小程序页面路径
|
|
72
|
+
*/
|
|
73
|
+
getPagePath() {
|
|
74
|
+
return this.miniProgramInfo.weappinfo?.pagepath;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* 获取消息描述
|
|
78
|
+
*/
|
|
79
|
+
getContent() {
|
|
80
|
+
const title = this.miniProgramInfo.title || '小程序';
|
|
81
|
+
return `[小程序]${title}`;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* 获取消息文本
|
|
85
|
+
*/
|
|
86
|
+
async getMsgText() {
|
|
87
|
+
return this.getContent();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.MiniProgramMessage = MiniProgramMessage;
|
|
91
|
+
//# sourceMappingURL=MiniProgramMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MiniProgramMessage.js","sourceRoot":"","sources":["../../../../src/weChatBase/weChatMessage/types/MiniProgramMessage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { WeChatMsg } from "../weChatMsgBase";
|
|
2
|
+
/**
|
|
3
|
+
* 拍一拍消息信息接口
|
|
4
|
+
*/
|
|
5
|
+
export interface PatInfo {
|
|
6
|
+
/** 拍一拍发起人 */
|
|
7
|
+
fromusername?: string;
|
|
8
|
+
/** 聊天用户名 */
|
|
9
|
+
chatusername?: string;
|
|
10
|
+
/** 被拍的用户名 */
|
|
11
|
+
pattedusername?: string;
|
|
12
|
+
/** 拍一拍后缀 */
|
|
13
|
+
patsuffix?: string;
|
|
14
|
+
/** 后缀版本 */
|
|
15
|
+
patsuffixversion?: number;
|
|
16
|
+
/** 模板文本 */
|
|
17
|
+
template?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* 拍一拍消息类
|
|
21
|
+
* MsgType = 10002, sysmsg.type = pat
|
|
22
|
+
*
|
|
23
|
+
* 示例数据:
|
|
24
|
+
* {
|
|
25
|
+
* "MsgType": 10002,
|
|
26
|
+
* "Content": {
|
|
27
|
+
* "string": "<sysmsg type=\"pat\"><pat>...</pat></sysmsg>"
|
|
28
|
+
* }
|
|
29
|
+
* }
|
|
30
|
+
*/
|
|
31
|
+
export declare class PatMessage extends WeChatMsg {
|
|
32
|
+
/** 拍一拍信息 */
|
|
33
|
+
patInfo: PatInfo;
|
|
34
|
+
/** 系统消息子类型 */
|
|
35
|
+
sysMsgType: string;
|
|
36
|
+
constructor(data: any);
|
|
37
|
+
/**
|
|
38
|
+
* 解析拍一拍信息
|
|
39
|
+
*/
|
|
40
|
+
private parsePatInfo;
|
|
41
|
+
/**
|
|
42
|
+
* 获取拍一拍发起人
|
|
43
|
+
*/
|
|
44
|
+
getFromUser(): string;
|
|
45
|
+
/**
|
|
46
|
+
* 获取被拍的用户
|
|
47
|
+
*/
|
|
48
|
+
getPattedUser(): string;
|
|
49
|
+
/**
|
|
50
|
+
* 获取拍一拍后缀文本
|
|
51
|
+
*/
|
|
52
|
+
getSuffix(): string;
|
|
53
|
+
/**
|
|
54
|
+
* 判断是否拍了自己
|
|
55
|
+
*/
|
|
56
|
+
isPatSelf(): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* 获取拍一拍文本
|
|
59
|
+
*/
|
|
60
|
+
getPatText(): string;
|
|
61
|
+
/**
|
|
62
|
+
* 获取消息描述
|
|
63
|
+
*/
|
|
64
|
+
getContent(): string;
|
|
65
|
+
/**
|
|
66
|
+
* 获取消息文本
|
|
67
|
+
*/
|
|
68
|
+
getMsgText(): Promise<string>;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=PatMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PatMessage.d.ts","sourceRoot":"","sources":["../../../../src/weChatBase/weChatMessage/types/PatMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI7C;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB,aAAa;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW;IACX,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,UAAW,SAAQ,SAAS;IACrC,YAAY;IACL,OAAO,EAAE,OAAO,CAAM;IAE7B,cAAc;IACP,UAAU,EAAE,MAAM,CAA4B;gBAEzC,IAAI,EAAE,GAAG;IAmBrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAmBpB;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,SAAS,IAAI,OAAO;IAKpB;;OAEG;IACH,UAAU,IAAI,MAAM;IAUpB;;OAEG;IACM,UAAU,IAAI,MAAM;IAI7B;;OAEG;IACY,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;CAG/C"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PatMessage = 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 = pat
|
|
10
|
+
*
|
|
11
|
+
* 示例数据:
|
|
12
|
+
* {
|
|
13
|
+
* "MsgType": 10002,
|
|
14
|
+
* "Content": {
|
|
15
|
+
* "string": "<sysmsg type=\"pat\"><pat>...</pat></sysmsg>"
|
|
16
|
+
* }
|
|
17
|
+
* }
|
|
18
|
+
*/
|
|
19
|
+
class PatMessage 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);
|
|
22
|
+
/** 拍一拍信息 */
|
|
23
|
+
this.patInfo = {};
|
|
24
|
+
/** 系统消息子类型 */
|
|
25
|
+
this.sysMsgType = weChatMessageType_1.SystemMessageSubType.Pat;
|
|
26
|
+
// 解析拍一拍信息
|
|
27
|
+
this.parsePatInfo();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* 解析拍一拍信息
|
|
31
|
+
*/
|
|
32
|
+
parsePatInfo() {
|
|
33
|
+
try {
|
|
34
|
+
const xmlObj = (0, utils_1.getXml2Json)(this.Content);
|
|
35
|
+
if (xmlObj?.sysmsg?.pat) {
|
|
36
|
+
const pat = xmlObj.sysmsg.pat;
|
|
37
|
+
this.patInfo = {
|
|
38
|
+
fromusername: pat.fromusername,
|
|
39
|
+
chatusername: pat.chatusername,
|
|
40
|
+
pattedusername: pat.pattedusername,
|
|
41
|
+
patsuffix: pat.patsuffix,
|
|
42
|
+
patsuffixversion: parseInt(pat.patsuffixversion) || 0,
|
|
43
|
+
template: pat.template
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
console.error('解析拍一拍消息信息失败:', error);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* 获取拍一拍发起人
|
|
53
|
+
*/
|
|
54
|
+
getFromUser() {
|
|
55
|
+
return this.patInfo.fromusername || '';
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* 获取被拍的用户
|
|
59
|
+
*/
|
|
60
|
+
getPattedUser() {
|
|
61
|
+
return this.patInfo.pattedusername || '';
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* 获取拍一拍后缀文本
|
|
65
|
+
*/
|
|
66
|
+
getSuffix() {
|
|
67
|
+
return this.patInfo.patsuffix || '';
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* 判断是否拍了自己
|
|
71
|
+
*/
|
|
72
|
+
isPatSelf() {
|
|
73
|
+
const template = this.patInfo.template || '';
|
|
74
|
+
return template.includes('拍了拍我') || template.toLowerCase().includes('patted me');
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* 获取拍一拍文本
|
|
78
|
+
*/
|
|
79
|
+
getPatText() {
|
|
80
|
+
const template = this.patInfo.template || '';
|
|
81
|
+
const suffix = this.getSuffix();
|
|
82
|
+
if (suffix) {
|
|
83
|
+
return template.replace('我', `我的${suffix}`);
|
|
84
|
+
}
|
|
85
|
+
return template;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* 获取消息描述
|
|
89
|
+
*/
|
|
90
|
+
getContent() {
|
|
91
|
+
return `[拍一拍]${this.getPatText()}`;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* 获取消息文本
|
|
95
|
+
*/
|
|
96
|
+
async getMsgText() {
|
|
97
|
+
return this.getContent();
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.PatMessage = PatMessage;
|
|
101
|
+
//# sourceMappingURL=PatMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PatMessage.js","sourceRoot":"","sources":["../../../../src/weChatBase/weChatMessage/types/PatMessage.ts"],"names":[],"mappings":"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"}
|