From 3aea5e83e30a5592b0ae0747dcb85b2fbeec269e Mon Sep 17 00:00:00 2001 From: wangshaoping Date: Tue, 23 Apr 2024 16:59:47 +0800 Subject: [PATCH] update --- erm.frontend/package.json | 2 +- gradle.properties | 2 +- io.sc.engine.mv.frontend/package.json | 2 +- io.sc.engine.rule.frontend/package.json | 2 +- io.sc.platform.core.frontend/package.json | 2 +- .../plugin/manager/I18nMessageManager.ts | 2 +- .../src/platform/utils/Tools.ts | 16 +++- .../template-project/package.json | 4 +- .../asciidoc/frontend/api/api.adoc | 87 +++++++++++++++++++ .../asciidoc/frontend/frontend.adoc | 3 + .../asciidoc/index.adoc | 1 + .../package.json | 2 +- io.sc.platform.lcdp.frontend/package.json | 2 +- io.sc.platform.mvc.frontend/package.json | 2 +- io.sc.platform.security.frontend/package.json | 2 +- io.sc.platform.system.frontend/package.json | 2 +- io.sc.standard.frontend/package.json | 2 +- .../src/views/standard/Country.vue | 2 +- 18 files changed, 119 insertions(+), 18 deletions(-) create mode 100644 io.sc.platform.developer.doc/asciidoc/frontend/api/api.adoc create mode 100644 io.sc.platform.developer.doc/asciidoc/frontend/frontend.adoc diff --git a/erm.frontend/package.json b/erm.frontend/package.json index 7f113a71..9ab2937f 100644 --- a/erm.frontend/package.json +++ b/erm.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.189", + "platform-core": "8.1.190", "quasar": "2.15.3", "tailwindcss": "3.4.3", "vue": "3.4.24", diff --git a/gradle.properties b/gradle.properties index a6984c1b..2376afcd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -38,7 +38,7 @@ application_version=1.0.0 platform_group=io.sc platform_version=8.1.38 platform_plugin_version=8.1.13 -platform_core_frontend_version=8.1.189 +platform_core_frontend_version=8.1.190 ########################################################### # dependencies version diff --git a/io.sc.engine.mv.frontend/package.json b/io.sc.engine.mv.frontend/package.json index 0c42eee3..f92f137b 100644 --- a/io.sc.engine.mv.frontend/package.json +++ b/io.sc.engine.mv.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.189", + "platform-core": "8.1.190", "quasar": "2.15.3", "tailwindcss": "3.4.3", "vue": "3.4.24", diff --git a/io.sc.engine.rule.frontend/package.json b/io.sc.engine.rule.frontend/package.json index a044d313..dfb669a2 100644 --- a/io.sc.engine.rule.frontend/package.json +++ b/io.sc.engine.rule.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.189", + "platform-core": "8.1.190", "quasar": "2.15.3", "tailwindcss": "3.4.3", "vue": "3.4.24", diff --git a/io.sc.platform.core.frontend/package.json b/io.sc.platform.core.frontend/package.json index 3911c481..19ec06bb 100644 --- a/io.sc.platform.core.frontend/package.json +++ b/io.sc.platform.core.frontend/package.json @@ -1,6 +1,6 @@ { "name": "platform-core", - "version": "8.1.189", + "version": "8.1.190", "description": "前端核心包,用于快速构建前端的脚手架", "//main": "库的主文件", "main": "dist/platform-core.js", diff --git a/io.sc.platform.core.frontend/src/platform/plugin/manager/I18nMessageManager.ts b/io.sc.platform.core.frontend/src/platform/plugin/manager/I18nMessageManager.ts index fba77675..22ef2493 100644 --- a/io.sc.platform.core.frontend/src/platform/plugin/manager/I18nMessageManager.ts +++ b/io.sc.platform.core.frontend/src/platform/plugin/manager/I18nMessageManager.ts @@ -48,7 +48,7 @@ class I18nMessageManager { I18nMessageManager.setQuasarLang(locale); I18nMessageManager.setPlatformLang(locale, messages); I18nMessageManager.showNotify(locale, isShowNotify); - eventBus.emit('localeChanged', locale); + eventBus.emit('onLocaleChanged', locale); console.debug('I18n language was changed to ' + locale); } diff --git a/io.sc.platform.core.frontend/src/platform/utils/Tools.ts b/io.sc.platform.core.frontend/src/platform/utils/Tools.ts index 13fb1f38..a9ebdb39 100644 --- a/io.sc.platform.core.frontend/src/platform/utils/Tools.ts +++ b/io.sc.platform.core.frontend/src/platform/utils/Tools.ts @@ -728,6 +728,12 @@ class Tools { return target; } + /** + * 判断两个对象的值是否相等 + * @param o1 对象1 + * @param o2 对象2 + * @returns 两个对象的值是否相等 + */ public static objectValueEquals(o1: object | null | undefined, o2: object | null | undefined): boolean { if (Tools.isUndefinedOrNull(o1) && Tools.isUndefinedOrNull(o2)) { return true; @@ -788,7 +794,11 @@ class Tools { return []; } - public static uuid() { + /** + * 生成 UUID + * @returns UUID + */ + public static uuid(): string { if (typeof crypto === 'object') { if (typeof crypto.randomUUID === 'function') { return crypto.randomUUID(); @@ -840,7 +850,7 @@ class Tools { * @param maxIncluded 是否包含最大值 * @return 区间字符串 */ - public static generateIntervalRange(minIncluded: boolean, min: any, max: any, maxIncluded: boolean) { + public static generateIntervalRange(minIncluded: boolean, min: any, max: any, maxIncluded: boolean) : string { if (Tools.isUndefinedOrNull(min) && Tools.isUndefinedOrNull(max)) { return ''; } @@ -872,7 +882,7 @@ class Tools { * @param propertyName 属性名 * @returns 某个对象是否含有某个属性 */ - public static hasOwnProperty(obj: object, propertyName: string) { + public static hasOwnProperty(obj: object, propertyName: string) : boolean { return Object.prototype.hasOwnProperty.call(obj, propertyName); } } diff --git a/io.sc.platform.core.frontend/template-project/package.json b/io.sc.platform.core.frontend/template-project/package.json index f2ac72bf..01ad58df 100644 --- a/io.sc.platform.core.frontend/template-project/package.json +++ b/io.sc.platform.core.frontend/template-project/package.json @@ -1,6 +1,6 @@ { "name": "platform-core", - "version": "8.1.189", + "version": "8.1.190", "description": "前端核心包,用于快速构建前端的脚手架", "private": false, "keywords": [], @@ -93,7 +93,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.189", + "platform-core": "8.1.190", "quasar": "2.15.3", "tailwindcss": "3.4.3", "vue": "3.4.24", diff --git a/io.sc.platform.developer.doc/asciidoc/frontend/api/api.adoc b/io.sc.platform.developer.doc/asciidoc/frontend/api/api.adoc new file mode 100644 index 00000000..d2b6d886 --- /dev/null +++ b/io.sc.platform.developer.doc/asciidoc/frontend/api/api.adoc @@ -0,0 +1,87 @@ += 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 | 将 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 中插入 标签元素 +| 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'); +---- \ No newline at end of file diff --git a/io.sc.platform.developer.doc/asciidoc/frontend/frontend.adoc b/io.sc.platform.developer.doc/asciidoc/frontend/frontend.adoc new file mode 100644 index 00000000..5bd2587b --- /dev/null +++ b/io.sc.platform.developer.doc/asciidoc/frontend/frontend.adoc @@ -0,0 +1,3 @@ += 前端 + +include::api/api.adoc[leveloffset=+1] \ No newline at end of file diff --git a/io.sc.platform.developer.doc/asciidoc/index.adoc b/io.sc.platform.developer.doc/asciidoc/index.adoc index 9a572bbb..d4de37bb 100644 --- a/io.sc.platform.developer.doc/asciidoc/index.adoc +++ b/io.sc.platform.developer.doc/asciidoc/index.adoc @@ -33,6 +33,7 @@ include::getting-started/getting-started.adoc[leveloffset=+1] include::platform-extension/platform-extension.adoc[leveloffset=+1] +include::frontend/frontend.adoc[leveloffset=+1] include::bank-business/bank-business.adoc[leveloffset=+1] include::9999-appendix/appendix.adoc[leveloffset=+1] diff --git a/io.sc.platform.developer.frontend/package.json b/io.sc.platform.developer.frontend/package.json index 0ce2b945..713346b7 100644 --- a/io.sc.platform.developer.frontend/package.json +++ b/io.sc.platform.developer.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.189", + "platform-core": "8.1.190", "quasar": "2.15.3", "tailwindcss": "3.4.3", "vue": "3.4.24", diff --git a/io.sc.platform.lcdp.frontend/package.json b/io.sc.platform.lcdp.frontend/package.json index 7178bb65..7cd85f74 100644 --- a/io.sc.platform.lcdp.frontend/package.json +++ b/io.sc.platform.lcdp.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.189", + "platform-core": "8.1.190", "quasar": "2.15.3", "tailwindcss": "3.4.3", "vue": "3.4.24", diff --git a/io.sc.platform.mvc.frontend/package.json b/io.sc.platform.mvc.frontend/package.json index 188969cf..3645470a 100644 --- a/io.sc.platform.mvc.frontend/package.json +++ b/io.sc.platform.mvc.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.189", + "platform-core": "8.1.190", "quasar": "2.15.3", "tailwindcss": "3.4.3", "vue": "3.4.24", diff --git a/io.sc.platform.security.frontend/package.json b/io.sc.platform.security.frontend/package.json index 863344b3..6a9c5a31 100644 --- a/io.sc.platform.security.frontend/package.json +++ b/io.sc.platform.security.frontend/package.json @@ -93,7 +93,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.189", + "platform-core": "8.1.190", "quasar": "2.14.5", "tailwindcss": "3.4.0", "vue": "3.4.3", diff --git a/io.sc.platform.system.frontend/package.json b/io.sc.platform.system.frontend/package.json index 44b74a44..098849c3 100644 --- a/io.sc.platform.system.frontend/package.json +++ b/io.sc.platform.system.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.189", + "platform-core": "8.1.190", "quasar": "2.15.3", "tailwindcss": "3.4.3", "vue": "3.4.24", diff --git a/io.sc.standard.frontend/package.json b/io.sc.standard.frontend/package.json index b7748103..e3ad72e1 100644 --- a/io.sc.standard.frontend/package.json +++ b/io.sc.standard.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.189", + "platform-core": "8.1.190", "quasar": "2.15.3", "tailwindcss": "3.4.3", "vue": "3.4.24", diff --git a/io.sc.standard.frontend/src/views/standard/Country.vue b/io.sc.standard.frontend/src/views/standard/Country.vue index 3a2fb9b2..18067731 100644 --- a/io.sc.standard.frontend/src/views/standard/Country.vue +++ b/io.sc.standard.frontend/src/views/standard/Country.vue @@ -265,7 +265,7 @@ const columnsComputed = computed(() => { return result; }); -eventBus.on('localeChanged', (locale) => { +eventBus.on('onLocaleChanged', (locale) => { currentLocale = locale; if (locale === 'zh_CN') { columnsRef.value.slice(2, 1, {