WebApp【公共组件库】@前端(For Git Submodule)
Tevin
2021-01-25 8f540e3257e903deeb9fdba22d45c938057cb914
common/Tools.js
@@ -9,35 +9,6 @@
export class Tools {
    /**
     * URL参数解析
     * @param {String} name
     * @param {String} [search]
     * @return {String|Null}
     */
    static getUrlParam(name, search = window.location.search) {
        const reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
        const r = search.substr(1).match(reg);
        if (r !== null) {
            return decodeURIComponent(r[2]);
        } else {
            return null;
        }
    }
    /**
     * 深度获取 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
     */
@@ -177,33 +148,6 @@
        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;
        }
    }
    /**
     * 统计字符串占位宽度
     * @param {String} string
@@ -330,18 +274,6 @@
    }
    /**
     * 数组元素交换位置
     * @param {array} arr 数组
     * @param {number} index1 要交换项目的位置
     * @param {number} index2 被交换项目的位置
     * @tutorial 例如:1,5就是数组中下标为1和5的两个元素交换位置
     */
    static swapArray(arr, index1, index2) {
        arr[index1] = arr.splice(index2, 1, arr[index1])[0];
        return arr;
    }
    /**
     * 使用 moment.js 格式化时间戳
     * @param {Number|String} timestamp
     * @param {String} [type='date']
@@ -412,11 +344,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);