提交 9e31151a 编写于 作者: DCloud_JSON's avatar DCloud_JSON

Update uni-im.md

上级 ad95a17d
...@@ -166,45 +166,49 @@ uni-app生态下绝大部分项目的架构与uni-im相同,所以不需要考 ...@@ -166,45 +166,49 @@ uni-app生态下绝大部分项目的架构与uni-im相同,所以不需要考
需要在传统服务器端,通过[uni-id的外部系统联登](./uni-id/cloud-object.md#external)同步你项目的账号数据到uni-im用户体系并获得uni-id的token,按如下示例代码完成登录。 需要在传统服务器端,通过[uni-id的外部系统联登](./uni-id/cloud-object.md#external)同步你项目的账号数据到uni-im用户体系并获得uni-id的token,按如下示例代码完成登录。
```js ```js
import {mutations as uniIdMutations} from '@/uni_modules/uni-id-pages/common/store.js'; import {
uni.request({ mutations as uniIdMutations
url: 'https://www.example.com/login', //仅为示例,并非真实接口地址。 } from '@/uni_modules/uni-id-pages/common/store.js';
data: { uni.request({
username: 'test', url: 'https://www.example.com/login', //仅为示例,并非真实接口地址。
password: '123456' data: {
}, username: 'test',
success:async (res) => { password: '123456'
console.log(res.data); },
// 得到你自己项目的token和uni-id的token success: async (res) => {
let {token,uniIdToken} = res.data console.log(res.data);
// 存储你自己项目的token到storage(仅供参考,根据你自己的登录逻辑而定) // 得到你自己项目的token和uni-id的token
uni.setStorageSync('token',token) let {
token,
// 存储uni-id的token和token过期时间到storage(必须按以下格式存储) uniIdToken
uni.setStorageSync('uni_id_token_expired',uniIdToken.tokenExpired) } = res.data
uni.setStorageSync('uni_id_token',uniIdToken.token) // 存储你自己项目的token到storage(仅供参考,根据你自己的登录逻辑而定)
// 获取push的ClientId同步到uni-id uni.setStorageSync('token', token)
uni.getPushClientId({
success: async function(e) { // 存储uni-id的token和token过期时间到storage(必须按以下格式存储)
// console.log(e) uni.setStorageSync('uni_id_token_expired', uniIdToken.tokenExpired)
let pushClientId = e.cid uni.setStorageSync('uni_id_token', uniIdToken.token)
// console.log(pushClientId); // 获取push的ClientId同步到uni-id
let res = await uniIdCo.setPushCid({ uni.getPushClientId({
pushClientId success: async function(e) {
}) // console.log(e)
// console.log('getPushClientId', res); let pushClientId = e.cid
}, // console.log(pushClientId);
fail(e) { let res = await uniIdCo.setPushCid({
console.log(e) pushClientId
} })
}) // console.log('getPushClientId', res);
// 更新本地用户信息 },
await uniIdMutations.updateUserInfo() fail(e) {
// 通知其他模块登录成功 console.log(e)
uni.$emit('uni-id-pages-login-success') }
} })
}); // 更新本地用户信息
await uniIdMutations.updateUserInfo()
// 通知其他模块登录成功
uni.$emit('uni-id-pages-login-success')
}
});
``` ```
其他情况: 其他情况:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册