ソースを参照

pc端无定位依然支持访问

zhujindu 1 年間 前
コミット
bebc26f300

+ 11 - 11
src/App.vue

@@ -4,31 +4,31 @@
   </div>
 </template>
 <script>
-import watermark from "watermark-dom";
+import watermark from 'watermark-dom';
 
 export default {
-  name: "App",
+  name: 'App',
   created() {
-    // 是否为移动
-    let isMobile = window.navigator.userAgent.match(
+    // 是否为PC
+    let isPC = window.navigator.userAgent.match(
       /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i
     );
-    localStorage.setItem("isMobile", !!isMobile);
+    localStorage.setItem('isPC', !isPC); // isPC true:是
   },
   mounted() {
     setTimeout(() => {
-      let username = localStorage.getItem("nickName");
+      let username = localStorage.getItem('nickName');
       if (username) {
         let now = new Date();
         let year = now.getFullYear();
         let month = now.getMonth() + 1;
         let day = now.getDate();
-        month = month < 10 ? "0" + month : month;
-        day = day < 10 ? "0" + day : day;
-        let date = year + "-" + month + "-" + day;
+        month = month < 10 ? '0' + month : month;
+        day = day < 10 ? '0' + day : day;
+        let date = year + '-' + month + '-' + day;
         watermark.load({
-          watermark_txt: username + "@立邦" + date,
-          watermark_fontsize: "13px",
+          watermark_txt: username + '@立邦' + date,
+          watermark_fontsize: '13px',
           watermark_width: 100,
           watermark_rows: 0,
           watermark_cols: 3,

+ 19 - 18
src/utils/TXApiFun.js

@@ -7,6 +7,8 @@ import { jsonp } from 'vue-jsonp';
 const wx = Vue.prototype.wx;
 // 腾讯位置服务 key
 const TxMapKey = 'WLCBZ-HRM6L-YOMPV-ME62B-AQOG6-JUBW6';
+// 是否为移动端
+const isPC = localStorage.getItem('isPC');
 
 /**
  * 获取当前定位 调用之前确保当前页面已经授权(getTicketFun)
@@ -14,8 +16,9 @@ const TxMapKey = 'WLCBZ-HRM6L-YOMPV-ME62B-AQOG6-JUBW6';
 export function getPosition() {
   return new Promise((resolve, reject) => {
     toastLoading(0, '定位中...', true);
-    // 本地开发 test 环境时跳过获取定位功能 模拟定位
+    // PC端没有定位权限依然可以访问
     if (process.env.NODE_ENV === 'test') {
+      // 本地开发 test 环境时跳过获取定位功能 模拟定位
       let resData = {
         latitude: 34.615684509277344,
         longitude: 112.4474105834961,
@@ -25,7 +28,12 @@ export function getPosition() {
       localStorage.setItem('lat', TXisBD.lat);
       localStorage.setItem('lon', TXisBD.lon);
       toastLoading().clear();
-      resolve({ TXisBD, resData });
+      resolve({ TXisBD: TXisBD, resData: resData });
+    } else if (isPC) {
+      localStorage.setItem('lat', '');
+      localStorage.setItem('lon', '');
+      toastLoading().clear();
+      resolve({ TXisBD: { lat: '', lon: {} }, resData: { latitude: '', longitude: '' } });
     } else {
       wx.ready(() => {
         wx.getLocation({
@@ -33,22 +41,15 @@ export function getPosition() {
           success: (resData) => {
             console.log('success');
             toastLoading().clear();
-            // resData.errmsg == fail_no permission 没有权限依会走success
-            if (resData.latitude) {
-              console.log('处理前');
-              console.log(resData.latitude, resData.longitude);
-              // 定位坐标转换 腾讯转百度
-              let TXisBD = CJ02BD(resData.latitude, resData.longitude);
-              console.log('处理后');
-              console.log(TXisBD);
-              localStorage.setItem('lat', TXisBD.lat);
-              localStorage.setItem('lon', TXisBD.lon);
-              resolve({ TXisBD, resData });
-            } else {
-              localStorage.setItem('lat', '');
-              localStorage.setItem('lon', '');
-              reject('定位失败,请开启企微定位权限');
-            }
+            console.log('处理前');
+            console.log(resData.latitude, resData.longitude);
+            // 定位坐标转换 腾讯转百度
+            let TXisBD = CJ02BD(resData.latitude, resData.longitude);
+            console.log('处理后');
+            console.log(TXisBD);
+            localStorage.setItem('lat', TXisBD.lat);
+            localStorage.setItem('lon', TXisBD.lon);
+            resolve({ TXisBD: TXisBD, resData: resData });
           },
           fail: () => {
             console.log('fail');

+ 3 - 18
src/views/deviceOutside/index.vue

@@ -1151,23 +1151,9 @@ export default {
           }
         })
         .catch((error) => {
-          // PC端没有定位权限依然可以访问
-          let isMobile = localStorage.getItem('isMobile');
-          if (!isMobile) {
-            this.$dialog.alert({
-              message: error,
-            });
-          } else {
-            if (val == 1) {
-              if (this.tabVal == 1) {
-                this.getUserOutPlaListFun();
-              } else {
-                this.getUserOrgStoreList();
-              }
-            } else {
-              this.getUserOutPlaListFun();
-            }
-          }
+          this.$dialog.alert({
+            message: error,
+          });
         });
       // // 本地开发 test 环境时 时跳过获取定位功能
       // if (process.env.NODE_ENV === 'test') {
@@ -2379,7 +2365,6 @@ export default {
     onLoad() {
       // 授权
       getTicketFun().then(() => {
-        debugger;
         var postType = localStorage.getItem('postType');
         if (postType == 'GZ') {
           this.typeShow = false;

+ 3 - 9
src/views/deviceWithin/index.vue

@@ -662,15 +662,9 @@ export default {
           this.getUserInPlanListFun(TXisBD);
         })
         .catch((error) => {
-          // PC端没有定位权限依然可以访问
-          let isMobile = localStorage.getItem('isMobile');
-          if (!isMobile) {
-            this.$dialog.alert({
-              message: error,
-            });
-          } else {
-            this.getUserInPlanListFun({ lat: '', lon: '' });
-          }
+          this.$dialog.alert({
+            message: error,
+          });
         });
     },
     getUserInPlanListFun(TXisBD) {

+ 2 - 2
src/views/home/login.vue

@@ -24,10 +24,10 @@ export default {
       localStorage.clear();
       if (this.name.trim() != '') {
         // 是否为移动端
-        let isMobile = window.navigator.userAgent.match(
+        let isPC = window.navigator.userAgent.match(
           /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i
         );
-        localStorage.setItem('isMobile', !!isMobile);
+        localStorage.setItem('isPC', !isPC);
         localStorage.setItem('loginName', this.name);
         localStorage.removeItem('loginType');
         this.$router.push('/');