想标题的时候冷却了一下,想了想,还是跟着大家叫设置好玩点
很多情况下,我们是需要用户的个人信息的,但是如果用户不小心在授权弹窗中点击了false,那么可能就会打断我们的任何臆想,所以我们在需要的时候就需要设置用户去重新授权,但是测试过后,我们会发现:
授权弹窗只会出现一次
????什么意思?意思是说,当我们点击了拒绝授权后,很抱歉,你每次去点击getuserinfo的时候,返回的是一个false,那么,这就很是尴尬了,在这种情况下,我们需要用到一个api:opensetting:
// pages/T-setting/T-setting.jsPage({ /** * 页面的初始数据 */ data: { hasuserinfo: "未获取", pageNo: 1 }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { let that = this; wx.getUserInfo({ success: function (getuserinfo) { that.data.hasuserinfo = true; that.setData(that.data); }, fail: function (fres) { that.data.hasuserinfo = false; that.setData(that.data); } }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, clickme: function () { let that=this; wx.openSetting({ success: function (osrs) { // 出发条件是返回的时候console.log("Aaaa"); wx.getUserInfo({ success: function (getuserinfo) { that.data.hasuserinfo = true; that.setData(that.data); }, fail: function (fres) { that.data.hasuserinfo = false; that.setData(that.data); } }) } }) }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { },})实验过上面的代码后。很轻松的就发现。当我们被用户拒绝,。但是有不得不需要某些数据的时候,我们需要的,就是打开用户的setting,然后让用户去勾选某项权限,开放给我们,如果用户实在不给。。。。。感觉一直打开setting也是个不错的选择呢。。。。













