UNPKG

press-next

Version:

Vue3 组件库,支持 Composition API

49 lines (34 loc) 1.19 kB
import type { TimInstanceType, TimType } from '../types'; const timMap: Record<number, TimInstanceType> = {}; export function init({ appId, TIM, logLevel = 0 }: { appId: number; TIM: TimType, logLevel?: number; }): TimInstanceType { if (timMap[appId]) return timMap[appId]; const options = { SDKAppID: appId, }; const tim: TimInstanceType = TIM.create(options); timMap[appId] = tim; // 设置 SDK 日志输出级别,详细分级请参见 setLogLevel https://web.sdk.qcloud.com/im/doc/zh-cn/SDK.html#setLogLevel 接口的说明</a> tim.setLogLevel(logLevel); // 普通级别,日志量较多,接入时建议使用 // tim.setLogLevel(1); // release 级别,SDK 输出关键信息,生产环境时建议使用 const watchReadyCallback = function () { tim.updateReadyStatus?.(true); }; tim.on(TIM.EVENT.SDK_READY, watchReadyCallback); tim.updateUserId = (userId) => { tim.userId = userId; }; tim.updateUserSig = (userSig) => { tim.userSig = userSig; }; tim.updateReadyStatus = (status) => { tim.isReady = !!status; }; tim.updateOnlineStatus = (status) => { tim.isOnline = !!status; }; return tim; }