uni-app: APP平台的uni.getLocation前进行授权判断

引用插件: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'
          });
          //要进行的操作
        }
      });
    },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值