XuqmGroup-H5SDK/README.md
徐勤民 e34fa2052a feat(private): add private deployment SDK module
Adds @xuqm/h5-sdk/private entry point with JSON-based initialization,
feature gating, and error codes for private deployment scenarios.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 21:08:08 +08:00

2.1 KiB

@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)。