uni-app 标准版(Vue3/Vue2)

最近更新时间:2026-01-08 17:04:12

我的收藏
TUIKit 是基于 IM SDK 的一款 UI 组件库,通过 UI 组件快速实现聊天、会话、群组等功能。本文介绍如何快速集成 TUIKit 并实现核心功能。
标准版界面效果如下图所示:


版本对比

针对用户不同场景的诉求和体积要求,TUIKit 推出了多个版本的 UI 组件 ,您可以根据实际业务需求选择集成最适合的版本。
功能区分
聊天组件(精简版
聊天组件(标准版
聊天组件(完整版
登录&登出
用户资料与管理
消息列表
文本&自定义消息
图片&视频消息
-
历史消息
-
会话列表
-
未读消息计数
-
群组功能
-
语音&文件消息
-
-
消息引用/撤回/转发
-
-
消息已读回执
-
-
联系人列表
-
-
云端搜索
-
-
体积大小
0.2 MB
0.65 MB
1.30 MB

前提条件

HBuilderX 需要升级到最新版本
TypeScript / JavaScript (TUIKit 使用 ts 语言开发,支持在 js 或者 ts 项目中集成
Vue2/Vue3
sass(sass-loader 版本 ≤ 10.1.1)
node( node > 12.13.0 ,推荐使用 Node.js 官方 LTS 版本 16.17.0)
npm(版本请与 node 版本匹配)
小程序域名白名单信息请参考:小程序域名白名单配置信息

创建项目

1. 打开 HBuilderX,在菜单栏中选择 “文件 > 创建 > 项目”,创建一个名为 chat-example 的 uni-app 项目。

2. 在项目根目录运行终端输入npm init -y,命令执行成功后,项目根目录将生成一个 package.json 文件。
npm init -y

下载及导入组件

步骤1:安装依赖

1. 下载组件。
Vue3
Vue2
npm i tuikit-atomicx-uniapp-wx-standard
npm i tuikit-atomicx-uniapp-wx-standard@vue2
2. 拷贝源码。
MacOS 端
Windows 端
mkdir -p ./TUIKit && cp -r node_modules/tuikit-atomicx-uniapp-wx-standard/ ./TUIKit && cp node_modules/@trtc/call-engine-lite-wx/RTCCallEngine.wasm.br ./static
xcopy node_modules\\tuikit-atomicx-uniapp-wx-standard .\\TUIKit /i /e
xcopy node_modules\\@trtc\\call-engine-lite-wx\\RTCCallEngine.wasm.br .\\static

步骤2:获取 SDKAppID、userID 和 UserSig

注意:
本文示例代码采用 即时通信 IM 控制台 获取 UserSig 的方案,该方法仅适合本地跑通功能调试。 正确的 UserSig 签发方式请参见 服务端生成 UserSig
SDKAppID:在 即时通信 IM 控制台 > 应用管理 单击创建新应用,获取 SDKAppID。

userID:单击 即时通信 IM 控制台 > 消息服务 Chat > 账号管理,切换至目标应用所在账号,您可以创建 2~3 个账号用于体验单聊、群聊的功能。

userSig:单击 即时通信 IM 控制台 > 开发工具 > UserSig生成校验,切换至目标应用所在账号,填写创建的 userID,即可生成 userSig。


引入组件

注意:
请根据您的项目类型选择下列任意一种集成方式。

主包接入

分包接入

运行与测试

步骤1:运行



步骤2:发送第一条消息


注意:
如果集成音视频通话功能,将增加 400KB 的体积增量

步骤3:增加音视频通话(可选)

功能
音视频通话组件
1v1 视频、音频通话
全局监听来电
呼叫/接听/拒绝/挂断

1. 开通服务

在使用腾讯云提供的音视频服务前,您需要前往控制台,为应用开通音视频服务。具体步骤请参见 开通服务。

2. 配置微信开放平台

小程序推拉流标签不支持个人小程序,只支持企业类小程序。需要在 注册 时填写主体类型为企业,如下图所示:

在小程序控制台开启实时音视频接口
小程序推拉流标签使用权限暂时只开放给有限类目,具体支持类目参见该地址
符合类目要求的小程序,需要在 微信公众平台 > 开发 > 开发管理 > 接口设置中自助开通该组件权限。


3. 在小程序控制台配置域名

微信公众平台 > 开发 > 开发管理 > 开发设置 > 服务器域名中设置 request 合法域名 socket 合法域名

将以下域名添加到 socket 合法域名:
域名
说明
是否必须
wss://${SDKAppID}w4c.my-imcloud.com
从v3.4.6起,SDK 支持独立域名,可更好地保障服务稳定性。
例如您的 SDKAppID 是 1400xxxxxx,则独立域名为: wss://1400xxxxxxw4c.my-imcloud.com
必须
wss://wss.im.qcloud.com
Web IM 业务域名
必须
wss://wss.tim.qq.com
Web IM 业务域名
必须
wss://wssv6.im.qcloud.com
Web IM 业务域名
必须
将以下域名添加到 request 合法域名:
域名
说明
是否必须
https://web.sdk.qcloud.com
Web IM 业务域名
必须
https://boce-cdn.my-imcloud.com
Web IM 业务域名
必须
https://api.im.qcloud.com
Web IM 业务域名
必须
https://events.im.qcloud.com
Web IM 业务域名
必须
https://webim.tim.qq.com
Web IM 业务域名
必须
https://wss.im.qcloud.com
Web IM 业务域名
必须
https://wss.tim.qq.com
Web IM 业务域名
必须
将以下域名添加到 uploadFile 合法域名:
域名
说明
是否必须
https://${SDKAppID}-cn.rich.my-imcloud.com
从 2024年9月10日起,新增应用默认分配 COS 独立域名。
例如您的 SDKAppID 是 1400xxxxxx,则 COS 独立域名为:https://1400xxxxxx-cn.rich.my-imcloud.com
必须
https://cn.rich.my-imcloud.com
文件上传域名
必须
https://cn.imrich.qcloud.com
文件上传域名
必须
https://cos.ap-shanghai.myqcloud.com
文件上传域名
必须
https://cos.ap-shanghai.tencentcos.cn
文件上传域名
必须
https://cos.ap-guangzhou.myqcloud.com
文件上传域名
必须
将以下域名添加到 downloadFile 合法域名:
域名
说明
是否必须
https://${SDKAppID}-cn.rich.my-imcloud.com
从 2024年9月10日起,新增应用默认分配 COS 独立域名。
例如您的 SDKAppID 是 1400xxxxxx,则 COS 独立域名为:https://1400xxxxxx-cn.rich.my-imcloud.com
必须
https://cn.rich.my-imcloud.com
文件下载域名
必须
https://cn.imrich.qcloud.com
文件下载域名
必须
https://cos.ap-shanghai.myqcloud.com
文件下载域名
必须
https://cos.ap-shanghai.tencentcos.cn
文件下载域名
必须
https://cos.ap-guangzhou.myqcloud.com
文件下载域名
必须

删除 Debug 脚本

出于体积和安全双重因素考虑,请在发布前删除项目目录下 /TUIKit/debug 文件夹。在开发阶段为了方便开发,项目提供生成本地 UserSig 的脚本文件存放于TUIKit/debug文件夹中,但这并不安全,该方法中的 SECRETKEY 很容易被反编译逆向破解,一旦您的密钥泄露,攻击者就可以盗用您的腾讯云流量,因此该方法仅适合本地跑通 Demo 和功能调试。因此,请在项目发布前删除 Debug 脚本,使用后台生成 UserSig,具体原因和操作步骤请参考文档:生成 UserSig

常见问题

移除音视频通话功能

注意:
移除音视频通话功能,可以减少 400KB 的体积
移除 static/RTCCallEngine.wasm.br 文件。
移除通话功能
移除通话按钮
移除配置的页面路由
移除 TUIKit/index.ts 中的模块导出。

移除 TUIKit/components/MessageInput/MessageInput.vue 中的通话按钮。

移除 pages.json 中为音视频通话添加的全局页面监听配置。
选项一

// {
// "path": "TUIKit/components/CallView/CallView",
// "style": {
// "navigationBarTitleText": "uni-app"
// }
// }

Debug 脚本的作用

出于体积和安全双重因素考虑,请在发布前删除项目目录下 /TUIKit/debug 文件夹。在开发阶段为了方便开发,项目提供生成本地 UserSig 的脚本文件存放于TUIKit/debug文件夹中,但这并不安全,该方法中的 SECRETKEY 很容易被反编译逆向破解,一旦您的密钥泄露,攻击者就可以盗用您的腾讯云流量,因此该方法仅适合本地跑通 Demo 和功能调试。因此,请在项目发布前删除 Debug 脚本,使用后台生成 UserSig,具体原因和操作步骤请参考文档:生成 UserSig

报错 "authorize:fail:appid privacy api banned",如何处理?

由于 TRTC 涉及到麦克风与摄像头的权限问题,需要用户在小程序控制台中更新隐私保护政策,具体步骤如下:
1. 登录微信公众平台 ,点击设置栏目。



2. 选择用户隐私保护指引设置功能,点击更新。



3. 在弹出的表格中,勾选小程序会涉及到的类型。




联系我们

如遇任何问题,可联系 官网售后 反馈,享有专业工程师的支持,解决您的难题。