UNPKG

coolink-ts

Version:

Coocaa Coolink APP JavaScript library base on Thresh-lib.

87 lines (74 loc) 2.86 kB
import coolink from '../coolink/api'; import cooInfo, { setCooInfo } from '../shared/cooInfo'; import { linkingMessageOnRecv } from '../coolink-base/messageProcess' //import Util from '../manager/UtilManager'; let getSystemInfoFinishFlag = false; let getAppInfoFinishFlag = false; function clearFinishFlag() { getSystemInfoFinishFlag = false; getAppInfoFinishFlag = false; } function channelStartupFinish() { if (getSystemInfoFinishFlag && getAppInfoFinishFlag ) { return true; } else { return false; } } export default async function channelStartup() : Promise<void> { //Util.log('channelStartup()'); clearFinishFlag(); let getBaseInfo = new Promise((resolve, reject) => { ///////////////////////////////////////////////////////////////////////// // 获取系统信息 coolink.baseinfo.getSystemInfo() .then((res) => { //Util.log('getSystemInfo 1: ' + JSON.stringify(res)); setCooInfo({ systemInfo: JSON.parse(JSON.stringify(res)) }); // getSystemInfoFinishFlag = true; // 设置该项完成标志 if (channelStartupFinish()) { resolve(0); } }) .catch((err) => { getSystemInfoFinishFlag = true; // 设置该项完成标志 if (channelStartupFinish()) { reject(); } }); ///////////////////////////////////////////////////////////////////////// // 获取APP信息 coolink.baseinfo.getAppInfo() .then((res) => { //Util.log('getAppInfo 1: ' + JSON.stringify(res)); setCooInfo({ appInfo: JSON.parse(JSON.stringify(res)) }); getAppInfoFinishFlag = true; // 设置该项完成标志 if (channelStartupFinish()) { resolve(0); } }) .catch((err) => { getAppInfoFinishFlag = true; // 设置该项完成标志 if (channelStartupFinish()) { reject(); } }); }); await getBaseInfo; ///////////////////////////////////////////////////////////////////////// let miniAppCode = ''; if (cooInfo?.infos?.appInfo?.miniAppCode) { miniAppCode = cooInfo.infos.appInfo.miniAppCode; } else { miniAppCode = 'coolink-mobile-applet/coo-movie';//'miniApp_debug_example'; } setCooInfo({ miniAppCode }); coolink.protocol.registerMessageReceiver({ miniAppCode: miniAppCode, callback: linkingMessageOnRecv, }); return; }