/* * Copyright (c) 2020 WildFireChat. All rights reserved. */ import MediaMessageContent from "./mediaMessageContent"; import MessageContentMediaType from "./messageContentMediaType"; import MessageContentType from "./messageContentType"; export default class ImageMessageContent extends MediaMessageContent { // base64 encoded, 不包含头部:data:image/png;base64, thumbnail; imageWidth; imageHeight; constructor(fileOrLocalPath, remotePath, thumbnail) { super(MessageContentType.Image, MessageContentMediaType.Image, fileOrLocalPath, remotePath); this.thumbnail = thumbnail; } digest() { return "[图片]"; } encode() { let payload = super.encode(); payload.mediaType = MessageContentMediaType.Image; payload.binaryContent = this.thumbnail; if (this.imageWidth) { let obj = { w: this.imageWidth, h: this.imageHeight, }; payload.content = JSON.stringify(obj); } return payload; } decode(payload) { super.decode(payload); this.thumbnail = payload.binaryContent; if (payload.content) { let obj = JSON.parse(payload.content); this.imageWidth = obj["w"]; this.imageHeight = obj["h"]; } } }