E企盈营销工具技术服务商 热线:4006-838-530

微信小程序之重新调用权限获取

E企盈直播平台营销卖货系统

我呢,最近才研究小程序的开发,遇到了一个对新手来说比较难的问题1、怎么在进入小程序的时候 就获取用户权限2、如果用户拒接获取权限,怎么在重新调用,而不是让用户删除小程序后再重新进入3、返回后重新获取用户信息—————————————————第一个问题:在小程序里面的 app.js有这么一段wx.login({      success: res => {// 发送 res.code 到后台换取 openId, sessionKey, unionId      }    })这个 是开启程序后必备,获取用户的id// 获取用户信息    wx.getSetting({success: res => {      }    })这个方法 就是 获取用户授权的 ,通过授权后就可以获取用户信息了先写一个获取用户信息的方法// 全局信息保存globalData: {    userInfo: {},hasUserInfo: false,userAddress:null  },getuserInfo: function () {wx.getUserInfo({success: res => {// 可以将 res 发送给后台解码出 unionIdthis.globalData.userInfo = res.userInfothis.globalData.hasUserInfo = true// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回// 所以此处加入 callback 以防止这种情况if (this.userInfoReadyCallback) {this.userInfoReadyCallback(res)}}})}getlocalinfo:function(){wx.getLocation({success: res => {}})}写好后我们在 wx.getSetting里面调用    wx.getSetting({success: res => {// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框this.getuserInfo();this.getlocalinfo();      }    })到这  我们就 已经做好了 进入小程序 自动调用获取权限—————————————————–第二个问题:微信里的 接口调用 除了 success 还有fail,complete这里 我们使用 fail 在wx.getUserInfo 及 wx.getLocation 下添加failfail:function(){wx.showModal({title: ‘提示’,content: ‘拒绝授权可能会影响部分功能使用,请删除小程序或设置授权’, confirmText: ‘去设置’,success:res => {if(res.confirm){wx.openSetting({})}}})}主要是 里面的  wx.openSetting 这个 会去打开设置页面其实 也可以不用 wx.showModal() 这个 调用, 直接用wx.openSetting 但是我直接用的时候 设置页面 一片灰色,啥也没有,不知道为啥到这 就上app.js 整个代码了//app.jsApp({  onLaunch: function () {    // 登录    wx.login({      success: res => {// 发送 res.code 到后台换取 openId, sessionKey, unionId      }    })    // 获取用户信息    wx.getSetting({success: res => {// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框this.getuserInfo();this.getlocalinfo();      }    })  },  globalData: {    userInfo: {},hasUserInfo: false,userAddress:null  },getuserInfo: function () {wx.getUserInfo({success: res => {// 可以将 res 发送给后台解码出 unionIdthis.globalData.userInfo = res.userInfothis.globalData.hasUserInfo = true// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回// 所以此处加入 callback 以防止这种情况if (this.userInfoReadyCallback) {this.userInfoReadyCallback(res)}},fail:function(){wx.showModal({title: ‘提示’,content: ‘拒绝授权可能会影响部分功能使用,请删除小程序或设置授权’, confirmText: ‘去设置’,success:res => {if(res.confirm){wx.openSetting({})}}})}})},getlocalinfo:function(){wx.getLocation({success: res => {},fail: function () {wx.showModal({title: ‘提示’,content: ‘拒绝授权可能会影响定位功能使用,请删除小程序或设置授权’,confirmText: ‘去设置’,success: res => {if (res.confirm) {wx.openSetting({})}}})}})}})这就是 用户拒绝授权后 重调授权————————————–第三个问题很好解决 其实 每个页面 都有一个 onShow 事件 在里面写个wx.getUserInfo就好了 大家还有什么好的想法 可以留言 分享哈小程序

赞(0) 打赏
未经允许不得转载:E企盈小程序开发-热线:4006-838-530 » 微信小程序之重新调用权限获取
分享到: 更多 (0)
E企盈小程序直播营销卖货系统
E企盈直播平台营销卖货系统

评论 抢沙发

E企盈小程序开发

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏