diff --git a/docs/uniCloud/uni-im.md b/docs/uniCloud/uni-im.md index 7c02a3ef5e0c54bf41a3c48bef570406c7dd87b0..48b892978638f4f89a5a44527695ccdea880fc72 100644 --- a/docs/uniCloud/uni-im.md +++ b/docs/uniCloud/uni-im.md @@ -242,15 +242,24 @@ uni-im本身并不收费,实际使用中需要依赖uniCloud云服务,会产 await uniIdMutations.updateUserInfo() ``` -7. 确保账户对接成功后,打开“用户列表页”,路径:`/uni_modules/uni-im/pages/userList/userList`可以看到所有的注册用户(默认仅登录的账号为超级管理员才有权限访问,你也可以根据自己的业务需求修改`uniCloud/database/uni-id-users.schema.json`配置权限[更多详情](https://uniapp.dcloud.net.cn/uniCloud/schema.html#permission)) +7. 确保账户对接成功后,打开“用户列表页”,路径:`/uni_modules/uni-im/pages/userList/userList`可以看到所有的注册用户 8. 点击某个用户,会自动创建与该用户的会话,并打开“聊天对话页”(路径:`/uni_modules/uni-im/pages/chat/chat`),然后就可以开始聊天了。 9. 还可以导入uni-im的示例项目作为管理员端与用户聊天。 10. 如果你是2个不同appId的应用相互通讯(比如:淘宝的买家端和卖家端通讯)的场景,请打开聊天对话文件(路径:`/uni_modules/uni-im/pages/chat/chat`)搜索`data.appId = this.systemInfo.appId`修改`this.systemInfo.appId`为相对的appId -11. 退出登录;不基于uni-id-pages开发的项目,为了防止占线等冲突,需要在执行退出登录/切换账号时,调用uni-id的退出登录接口。示例代码如下: + +不基于uni-id-pages开发的项目还要注意以下两个问题: +1. 退出登录;需要在执行退出登录/切换账号时,调用uni-id的退出登录接口。否则会出现退出登录后的设备仍然能收到im消息,或导致此设备再登录其他账号不能正常收到消息的问题;示例代码如下: ```js import {mutations as uniIdMutations} from '@/uni_modules/uni-id-pages/common/store.js' uniIdMutations.logout() ``` +2. token有效期问题,保证你的项目token有效期和uni-id的token有效期保持一致。这涉及两个操作: +- 配置uni-id的token过期时间与你的项目token有效期一致。配置路径:`/uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/uni-id/config.json`,关于配置说明[详情查看](https://uniapp.dcloud.net.cn/uniCloud/uni-id-summary.html#config) +- 如果你的项目有token续期逻辑,需要在续期后调用uni-id的token续期接口,示例代码: +```js +const uniIdCo = uniCloud.importObject("uni-id-co", {customUI: true}) +await uniIdCo.refreshToken() +``` ## 限制普通用户向其他用户发起会话