更新记录

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的价格很实惠:

举例说明:

  • 单聊场景,向用户发送一条消息的过程:
    1. 调用uni-im-co云对象的sendMsg方法(产生1次云函数请求)
    2. 查询当前对话的会话记录(产生1次云数据库读操作)
    3. 根据步骤2的查询结果,如果已经有会话记录,就更新会话,否则就创建一条会话记录(产生1次云数据库写操作)
    4. 查询发送消息的用户信息,用于接收消息时在通知栏显示发送者昵称和头像(产生1次云数据库读操作)
    5. 记录发送的消息内容到数据库,用于保存消息历史记录(产生1次云数据库写操作)
    6. 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元

  • 群聊场景,向用户发送一条消息的过程:
    1. 调用uni-im-co云对象的sendMsg方法(产生1次云函数请求)
    2. 查询当前用户是否为群成员,防止非群成员发送消息(产生1次云数据库读操作)
    3. 查询当前对话的会话记录(产生1次云数据库读操作)
    4. 根据步骤3的查询结果,如果已经有会话记录,就更新会话,否则就创建一条会话记录(产生1次云数据库写操作)
    5. 查询发送消息的用户信息,用于接收消息时在通知栏显示发送者昵称和头像(产生1次云数据库读操作)
    6. 记录发送的消息内容到数据库,用于保存消息历史记录(产生1次云数据库写操作)
    7. 以群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性价比极高。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

uni-im源码使用许可协议

2022年10月

本许可协议,是数字天堂(北京)网络技术有限公司(以下简称DCloud)对其所拥有著作权的“DCloud uni-im”(以下简称软件),提供的使用许可协议。

您对“软件”的复制、使用、修改及分发受本许可协议的条款的约束,如您不接受本协议,则不能使用、复制、修改本软件。

授权许可范围

a) 授予您永久性的、全球性的、免费的、非独占的、不可撤销的本软件的源码使用许可,您可以使用这些源码制作自己的应用。

b) 您只能在DCloud产品体系内使用本软件及其源码。您不能将源码修改后运行在DCloud产品体系之外的环境,比如客户端脱离uni-app,或服务端脱离uniCloud。

c) DCloud未向您授权商标使用许可。您在根据本软件源码制作自己的应用时,需以自己的名义发布软件,而不是以DCloud名义发布。

d) 本协议不构成代理关系。

DCloud的责任限制 “软件”在提供时不带任何明示或默示的担保。在任何情况下,DCloud不对任何人因使用“软件”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于何种法律理论,即使其曾被建议有此种损失的可能性。

您的责任限制

a) 您需要在授权许可范围内使用软件。

b) 您在分发自己的应用时,不得侵犯DCloud商标和名誉权利。

c) 您不得进行破解、反编译、套壳等侵害DCloud知识产权的行为。您不得利用DCloud系统漏洞谋利或侵害DCloud利益,如您发现DCloud系统漏洞应第一时间通知DCloud。您不得进行攻击DCloud的服务器、网络等妨碍DCloud运营的行为。您不得利用DCloud的产品进行与DCloud争夺开发者的行为。

d) 如您违反本许可协议,需承担因此给DCloud造成的损失。

本协议签订地点为中华人民共和国北京市海淀区。

根据发展,DCloud可能会对本协议进行修改。修改时,DCloud会在产品或者网页中显著的位置发布相关信息以便及时通知到用户。如果您选择继续使用本框架,即表示您同意接受这些修改。

条款结束

hel***@163.com

2025-03-25

请问一下,允许用户在不添加好友的情况下进行聊天吗

DCloud_uniCloud_JSON 2025-03-26

允许的,配置一下即可

haibin_info

2025-03-07

登录后提示成功, 但是没有进入页面. 这种怎么回事?

DCloud_uniCloud_JSON 2025-03-07

未能明白你咨询的问题,请点此加入 uni-im 技术交流群,详细描述一下

181***@qq.com

2025-02-27

这个项目可以发布到鸿蒙吗

DCloud_uniCloud_JSON 2025-02-27

暂未测试在鸿蒙平台的兼容性,如果你测试了欢迎同步给我们

571***@qq.com

2025-01-14

demo 运行到iOS 手机上 点击表情 在点击输入框。页面会错乱。如果点击输入框弹出。此时滑动上下滑动输入框。能滑动。这是有问题的

DCloud_uniCloud_JSON 2025-01-14

点此加入 uni-im 技术交流群,详细描述一下

zeroZou

2025-01-08

HbuilderX升级到4.45后运行到小程序报错 ,回退到4.36正常

DCloud_uniCloud_JSON 2025-01-08

未能复现你的问题,请尝试卸载 HBuilderX 重新下载后重试。更多问题请点此加入 uni-im 技术交流群咨询

zeroZou 2025-01-10

我看IM群里出现这个问题的都是windows版的HbuilderX,你回复的是Mac版的正常。我重新安装了HbuilderX4.45,还是出现了报错。typeof uni[imObservableData]初始实际为'function'不是‘undefined’ 导致没有创建响应对象。改下这个判断就解决了

蓝色风暴

2025-01-03

触发器uni-id-users.schema.ext.js,未在当前操作生效。请补充:主表表名及其foreignKey的值,到触发器uni-id-users.schema.ext.js的变量foreignKeysObj内 。

导入的时候遇到这个问题,请问该怎么操作呢?困扰了挺久了,希望大佬解答。

DCloud_uniCloud_JSON 2025-01-06

直接按提示操作。更多问题请点此加入 uni-im 技术交流群咨询

调研邦

2024-12-24

uni-im导入到自己项目,遇到这个问题,"触发器uni-id-users.schema.ext.js,未在当前操作生效。请补充:主表表名及其foreignKey的值,到触发器uni-id-users.schema.ext.js的变量foreignKeysObj内"怎么解决

DCloud_uniCloud_JSON 2025-01-03

直接按提示操作。更多问题请点此加入 uni-im 技术交流群咨询

jia***@126.com

2024-11-30

示例体验项目和自己原本的项目都存在无法显示好友的问题,好友邀请可以正常发出以及被收到,但是点了接受之后好友列表没有增加。

DCloud_uniCloud_JSON 2024-12-20

未能复现你描述的问题

zha***@gmail.com

2024-11-29

大佬我想问下,发消息的时候业务需要加上发送定位和闪照功能,怎么改合适点

DCloud_uniCloud_JSON 2024-12-20

直接增加消息类型,消息模板路径:/uni_modules/uni-im/components/uni-im-msg/types/

沐云

2024-08-28

v2版本的在哪可以下载?

DCloud_uniCloud_JSON 2024-10-26

v2不再维护,也不再提供下载地址。 uni-im v3 并非不能兼容 Vue2,目前团队开发资源不足,我们只兼容了 Vue3,而代码中并没有使用 Vue选项式 api ,如果自己把差异拉齐也是可以运行在 Vue2 下。

另外还有个万能的办法就是把 uni-im 发行为 web,任何方式开发的系统都可以,嵌入 到iframe/web-view里面运行。(实际上很大大型应用的 im 都是采用这种方式集成)

2025-02-25

最大支持多少群成员?文档没有提到过,是无上限吗?官网测试过的,最多是多少人?

2024-11-14

如果只是当作插件,数据不使用unicloud,需要删掉哪些内容呢?

2024-09-22

<component is=""/> is not supported 为什么显示这个错误

2024-08-05

想进入交流群 但是一直提示我手机未绑定不能加入 但是我绑定手机号码了呀

2024-07-14

uni-im以前都是只要的几个页面都是nvue页面的,为何V3版本都改成vue页面了呢,是不考虑在app上的性能了吗

2024-07-11

uni-im里自带一键登录我不需要用到,打包app后运行提示我没选择oauth模块,但是一键登录需要开通申请,项目急着上线,怎么解决

2024-06-26

https://im-storage.dcloud.net.cn/public/1719368364389a18588b0-0581-11ec-aa7c-a3b75d03876e.contact-publisher?x-oss-process=image/resize,w_200/quality,q...

2024-06-21

上传Schema扩展Js的配置报错: 文件上传失败:依赖的公共模块 uni-im-utils 未上传到云端