微信小程序中獲取用戶信息接口有變船侧,自2021年4月13日起,getUserInfo將不再彈出彈窗更振,并直接返回匿名的(空的)用戶個人信息
需要調(diào)用getUserProfile才可以授權(quán)獲取用戶信息
下面是關(guān)于在Taro框架中獲取權(quán)限的方法适刀,供大家參考:
獲取用戶信息(昵稱/頭像/地區(qū)/性別)
<AtButton circle type='secondary' onClick={this.handleGetUserProfile}>微信授權(quán)昵稱頭像地區(qū)性別</AtButton>
handleGetUserProfile = () => {
Taro.getUserProfile({
lang: 'zh_CN',
desc: "獲取你的昵稱偶惠、頭像、地區(qū)及性別",
success: response => {
console.log(response);
const wxUserInfo = response.userInfo;
// const { openId } = this.state;
console.log('getUserProfile', wxUserInfo);
Taro.setStorageSync(
"UserInfo", {
wxUserInfo: wxUserInfo,
name: 123
})
Taro.getStorage({
key: 'UserInfo',
success (res) {
console.log(' 我是緩存數(shù)據(jù)', res);
}
})
},
fail: () => {
//拒絕授權(quán)
console.error("您拒絕了請求");
return;
}
})
};
獲取用戶手機號(微信授權(quán))
<AtButton type='primary' openType='getPhoneNumber' onGetPhoneNumber={this.getTel}>微信獲取手機號</AtButton>
getTel = (e) => {
console.log(e.detail);
this.setState({ isNum: true })
let { encryptedData, iv } = e.detail
Taro.checkSession({
success: function () {
console.log('有session光坝,已登陸');
//session_key 未過期尸诽,并且在本生命周期一直有效
},
fail: function () {
// session_key 已經(jīng)失效,需要重新執(zhí)行登錄流程
console.log('未登陸');
//重新登錄
Taro.login({
success (res) {
console.log(res);
let code = res.code
Taro.request({
url: 'url',//后端url
method: 'GET',
data: {
// appi,//賬號
// secret,//賬號
code,//login獲取到的code
encryptedData,
iv
},
success (phoneNumber) {
console.log(phoneNumber)
}
})
}
})
}
})
}
希望對你有所幫助盯另!