74 行
2.1 KiB
Markdown
74 行
2.1 KiB
Markdown
|
|
# @xuqm/h5-sdk
|
||
|
|
|
||
|
|
XuqmGroup 纯 JavaScript/TypeScript H5 SDK,从 Vue3 SDK 提取核心,移除 Vue 依赖。
|
||
|
|
|
||
|
|
## 安装
|
||
|
|
|
||
|
|
```bash
|
||
|
|
npm install @xuqm/h5-sdk
|
||
|
|
```
|
||
|
|
|
||
|
|
## 使用
|
||
|
|
|
||
|
|
```typescript
|
||
|
|
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` ...
|
||
|
|
|
||
|
|
## 构建
|
||
|
|
|
||
|
|
```bash
|
||
|
|
npm run build
|
||
|
|
```
|
||
|
|
|
||
|
|
产出 `dist/index.es.js` (ESM) 和 `dist/index.umd.js` (UMD)。
|