XuqmGroup H5 SDK
转到文件
徐勤民 d6f69f3723 sdk: add license-based initialization and awaitInitialization
- core/sdk: add initializeFromLicense(), awaitInitialization(), isInitialized()
- index: export new functions

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 18:00:42 +08:00
src sdk: add license-based initialization and awaitInitialization 2026-05-22 18:00:42 +08:00
.gitignore chore: add .gitignore and remove node_modules from tracking 2026-05-18 21:08:21 +08:00
.nvmrc feat(private): add private deployment SDK module 2026-05-18 21:08:08 +08:00
Jenkinsfile ci: fix Jenkinsfile to use bat (Jenkins runs on Windows) 2026-05-18 21:16:07 +08:00
package-lock.json feat(private): add private deployment SDK module 2026-05-18 21:08:08 +08:00
package.json fix(build): switch from umd to cjs format to support dual entry points 2026-05-18 21:18:02 +08:00
package.private.json fix(build): switch from umd to cjs format to support dual entry points 2026-05-18 21:18:02 +08:00
README.md feat(private): add private deployment SDK module 2026-05-18 21:08:08 +08:00
tsconfig.json feat(private): add private deployment SDK module 2026-05-18 21:08:08 +08:00
vite.config.ts fix(build): switch from umd to cjs format to support dual entry points 2026-05-18 21:18:02 +08:00

@xuqm/h5-sdk

XuqmGroup 纯 JavaScript/TypeScript H5 SDK,从 Vue3 SDK 提取核心,移除 Vue 依赖。

安装

npm install @xuqm/h5-sdk

使用

import { init, ImManager, login } from '@xuqm/h5-sdk'

// 初始化
init({ appKey: 'your-app-key', baseUrl: 'https://dev.xuqinmin.com' })

// 登录
login('userId', 'userSig')

// 创建 IM 管理器
const im = new ImManager()

// 监听状态变化
im.on('connected', () => console.log('connected'))
im.on('messages', (msgs) => console.log('messages', msgs))
im.on('conversations', (convs) => console.log('conversations', convs))
im.on('error', (err) => console.error('error', err))

// 连接
im.connect()

// 发送消息
im.send({ toId: 'target', chatType: 'SINGLE', msgType: 'TEXT', content: 'Hello' })

// 发送图片(自动上传)
import { sendImageMessage } from '@xuqm/h5-sdk'
await sendImageMessage('target', 'SINGLE', fileInput.files[0], 800, 600)

API

Core

  • init(config) — 初始化 SDK
  • login(userId, userSig) / logout() — 登录/登出
  • setToken(token) / getToken() / getUserId() / getConfig()
  • http.get/post/put/delete — HTTP 请求工具
  • uploadFile(file) — 文件上传

IM Manager

  • connect() / disconnect() — WebSocket 连接管理
  • send(params) / revoke(msgId) / edit(msgId, content) — 消息操作
  • messages / conversations / connected / error — 状态属性
  • on(event, handler) / off(event, handler) — 事件订阅
  • refreshConversations() — 刷新会话列表
  • loadHistory(toId, query?) / loadGroupHistory(groupId, query?) — 加载历史
  • setConversationRead(targetId, chatType?) — 标记已读

IM API (HTTP)

  • sendMessage / sendImageMessage / sendVideoMessage / sendFileMessage / sendAudioMessage
  • fetchHistory / fetchGroupHistory / revokeMessage / editMessage
  • listConversations / markRead / setDraft / deleteConversation
  • listFriends / addFriend / removeFriend / sendFriendRequest ...
  • listGroups / getGroupInfo / createGroup ...

构建

npm run build

产出 dist/index.es.js (ESM) 和 dist/index.umd.js (UMD)。