首先使用 getSetting 来获取小程序所获取的所有权限
Taro.getSetting({})
getSetting里面为对象,对象里面有一个 success 的属性,success的返回值res里面有authSetting对象,里面有各种小程序获取的权限,例如:scope.writePhotosAlbum为图片保存的权限,如果为true则为有保存权限,为false则没有保存权限;
在第一次没有权限的情况下使用authorize可以系统获取权限(该权限获取为系统自带,第二次不会出现该弹窗,因此在authorize为fail的情况下,则需要点开系统的权限获取方式,使用openSetting,可以打开系统权限选择)
```javascript
Taro.getSetting({//获取系统权限,看看有没有保存图片的权限
success: function (res) {
if (!res.authSetting['scope.writePhotosAlbum']) {//系统权限为false
Taro.authorize({//系统提示获取保存权限(提示的权限获取为选择,用户可选择同意,也可以选择不同意)
scope: 'scope.writePhotosAlbum',
success: function () {
//系统提示获取权限成功,进行权限获取成功之后的操作
},
fail: function () {
//系统提示权限获取失败,需要我们主动进行提示来获取权限
Taro.showModal({//也为可同意和不同意
title: '提示',
content: '若点击不授权,将无法使用保存图片功能',
cancelText: '不授权',
cancelColor: '#999',
confirmText: '授权',
confirmColor: '#f94218',
success(_r) {
if (_r.confirm) {//我们主动提示的权限的获取对话框,用户点击同意
Taro.openSetting()//打开系统的设置,里面可以选择权限的开启与关闭
}
}
})
}
})
} else {//系统权限为true
//进行保存图片权限获取后的操作
}
}
})