Commit ce66e5be authored by 陈龙's avatar 陈龙

fix: 去除多余代码,修复未使用代码导致的错误

parent 959dd68f
import Cookies from 'js-cookie';
import pathRegexp from 'path-to-regexp';
import { parse } from 'querystring';
import moment from 'moment';
import pkg from '../../package.json';
const { toString } = Object.prototype;
/* eslint no-useless-escape:0 import/prefer-default-export:0 */
const reg =
/(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$/;
export const isUrl = (path) => reg.test(path);
export const getPageQuery = () => parse(window.location.href.split('?')[1]);
export const getAuthorityFromRouter = (router, pathname) => {
const authority = router.find(
({ routes, path = '/', target = '_self' }) =>
(path && target !== '_blank' && pathRegexp(path).exec(pathname)) ||
(routes && getAuthorityFromRouter(routes, pathname)),
);
if (authority) return authority;
return undefined;
};
export const getRouteAuthority = (path, routeData) => {
let authorities;
routeData.forEach((route) => {
if (pathRegexp(`${route.path}/(.*)`).test(`${path}/`)) {
if (route.authority) {
authorities = route.authority;
}
if (route.path === path) {
authorities = route.authority || authorities;
}
if (route.routes) {
authorities = getRouteAuthority(path, route.routes) || authorities;
}
}
});
return authorities;
};
export function isPromise(obj) {
return (
!!obj && // 有实际含义的变量才执行方法,变量null,undefined和''空串都为false
(typeof obj === 'object' || typeof obj === 'function') && // 初始promise 或 promise.then返回的
typeof obj.then === 'function'
);
}
export function getBaseName() {
return pkg.name.toLocaleLowerCase();
}
const cache = {};
export function findPathByLeafId(leafId, nodes, path, key) {
if (path === undefined) {
path = {};
}
let tmpPath = path;
if (cache[leafId]) {
return cache[leafId];
}
// eslint-disable-next-line no-plusplus
for (let i = 0; i < nodes.length; i++) {
if (nodes[i] && nodes[i][key] && leafId === nodes[i][key]) {
tmpPath = nodes[i];
cache[leafId] = tmpPath;
return tmpPath;
}
if (nodes[i] && nodes[i].routes) {
const findResult = findPathByLeafId(
leafId,
nodes[i].routes,
tmpPath,
key,
// eslint-disable-next-line no-restricted-globals
location,
);
if (findResult) {
cache[leafId] = findResult;
return findResult;
}
}
}
}
export function transformURL(path) {
// path = path.replace(/[(\\|)|(&)]widget=[0-9]*/, '');
const el = document.createElement('input');
el.value = path;
String.fromCharCode(92);
return el.value.replace(/\\/g, '/');
}
export function findPathByWidget(leafId, nodes, path, key) {
if (path === undefined) {
path = {};
}
let tmpPath = path;
// eslint-disable-next-line no-plusplus
for (let i = 0; i < nodes.length; i++) {
if (nodes[i] && nodes[i][key] && nodes[i][key].indexOf(leafId) > -1) {
tmpPath = nodes[i];
return tmpPath;
}
if (nodes[i] && nodes[i].widgets) {
const findResult = findPathByWidget(
leafId,
nodes[i].widgets,
tmpPath,
key,
// eslint-disable-next-line no-restricted-globals
location,
);
if (findResult) {
return findResult;
}
}
}
return tmpPath;
}
export function isJSON(str) {
if (typeof str === 'string') {
try {
const obj = JSON.parse(str);
if (typeof obj === 'object' && obj) {
return true;
}
return false;
} catch (e) {
return false;
}
}
}
export function isString(str) {
return toString.call(str) === '[object String]';
}
export const getKeyName = (path) => {
const truePath = path.split('?')[0];
const curRoute = [].filter((item) => item.path.includes(truePath));
if (!curRoute[0]) {
return {
title: '暂无权限',
tabKey: '403',
};
}
const { name, key, component } = curRoute[0];
return { title: name, tabKey: key, component };
};
export const asyncAction = (action) => {
const wait = new Promise((resolve) => resolve(action));
return (callback) => {
wait.then(() => setTimeout(() => callback()));
};
};
export function getToken() {
return Cookies.get('token');
}
export function setToken(token) {
Cookies.set(token);
}
export const closeTabAction = (history, returnUrl, callback) => {};
const requireContext = require.context('../assets/images', true, /^\.\/.*\.(svg|png)$/);
const localMap = {};
requireContext.keys().map((item) => {
localMap[item] = requireContext(item);
});
/**
* @param context
* @param name
* @returns {any} Example: getLocalImages('device', '二供.svg')
*/
export const getLocalImages = (context, name) => localMap[`./${context}/${name}`];
/**
* @param {any} path 文件路径
* @param {any} filename 下载提升文件名
*/
export const downLoadFile = (path, filename = '') => {
const a = document.createElement('a');
a.href = `/CityInterface/rest/services/FileDownload.svc/download/${path}?_site=${window.globalConfig.userInfo.site}`;
a.download = filename;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
};
export const switchTimeToPeriod = (time) => {
if (!time) return '';
let _day = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment