@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.
Files changed (99) hide show
  1. package/dist/geweChat/gewe/clientApi/gewe_ChatRoom.js +1 -1
  2. package/dist/geweChat/gewe/clientApi/gewe_ChatRoom.js.map +1 -1
  3. package/dist/index.d.ts +5 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +28 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/weChatBase/weChatMessage/WeChatMessageFactory.d.ts +76 -0
  8. package/dist/weChatBase/weChatMessage/WeChatMessageFactory.d.ts.map +1 -0
  9. package/dist/weChatBase/weChatMessage/WeChatMessageFactory.js +181 -0
  10. package/dist/weChatBase/weChatMessage/WeChatMessageFactory.js.map +1 -0
  11. package/dist/weChatBase/weChatMessage/types/AddFriendMessage.d.ts +67 -0
  12. package/dist/weChatBase/weChatMessage/types/AddFriendMessage.d.ts.map +1 -0
  13. package/dist/weChatBase/weChatMessage/types/AddFriendMessage.js +92 -0
  14. package/dist/weChatBase/weChatMessage/types/AddFriendMessage.js.map +1 -0
  15. package/dist/weChatBase/weChatMessage/types/ChannelsVideoMessage.d.ts +98 -0
  16. package/dist/weChatBase/weChatMessage/types/ChannelsVideoMessage.d.ts.map +1 -0
  17. package/dist/weChatBase/weChatMessage/types/ChannelsVideoMessage.js +124 -0
  18. package/dist/weChatBase/weChatMessage/types/ChannelsVideoMessage.js.map +1 -0
  19. package/dist/weChatBase/weChatMessage/types/ContactMessage.d.ts +62 -0
  20. package/dist/weChatBase/weChatMessage/types/ContactMessage.d.ts.map +1 -0
  21. package/dist/weChatBase/weChatMessage/types/ContactMessage.js +81 -0
  22. package/dist/weChatBase/weChatMessage/types/ContactMessage.js.map +1 -0
  23. package/dist/weChatBase/weChatMessage/types/EmojiMessage.d.ts +60 -0
  24. package/dist/weChatBase/weChatMessage/types/EmojiMessage.d.ts.map +1 -0
  25. package/dist/weChatBase/weChatMessage/types/EmojiMessage.js +74 -0
  26. package/dist/weChatBase/weChatMessage/types/EmojiMessage.js.map +1 -0
  27. package/dist/weChatBase/weChatMessage/types/FileMessage.d.ts +81 -0
  28. package/dist/weChatBase/weChatMessage/types/FileMessage.d.ts.map +1 -0
  29. package/dist/weChatBase/weChatMessage/types/FileMessage.js +127 -0
  30. package/dist/weChatBase/weChatMessage/types/FileMessage.js.map +1 -0
  31. package/dist/weChatBase/weChatMessage/types/GroupNoticeMessage.d.ts +52 -0
  32. package/dist/weChatBase/weChatMessage/types/GroupNoticeMessage.d.ts.map +1 -0
  33. package/dist/weChatBase/weChatMessage/types/GroupNoticeMessage.js +76 -0
  34. package/dist/weChatBase/weChatMessage/types/GroupNoticeMessage.js.map +1 -0
  35. package/dist/weChatBase/weChatMessage/types/GroupSystemMessage.d.ts +94 -0
  36. package/dist/weChatBase/weChatMessage/types/GroupSystemMessage.d.ts.map +1 -0
  37. package/dist/weChatBase/weChatMessage/types/GroupSystemMessage.js +151 -0
  38. package/dist/weChatBase/weChatMessage/types/GroupSystemMessage.js.map +1 -0
  39. package/dist/weChatBase/weChatMessage/types/ImageMessage.d.ts +63 -0
  40. package/dist/weChatBase/weChatMessage/types/ImageMessage.d.ts.map +1 -0
  41. package/dist/weChatBase/weChatMessage/types/ImageMessage.js +93 -0
  42. package/dist/weChatBase/weChatMessage/types/ImageMessage.js.map +1 -0
  43. package/dist/weChatBase/weChatMessage/types/LinkMessage.d.ts +78 -0
  44. package/dist/weChatBase/weChatMessage/types/LinkMessage.d.ts.map +1 -0
  45. package/dist/weChatBase/weChatMessage/types/LinkMessage.js +110 -0
  46. package/dist/weChatBase/weChatMessage/types/LinkMessage.js.map +1 -0
  47. package/dist/weChatBase/weChatMessage/types/LocationMessage.d.ts +67 -0
  48. package/dist/weChatBase/weChatMessage/types/LocationMessage.d.ts.map +1 -0
  49. package/dist/weChatBase/weChatMessage/types/LocationMessage.js +84 -0
  50. package/dist/weChatBase/weChatMessage/types/LocationMessage.js.map +1 -0
  51. package/dist/weChatBase/weChatMessage/types/MiniProgramMessage.d.ts +73 -0
  52. package/dist/weChatBase/weChatMessage/types/MiniProgramMessage.d.ts.map +1 -0
  53. package/dist/weChatBase/weChatMessage/types/MiniProgramMessage.js +91 -0
  54. package/dist/weChatBase/weChatMessage/types/MiniProgramMessage.js.map +1 -0
  55. package/dist/weChatBase/weChatMessage/types/PatMessage.d.ts +70 -0
  56. package/dist/weChatBase/weChatMessage/types/PatMessage.d.ts.map +1 -0
  57. package/dist/weChatBase/weChatMessage/types/PatMessage.js +101 -0
  58. package/dist/weChatBase/weChatMessage/types/PatMessage.js.map +1 -0
  59. package/dist/weChatBase/weChatMessage/types/RedPacketMessage.d.ts +93 -0
  60. package/dist/weChatBase/weChatMessage/types/RedPacketMessage.d.ts.map +1 -0
  61. package/dist/weChatBase/weChatMessage/types/RedPacketMessage.js +115 -0
  62. package/dist/weChatBase/weChatMessage/types/RedPacketMessage.js.map +1 -0
  63. package/dist/weChatBase/weChatMessage/types/ReferMessage.d.ts +63 -0
  64. package/dist/weChatBase/weChatMessage/types/ReferMessage.d.ts.map +1 -0
  65. package/dist/weChatBase/weChatMessage/types/ReferMessage.js +88 -0
  66. package/dist/weChatBase/weChatMessage/types/ReferMessage.js.map +1 -0
  67. package/dist/weChatBase/weChatMessage/types/RevokeMessage.d.ts +58 -0
  68. package/dist/weChatBase/weChatMessage/types/RevokeMessage.d.ts.map +1 -0
  69. package/dist/weChatBase/weChatMessage/types/RevokeMessage.js +82 -0
  70. package/dist/weChatBase/weChatMessage/types/RevokeMessage.js.map +1 -0
  71. package/dist/weChatBase/weChatMessage/types/TextMessage.d.ts +26 -0
  72. package/dist/weChatBase/weChatMessage/types/TextMessage.d.ts.map +1 -0
  73. package/dist/weChatBase/weChatMessage/types/TextMessage.js +43 -0
  74. package/dist/weChatBase/weChatMessage/types/TextMessage.js.map +1 -0
  75. package/dist/weChatBase/weChatMessage/types/TransferMessage.d.ts +83 -0
  76. package/dist/weChatBase/weChatMessage/types/TransferMessage.d.ts.map +1 -0
  77. package/dist/weChatBase/weChatMessage/types/TransferMessage.js +109 -0
  78. package/dist/weChatBase/weChatMessage/types/TransferMessage.js.map +1 -0
  79. package/dist/weChatBase/weChatMessage/types/VideoMessage.d.ts +56 -0
  80. package/dist/weChatBase/weChatMessage/types/VideoMessage.d.ts.map +1 -0
  81. package/dist/weChatBase/weChatMessage/types/VideoMessage.js +76 -0
  82. package/dist/weChatBase/weChatMessage/types/VideoMessage.js.map +1 -0
  83. package/dist/weChatBase/weChatMessage/types/VoiceMessage.d.ts +53 -0
  84. package/dist/weChatBase/weChatMessage/types/VoiceMessage.d.ts.map +1 -0
  85. package/dist/weChatBase/weChatMessage/types/VoiceMessage.js +73 -0
  86. package/dist/weChatBase/weChatMessage/types/VoiceMessage.js.map +1 -0
  87. package/dist/weChatBase/weChatMessage/types/index.d.ts +23 -0
  88. package/dist/weChatBase/weChatMessage/types/index.d.ts.map +1 -0
  89. package/dist/weChatBase/weChatMessage/types/index.js +42 -0
  90. package/dist/weChatBase/weChatMessage/types/index.js.map +1 -0
  91. package/dist/weChatBase/weChatMessage/weChatMessageType.d.ts +97 -3
  92. package/dist/weChatBase/weChatMessage/weChatMessageType.d.ts.map +1 -1
  93. package/dist/weChatBase/weChatMessage/weChatMessageType.js +101 -15
  94. package/dist/weChatBase/weChatMessage/weChatMessageType.js.map +1 -1
  95. package/dist/weChatBase/weChatMessage/weChatMsgBase.d.ts +3 -4
  96. package/dist/weChatBase/weChatMessage/weChatMsgBase.d.ts.map +1 -1
  97. package/dist/weChatBase/weChatMessage/weChatMsgBase.js +4 -8
  98. package/dist/weChatBase/weChatMessage/weChatMsgBase.js.map +1 -1
  99. 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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"}