定位权限请求
export function getLocation() {
return new Promise(resolve => {
uni.getSetting({
success(res) {
if (!res.authSetting['scope.userLocation']) {
uni.authorize({
scope: 'scope.userLocation',
success() {
resolve(true);
},
fail: () => {
uni.showModal({
title: '您已拒绝授权获取地址位置信息',
content: '是否进入权限管理,调整授权?',
success: (res) => {
if (res.confirm) {
uni.openSetting({
success: function(
res) {
resolve(res
.authSetting[
'scope.userLocation'
]);
}
});
} else if (res.cancel) {
resolve(false);
}
}
});
}
});
} else {
resolve(true);
}
}
});
});
}
相册权限请求
export function getWriteAuth() {
return new Promise(resolve => {
uni.getSetting({
success(res) {
if (!res.authSetting['scope.writePhotosAlbum']) {
uni.authorize({
scope: 'scope.writePhotosAlbum',
success() {
resolve(true);
},
fail: () => {
uni.showModal({
title: '您已拒绝授权保存到相册',
content: '是否进入权限管理,调整授权?',
success: (res) => {
if (res.confirm) {
uni.openSetting({
success: function(
res) {}
});
} else if (res.cancel) {
return this.$toast({
title: '已取消!'
});
}
}
});
}
});
} else {
resolve(true);
}
}
});
});
}
将以上方法封装在公共方法组件里面,在需要调用的地方直接调用。
/**通过async await的方法进行调用*/
await 方法