WebApp【公共组件库】@前端(For Git Submodule)
Tevin
2023-11-14 8a2fa7164fad4d2cdbeccccbb419514221e3a3fd
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);
    }