WebApp【公共组件库】@前端(For Git Submodule)
Tevin
2021-01-14 9f80375601ee3803f15977490cc5f251d840b9e4
common/Tools.js
@@ -5,6 +5,7 @@
import moment from 'moment';
import Taro from '@tarojs/taro';
import { $ } from '@tarojs/extend';
export class Tools {
@@ -25,19 +26,6 @@
    }
    /**
     * 深度获取 url 参数
     * @param {String} name
     * @return {String}
     */
    static getTopUrlParam(name) {
        if (window.top !== window) {
            return Tools.getUrlParam(name, window.top.location.search);
        } else {
            return Tools.getUrlParam(name);
        }
    }
    /**
     * 显示消息
     * @param msg
     */
@@ -48,6 +36,21 @@
            mask: true,
            duration: 2000,
        });
    }
    /**
     * 锁定页面
     * @param type - lock / unlock
     */
    static lockScreen(type) {
        if (typeof Tools.$lock) {
            Tools.$lock = $('#lock');
        }
        if (type === 'lock') {
            Tools.$lock.show();
        } else if (type === 'unlock') {
            Tools.$lock.hide();
        }
    }
    /**
@@ -177,32 +180,32 @@
        return true;
    }
    static getObjDataByPath(obj, path) {
        const arr = path.split('.');
        const reg2 = /\[(.*)]/g;
        const reg4 = /\w+(?=\[)|(?<=\[)(.*?)(?=])/g;
        let stack = [];
        let temp;
        arr.forEach(item => {
            if (reg2.test(item)) {
                while ((temp = reg4.exec(item))) {
                    stack.push(temp[0]);
                }
            } else {
                stack.push(item);
            }
        });
        stack = stack.map(item => {
            return item.replace(/^['"`]|['"`]$/g, '');
        });
        try {
            return stack.reduce((pre, next) => {
                return pre[next];
            }, obj);
        } catch (err) {
            return undefined;
        }
    }
    // static getObjDataByPath(obj, path) {
    //     const arr = path.split('.');
    //     const reg2 = /\[(.*)]/g;
    //     const reg4 = /\w+(?=\[)|(?<=\[)(.*?)(?=])/g;
    //     let stack = [];
    //     let temp;
    //     arr.forEach(item => {
    //         if (reg2.test(item)) {
    //             while ((temp = reg4.exec(item))) {
    //                 stack.push(temp[0]);
    //             }
    //         } else {
    //             stack.push(item);
    //         }
    //     });
    //     stack = stack.map(item => {
    //         return item.replace(/^['"`]|['"`]$/g, '');
    //     });
    //     try {
    //         return stack.reduce((pre, next) => {
    //             return pre[next];
    //         }, obj);
    //     } catch (err) {
    //         return undefined;
    //     }
    // }
    /**
     * 统计字符串占位宽度
@@ -412,11 +415,11 @@
     * @return {string}
     */
    static moneyFormat(number) {
        if (typeof number !== 'number' && !number) {
        if (!number && typeof number !== 'number') {
            return '';
        }
        if (typeof number === 'string') {
            number = parseInt(number) || 0;
            number = Number(number) || 0;
        }
        const numFixed = number.toFixed(2);
        const integer = parseInt(numFixed);