Skip to content
密信 IM · 开发文档

微信原生小程序接入 ​

密信 IM 开发版 5.0 的微信原生组件提供无界面 IM SDK 与 WXML/WXSS 聊天界面,支持会话、消息、联系人和群组接入。组件按授权清单配套交付;微信目标提供语音消息,不提供实时通话组件。

接入准备 ​

取得授权的微信制品与自包含参考项目,使用微信开发者工具导入。真实项目还需 AppID、request/socket/uploadFile/downloadFile 合法域名、隐私用途及实际功能对应的权限配置。

使用交付包配置的基础库版本,并为正式 AppID 设置合法域名。真机和发布构建保持域名校验开启。

创建实例 ​

独立制品通过 sdk.js 提供 CommonJS 入口。下面假定该文件位于当前宿主模块的同级目录。应用级账号控制器先执行 const im = createWechatImClient(config, wx) 并保留实例,再调用连接函数:

js
const { createWechatImClient } = require('./sdk.js')

async function connectIm(im, session) {
  await im.connect(session)
}

config 和 session 由宿主提供。后端认证平台固定使用 wechat,设备码采用当前小程序的稳定设备标识;不能以手机操作系统 android 或 ios 替代。

SDK 应由应用级账号生命周期持有。连接失败时,宿主仍持有 im,可按错误类型处理;确定放弃该实例或退出账号时执行 await im.dispose(),不要直接丢弃引用并新建实例。切换页面只清理本页订阅,不随聊天页卸载而关闭全应用连接。

绑定聊天组件 ​

按交付包说明在页面 usingComponents 注册聊天组件,渲染后取得组件实例并绑定 SDK:

js
// im 是应用当前账号持有的 SDK,chat 是页面中已挂载的组件。
const chat = this.selectComponent('#chat')
chat.bindClient(im)

不要把 SDK 对象放入 setData。页面只同步可展示数据,业务登录、路由与账号设置留在宿主层。

缓存与同步 ​

微信适配采用有限预算的持久快照。缓存压力下优先清理可恢复的已确认历史,保留待发与未完成操作;空间不足会返回明确错误。

回前台时重新校验连接并补拉历史,按需恢复本地缓存;小程序后台运行受微信生命周期管理。消息 ID、序号和相关 64 位整数使用十进制字符串,保留完整精度。

平台功能与权限 ​

相册、录音、位置等入口按微信要求在用户主动操作后申请权限,页面加载不应无故触发授权。具体地图、位置选取和文件打开方式以当前交付组件为准,不能照搬原生 App 的任意文件路径和系统调用。

发布前使用正式 AppID 检查合法域名、前后台恢复,以及附件和录音消息的发送、接收与访问。

下一步:消息类型 · 历史与同步 · 错误处理

开始构建你的通讯体验

获取授权包、完整接口资料与接入支持。

LET’S BUILD TOGETHER

聊聊你的通讯需求

联系密信团队,获取 SDK 授权、接入资料与私有化方案。

咨询内容:
客服微信mixinim
客服 QQ629900
联系邮箱mixinim@126.com

SDK 与源码按授权范围交付。此处不提供公开下载。