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

上一篇:Spring MVC 使用 @RestController


下一篇:springboot @ResponseBody 返回对象报错解决