1、index.js设置以下缓存
//获取用户的受权信息,放到本地缓存中 wx.getSetting({ success: (res) => { if(res.authSetting['scope.userInfo']) { wx.setStorage({ key: 'can_getuserinfo', data: 1, }) } else { wx.setStorage({ key: 'can_getuserinfo', data: 0, }) } } }), //1:从本地缓存中获取数据,若是获取到根据结果显示Index页面的受权按钮是否显示, //2:若是从本地缓存获取不到数据则说明用户清空了本地数据,默认设置为0,让用户从新受权 wx.getStorage({ key: 'can_getuserinfo', success: function (res) { console.log(res.data); that.setData({ can_getuserinfo:res.data }) },fail:function() { that.setData({ can_getuserinfo: 0 }) } }) },
2、index.wxml设置以下微信
<view wx:if="{{can_getuserinfo==0}}"> <text>\n</text> <text>\n</text> <text>\n</text> <button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">受权登陆</button> <view wx:else>请升级微信版本</view> </view>
3、效果spa
效果是若是用户受权过了,则直接首页不显示受权按钮,直接进入业务页面,若是用户没受权,则显示受权按钮让用户选择受权code