提交 4d5d9439 编写于 作者: DCloud_JSON's avatar DCloud_JSON

Update uni-im.md

上级 2480e089
......@@ -11,6 +11,38 @@ uni-im是云端一体的、全平台的、免费的、开源即时通讯系统
下载地址:[https://ext.dcloud.net.cn/plugin?name=uni-im](https://ext.dcloud.net.cn/plugin?name=uni-im)
## uni-im 使用uniCloud产生的费用说明@cost
uni-im本身并不收费,实际使用中需要依赖uniCloud云服务,会产生费用;而uniCloud的价格很实惠:
- 调用10000次云函数仅需0.0133元
- 调用10000次数据库查询仅需0.015元
> 更多计费参考:[阿里云版uniCloud按量计费文档](https://uniapp.dcloud.net.cn/uniCloud/price.html#aliyun-postpay)
### 举例说明:
- 单聊场景,向用户发送一条消息的过程:
1. 调用uni-im-co云对象的sendMsg方法(产生1次云函数请求)
2. 查询当前对话的会话记录(产生1次云数据库读操作)
3. 根据步骤2的查询结果,如果已经有会话记录,就更新会话,否则就创建一条会话记录(产生1次云数据库写操作)
4. 查询发送消息的用户信息,用于接收消息时在通知栏显示发送者昵称和头像(产生1次云数据库读操作)
5. 记录发送的消息内容到数据库,用于保存消息历史记录(产生1次云数据库写操作)
6.`user_id`为标识通过`uni-push2`向用户发送消息会产生0.00000283元uniCloud使用费用[详情查看](https://uniapp.dcloud.net.cn/unipush-v2.html#cost)
合计: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使用费用[详情查看](https://uniapp.dcloud.net.cn/unipush-v2.html#cost)
合计:向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性价比极高。
## 特点优势
- 全端可用
- App端支持nvue,更好的长列表性能。list组件性能优势[详情参考](https://uniapp.dcloud.net.cn/component/list.html)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册