wechaty-puppet-wechat4u
Version:
Wechat4u Puppet for Wechaty
89 lines • 3.78 kB
JavaScript
/* eslint-disable @typescript-eslint/no-unnecessary-condition */
import { xmlToJson } from '../utils/xml-to-json.js';
export var AppMessageType;
(function (AppMessageType) {
AppMessageType[AppMessageType["Text"] = 1] = "Text";
AppMessageType[AppMessageType["Img"] = 2] = "Img";
AppMessageType[AppMessageType["Audio"] = 3] = "Audio";
AppMessageType[AppMessageType["Video"] = 4] = "Video";
AppMessageType[AppMessageType["Url"] = 5] = "Url";
AppMessageType[AppMessageType["Attach"] = 6] = "Attach";
AppMessageType[AppMessageType["Open"] = 7] = "Open";
AppMessageType[AppMessageType["Emoji"] = 8] = "Emoji";
AppMessageType[AppMessageType["VoiceRemind"] = 9] = "VoiceRemind";
AppMessageType[AppMessageType["ScanGood"] = 10] = "ScanGood";
AppMessageType[AppMessageType["Good"] = 13] = "Good";
AppMessageType[AppMessageType["Emotion"] = 15] = "Emotion";
AppMessageType[AppMessageType["CardTicket"] = 16] = "CardTicket";
AppMessageType[AppMessageType["RealtimeShareLocation"] = 17] = "RealtimeShareLocation";
AppMessageType[AppMessageType["ChatHistory"] = 19] = "ChatHistory";
AppMessageType[AppMessageType["MiniProgram"] = 33] = "MiniProgram";
AppMessageType[AppMessageType["MiniProgramApp"] = 36] = "MiniProgramApp";
AppMessageType[AppMessageType["Channels"] = 51] = "Channels";
AppMessageType[AppMessageType["GroupNote"] = 53] = "GroupNote";
AppMessageType[AppMessageType["ReferMsg"] = 57] = "ReferMsg";
AppMessageType[AppMessageType["Transfers"] = 2000] = "Transfers";
AppMessageType[AppMessageType["RedEnvelopes"] = 2001] = "RedEnvelopes";
AppMessageType[AppMessageType["ReaderType"] = 100001] = "ReaderType";
})(AppMessageType || (AppMessageType = {}));
export async function parseAppmsgMessagePayload(messageContent) {
const appMsgXml = await xmlToJson(messageContent);
const { title, des, url, thumburl, type, md5, recorditem } = appMsgXml.msg.appmsg;
let appattach;
let channel;
let miniApp;
const tmp = appMsgXml.msg.appmsg.appattach;
const channeltmp = appMsgXml.msg.appmsg.finderFeed;
const minitmp = appMsgXml.msg.appmsg.weappinfo;
if (tmp) {
appattach = {
aeskey: tmp.aeskey,
attachid: tmp.attachid,
cdnattachurl: tmp.cdnattachurl,
cdnthumbaeskey: tmp.cdnthumbaeskey,
emoticonmd5: tmp.emoticonmd5,
encryver: (tmp.encryver && parseInt(tmp.encryver, 10)) || 0,
fileext: tmp.fileext,
islargefilemsg: (tmp.islargefilemsg && parseInt(tmp.islargefilemsg, 10)) || 0,
totallen: (tmp.totallen && parseInt(tmp.totallen, 10)) || 0,
};
}
if (channeltmp) {
channel = {
authIconType: channeltmp.authIconType,
authIconUrl: channeltmp.authIconUrl,
avatar: channeltmp.avatar,
desc: channeltmp.desc,
feedType: channeltmp.feedType,
liveId: channeltmp.liveId,
mediaCount: channeltmp.mediaCount,
nickname: channeltmp.nickname,
objectId: channeltmp.objectId,
objectNonceId: channeltmp.objectNonceId,
username: channeltmp.username,
};
}
if (minitmp) {
miniApp = {
appid: minitmp.appid,
pagepath: minitmp.pagepath,
shareId: minitmp.shareId,
username: minitmp.username,
weappiconurl: minitmp.weappiconurl,
};
}
return {
appattach,
channel,
des,
md5,
miniApp,
recorditem,
refermsg: appMsgXml.msg.appmsg.refermsg,
thumburl,
title,
type: parseInt(type, 10),
url,
};
}
//# sourceMappingURL=message-appmsg.js.map