更新记录
3.4.54(2025-02-17) 下载此版本
- 更新 丰富群公告管理功能
- 修复 在部分 iOS 系统下,切换表情包后再聚焦,会导致键盘高度不正确的问题
- 修复 web-pc 端部分文件类型消息点击后不会自动下载的问题,并新增下载进度提示
- 修复 私聊历史记录发到群聊后,显示的标题不正确的问题
- 修复 部分情况下,创建本地临时会话时,会话标题不可见的问题
- 修复 解决折叠屏下,会话分类标题过大的问题
- 解决 web-pc 端群信息模块,由于 css 包含块错误,引起在部分显示器下看不到退群按钮的问题
- 更新 将 msg-content 从 uni-im-msg 中独立出来,方便在部分场景下渲染消息格式数据
- 新增 支持配置 loginAfterHookUrl,用于实现用户登录到 uni-im 后通知外部服务器
- 新增 uni-im-co 增加 getUserIdByExtUid 方法,实现通过外部用户 ID 获取 uni-id-users._id 的功能
3.4.53(2025-01-21) 下载此版本
- 更新 修复 web-pc 端切换会话没有重置lastMsgIsShow的值,导致消息列表不显示最新消息的问题
3.4.52(2025-01-20) 下载此版本
- 修复 解决部分角色账号查 msg 表会报没有权限的问题
- 修复 在腾讯云版 unicloud 下uni-im-co.login 方法,部分情况下会报错的问题
- 更新 uni-im-conversation表相关的索引字段类型
平台兼容性
阿里云 | 腾讯云 | 支付宝云 |
---|---|---|
√ | √ | √ |
Vue2 | Vue3 |
---|---|
× | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 4.29 app-vue | × | √ | × | × | × | × |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 | 鸿蒙元服务 |
---|---|---|---|---|
× | × | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
√ | × | √ | × | √ | × | √ | × | × |
云函数类插件通用教程
使用云函数类插件的前提是:使用HBuilderX 2.9+
uni-im 已开放需求征集和投票 点此前往
简介
uni-im 是一款云端一体、全平台、免费且开源的即时通讯系统
- 基于uni-app,App、小程序、web全端兼容
- 基于uniCloud,前后端都使用js开发
- 基于uni-push2,专业稳定的全端消息推送系统(聚合多个手机厂商推送通道,App关闭后也能收到消息)
- 开放性高,支持非uniCloud(即支持服务端是php、java、go、.net、python、c#等开发语言的项目),甚至非uni-app开发的项目都可以接入使用
- 性价比高,前后端代码均免费开源,与同类产品相比,使用uni-im仅需支付因托管在 uniCloud(serverless 服务器)而产生的少量费用,详情可查看文末
费用说明
部分
案例:
应用名称:DCloud。此 App 的内置聊天模块即是基于 uni-im 开发的。
web端网址(支持PC宽屏和移动端):https://im.dcloud.net.cn
扫码体验:
下载地址为:https://im.dcloud.net.cn/uni-portal.html
uni-im相关功能建议或问题,可以加入由uni-im(本插件)搭建的交流群点此加入
开发文档详情查看
使用uniCloud产生的费用说明@cost
uni-im本身并不收费,实际使用中需要依赖uniCloud云服务,会产生费用;而uniCloud的价格很实惠:
- 调用10000次云函数仅需0.0133元
- 调用10000次数据库查询仅需0.015元
更多计费参考:支付宝云版uniCloud按量计费文档
举例说明:
- 单聊场景,向用户发送一条消息的过程:
- 调用uni-im-co云对象的sendMsg方法(产生1次云函数请求)
- 查询当前对话的会话记录(产生1次云数据库读操作)
- 根据步骤2的查询结果,如果已经有会话记录,就更新会话,否则就创建一条会话记录(产生1次云数据库写操作)
- 查询发送消息的用户信息,用于接收消息时在通知栏显示发送者昵称和头像(产生1次云数据库读操作)
- 记录发送的消息内容到数据库,用于保存消息历史记录(产生1次云数据库写操作)
- 以
user_id
为标识通过uni-push2
向用户发送消息会产生0.00000283元uniCloud使用费用详情查看
合计:1次云函数请求、2次数据库读操作、2次数据库写操作、1次uni-push2推送操作,即 (1 0.0133 + 2 0.015 + 2 0.05 + 1 0.0283)/10000 ≈ 0.000017元
- 群聊场景,向用户发送一条消息的过程:
- 调用uni-im-co云对象的sendMsg方法(产生1次云函数请求)
- 查询当前用户是否为群成员,防止非群成员发送消息(产生1次云数据库读操作)
- 查询当前对话的会话记录(产生1次云数据库读操作)
- 根据步骤3的查询结果,如果已经有会话记录,就更新会话,否则就创建一条会话记录(产生1次云数据库写操作)
- 查询发送消息的用户信息,用于接收消息时在通知栏显示发送者昵称和头像(产生1次云数据库读操作)
- 记录发送的消息内容到数据库,用于保存消息历史记录(产生1次云数据库写操作)
- 以群id为参数,调用uni-im-co云对象的sendMsgToGroup方法,这是一个递归方法每次向500名群成员推送消息(如果群成员数量为0-500只需执行1次,500-1000需执行2次,以此类推),(会产生最少1次数据库读操作,和1次以
user_id
为标识通过uni-push2
向用户发送消息会产生0.00000283元uniCloud使用费用详情查看)
合计:向500人群发送消息,会产生:1次云函数请求、4次数据库读操作、2次数据库写操作、1次uni-push2推送操作,即 (1 0.0133 + 4 0.015 + 2 0.05 + 1 0.0283)/10000 ≈ 0.000020元
相比市面上同类型产品,使用uni-im仅需花费如此便宜的uniCloud(serverless服务器)费用;在价格这块uni-im性价比极高。