|
|
|
|
{"version":3,"file":"offlinePushInfoManager.js","sources":["TUIKit/components/TUIChat/offlinePushInfoManager/offlinePushInfoManager.ts"],"sourcesContent":["import TUIChatEngine, { IConversationModel, StoreName, TUIStore, TUITranslateService } from '@tencentcloud/chat-uikit-engine';\nimport { transformTextWithKeysToEmojiNames } from '../emoji-config';\nimport {\n IChatOfflinePushInfo,\n IOfflinePushInfoCreateParams,\n} from './interface';\nimport { chatOfflinePushInfo, callOfflinePushInfo } from './info';\nimport { DEFAULT_DESC, PUSH_SCENE } from './const';\n\nclass OfflinePushInfoManager {\n private name = 'OfflinePushInfoManager';\n private static instance: OfflinePushInfoManager | null = null;\n\n private offlinePushInfo: any = {};\n\n private constructor() {\n this.offlinePushInfo = {\n [PUSH_SCENE.CHAT]: chatOfflinePushInfo,\n [PUSH_SCENE.CALL]: callOfflinePushInfo,\n };\n }\n\n public static getInstance(): OfflinePushInfoManager {\n if (!OfflinePushInfoManager.instance) {\n OfflinePushInfoManager.instance = new OfflinePushInfoManager();\n }\n return OfflinePushInfoManager.instance;\n }\n\n public getOfflinePushInfo(scene: PUSH_SCENE) {\n if (!Object.values(PUSH_SCENE).includes(scene)) {\n console.error(`${this.name} getOfflinePushInfo scene: ${scene} is invalid`);\n return null;\n }\n return this.offlinePushInfo[scene];\n }\n\n private genTitle(conversation: IConversationModel, userInfo: any) {\n let title = conversation?.getShowName();\n if (conversation.type === TUIChatEngine.TYPES.CONV_C2C) {\n title = userInfo?.nick || userInfo?.userID;\n }\n return title;\n }\n\n private genDesc(messageType: string, payload: any) {\n let desc = '';\n if (messageType === TUIChatEngine.TYPES.MSG_TEXT) {\n desc = transformTextWithKeysToEmojiNames(payload.text);\n }\n if (messageType === TUIChatEngine.TYPES.MSG_CUSTOM) {\n desc = payload.description;\n }\n return desc || TUITranslateService.t(`TUIChat.${DEFAULT_DESC[messageType]}`);\n }\n\n public create(options: IOfflinePushInfoCreateParams): IChatOfflinePushInfo {\n const { conversation, messageType = '', payload = {} } = options || {};\n const userInfo = TUIStore.getData(StoreName.USER, 'userProfile');\n const entity = {\n sender: conversation.type === TUIChatEngine.TYPES.CONV_GROUP ? conversation.groupProfile?.groupID : userInfo?.userID,\n nickName: userInfo?.nick,\n chatType: conversation.type === TUIChatEngine.TYPES.CONV_GROUP ? 2 : 1,\n version: 1,\n action: 1,\n };\n return {\n title: this.genTitle(conversation, userInfo),\n description: this.genDesc(messageType, payload),\n extension: JSON.stringify({ entity }),\n ...this.offlinePushInfo[PUSH_SCENE.CHAT],\n };\n }\n}\n\nexport default OfflinePushInfoManager;\n"],"names":["PUSH_SCENE","chatOfflinePushInfo","callOfflinePushInfo","uni","TUIChatEngine","transformTextWithKeysToEmojiNames","TUITranslateService","DEFAULT_DESC","TUIStore","StoreName"],"mappings":";;;;;AASA,MAAM,0BAAN,MAAM,wBAAuB;AAAA,EAMnB,cAAc;AALtB,SAAQ,OAAO;AAGf,SAAQ,kBAAuB;AAG7B,SAAK,kBAAkB;AAAA,MACrB,CAACA,uDAAAA,WAAW,IAAI,GAAGC,sDAAA;AAAA,MACnB,CAACD,uDAAAA,WAAW,IAAI,GAAGE,sDAAA;AAAA,IAAA;AAAA,EAEvB;AAAA,EAEA,OAAc,cAAsC;AAC9C,QAAA,CAAC,wBAAuB,UAAU;AACb,8BAAA,WAAW,IAAI;IACxC;AACA,WAAO,wBAAuB;AAAA,EAChC;AAAA,EAEO,mBAAmB,OAAmB;AAC3C,QAAI,CAAC,OAAO,OAAOF,uDAAU,UAAA,EAAE,SAAS,KAAK,GAAG;AAC9CG,oBAAAA,MAAA,MAAA,SAAA,oFAAc,GAAG,KAAK,IAAI,8BAA8B,KAAK,aAAa;AACnE,aAAA;AAAA,IACT;AACO,WAAA,KAAK,gBAAgB,KAAK;AAAA,EACnC;AAAA,EAEQ,SAAS,cAAkC,UAAe;AAC5D,QAAA,QAAQ,6CAAc;AAC1B,QAAI,aAAa,SAASC,iBAAc,MAAM,UAAU;AAC9C,eAAA,qCAAU,UAAQ,qCAAU;AAAA,IACtC;AACO,WAAA;AAAA,EACT;AAAA,EAEQ,QAAQ,aAAqB,SAAc;AACjD,QAAI,OAAO;AACP,QAAA,gBAAgBA,cAAAA,GAAc,MAAM,UAAU;AACzC,aAAAC,4CAAA,kCAAkC,QAAQ,IAAI;AAAA,IACvD;AACI,QAAA,gBAAgBD,cAAAA,GAAc,MAAM,YAAY;AAClD,aAAO,QAAQ;AAAA,IACjB;AACA,WAAO,QAAQE,cAAoB,GAAA,EAAE,WAAWC,oEAAa,WAAW,CAAC,EAAE;AAAA,EAC7E;AAAA,EAEO,OAAO,SAA6D;;AACnE,UAAA,EAAE,cAAc,cAAc,IAAI,UAAU,GAAO,IAAA,WAAW;AACpE,UAAM,WAAWC,cAAAA,GAAS,QAAQC,cAAAA,EAAU,MAAM,aAAa;AAC/D,UAAM,SAAS;AAAA,MACb,QAAQ,aAAa,SAASL,cAAAA,GAAc,MAAM,cAAa,kBAAa,iBAAb,mBAA2B,UAAU,qCAAU;AAAA,MAC9G,UAAU,qCAAU;AAAA,MACpB,UAAU,aAAa,SAASA,cAAAA,GAAc,MAAM,aAAa,IAAI;AAAA,MACrE,SAAS;AAAA,MACT,QAAQ;AAAA,IAAA;AAEH,WAAA;AAAA,MACL,OAAO,KAAK,SAAS,cAAc,QAAQ;AAAA,MAC3C,aAAa,KAAK,QAAQ,aAAa,OAAO;AAAA,MAC9C,WAAW,KAAK,UAAU,EAAE,QAAQ;AAAA,MACpC,GAAG,KAAK,gBAAgBJ,uDAAA,WAAW,IAAI;AAAA,IAAA;AAAA,EAE3C;AACF;AA9DE,wBAAe,WAA0C;AAF3D,IAAM,yBAAN;;"}
|