Browse Source

计划外-初始化和进入拜访获取定位规范化

zhujindu 1 năm trước cách đây
mục cha
commit
6c56bf1455
1 tập tin đã thay đổi với 0 bổ sung164 xóa
  1. 0 164
      src/utils/getPosition.js

+ 0 - 164
src/utils/getPosition.js

@@ -1,164 +0,0 @@
-import Vue from 'vue';
-import { getTicket } from '@/api/index';
-import { toastLoading } from '@/utils/commonVant';
-import { CJ02BD, gcj02BD } from '@/utils/index';
-import { jsonp } from 'vue-jsonp';
-// 微信JSSDK实例
-const wx = Vue.prototype.wx;
-// 腾讯位置服务 key
-const TxMapKey = 'WLCBZ-HRM6L-YOMPV-ME62B-AQOG6-JUBW6';
-
-/**
- * 获取当前定位 调用之前确保当前页面已经授权(getTicketFun)
- * */
-export function getPosition() {
-  return new Promise((resolve, reject) => {
-    toastLoading(0, '定位中...', true);
-    // 本地开发 test 环境时跳过获取定位功能 模拟定位
-    if (process.env.NODE_ENV === 'test') {
-      let resData = {
-        latitude: 34.615684509277344,
-        longitude: 112.4474105834961,
-      };
-      localStorage.setItem('lat', resData.latitude);
-      localStorage.setItem('lon', resData.longitude);
-      // 定位坐标转换 腾讯转百度
-      let TXisBD = CJ02BD(resData.latitude, resData.longitude);
-      toastLoading().clear();
-      resolve({ TXisBD, resData });
-    } else {
-      // let url = window.location.href;
-      // //  获取签名
-      // getTicket({ url: url }).then((response) => {
-      //   console.log(response);
-      //   toastLoading().clear();
-      //   if (response.code == 200) {
-      //     let qiyeData = response.data;
-      //     wx.config({
-      //       beta: true, // 必须这么写,否则wx.invoke调用形式的jsapi会有问题
-      //       debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
-      //       appId: qiyeData.appId, // 必填,企业微信的corpID
-      //       timestamp: qiyeData.timestamp, // 必填,生成签名的时间戳
-      //       nonceStr: qiyeData.nonceStr, // 必填,生成签名的随机串
-      //       signature: qiyeData.signature, // 必填,签名,见 附录-JS-SDK使用权限签名算法
-      //       jsApiList: ["ready", "getLocation"], // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
-      //     });
-      wx.ready(() => {
-        wx.getLocation({
-          type: 'gcj02',
-          success: (resData) => {
-            toastLoading().clear();
-            console.log('处理前');
-            console.log(resData.latitude, resData.longitude);
-            // 定位坐标转换 腾讯转百度
-            let TXisBD = CJ02BD(resData.latitude, resData.longitude);
-            console.log('处理后');
-            console.log(TXisBD);
-            localStorage.setItem('lat', resData.latitude);
-            localStorage.setItem('lon', resData.longitude);
-            resolve({ TXisBD, resData });
-          },
-          fail: () => {
-            toastLoading().clear();
-            reject('GPS未开启');
-          },
-        });
-      });
-      wx.error((err) => {
-        toastLoading().clear();
-        console.log(err);
-        reject('定位失败,请开启企微定位权限');
-      });
-      // } else {
-      //   toastLoading().clear();
-      //   reject("获取签名失败");
-      // }
-      // });
-    }
-  });
-}
-
-/**
- *当前页面授权 一个url只需要授权一次,wx.config 调用多次,只有第一次会调用成功,后面的都会走失败
- * @param {*object} jsApiList //授权接口列表
- * @param {*String} getLocation //获取定位
- */
-export function getTicketFun(jsApiList = ['getLocation']) {
-  return new Promise((resolve, reject) => {
-    // 当前页面
-    let url = window.location.href;
-    //  获取签名
-    getTicket({ url: url }).then((response) => {
-      console.log(response);
-      toastLoading().clear();
-      if (response.code == 200) {
-        let qiyeData = response.data;
-        wx.config({
-          beta: true, // 必须这么写,否则wx.invoke调用形式的jsapi会有问题
-          debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
-          appId: qiyeData.appId, // 必填,企业微信的corpID
-          timestamp: qiyeData.timestamp, // 必填,生成签名的时间戳
-          nonceStr: qiyeData.nonceStr, // 必填,生成签名的随机串
-          signature: qiyeData.signature, // 必填,签名,见 附录-JS-SDK使用权限签名算法
-          jsApiList: ['ready', ...jsApiList], // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
-        });
-        resolve('获取签名成功');
-      } else {
-        reject('获取签名失败');
-      }
-    });
-  });
-}
-/**
- * 地点搜索 获取500米范围poi点
- * @param {*object} location //当前位置
- * @param {*number} radius //搜索半径
- * @param {*number} auto_extend //是否自动扩大范围 0 不扩大
- * @returns
- */
-export function getMapPoi(location, radius = 500, auto_extend = 0) {
-  return new Promise((resolve, reject) => {
-    let api =
-      'https://apis.map.qq.com/ws/place/v1/search?page_size=10&page_index=1&orderby=_distance&output=jsonp';
-    let boundary = `&boundary=nearby(${location.latitude},${location.longitude},${radius},${auto_extend})`;
-    let key = `&key=${TxMapKey}`;
-    jsonp(api + boundary + key)
-      .then((res) => {
-        console.log(res);
-        resolve(res);
-      })
-      .catch((err) => {
-        console.log(err);
-        reject(err);
-      });
-  });
-}
-
-/**
- * 关键词搜索 在当前城市范围内搜索
- * @param {*object} location //当前位置
- * @param {*string} keywordValue //关键字
- * @param {*number} radius //搜索半径
- * @param {*number} auto_extend //是否自动扩大范围 0 不扩大
- * @returns
- */
-export function getkeywordPoi(location, keywordValue) {
-  return new Promise((resolve, reject) => {
-    let keyword = keywordValue ? '&keyword=' + encodeURI(keywordValue) : '';
-    // 关键词搜索
-    let api =
-      'https://apis.map.qq.com/ws/place/v1/suggestion?output=jsonp&page_size=10&region_fix=1';
-    let key = `&key=${TxMapKey}`;
-    let locationPos = `&location=${location.latitude},${location.longitude}`;
-    jsonp(api + locationPos + keyword + key)
-      .then((res) => {
-        console.log(keyword);
-        console.log(res);
-        resolve(res);
-      })
-      .catch((err) => {
-        console.log(err);
-        reject(err);
-      });
-  });
-}