30 lines
1.1 KiB
Markdown
30 lines
1.1 KiB
Markdown
|
### 插件简介:
|
|||
|
支持在onShow生命周期,使用的集成权限判断和引导开启(包括设备权限和应用权限)的地理位置获取方法
|
|||
|
|
|||
|
### 插件背景:
|
|||
|
实现获取用户地理位置,当手机未开启定位模块或应用无定位权限时,引导用户前往手机系统或应用权限设置页面。设置完回到应用界面自动重新获取。
|
|||
|
为了实现该效果,开发者把获取定位权限放在onShow生命周期,然而即使是原生开发,调用判断设备权限操作也会触发onShow生命周期,直接使用会导致死循环。因此本插件,二次封装用锁的方式控制该问题。
|
|||
|
|
|||
|
### 使用方式
|
|||
|
```js
|
|||
|
import Gps from '@/uni_modules/json-gps/js_sdk/gps.js';
|
|||
|
const gps = new Gps()
|
|||
|
export default {
|
|||
|
async onShow() {
|
|||
|
uni.showLoading({
|
|||
|
title:"获取定位中"
|
|||
|
});
|
|||
|
let location = await gps.getLocation()
|
|||
|
console.log(location);
|
|||
|
if(location){
|
|||
|
uni.showToast({
|
|||
|
title: JSON.stringify(location),
|
|||
|
icon: 'none'
|
|||
|
});
|
|||
|
}
|
|||
|
uni.hideLoading()
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
>本插件基于第三方插件:[App权限判断和提示](https://ext.dcloud.net.cn/plugin?id=594)二次封装而成
|