微信小程序中用户拒绝授权的处理方式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序中用户拒绝授权的处理方式相关的知识,希望对你有一定的参考价值。
参考技术A https://www.jianshu.com/p/80e33d16182f//获取用户地理位置权限
getPermission: function (callback)
wx.getLocation(
success: function (res)
console.log(res, 'getLocation成功')
if (res.latitude && res.latitude != '')
// wx.showToast(
// title: '进行搜索',
// )
//进行搜索
callback()
,
fail: function ()
wx.getSetting(
success: function (res)
// console.log(res, '之前允许')
if (res.authSetting['scope.userLocation'] == true)
wx.showToast(
title: '请打开手机位置服务',
icon:'none',
duration:2000,
)
else
wx.showModal(
title: '提示',
content: '您拒绝了定位权限,将无法使用蓝牙搜索功能',
showCancel: false,//是否显示取消按钮
success: res =>
if (res.confirm)
wx.showToast(
title: '删除小程序,重新进入',
duration:2000,
icon:'none'
)
)
,
fail: function (res)
// console.log(res, '之前拒绝')
wx.showToast(
title: '请删除小程序,重新进入',
icon:'none'
)
,
)
)
,
微信小程序获取unionId
1,微信开放平台如果没有绑定微信小程序,不可能获取到unionId,无论哪种方式
2,遵照UnionId机制
-
调用接口 wx.getUserInfo,从解密数据中获取 UnionID。注意本接口需要用户授权,请开发者妥善处理用户拒绝授权后的情况。
-
如果开发者帐号下存在同主体的公众号,并且该用户已经关注了该公众号。开发者可以直接通过 wx.login +
code2Session
获取到该用户 UnionID,无须用户再次授权。
3,方式一:
1. 根据code2Session获取openId,如果有unionid直接返回
2. 根据getAccessToken获取access_token
3. 根据getPaidUnionId获取unionid
方式二:
1. 前端js调取公开接口wx.getUserInfo,注意withCredentials 应该传true,否则无法获取encryptedData和iv
2. 根据code2Session获取session_key和openid,如果有unionid直接返回
3. 根据session_key,encryptedData和iv进行AES解密
以上是关于微信小程序中用户拒绝授权的处理方式的主要内容,如果未能解决你的问题,请参考以下文章