<view class="content">
<view class="text-area">
<button open-type="getUserInfo" @getuserinfo="getUserInfo()">授权助力</button>
</view>
</view>
data(){
return{
userId:"",
userName:"",
userSex:""
}
},
getUserInfo(){
let _this = this;
uni.getProvider({
service: 'oauth',
success: function (res) {
uni.login({
provider: 'weixin',
success: res => {
let appid = ''
let secret = ''
let url = 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appid + '&secret=' + secret + '&js_code=' +res.code + '&grant_type=authorization_code';
uni.request({
url: url,
success: result => {
_this.userId = result.data.openid;
console.log("这是openID:"+_this.userId)
uni.getUserInfo({
provider: 'weixin',
}).then(
res => {
console.log(res[1].userInfo);
_this.userName = res[1].userInfo.nickName
_this.usersex = res[1].userInfo.gender
}
);
},
});
},
});
},
});
}
这样赋值在整个页面都可以调用用户的ID及用户其他的信息了
let _this = this;
// 获取用户openId
_this.userId = result.data.openid;
// 获取用户姓名
_this.userName = res[1].userInfo.nickName
// 获取用户性别gender: 0未知、1男、2女
_this.usersex = res[1].userInfo.gender