|  |  |  | = API | 
					
						
							|  |  |  | == Tools 类 | 
					
						
							|  |  |  | 工具类, 使用方法: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [source,javaScript] | 
					
						
							|  |  |  | ---- | 
					
						
							|  |  |  | import { Tools } from 'platform-core'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Tools.xxx(y1,y2); | 
					
						
							|  |  |  | ---- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | |=== | 
					
						
							|  |  |  | | 方法名                                                             | 说明 | 
					
						
							|  |  |  | | stringEquals(obj1: any, obj2: any) : boolean                      | 判断两个字符串是否相同 | 
					
						
							|  |  |  | | isUndefined(obj: any) : boolean                                   | 判断一个对象是否为 undefined | 
					
						
							|  |  |  | | isUndefinedOrNull(obj: any) : boolean                             | 判断一个对象是否为 null 或者 undefined | 
					
						
							|  |  |  | | isEmpty(obj: any) : boolean                                       | 判断一个对象是否为 null 或者 undefined 或者空字符串 | 
					
						
							|  |  |  | | isString(obj: any) : boolean                                      | 判断一个对象是否是字符串 | 
					
						
							|  |  |  | | isNumber(obj: any) : boolean                                      | 判断一个对象是否是数字 | 
					
						
							|  |  |  | | isObject(obj: any) : boolean                                      | 判断一个对象是否是对象类型 | 
					
						
							|  |  |  | | isArray(obj: any)  : boolean                                      | 判断一个对象是否是数组 | 
					
						
							|  |  |  | | isCurrentDay(date: Date) : boolean                                | 判断给定的日期是否是当前日期 | 
					
						
							|  |  |  | | isBetweenTwoDates(min: Date, max: Date, date: Date): boolean      | 判断一个日期是否在两个日期之间 | 
					
						
							|  |  |  | | isWeekend(date: Date): boolean                                    | 判断一个日期是否在周末 | 
					
						
							|  |  |  | | isInAYear(date: Date, year: number): boolean                      | 判断一个日期是否在某年内 | 
					
						
							|  |  |  | | toAMPMFormat(h: number): string                                   | 将 24 小时转换为 am. 或 pm. 格式 | 
					
						
							|  |  |  | | capitalize([first, ...rest]: any): string                         | 将句子的第一个字母大写 | 
					
						
							|  |  |  | | lowercaseFirst([first, ...rest]: any): string                     | 将句子的第一个字母小写 | 
					
						
							|  |  |  | | letterToEmoji(c: string): string                                  | 将英文字母转成对应的 emoji 形式 | 
					
						
							|  |  |  | | isPalindrome(str: string): boolean                                | 判断一个字符串是不是回文 | 
					
						
							|  |  |  | | getFactorial(n: number): number                                   | 计算一个数的阶乘 | 
					
						
							|  |  |  | | getFibonacci(n: number, memo: number[]): number                   | 计算一个斐波那契数列第 N 项 | 
					
						
							|  |  |  | | copyToArray(arr: any[]): any[]                                    | 复制数组 | 
					
						
							|  |  |  | | getUnique(arr: any[]): any[]                                      | 数组去重 | 
					
						
							|  |  |  | | shuffle(arr: number[]): number[]                                  | 生成随机数字数组 | 
					
						
							|  |  |  | | reverseString(str: string): string                                | 反转字符串 | 
					
						
							|  |  |  | | containSameValues(arr1: any[], arr2: any[]): boolean              | 检查两个数组是否包含相同的值 | 
					
						
							|  |  |  | | toFahrenheit(celsius: number): number                             | 温度转换(摄氏度->华氏度) | 
					
						
							|  |  |  | | toCelsius(fahrenheit: number): number                             | 温度转换(华氏度->摄氏度) | 
					
						
							|  |  |  | | clearAllCookies(): void                                           | 清除浏览器中的所有 cookie | 
					
						
							|  |  |  | | isAsyncFunction(f: any): boolean                                  | 检查函数是否为异步函数 | 
					
						
							|  |  |  | | runningInBrowser(): boolean                                       | 判断代码是否在浏览器中运行 | 
					
						
							|  |  |  | | runningInNode(): boolean                                          | 判断代码是否在 Node 中运行 | 
					
						
							|  |  |  | | isDarkMode(): boolean                                             | 判断系统是否是暗模式 | 
					
						
							|  |  |  | | toTop(element: HTMLElement): void                                 | 将 dom 元素滚动到顶部 | 
					
						
							|  |  |  | | toBottom(element: HTMLElement): void                              | 将 dom 元素滚动到底部 | 
					
						
							|  |  |  | | jsonToMap(json: string): Map<any, any>                            | 将 JSON 转换为 MAP | 
					
						
							|  |  |  | | object2Json(obj: any): string                                     | 对象转 json 字符串 | 
					
						
							|  |  |  | | json2Object(json: string): any                                    | json 字符串转对象 | 
					
						
							|  |  |  | | join(array: any, joiner: string, propertyName?: string): string   | 通过连接字符串连接数组 | 
					
						
							|  |  |  | | deepClone(target: any): any                                       | 深度克隆对象 | 
					
						
							|  |  |  | | buildHttpQueryString(parameters: any, encode?: true): string      | 构建 Http Get 请求查询参数 url | 
					
						
							|  |  |  | | concatUrl(url1: string, url2: string): string                     | 连接两个 URL 组成一个 URL | 
					
						
							|  |  |  | | removeUrlPrefixSlash(url: string): string                         | 移除 URL 中所有的前导 / | 
					
						
							|  |  |  | | removeUrlSuffixSlash(url: string): string                         | 移除 URL 中所有的后导 / | 
					
						
							|  |  |  | | addClassName(target: HTMLElement, className: string): void        | 给 dom 元素增加 class | 
					
						
							|  |  |  | | removeClassName(target: HTMLElement, className: string): void     | 移除 dom 元素的 class | 
					
						
							|  |  |  | | getJavascriptElementUrls(): string[]                              | 获取页面所有外部引用的 javascript 的 url | 
					
						
							|  |  |  | | appendJavascriptTag(src: string, target?: HTMLElement, callback?: any): void | 在 dom 中插入 <script src="..."></script> 标签元素 | 
					
						
							|  |  |  | | download(url: string): void                                       | 下载 URL, 创建 iframe, 并在 iframe 中下载资源, 避免页面跳转 | 
					
						
							|  |  |  | | setTitile(title: string): void                                    | 设置页面标题 | 
					
						
							|  |  |  | | setFavicon(favicon: string): void                                 | 设置页面 icon | 
					
						
							|  |  |  | | removeDomElement(element: HTMLElement / string): void             | 移除 dom 元素 | 
					
						
							|  |  |  | | range(value: number, min: number, max: number): number            | 返回在一个数值范围内的数值 | 
					
						
							|  |  |  | | mergeObject(target: object, source: object): object               | 合并对象,将源对象的属性合并到目标对象上 | 
					
						
							|  |  |  | | objectValueEquals(o1: object, o2: object): boolean                | 判断两个对象的值是否相等 | 
					
						
							|  |  |  | | pickNotNil(object: object): object                                | 仅保留对象字段非空值 | 
					
						
							|  |  |  | | extractProperties(objects: object[], propertyName: string): object[]  | 抽取对象的属性 | 
					
						
							|  |  |  | | uuid(): string                                                    | 生成 UUID | 
					
						
							|  |  |  | | px(value: any)                                                    | 计算像素 | 
					
						
							|  |  |  | | generateIntervalRange(minIncluded: boolean, min: any, max: any, maxIncluded: boolean) : string | 生成区间的数学表达格式字符串 | 
					
						
							|  |  |  | | hasOwnProperty(obj: object, propertyName: string) : boolean       | 判断某个对象是否含有某个属性 | 
					
						
							|  |  |  | |=== | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | == 全局事件 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [source,javaScript] | 
					
						
							|  |  |  | ---- | 
					
						
							|  |  |  | import { eventBus } from 'platform-core'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // 监听全局事件 | 
					
						
							|  |  |  | eventBus.on('onLocaleChanged',(locale:string)=>{}); // 切换语言 | 
					
						
							|  |  |  | eventBus.on('onWindowResize',()=>{}); // 窗口尺寸变化 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // 发送全局事件 | 
					
						
							|  |  |  | eventBus.emit('eventName'); | 
					
						
							|  |  |  | ---- |