项目背景
小程序有地图打卡的功能, 需要判断用户的位置是否在打卡范围内(判断用户位置见下篇博客), 那么就涉及到用户是否授权获取位置的权限, 如果询问权限的时候用户直接点击了允许, 那万事大吉, 在需要位置的地方直接用 wx.getLocation 去获取用户位置就可以了, 但是如果用户点击了拒绝, 就需要用户手动去打开权限, 我们才可以拿到位置, 因此, 我们需要判断用户是否授权了这个权限

就想着是不是可以封装一个方法, 用来检测用户是否授权了某些权限
方法封装
function getUserPermission(permissionName) {
return new Promise((resolve, reject) => {
wx.getSetting({
success(res) {
if (res.authSetting[permissionName]) {
resolve(true);
} else if (res.authSetting[permissionName] === false) {
reject(false);
} else {
wx.authorize({
scope: permissionName,
success() {
resolve(true);

文章介绍了在微信小程序中如何封装一个方法`getUserPermission`来检测用户是否授权了获取位置的权限。当用户拒绝授权时,提供引导用户至设置页面的流程。关键步骤包括使用`wx.getSetting`检查权限状态,如果用户未授权,则使用`wx.authorize`请求权限,或使用`wx.openSetting`引导用户手动开启权限设置。
1198

被折叠的 条评论
为什么被折叠?



