import common from '@ohos.app.ability.common' import type { LoginSession, SDKConfig } from './core/Types' import { SDKContext } from './core/SDKContext' import { ImClient } from './im/ImClient' import { UpdateSDK } from './update/UpdateSDK' export class XuqmSDK { private static _imClient: ImClient | null = null static async init(context: common.UIAbilityContext, config: SDKConfig): Promise { SDKContext.init(config) await SDKContext.initPreferences(context) } static async login(userId: string, userSig: string): Promise { await SDKContext.login(userId, userSig) return SDKContext.getLoginSession()! } static async logout(): Promise { await SDKContext.logout() } static get currentLoginSession(): LoginSession | null { return SDKContext.getLoginSession() } static get im(): ImClient { if (!XuqmSDK._imClient) { XuqmSDK._imClient = new ImClient() } return XuqmSDK._imClient } static get update(): UpdateSDK { return UpdateSDK } }