引用插件:App平台的授权判断方式,另见:App权限判断和提示 - DCloud 插件市场
import permision from '../../js_sdk/wa-permission/permission';
onload
onLoad(option) {
// #ifdef APP-PLUS
this.isIos = plus.os.name == 'iOS';
// #endif
},
method
//安卓的判断函数需要写在外面
async requestAndroidPermission(permisionID) {
const result = await permision.requestAndroidPermission(permisionID);
let strStatus;
return result === 1;
},
//获取权限
getPermision() {
// #ifdef APP-PLUS
const result = this.isIos ? permision.judgeIosPermission('location') :
this.requestAndroidPermission('android.permission.ACCESS_FINE_LOCATION');
if (result) {
this.getLocation();
} else {
uni.showModal({
content: '位置权限未获得授权',
showCancel: false
});
}
// #endif
// #ifndef APP-PLUS
//如果不是app平台走以下内容
this.getLocation();
// #endif
},
//获取定位的函数
getLocation(obj, page) {
const that = this;
uni.getLocation({
type: 'wgs84',
geocode: true,
success: function (res) {
//需要进行的操作
},
fail: function (err) {
//fail的原因可能有:sdk的key或包名不正确,未开启相关功能等,具体看错误信息
console.log(err.errMsg)
uni.showToast({
title: '获取定位失败,请检查是否开启定位功能',
duration: 2000,
icon: 'none'
});
//要进行的操作
}
});
},