| | |
| | | */ |
| | | export function setObjToUrlParams(baseUrl: string, obj: any): string { |
| | | let parameters = ''; |
| | | let url = ''; |
| | | for (const key in obj) { |
| | | parameters += key + '=' + encodeURIComponent(obj[key]) + '&'; |
| | | } |
| | | parameters = parameters.replace(/&$/, ''); |
| | | if (/\?$/.test(baseUrl)) { |
| | | url = baseUrl + parameters; |
| | | } else { |
| | | url = baseUrl.replace(/\/?$/, '?') + parameters; |
| | | } |
| | | return url; |
| | | return /\?$/.test(baseUrl) ? baseUrl + parameters : baseUrl.replace(/\/?$/, '?') + parameters; |
| | | } |
| | | |
| | | export function deepMerge<T = any>(src: any = {}, target: any = {}): T { |
| | |
| | | src[key] = isObject(src[key]) ? deepMerge(src[key], target[key]) : (src[key] = target[key]); |
| | | } |
| | | return src; |
| | | } |
| | | |
| | | /** |
| | | * @description: 根据数组中某个对象值去重 |
| | | */ |
| | | export function unique<T = any>(arr: T[], key: string): T[] { |
| | | const map = new Map(); |
| | | return arr.filter((item) => { |
| | | const _item = item as any; |
| | | return !map.has(_item[key]) && map.set(_item[key], 1); |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * @description: es6数组去重复 |
| | | */ |
| | | export function es6Unique<T>(arr: T[]): T[] { |
| | | return Array.from(new Set(arr)); |
| | | } |
| | | |
| | | export function openWindow( |
| | |
| | | return ret as Partial<U>; |
| | | } |
| | | |
| | | export function getLastItem<T extends any>(list: T) { |
| | | if (Array.isArray(list)) { |
| | | return list.slice(-1)[0]; |
| | | } |
| | | |
| | | if (list instanceof Set) { |
| | | return Array.from(list).slice(-1)[0]; |
| | | } |
| | | |
| | | if (list instanceof Map) { |
| | | return Array.from(list.values()).slice(-1)[0]; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * set page Title |
| | | * @param {*} title :page Title |
| | |
| | | |
| | | export function setTitle(title: string, appTitle?: string) { |
| | | if (title) { |
| | | const _title = title ? ` ${title}-${appTitle} ` : `${appTitle}`; |
| | | const _title = title ? ` ${title} - ${appTitle} ` : `${appTitle}`; |
| | | setDocumentTitle(_title); |
| | | } |
| | | } |