wildfire-im-sdk
Version:
野火IM SDK for Vue3 projects
44 lines (35 loc) • 1.16 kB
JavaScript
/*
* Copyright (c) 2020 WildFireChat. All rights reserved.
*/
import MessageContentMediaType from "./messageContentMediaType";
import MediaMessageContent from "./mediaMessageContent";
import MessageContentType from "./messageContentType";
import wfc from "../client/wfc"
export default class StickerMessageContent extends MediaMessageContent {
width = 200;
height = 200;
constructor(filerOrLocalPath, remotePath, width, height) {
super(MessageContentType.Sticker, MessageContentMediaType.Sticker, filerOrLocalPath, remotePath);
this.width = width;
this.height = height;
}
digest() {
return '[表情]';
}
encode() {
let payload = super.encode();
payload.mediaType = MessageContentMediaType.File;
let obj = {
x: this.width,
y: this.height,
};
payload.binaryContent = wfc.utf8_to_b64(JSON.stringify(obj));
return payload;
}
decode(payload) {
super.decode(payload);
let obj = JSON.parse(wfc.b64_to_utf8(payload.binaryContent));
this.width = obj.x;
this.height = obj.y;
}
}