简单概述一下效果:第一次点击了取消,之后点击的时候会一直出现获取权限弹框
.wxml文件
<button class='mark' wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo"></button>
.js文件
const app = getApp(); Page({ data: { canIUse: wx.canIUse('button.open-type.getUserInfo'), view: { height: null } }, onLoad: function (options) { var that = this; wx.getSystemInfo({ success: function (res) { // console.log(res); wx.setStorageSync('viewHeight', res.windowHeight); //设置高度,根据当前设备宽高满屏显示 that.setData({ view: { height: res.windowHeight } }) } }); wx.login({ success: function (res) { if (res.code) { wx.request({ url: app.globalData.url + 'index.php/api/Api/get_openid_api', data: { code: res.code }, method: "GET", success: function (response) { if (response.data.status == 200) { wx.setStorageSync('openid', response.data.data.openid); wx.setStorageSync('uid', response.data.data.uid); that.setData({ openid: response.data.data.openid }) } else { wx.showToast({ title: '请求失败', icon: 'loading', duration: 1000 }) } } }) } else { console.log('获取用户登录态失败!' + res.errMsg); } } }) }, wc_guide: function () { wx.navigateTo({ url: '/pages/wc_guide/index', }) }, bindGetUserInfo: function (e) { console.log(e); var that = this; if (e.detail.userInfo) { var user_inf = e.detail.userInfo; wx.request({ url: app.globalData.url + 'index.php/api/Api/get_info', data: { uid: wx.getStorageSync('uid'), avatar: user_inf.avatarUrl, nickname: user_inf.nickName }, success: function (res) { that.setData({ canIUse: false }); } }); } } })