跳至正文

Web / Tauri 快速开始

本文面向 Web 和 Tauri 接入方。两者都围绕 FlareImClient 调用,差异只在 SDK 包入口和宿主能力。

1. 引入 SDK

Web / H5:

import { FlareCoreSdk } from '@flare-im/sdk/web'

Tauri:

import { FlareCoreSdk } from '@flare-im/sdk/tauri'

2. 创建并初始化客户端

const client = FlareCoreSdk.createClient()

await client.init({
  wsUrl: 'wss://im.example.com/ws',
  httpUrl: 'https://im.example.com',
  tenantId: 'default',
  resourceProfile: 'desktop',
})

3. 登录

await client.login({
  userId: 'u_10001',
  token: coreToken,
})

token 由业务服务端签发或换取。Client SDK 不处理账号密码登录。

4. 监听事件

const messageSub = client.events.onMessageReceived((event) => {
  // event.message -> update timeline
})

const tokenSub = client.events.onUserTokenExpired(async () => {
  const nextToken = await refreshCoreToken()
  await client.updateAccessToken({ accessToken: nextToken })
})

5. 读取会话并发送消息

const conversations = await client.conversations.listConversationsByQuery({
  limit: 30,
  includeArchived: false,
})

const conversationId = conversations.conversations[0]?.conversationId

if (conversationId) {
  const message = await client.messageBuilder.buildText({
    conversationId,
    text: 'hello from web',
  })

  await client.messages.sendMessage({ message })
}

6. 清理资源

messageSub.unsubscribe()
tokenSub.unsubscribe()

await client.logout()
await client.dispose()

下一步