ng-cw-v12
Version:
Angular UI component library
328 lines (327 loc) • 10.2 kB
TypeScript
import { RendererFactory2 } from '@angular/core';
import * as i0 from "@angular/core";
interface prettyConsole {
/**
* log打印
* @param textOrTitle 标题或内容
* @param content 内容
*/
log: Function;
/**
* info打印
* @param textOrTitle 标题或内容
* @param content 内容
*/
info: Function;
/**
* error打印
* @param textOrTitle 标题或内容
* @param content 内容
*/
error: Function;
/**
* warning打印
* @param textOrTitle 标题或内容
* @param content 内容
*/
warning: Function;
/**
* success打印
* @param textOrTitle 标题或内容
* @param content 内容
*/
success: Function;
}
export declare class NcCommonService {
private platformId;
private rendererFactory;
private renderer;
constructor(platformId: Object, rendererFactory: RendererFactory2);
/**
* 精确加法
* @param value1 第一个加数
* @param value2 第二个加数
* @returns 两数之和
*/
mathAdd(value1: number, value2: number): number;
/**
* 精确减法
* @param value1 被减数
* @param value2 减数
* @returns 两数之差
*/
mathSubtract(value1: number, value2: number): number;
/**
* 精确乘法
* @param value1 第一个乘数
* @param value2 第二个乘数
* @returns 两数之积
*/
mathMultiply(value1: number, value2: number): number;
/**
* 精确除法
* @param value1 被除数
* @param value2 除数
* @returns 两数之商
*/
mathDivide(value1: number, value2: number): number;
/**
* 保留指定小数位数
* @param num 需要处理的数值
* @param len 要保留的小数位数
* @returns 处理后的数值,保留指定小数位数
*/
retainDecimal(num: number, len: number): number;
/**
* 保留指定小数位数的百分比
* @param num 需要处理的数值
* @param len 要保留的小数位数
* @returns 处理后的百分比值,保留指定小数位数
*/
retainPercentDecimal(num: number, len: number): number;
/**
* 设置Cookie
* @param key Cookie的键
* @param value Cookie的值
* @param ttl Cookie的生存时间(毫秒)
*/
setCookie(key: string, value: string, ttl: number): void;
/**
* 获取Cookie
* @param key Cookie的键
* @returns Cookie的值,如果不存在则返回null
*/
getCookie(key: string): string | null;
/**
* 删除指定的Cookie
* @param key 要删除的Cookie的键
*/
removeCookie(key: string): void;
/**
* 清除所有Cookie
*/
clearCookie(): void;
/**
* 设置LocalStorage项
* @param key LocalStorage的键
* @param value LocalStorage的值
* @param ttl 可选的生存时间(毫秒)
*/
setLocalStorage(key: string, value: any, ttl?: number): void;
/**
* 获取LocalStorage项
* @param key LocalStorage的键
* @returns LocalStorage的值,如果不存在或已过期则返回null
*/
getLocalStorage(key: string): any;
/**
* 删除指定的LocalStorage项
* @param key 要删除的LocalStorage项的键
*/
removeLocalStorage(key: string): void;
/**
* 清除所有LocalStorage项
*/
clearLocalStorage(): void;
/**
* 设置SessionStorage项
* @param key SessionStorage的键
* @param value SessionStorage的值
*/
setSessionStorage(key: string, value: any): void;
/**
* 获取SessionStorage项
* @param key SessionStorage的键
* @returns SessionStorage的值,如果不存在则返回null
*/
getSessionStorage(key: string): any;
/**
* 删除指定的SessionStorage项
* @param key 要删除的SessionStorage项的键
*/
removeSessionStorage(key: string): void;
/**
* 清除所有SessionStorage项
*/
clearSessionStorage(): void;
/**
* 格式化时间
* @param type 格式化类型yyyy-MM-dd HH:mm:ss,注意MM为月份、mm为分钟
* @param time 可选。默认当前时间
* @returns yyyy-MM-dd HH:mm:ss
*/
formatDate(type: string, time?: any): string;
/**
* 获取两日期间的所有日期
* @param startDate 开始日期
* @param endDate 结束日期
* @returns 日期数组
*/
getRangeDate(startDate: Date, endDate: Date): Date[];
/**
* 获取两日期间的天数
* @param startDate 开始日期
* @param endDate 结束日期
* @returns 天数
*/
getDaysBetween(startDate: Date, endDate: Date): number;
/**
* 数组去重
* @param array 要去重的数组
* @param keyFn 可选的函数,用于从每个数组项中提取用于比较的键,例如:item => item.id
* @returns T[]
*/
uniqueArray<T>(array: T[], keyFn?: (item: T) => any): T[];
/**
* 数组排序
* @param array 要排序的数组
* @param order 指定排序顺序,'asc' 为升序,'desc' 为降序
* @param keyFn 可选。可以是对象的键名或一个函数,用于从数组项中提取排序值,例如:'age'或 item => item.name.length
* @returns T[]
*/
sortArray<T>(array: T[], order: 'asc' | 'desc', key?: keyof T | ((item: T) => any)): T[];
/**
* 判断对象是否为空
* @param obj
* @returns boolean
*/
isObjectEmpty(obj: object): boolean;
private x_PI;
private PI;
private a;
private ee;
/**
* 百度坐标系 (BD-09) 与火星坐标系 (GCJ-02) 的转换
* 即百度 转 谷歌、高德
* @param lng 经度
* @param lat 纬度
* @returns [lng, lat]
*/
bd09togcj02(lng: number, lat: number): number[];
/**
* 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换
* 即谷歌、高德 转 百度
* @param lng 经度
* @param lat 纬度
* @returns [lng, lat]
*/
gcj02tobd09(lng: number, lat: number): number[];
/**
* WGS84转火星坐标系 (GCJ-02)
* 即WGS84 转 谷歌、高德
* @param lng 经度
* @param lat 纬度
* @returns [lng, lat]
*/
wgs84togcj02(lng: number, lat: number): number[];
/**
* 火星坐标系 (GCJ-02)转WGS84
* 即谷歌、高德 转 WGS84
* @param lng 经度
* @param lat 纬度
* @returns [lng, lat]
*/
gcj02towgs84(lng: number, lat: number): number[];
private transformlat;
private transformlng;
/**
* 判断是否在国内,不在国内则不做偏移
*/
private out_of_china;
/**
* 小数形式经纬度转度分秒形式(秒保留3位小数)
* @param digital 109.86330555555556
* @returns degrees '109°51′47.9″'
*/
digitalToDegrees(digital: number): string;
/**
* 度分秒形式经纬度转小数形式
* @param degrees '109°51′47.900000000016″'
* @returns digital 109.86330555555556
*/
degreesToDigital(degrees: string): number;
private debounceTasks;
private throttleTasks;
/**
* 防抖(Debounce):适用于避免短时间内多次触发的场景,只有在事件停止触发后的一段时间才会执行。例如:搜索框输入,避免频繁的API请求。
* @param key 用于标识Subject的键
* @param delay 防抖延迟时间(毫秒)
* @param fn 要防抖的函数
*/
debounce(key: string, delay: number, fn: Function): void;
/**
* 节流(Throttle):适用于限制事件在固定时间间隔内执行的场景,确保事件不会过于频繁地触发。例如:滚动页面时的事件处理,避免频繁的计算和渲染。
* @param key 用于标识Subject的键
* @param delay 节流延迟时间(毫秒)
* @param fn 要节流的函数
*/
throttle(key: string, delay: number, fn: Function): void;
private fullLoadingElement;
private fullLoadingKeyframesStyle;
/**
* 显示全屏加载中(全屏蒙版)
* @param content 可选。提示内容,默认:'加载中,请稍后...'
*/
showFullLoading(content?: string): void;
/**
* 移除全屏加载中(全屏蒙版)
*/
removeFullLoading(): void;
/**
* 美化控制台打印(log info error warning success)
*/
console: prettyConsole;
private prettyPrint;
private timers;
/**
* 开始性能计时器
* @param timerName 计时器名称
*/
startTimer(timerName: string): void;
/**
* 结束性能计时器并返回持续时间
* @param timerName 计时器名称
* @returns 计时器持续时间(毫秒)
*/
endTimer(timerName: string): number;
/**
* 深克隆
* @param obj 被克隆对象
* @returns 克隆对象
*/
deepClone<T>(obj: T, seen?: Map<any, any>): T;
/**
* 获取文件后缀
* @param filename string 文件名
* @returns extension
*/
getFileExtension(filename: string): string;
/**
* jsonp封装
* @param obj \{url: '', success: ()=> {}}
*/
jsonpFunction(obj: any): void;
/**
* 是否客户端
*/
isBrowser: boolean;
/**
* 生成随机颜色
* @returns HEX
*/
generateRandomColor(): string;
/**
* 生成UUID
* @returns UUID
*/
generateUUID(): string;
/**
* 验证密码强度(必须包含大、小写字母、数字、特殊字符至少三类,长度8-16位)
* @param password 待验证的密码
* @returns 密码是否符合要求
*/
passwordValidate(password: string): boolean;
static ɵfac: i0.ɵɵFactoryDeclaration<NcCommonService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<NcCommonService>;
}
export {};