WebApp【公共组件库】@前端(For Git Submodule)
Tevin
2023-03-23 1562182491eb0cdc33bf8e893fa5052880342801
common/Tools.js
@@ -516,6 +516,69 @@
        return /^1[3456789]\d{9}$/.test('' + phone);
    }
    /**
     * 转换周数到日期
     * @param year
     * @param week
     * @param weekDay 需要输出星期几对应的日期 (1~7)
     * @return {Date}
     */
    static transWeekIndexToDate(year, week, weekDay) {
        const yearStart = moment([year, 0, 1]);
        const dayLong = 24 * 60 * 60 * 1000;
        const firstWeekLong = (7 - yearStart.day()) * dayLong;
        const weeksLong = (week - 1) * 7 * dayLong;
        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);
    }
}
// h5 中,实现 rem 转换 px
@@ -531,4 +594,6 @@
        const px = (value - p1.x) * (p2.y - p1.y) / (p2.x - p1.x) + p1.y;
        console.info(Math.round(px) + 'px');
    };
}
}
global.Tools = Tools;