UNPKG

coolink-ts

Version:

Coocaa Coolink APP JavaScript library base on Thresh-lib.

67 lines (57 loc) 1.68 kB
import { isTv } from '../shared/cooInfo'; import ProtocolModule from '../coolink/ProtocolModule' import { Util } from '..'; // 组件通讯的映射数组 var linkingMsgCallbacks : any = {}; export function addLinkingMsgCallback(key: string, cb: Function) { linkingMsgCallbacks[key] = cb; } export function deleteLinkingMsgCallback(key: string) { try { delete linkingMsgCallbacks[key]; } catch (e) { Util.log(e); } } export function linkingMessageOnRecv(res) { let isTvFlag = isTv(); let hasProcess = false; // let msgObj : any = {}; try { if (isTvFlag) { if (res && res?.content) { let obj1 = JSON.parse(res.content); if (obj1?.content) { let obj2 = JSON.parse(obj1.content); msgObj = obj2; } } } else { if (res && res?.content) { let obj1 = JSON.parse(res.content); if (obj1?.message?.content) { let obj2 = JSON.parse(obj1.message.content); msgObj = obj2; } } } } catch (ex) { // } // 寻找组件对应的回调 if (msgObj?.mapToLinkingWidget) { let key = msgObj.mapToLinkingWidget; if (linkingMsgCallbacks[key]) { hasProcess = true; linkingMsgCallbacks[key](msgObj, res); } } // if (!hasProcess) { if (ProtocolModule.msgcallback) { ProtocolModule.msgcallback(msgObj, res); } } }