tall uniapp 打包app
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

48 lines
1.4 KiB

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 */
},
},
};