From fe7a9db56d8062ffd5e3e86576e781dbba3b3ece Mon Sep 17 00:00:00 2001
From: Tevin <tingquanren@163.com>
Date: Thu, 23 Nov 2023 11:16:33 +0800
Subject: [PATCH] 优化表单只读模式显示

---
 common/Helper.js |   49 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 46 insertions(+), 3 deletions(-)

diff --git a/common/Helper.js b/common/Helper.js
index 414046c..4cbb0c5 100644
--- a/common/Helper.js
+++ b/common/Helper.js
@@ -6,6 +6,9 @@
 export class Helper {
 
     constructor() {
+        this._data = {
+            locations: [],
+        };
     }
 
     /**
@@ -38,6 +41,47 @@
     }
 
     /**
+     * 操作GPS定位
+     * @param {String} type
+     * @param {Object} [location]
+     * @return {Number|Object}
+     */
+    oprGPSLocation(type, location) {
+        // 开始记录
+        if (type === 'restart') {
+            this._data.locations = [];
+        }
+        // 添加记录
+        else if (type === 'add') {
+            this._data.locations.push({
+                ...location,
+                radius: Number(location.radius),
+            });
+            // 按精度排序
+            this._data.locations.sort((a, b) => a.radius < b.radius ? -1 : 1);
+        }
+        // 获取高精度次数计数
+        else if (type === 'countHigh') {
+            let count = 0;
+            this._data.locations.forEach(location => {
+                if (location.radius <= 10) {
+                    count++;
+                }
+            });
+            return count;
+        }
+        // 读取最精确的记录
+        else if (type === 'read') {
+            return this._data.locations[0];
+        }
+        // 读取最精确的记录,并返回字符串
+        else if (type === 'readStr') {
+            const location = this._data.locations[0];
+            return location.longitude + ',' + location.latitude + ',' + location.radius;
+        }
+    }
+
+    /**
      * 播放App操作的提醒语音
      * @param {String} name
      */
@@ -59,9 +103,9 @@
         const fileref = document.createElement('script');
         fileref.setAttribute('type', 'text/javascript');
         if (window.location.protocol === 'https:') {
-            fileref.setAttribute('src', 'https://cdn.jsdelivr.net/npm/eruda');
+            fileref.setAttribute('src', 'https://rb.zhiheiot.com/static/pages/libs/eruda.min.js');
         } else {
-            fileref.setAttribute('src', 'http://cdn.jsdelivr.net/npm/eruda');
+            fileref.setAttribute('src', 'http://rb.zhiheiot.com/static/pages/libs/eruda.min.js');
         }
         document.getElementsByTagName('head')[0].appendChild(fileref);
         const simulateTouch = (dom, type) => {
@@ -126,7 +170,6 @@
                         callback && callback();
                     }, 1000);
                 }, 100);
-
             }
         }, 100);
     }

--
Gitblit v1.9.1