微信小程序申请权限自动拒绝

小程序首次调用需要授权的api或者首次申请权限会弹出Modal提示,

如果点击允许,则以后不会再提示,

如果点击拒绝,则以后再次调用该需要授权的api或者申请相关权限会被自动拒绝:{errMsg: “getLocation:fail auth deny”},
此时需要通过弹窗(showModal)调用openSetting进行授权(因为 openSetting:fail can only be invoked by user TAP gesture.)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在uni-app中,可以通过使用微信原生API来实现小程序进入时自动申请使用手机号的功能。具体步骤如下: 1. 在manifest.json文件中,添加如下配置: ``` "mp-weixin": { "permission": { "scope.userLocation": { "desc": "你的位置信息将用于小程序定位" }, "scope.userInfo": { "desc": "你的个人信息将用于小程序登录" }, "scope.phoneNumber": { "desc": "你的手机号码将用于小程序登录" } } } ``` 这里添加了 `scope.phoneNumber` 权限,用于获取用户手机号码。 2. 在需要自动申请手机号的页面中,使用 `wx.getSetting()` 方法获取用户是否已授权手机号码权限。如果未授权,则调用 `wx.authorize()` 方法进行授权。 ``` // 在页面onLoad时调用 onLoad: function () { // 获取用户授权情况 wx.getSetting({ success: (res) => { // 判断用户是否已授权手机号码权限 if (!res.authSetting['scope.phoneNumber']) { // 未授权,则调用wx.authorize进行授权 wx.authorize({ scope: 'scope.phoneNumber', success: () => { console.log('用户已授权手机号码权限') // 授权成功后,调用获取手机号码的方法 this.getPhoneNumber() }, fail: () => { console.log('用户拒绝授权手机号码权限') } }) } else { console.log('用户已授权手机号码权限') // 已经授权,则调用获取手机号码的方法 this.getPhoneNumber() } } }) }, // 获取用户手机号码 getPhoneNumber: function () { wx.getUserInfo({ success: (res) => { console.log('用户信息:', res.userInfo) console.log('用户手机号码:', res.userInfo.phoneNumber) // TODO: 将手机号码保存到本地或后台服务器 }, fail: () => { console.log('获取用户信息失败') } }) } ``` 在上述代码中,我们首先通过 `wx.getSetting()` 方法获取用户是否已授权手机号码权限。如果未授权,则调用 `wx.authorize()` 方法进行授权。在授权成功后,我们调用 `this.getPhoneNumber()` 方法来获取用户手机号码。在 `getPhoneNumber()` 方法中,我们通过 `wx.getUserInfo()` 方法获取用户信息,并从中获取手机号码。 需要注意的是,用户授权后,可以通过 `wx.reLaunch()` 方法重新加载小程序,以便能够获取到用户的手机号码。 以上就是在uni-app中实现小程序进入时自动申请使用手机号的功能的详细步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值