2026-04-21 22:07:29 +08:00
|
|
|
import common from '@ohos.app.ability.common'
|
2026-05-01 22:43:17 +08:00
|
|
|
import type { LoginSession, SDKConfig } from './core/Types'
|
2026-04-21 22:07:29 +08:00
|
|
|
import { SDKContext } from './core/SDKContext'
|
|
|
|
|
import { ImClient } from './im/ImClient'
|
2026-04-29 19:08:12 +08:00
|
|
|
import { UpdateSDK } from './update/UpdateSDK'
|
2026-04-21 22:07:29 +08:00
|
|
|
|
|
|
|
|
export class XuqmSDK {
|
|
|
|
|
private static _imClient: ImClient | null = null
|
|
|
|
|
|
|
|
|
|
static async init(context: common.UIAbilityContext, config: SDKConfig): Promise<void> {
|
|
|
|
|
SDKContext.init(config)
|
|
|
|
|
await SDKContext.initPreferences(context)
|
|
|
|
|
}
|
|
|
|
|
|
2026-05-01 22:43:17 +08:00
|
|
|
static async login(userId: string, userSig: string): Promise<LoginSession> {
|
|
|
|
|
await SDKContext.login(userId, userSig)
|
|
|
|
|
return SDKContext.getLoginSession()!
|
2026-04-21 22:07:29 +08:00
|
|
|
}
|
|
|
|
|
|
2026-05-01 22:43:17 +08:00
|
|
|
static async logout(): Promise<void> {
|
|
|
|
|
await SDKContext.logout()
|
2026-04-21 22:07:29 +08:00
|
|
|
}
|
|
|
|
|
|
2026-05-01 22:43:17 +08:00
|
|
|
static get currentLoginSession(): LoginSession | null {
|
|
|
|
|
return SDKContext.getLoginSession()
|
2026-04-28 16:55:11 +08:00
|
|
|
}
|
|
|
|
|
|
2026-04-21 22:07:29 +08:00
|
|
|
static get im(): ImClient {
|
|
|
|
|
if (!XuqmSDK._imClient) {
|
|
|
|
|
XuqmSDK._imClient = new ImClient()
|
|
|
|
|
}
|
|
|
|
|
return XuqmSDK._imClient
|
|
|
|
|
}
|
2026-04-29 19:08:12 +08:00
|
|
|
|
|
|
|
|
static get update(): UpdateSDK {
|
|
|
|
|
return UpdateSDK
|
|
|
|
|
}
|
2026-04-21 22:07:29 +08:00
|
|
|
}
|