WebApp【公共组件库】@前端(For Git Submodule)
Tevin
2023-04-06 8e6e2e46ceb70e8993baae40c5b3648e9c41468a
common/Tools.js
@@ -1,5 +1,5 @@
/**
 * Tools
 * Tools - 工具集
 * @author Tevin
 */
@@ -44,20 +44,6 @@
    }
    /**
     * 读取文件 base64
     * @param {File} file
     * @return {Promise<string>}
     */
    static getFileBase64(file) {
        return new Promise((resolve, reject) => {
            const reader = new FileReader();
            reader.onload = () => resolve(reader.result);
            reader.onerror = error => reject(error);
            reader.readAsDataURL(file);
        });
    }
    /**
     * 生成 GUID
     * @return {string}
     */
@@ -83,34 +69,6 @@
            result += template.charAt(Math.floor(Math.random() * count));
        }
        return result;
    }
    /**
     * 检查网络状态
     */
    static checkOnlineState(callback) {
        // 网页模式
        if (process.env.TARO_ENV === 'h5') {
            // 网络已开启
            if (navigator.onLine) {
                // 用图片资源测试网络状态
                const img = new Image();
                img.onload = () => {
                    img.onload = null;
                    callback && callback(true);
                };
                img.onerror = () => {
                    img.onerror = null;
                    callback && callback(false);
                };
                img.src = 'http://gz.zhiheiot.com/disp/download/buildArchive/online.png?t=' + Date.now();
            }
            // 网络未开启
            else {
                callback && callback(false);
            }
        }
        // 补充:小程序模式用 getNetworkType
    }
    /**
@@ -496,7 +454,7 @@
    /**
     * 求小数点后的数据长度
     * @param {Number|String} num
     * @private
     * @return {Number}
     */
    static getDecimalLength(num) {
        let t = 0;
@@ -518,10 +476,10 @@
    /**
     * 转换周数到日期
     * @param year
     * @param week
     * @param weekDay 需要输出星期几对应的日期 (1~7)
     * @return {Date}
     * @param {Number} year
     * @param {Number} week
     * @param {Number} weekDay 需要输出星期几对应的日期 (1~7)
     * @return {String}
     */
    static transWeekIndexToDate(year, week, weekDay) {
        const yearStart = moment([year, 0, 1]);
@@ -531,52 +489,6 @@
        const weekDayLong = weekDay * dayLong;
        const dayTimestamp = yearStart.valueOf() + firstWeekLong + weeksLong + weekDayLong;
        return moment(dayTimestamp).format('YYYY-MM-DD');
    }
    /**
     * 显示调试面板(仅支持H5)
     * @param cssSelector
     * @param callback
     */
    static $_showDevConsole(cssSelector, callback) {
        // 只支持 h5 编译
        if (process.env.TARO_ENV !== 'h5') {
            return;
        }
        const fileref = document.createElement('script');
        fileref.setAttribute('type', 'text/javascript');
        if (window.location.protocol === 'https:') {
            fileref.setAttribute('src', 'https://cdn.jsdelivr.net/npm/eruda');
        } else {
            fileref.setAttribute('src', 'http://cdn.jsdelivr.net/npm/eruda');
        }
        document.getElementsByTagName('head')[0].appendChild(fileref);
        const erudaTimer = setInterval(() => {
            if (window.eruda) {
                clearInterval(erudaTimer);
                const container = document.createElement('div');
                if (cssSelector) {
                    document.querySelector(cssSelector).appendChild(container);
                } else {
                    document.getElementsByTagName('body')[0].appendChild(container);
                }
                window.eruda.init({
                    container: container,
                    useShadowDom: false,
                });
                setTimeout(() => {
                    const devTool = document.querySelector('.eruda-dev-tools');
                    devTool.style.display = 'block';
                    devTool.style.opacity = '1';
                    devTool.style.height = '70%';
                    console.warn('=====【艾信App调试模式】=====');
                    console.warn('点击右下角悬浮工具箱图标可以折叠面板');
                }, 50);
                setTimeout(() => {
                    callback && callback();
                }, 100);
            }
        }, 100);
    }
}