UNPKG

@dtinsight/dt-utils

Version:

袋鼠云前端常用工具库

353 lines (344 loc) 11.8 kB
export declare const Cookie: { /** * 原生 JavaScript 获取 cookie 值 * @param name */ getCookie(name: string, cookiesStr?: string): string | null; getAllCookies(): { [x: string]: string; }; deleteCookie(name: string, domain?: string | undefined, path?: string | undefined): void; deleteAllCookies(domain: string, path: string): void; setCookie(name: string, value: string | number | object | boolean, days?: number | undefined, domainStr?: string | undefined, path?: string): void; }; /** * Copy工具类 * * 使用方法: * import CopyUtils from 'copy.js'; * const instance = new CopyUtils(); * instance.copy(value, callback); */ export declare class CopyUtils { fakeHandlerCallback: any; fakeHandler: any; fakeElem: any; copy(value: any, callback?: Function): void; removeFake(): void; copyText(callback?: Function): void; } /** * 时间处理 */ export declare const DateTime: { /** * 返回 YYYY-MM-DD HH:mm:ss 格式化的字符串 * @param {string | number | Date} timeData * @return {string} */ formatDateTime(timeData: string | number | Date): string; /** * 返回 YYYY-MM-DD 格式化的字符串 * @param {string | number | Date} timeData * @return {string} */ formatDate(timeData: string | number | Date): string; /** * 返回 YYYY-MM-DD HH:mm 格式化的字符串 * @param {string | number | Date} timeData * @return {string} */ formatDateHours(timeData: string | number | Date): string; /** * 返回 MM-DD HH:mm 格式化的字符串 * @param {string | number | Date} timeData * @return {string} */ formatDayHours(timeData: string | number | Date): string; /** * 返回 HH:mm 格式化的字符串 * @param {string | number | Date} timeData * @return {string} */ formatHours(timeData: string | number | Date): string; /** * 返回 HH:mm:ss 格式化的字符串 * @param {string | number | Date} timeData * @return {string} */ formatMinute(timeData: string | number | Date): string; /** * 把秒转换成 HH[h]mm[m]ss[s] 的格式 * @param {number} secondTime 秒 * @return {string} */ formatSecond(secondTime?: number): string; }; declare interface DownloadParams { url: string; fileName?: string; payload?: object; finallyCallback?: () => void; successCallback?: (res: Response) => void; errorCallback: (res: Response) => void; } /** * 树形布局计算 */ export declare const Layout: { /** * 获取页面宽度 * @return {[type]} [description] */ pageWidth(): number; /** * 获取页面高度 * @return {[type]} [description] */ pageHeight(): number; }; /** * 封装 localStorage * 增加对 JSON 对象的转换 * @return {[type]} [description] */ export declare const LocalDB: { /** * 按 key 存贮数据 value 到 localStorage * @param {String} key 存贮数据的唯一标识 * @param {String, Object} value 所要存贮的数据 */ set(key: string | number, value: any): void; /** * 通过 key 从 localStorage 获取数据 * @param {String} key 获取数据的唯一标识 * @return {String, Object} 返回空、字符串或者对象 */ get(key: string | number): any; /** * 通过 key 从 localStorage 删除数据 * @param {String} key 删除数据的唯一标识 */ remove(key: string | number): void; /** * 清空 localStorage * @return 无返回 NULL */ clear(): void; }; /** * Usage: https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB * Compatibility: https://caniuse.com/#feat=indexeddb */ export declare class LocalIndexedDB { private _db; private _version; private _database; private _storeName; private _openLog; /** * Constructor a new indexedDB object * @param database database name * @param version database version * @param storeName store object name * @param openLog - 是否打印 indexedDB 变化 */ constructor(database: string, version: number, storeName: string, openLog?: boolean); /** * Open the database indicated in constructor function. * This method return a Promise object which success will resolve db instance. */ open(): Promise<IDBDatabase>; private getObjectStore; add(value: any, key?: string): Promise<IDBRequest<any>>; /** * Set a value to store object by key * @param key the key of store object * @param value the value of store object */ set(key: string, value: any): Promise<IDBRequest<any>>; /** * Get the value with the given key * @param key the key of store object */ get(key: string): Promise<IDBRequest<any>>; /** * Delete records in store with the given key * @param key the key of store object */ delete(key: string): Promise<IDBRequest<any>>; /** * Delete all data in store object */ clear(): Promise<IDBRequest<any>>; /** * Get the store object */ getStore(): IDBObjectStore | null; /** * Wrap the database request result as promise object * @param operate A function which operate store */ wrapStoreOperationPromise<T = IDBRequest>(operate: (store: IDBObjectStore) => IDBRequest): Promise<T>; private log; } export declare const Utils: { /** * @description 浏览器类型和版本检测 * @returns {Boolean} `true`表示通过兼容性检测,`false`表示不通过兼容性检测 */ browserCheck(): boolean; checkExist(prop: any): boolean; /** * 转换 Byte 转换为小于1024值最大单位 * @param value 'B' | 'KB' | 'MB' | 'GB' | 'TB' | 'PB' 转换原始值 */ convertBytes(value: number): string; isMacOs(): boolean; isWindows(): boolean; isMobileDevice(): boolean; /** * 根据参数名获取URL数据 * @param {[type]} name [description] * @param {[type]} url [description] */ getParameterByName(name: string, url?: string | undefined): string | null | undefined; /** * * @param pathname 地址 * @param queryParams url参数 * @returns 两者生成的完整url地址 */ generateFullUrlPath(pathname: string, queryParams?: {}): string; /** * * @param search location.search * @returns query 参数 */ getQueryParameters(search: string): { [k: string]: string; }; /** * 获取图片的Base64格式 * @param {[type]} img [description] * @param {Function} callback [description] */ getBase64(img: any, callback: (img: any) => void): void; /** * 百分比转换 * @param {[type]} num [description] * @param {[type]} precision [description] */ percent(num: number, precision?: number | undefined): string; /** * * * @param {Record<string, any>} [object={}] * @returns */ getCssText(object?: Record<string, any>): string; /** * @description: 去除字符串前后空格 * @param: str 带有空格的字符串 * @returns: 返回去除前后空格的字符串 */ trim(str: string): string; /** * @description: 去除字符串的所有空格 * @param: str 带有空格的字符串 * @returns: 返回去除所有空格的字符串 */ trimAll(str: string): string; getThousandth(num: string | number): string; textOverflowExchange(text: string, length: number): string; /** * json格式化 * @param {格式化内容} text * @param {格式化占位符} space */ jsonFormat(text: string, space?: number | undefined): string | null; /** * 多函数排序,匹配到0为止 */ sortByCompareFunctions(arr: any[], ...compareFunctions: any[]): void; /** * 转换排序字段 */ exchangeOrder(order: string): "asc" | "desc" | undefined; /** * 生成一个key */ generateAKey(): string; /** * 判断是否是JSON string * @param {String} str 所要验证的字符串 * @return {Boolean} 是否是JSON字符串 */ isJSONStr(str: string): boolean; /** * * 校验手机 * @param {*} tel * @returns */ isPhoneNumber(tel: string): boolean; /** * 判断是否是函数 * * @param {*} arg * @returns */ isFunction(arg: any): boolean; /** * 随机生成一串6位同时包含数字、大小写字母的字符串 * @param len number */ getRandomStr(len: number): string; /** * simply judge whether the array is equal * @param arr1 * @param arr2 * @returns arr1 === arr2 */ isEqualArr(arr1: string[], arr2: string[]): boolean; /** * * * @param {*} a * @param {*} b * @returns boolean */ isEqual(a: any, b: any): boolean; /** * * * @param {*} targetComponent */ shouldRender(targetComponent: any): void; /** * * 计算字符串长度(英文占1个字符,中文汉字占2个字符) * @param {*} str * @returns number */ getStrlen(str: string): number; transformArray<T>(arr: T[], num: number): T[][]; isEmpty(data?: any): boolean; isObj(obj?: any): boolean; removeEmpty(obj?: any): any; mergeDeep(object1: Record<string, any>, object2: Record<string, any>): Record<string, any>; /** * 下载文件 * @param {string} url 请求地址 * @param {string} fileName 输出名字,如果不传就是后端写入文件名 * @param {object} payload 请求数据 * @param {function} successCallback 导出正确的回调函数,处理一些message展示 * @param {function} errorCallback 导出失败的回调函数 * @param {function} finallyCallback 成功/失败都会执行回调函数,例如控制一些visible显示隐藏 * */ downLoadData(params: DownloadParams): void; isUtf8(s: string): boolean; utf16to8(str: string): string; base64Encode(value: string): string; }; export { }