uniapp 微信小程序、支付宝小程序 登录授权使用async、
2022-05-09 本文已影响0人
轩轩小王子
获取用户信息
// 获取用户信息
async getUserInfo(){
let res = await this.tologin();
// 用户通过code从后台获取用户的基本信息
let usrerBaseInfo = await this.getUserByCode(res.code);
// 处理用户信息
if (usrerBaseInfo) {
// 存储用户基本信息
this.setUserInfo(usrerBaseInfo);
}
},
//调用login,获取code,后端换取openId,确认用户
tologin() {
return new Promise((resolve, reject) => {
uni.login({
provider: this.platform,
success: (res) => {
resolve(res)
},
fail: (res) => {
reject(res)
}
})
})
},
// 用户通过code从后台获取用户的基本信息
getUserByCode(code) {
return new Promise((resolve, reject) => {
let params = {
code: code,
platformType: this.platformType
};
xxxApi.(params).then((data) => {
if (data.code === "0000" && data.result) { // 根据具体情况而定
resolve(data.result)
} else {
reject(res)
}
}).catch(res => {
reject(res)
})
})
},
// 获取用户授权状态
userAuthState() {
return new Promise((resolve, reject) => {
uni.getSetting({
success: (res) => {
resolve(res);
},
fail: (res) => {
reject(res);
},
});
});
},