//wxml
<view wx:if="{{isHide}}">
<view wx:if="{{canIUse}}" >
<view class='header'>
<image src='/images/1.png'></image>
</view>
<view class='content'>
<view>申请获取以下权限</view>
<text>获得你的公开信息(昵称,头像等)</text>
</view>
<button class='bottom' type='primary' open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="bindGetUserInfo">
授权登录
</button>
</view>
<view wx:else>请升级微信版本</view>
</view>
//js
const util = require('../../utils/util.js')
const app = getApp()
Page({
data: {
//判断小程序的API,回调,参数,组件等是否在当前版本可用。
canIUse: wx.canIUse('button.open-type.getUserInfo'),
isHide: true,
},
onLoad: function () {
},
bindGetUserInfo: function (e) {
var that = this
console.log(e)
if (e.detail.errMsg == 'getUserInfo:ok') {
//检查登录是否过期
if (e.detail.userInfo) {
//用户按了允许授权按钮
var that = this;
//授权成功后,通过改变 isHide 的值,让实现页面显示出来,把授权页面隐藏起来
wx.getUserInfo({
success: function (res) {
wx.login({
success: res => {
// 获取到用户的 code 之后:res.code
wx.request({
// 自行补上自己的 APPID 和 SECRET
url: app.globalData.url + "/key",
method: 'GET',
data: {
js_code: res.code
},
success: res => {
// 获取到用户的 openid
wx.setStorage({
key: "sessionKey",
data: res.data
})
//跳转页面
wx.navigateBack({
// url: '../index/index'
})
}
})
}
});
}
});
} else {
//用户按了拒绝按钮
wx.showModal({
title: '警告',
content: '您点击了拒绝授权,将无法进入小程序,请授权之后再进入!!!',
showCancel: false,
confirmText: '返回授权',
success: function (res) {
// 用户没有授权成功,不需要改变 isHide 的值
if (res.confirm) {
console.log('用户点击了“返回授权”');
}
}
});
}
}
}
})