微信小程序发起用户授权
第一步
先通过wx.getSetting()获取用户的当前设置,返回值中只会出现小程序已经向用户请求过的权限。
第二步
判断用户是否已经授权某项设置,
如果某项设置(如:scope.userLocation)已经授权,直接调用接口;
如果某项设置(如:scope.userLocation)未授权,则发起授权wx.authorize()。
第三步
如果是首次发起授权,即用户未接受或拒绝过此权限,会弹窗询问用户,用户点击同意后会进入success回调;如果用户拒绝会进入 fail 回调。
特别注意的是,当用户点击同意或者拒绝,小程序都会记录用户的这个授权设置。当再次发起这项授权时,小程序不会再弹窗询问用户,而是直接进入success回调(之前同意授权)或者fail 回调(之前拒绝授权)。
第四步
如果用户拒绝授权,除非删除小程序再重新进入,否则位置权限就一直无法获得,地图一直无法定位。
因此我们需要主动引导用户给予位置权限。
附上代码:
//检查地理位置是否授权,未授权则发起授权请求check_authSetting_userLocation(){const _this = this;wx.getSetting({success (res) {console.log(res.authSetting)if(!res.authSetting['scope.userLocation']){wx.authorize({scope: 'scope.userLocation',success (res) {console.log('获取地理位置授权成功')_this.getLocation();},fail(err){console.log('获取地理位置授权失败')console.log(err)wx.showModal({title: '小程序需要获取您的位置信息',content: '请允许获取您的位置信息,否则小程序部分功能将无法使用',success (res) {if (res.confirm) {wx.openSetting({success (res) {console.log('成功',res)if(res.authSetting['scope.userLocation']){_this.getLocation();}},fail(err){console.log(err)}})} else if (res.cancel) {console.log('用户点击取消')}}})}})}else{console.log('获取地理位置已授权')_this.getLocation();}},fail:function(err){console.log(err)}})},
微信小程序发起用户授权相关推荐
- 微信小程序之用户授权
用户授权 今天我们来讲解微信小程序之用户授权,首先这个我们得分2种情况:1.弹出授权框用户点击允许 2.弹出授权框用户点击拒绝 第一种情况: 很好处理,这里就不多做介绍,按正常的走就可以了 第二种情况 ...
- 微信中html5获取手机号,微信小程序通过用户授权获取手机号
这篇文章主要介绍了微信小程序如何通过用户授权获取手机号(getPhoneNumber),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 小程序有一个获 ...
- 微信小程序开发 - 用户授权登陆
本篇将帮助读者实现基于 微信开发者工具 & C#环境 下的用户在小程序上的授权登陆. 准备: 微信开发者工具下载地址:https://developers.weixin.qq.com/mini ...
- 微信小程序云开发用户身份登录_微信小程序开发用户授权登录(下)
如果开发者拥有多个移动应用.网站应用.和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用.网站应用和公众帐号(包括小程序),用户的 Un ...
- 【微信小程序】用户授权及getUserProfile接口使用
小程序登录.用户信息相关接口调整说明 为优化用户的使用体验,平台将进行以下调整: 1,2021年2月23日起,若小程序已在微信开放平台进行绑定,则通过wx.login接口获取的登录凭证可直接换取un ...
- 微信小程序:用户授权登录
点击"微信一键登录"按钮,触发login_weixi事件 先查看是否勾选了底部按钮,勾选了就获取用户信息,每次请求成功都会弹出授权窗口,把用户信息缓存到storage里面,方便下次 ...
- 【微信小程序】用户授权以及判断登录是否过期的方法
实现效果 场景 在打开小程序时判断用户是否过期(如果未过期则重新登录),然后获取用户信息,进而在前台显示: 主要实现两个功能: 判断登录是否过期,如果过期则就重新登录,如果没过期就提示未过期: 获取用 ...
- 微信小程序弹出用户授权弹窗,微信小程序引导用户授权,获取位置经纬度
我们在开发小程序时,有些操作必须让用户授权.比如我们获取用户位置,需要用户授权位置信息.授权操作我们需要给用户弹窗提示,在用户禁用某些权限时,又要引导用户去设置页开启相应权限.我们这里就以获取经纬度为 ...
- 微信授权绑定手机号 java_微信小程序获取手机号授权用户登录功能
小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等,有了这个组件可以快速获取微信绑定手机号码,无须用户填写. 1.getPhoneNumber这个组件通过button来实现(别的标签无 ...
最新文章
- LeetCode MySQL 614. 二级关注者
- 从Bayes角度理解Deep learning
- 04-linux下离线安装Rserve
- 几种简单的负载均衡算法及其 Java 代码实现
- 针对大的sql文件删除行操作
- weblogic启动失败:Could not obtain the localhost address 解决办法
- 如何快速实现自定义sql分页?若不会,我便手把手教你【详细】
- VMware14安装步骤
- (附源码)ssm牙科诊所预约网站 毕业设计 260952
- 【电商】电商后台设计—订单中心
- 阿帕奇服务器配置站点,Apache的基本服务器配置
- 数据分析——ETF基金申购赎回清单
- 中通快递信息怎么批量导出到表格呢?
- 人际关系差不能当跳槽理由,原因在这里
- 微信小程序前后端授权登陆
- 数仓基于表级别的数据血缘分析
- 营销QQ添加好友限制完美解决方案
- 求求你!不要在网上乱拷贝代码了
- DateEdit仅显示和选择年份
- powertop代码走读记录