更新记录

3.1.6(2024-06-24)

  • 修复 解决了会话列表的滚动与长按事件冲突的问题
  • 修复 App端 “会话操作菜单”弹出后,侧滑返回时未关闭菜单而直接关闭会话页面的问题
  • 修复 移动端 代码类型消息显示宽度不正确的问题
  • 修复 被解散/踢出群的群成员,收不到相关事件通知的问题
  • 修复 解决了 msg note 中存在  符号的问题
  • 修复 web移动端 修复了会话列表高度错误的问题

3.1.5(2024-06-21)

  • 新增 数据库索引文件
  • 新增 支持用户设置自己的会话为已读/未读
  • 新增 unipush 的channel相关配置,防止应用被避免被限量推送、静默推送(静音且需下拉系统通知栏才可见通知内容)
  • 修复 由于将“user_id”错误地改为“uid”而导致在群聊场景下“@用户”的功能中,消息内容里的已读未读图标无法显示的问题。
  • 修复 部分情况下,APP 端所登录的账号于其他端同时进行登录后发送消息时,也会在 APP端创建通知栏消息的问题
  • 修复 会话列表的 note 存在 的问题
  • 优化样式

3.1.4(2024-06-19)

  • 优化 web-pc 端样式
  • 修复 web-pc 的消息菜单扩展点,传入的会话数据找不到的问题
  • 修复 因整体样式调整引起的,当前用户自己发的消息,显示到左边的问题
查看更多

平台兼容性

HbuilderX/cli最低兼容版本
4.08

云端兼容性

阿里云 腾讯云 支付宝云

uni-app

Vue2 Vue3
?
app-vue app-nvue app-android app-ios
? ? ? ?
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
? ? ? ? ? ? ? ? ?
微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序 钉钉小程序 快手小程序 飞书小程序 京东小程序
? ? ? ? ? ? ? ? ?
快应用-华为 快应用-联盟
? ?

uni-app x

app-android app-ios
? ?
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
? ? ? ? ? ? ? ? ?

云函数类插件通用教程

使用云函数类插件的前提是:使用HBuilderX 2.9+


简介

uni-im是云端一体的、全平台的、免费的、开源即时通讯系统。

  • 基于uni-app,App、小程序、web全端兼容
  • 基于uniCloud,前后端都使用js开发
  • 基于uni-push2,专业稳定的全端推送系统
  • 基于uni-id,完善的账户体系
  • 支持服务端为非uniCloud(比如:应用服务端的开发语言是php、java、go、.net、python、c#等)或 不基于uni-id-pages 开发的项目接入

案例:

案例:

  1. 应用名称:DCloud,该 App 的内置聊天模块,即基于 uni-im 开发。下载地址为:https://im.dcloud.net.cn/uni-portal.html

  2. 如图:在插件市场任意插件详情页面,点击“进入交流群”按钮,即可看到基于uni-im搭建的客服系统。

下载地址:https://ext.dcloud.net.cn/plugin?name=uni-im

特点优势

  • 性价比高;前后端代码均免费开源,相比竞品使用uni-im仅需花费极少的托管在uniCloud(serverless服务器)产生的费用详情查看
  • 全端可用
  • 中心化响应式数据管理,切换会话无需重新加载数据,更流畅的体验
  • App端聚合多个手机厂商推送通道,app不在线也可以收到消息

优先开发哪些,取决于开发者的反馈。同时也欢迎开发者共建这个开源项目。

uni-im相关功能建议或问题,可以加入由uni-im(本插件)搭建的交流群,点此加入,备用QQ群(当系统处于维护中使用)群号:854520009

使用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会在产品或者网页中显著的位置发布相关信息以便及时通知到用户。如果您选择继续使用本框架,即表示您同意接受这些修改。

条款结束

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问