XuqmGroup-Web/docs-site/docs/miniprogram/index.md
XuqmGroup 6cd938cfbc feat(android-sdk): 添加完整的IM客户端SDK实现
- 实现了Android SDK的完整IM功能接口,包括消息、群组、好友、会话等核心功能
- 添加了消息收发、历史记录、撤回编辑等完整的消息操作能力
- 实现了群组管理功能,包括创建、成员管理、权限设置等操作
- 添加了好友关系链管理,支持添加、删除、分组等操作
- 实现了会话管理功能,包括置顶、免打扰、已读状态等
- 添加了黑名单、资料管理、搜索等辅助功能
- 补齐了批量操作接口,提升客户端操作效率
- 实现了WebSocket连接管理和事件监听机制
- 添加了离线消息同步和状态管理功能
2026-05-02 22:57:55 +08:00

4.0 KiB

微信小程序 SDK 概览

包名@xuqm/miniprogram-sdk · 版本0.1.0


npm 安装

npm install @xuqm/miniprogram-sdk

或在微信开发者工具中:

  1. 打开「工具」→「构建 npm」
  2. 在小程序 package.json 中添加上述依赖

初始化

import { XuqmMiniProgramSDK } from '@xuqm/miniprogram-sdk'

const sdk = new XuqmMiniProgramSDK()

sdk.init({
  appKey: 'your_app_key',
  appSecret: 'your_app_secret',
  debug: true, // 可选
})

IM 接入

登录

// 使用 UserSig 登录
await sdk.login('user_001', 'your_user_sig_jwt')

// 或使用演示账号快速登录(仅测试)
const token = await sdk.loginWithDemo('user_001', '123456')

监听消息

sdk.on('connected', () => {
  console.log('IM 已连接')
})

sdk.on('message', (msg) => {
  console.log('收到消息:', msg.msgType, msg.content)
})

sdk.on('read', (msg) => {
  console.log('已读回执:', msg.id)
})

sdk.on('revoke', (data) => {
  console.log('消息被撤回:', data.msgId)
})

sdk.on('disconnected', (reason) => {
  console.log('断开连接:', reason)
})

sdk.on('error', (error) => {
  console.error('IM 错误:', error)
})

发送消息

const msg = await sdk.send({
  toId: 'user_002',
  chatType: 'SINGLE',
  msgType: 'TEXT',
  content: 'Hello!',
})

发送文本消息(快捷方法)

await sdk.sendTextMessage('user_002', 'SINGLE', 'Hello!')

历史消息

const history = await sdk.fetchHistory('user_002')
const groupHistory = await sdk.fetchGroupHistory('group_xxx')

会话列表

const conversations = await sdk.listConversations()
await sdk.markRead('user_002')
await sdk.setConversationPinned('user_002', 'SINGLE', true)
await sdk.setConversationMuted('user_002', 'SINGLE', true)

群聊

const groups = await sdk.listGroups()
const group = await sdk.getGroupInfo('group_xxx')
const members = await sdk.listGroupMembers('group_xxx')

好友管理

const friends = await sdk.listFriends()
await sdk.addFriend('user_002')
await sdk.removeFriend('user_002')

离线消息同步

const count = await sdk.offlineMessageCount()
const messages = await sdk.syncOfflineMessages()

Push 接入(小程序通知)

微信小程序使用订阅消息服务通知实现 Push,由服务端调用微信 API 下发。

XuqmGroup 小程序 SDK 本身不直接处理 Push Token小程序无设备 Token 概念),业务方需要:

  1. 用户订阅消息模板
  2. 业务服务端调用 XuqmGroup Server SDK 的 send_push 接口
  3. 或业务服务端直接调用微信服务端 API 下发订阅消息
# Python Server SDK 示例
from xuqm_im_server_sdk import XuqmImServerSdk

sdk = XuqmImServerSdk(config)
sdk.send_push(
    user_id="user_001",
    title="新消息",
    body="你有一条未读消息",
)

Update 接入(小程序自带更新机制)

微信小程序的更新由微信客户端自动管理,开发者可通过微信 API 检查更新:

const updateManager = wx.getUpdateManager()

updateManager.onCheckForUpdate((res) => {
  console.log('是否有新版本:', res.hasUpdate)
})

updateManager.onUpdateReady(() => {
  wx.showModal({
    title: '更新提示',
    content: '新版本已准备好,是否重启应用?',
    success: (res) => {
      if (res.confirm) {
        updateManager.applyUpdate()
      }
    },
  })
})

XuqmGroup 小程序 SDK 不额外提供 Update 模块,直接使用微信小程序原生更新能力即可。


消息类型

MsgType 说明
TEXT 纯文本
IMAGE 图片
VIDEO 视频
AUDIO 语音
FILE 文件
LOCATION 位置
CUSTOM 自定义
NOTIFY 系统通知
RICH_TEXT 富文本
CALL_AUDIO 语音通话信令
CALL_VIDEO 视频通话信令
QUOTE 引用
MERGE 合并转发
FORWARD 转发
REVOKED 撤回

→ Server API 文档 →