登录授权的流程
1、通过wx.login获取code
2、通过code换取用户的匿名信息,并将获取的token缓存起来
3、通过调取微信wx.getUserProfile()方法来获取用户详细信息
toLogin() {
wx.getUserProfile({
lang:'zh_CN',
desc:'我要获取信息用户',
success:(res)=>{
console.log('用户详情:',res);
this._updateUser(res.userInfo)
}
})
}
4、再调公司后台修改用户的接口(/user/modify),来更新用户信息
/**
* 修改用户信息
* @obj {Object} 要接收的对象参数如下:
* city:所在城市
* nick:昵称
* province:省份
* avataUrl:头像地址
* gender:性别
* token
*/
modifyUser:(obj)=>{
return request('user/modify','POST',obj,true)
},
_updateUser(userInfo) {
let token=wx.getStorageSync('token');
let {city,nickName,avatarUrl,province,gender}=userInfo;
let _data={city,nick:nickName,avatarUrl,province,gender,token}
// console.log(_data);
modifyUser(_data).then(res=>{
console.log('修改成功:',res);
})
5、最后拉取用户信息,将用户信息渲染到视图上
//获取用户信息
async getUserInfo() {
let token=wx.getStorageSync('token')
//调取用户详情的接口
const res=await getUserDetail(token)
console.log('调取用户详情:',res);
let _data={}
if(res.code===0) {
let {avatarUrl,id,nick}=res.data.base;
let n=0;
if(nick && avatarUrl ) {
n=2;
}else {
n=1;
}
_data={avatarUrl,id,nick,isShow:n}
this.setData(_data)
}
}