13 changed files with 156 additions and 23 deletions
@ -0,0 +1,48 @@ |
|||||
|
import { mapMutations, mapState } from 'vuex'; |
||||
|
|
||||
|
import { waitTokenRequest } from '@/utils/cacheAndRequest'; |
||||
|
|
||||
|
export default { |
||||
|
computed: mapState('user', ['token', 'user']), |
||||
|
methods: { |
||||
|
...mapMutations('user', ['setUser']), |
||||
|
// 获取授权
|
||||
|
openAuth() { |
||||
|
if (this.user && this.user.wxInfo && this.user.wxInfo.nickname) return; // 用户信息里有微信信息就不用再获取了
|
||||
|
if (this.token) { |
||||
|
this.updateUserInfo(); |
||||
|
} else { |
||||
|
waitTokenRequest(this.updateUserInfo); |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
// 弹出授权框
|
||||
|
// 用户允许后 提交微信用户信息
|
||||
|
updateUserInfo() { |
||||
|
/* #ifdef MP-WEIXIN */ |
||||
|
uni.getUserProfile({ |
||||
|
desc: 'TALL仅需要获取您的基本用户信息', |
||||
|
success: async res => { |
||||
|
const { avatarUrl, city, country, gender, language, nickName, province } = res.userInfo; |
||||
|
const data = await this.$u.api.updateUserInfo({ |
||||
|
city, |
||||
|
country, |
||||
|
headImgUrl: avatarUrl, |
||||
|
language, |
||||
|
nickname: nickName, |
||||
|
province, |
||||
|
sex: gender, |
||||
|
}); |
||||
|
console.log('data: ', data); |
||||
|
const { user } = this; |
||||
|
user.wxInfo = data; |
||||
|
this.setUser(user); |
||||
|
}, |
||||
|
fail: error => { |
||||
|
console.log('error: ', error); |
||||
|
}, |
||||
|
}); |
||||
|
/* #endif */ |
||||
|
}, |
||||
|
}, |
||||
|
}; |
Loading…
Reference in new issue