export const getPermission = (successFun, failFun, obj) => {
const { permissionName, promptMessage } = obj
wx.getSetting({
success(res) {
if (!res.authSetting[permissionName]) {
wx.authorize({
scope: permissionName,
success: function () {
successFun && successFun(true)
},
fail: function (res) {
wx.hideLoading()
wx.showModal({
title: '提示',
content: promptMessage,
showCancel: true,
cancelText: "否",
confirmText: "是",
success: function (res2) {
if (res2.confirm) { //用户点击确定'
wx.openSetting({
success: (res3) => {
if (res3.authSetting[permissionName]) {
//已授权
successFun && successFun(true)
} else {
failFun && failFun(false)
}
}
})
} else {
failFun && failFun(false)
}
}
});
}
})
} else {
successFun && successFun()
}
}
})
}
使用:
1.引用
import { getPermission } from "../../../utils/getPermission";
2.
getPermission((res)=>{
// 授权成功
},err=>{},{
permissionName:"scope.writePhotosAlbum",
promptMessage:"小程序需要访问相册保存图片"
})