tjc-sdk
Version:
TIANJI IM SDK
2 lines (1 loc) • 1.33 kB
JavaScript
import t from"./notificationMessageContent.js";import i from"../../client/tjc.js";import{MessageContentType as e}from"../messageContentType.js";import s from"long";import o from"../../model/conversationType.js";class r extends t{operatorId="";messageUid=new s(0);originalSender;originalContentType;originalSearchableContent;originalContent;originalExtra;originalMessageTimestamp;constructor(t,i){super(e.RecallMessage_Notification),this.operatorId=t,this.messageUid=i}formatNotification(t){return this.operatorId===i.getUserId()?"你撤回了一条消息":t.conversation.type===o.Group?i.getGroupMemberDisplayName(t.conversation.target,this.operatorId)+"撤回了一条消息":i.getUserDisplayName(this.operatorId)+"撤回了一条消息"}encode(){let t=super.encode();return t.content=this.operatorId,t.binaryContent=i.utf8_to_b64(this.messageUid.toString()),t}decode(t){super.decode(t),this.operatorId=t.content,this.messageUid=s.fromString(i.b64_to_utf8(t.binaryContent));try{this.setExtra(t.extra)}catch(t){}}setExtra(t){if(t){t=t.replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t");let i=JSON.parse(t);this.originalSender=i.s,this.originalContentType=i.t,this.originalSearchableContent=i.sc,this.originalContent=i.c,this.originalExtra=i.e,this.originalMessageTimestamp=s.fromValue(i.ts)}}}export{r as default};