let WebIM = require("./WebIM")["default"]; let msgType = require("./msgtype"); module.exports = function (sendableMsg, type, myName) { var time = WebIM.time(); var renderableMsg = { info: { from: sendableMsg.body.from, to: sendableMsg.body.to }, username: sendableMsg.body.from == myName ? sendableMsg.body.to : sendableMsg.body.from, yourname: sendableMsg.body.from, msg: { type: type, url: sendableMsg.body.body && sendableMsg.body.body.url || '', data: getMsgData(sendableMsg, type), ext: sendableMsg.body.ext }, style: sendableMsg.body.from == myName ? "self" : "", time: time, mid: sendableMsg.type + sendableMsg.id, chatType: sendableMsg.body.chatType, ext: sendableMsg.body.ext, isFail: false }; if (type == msgType.IMAGE) { renderableMsg.msg.size = { width: sendableMsg.body.body && sendableMsg.body.body.size.width || '', height: sendableMsg.body.body && sendableMsg.body.body.size.height || '', }; } else if (type == msgType.AUDIO) { renderableMsg.msg.length = sendableMsg.body.length; } else if (type == msgType.FILE) { renderableMsg.msg.data = [{ data: "[当前不支持此格式消息展示]", type: "txt" }]; renderableMsg.msg.type = 'txt'; } return renderableMsg; function getMsgData(sendableMsg, type) { if (type == msgType.TEXT) { return WebIM.parseEmoji(sendableMsg.value.replace(/\n/mg, "")); } else if (type == msgType.EMOJI) { return sendableMsg.value; } else if (type == msgType.IMAGE || type == msgType.VIDEO || type == msgType.AUDIO) { return sendableMsg.body.body.url; } else if (type == msgType.FILE) { return sendableMsg.body.body.msg } return ""; } };