You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
6.6 KiB
87 lines
6.6 KiB
= 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');
|
|
----
|