From f72ce70ee1913175a6eb4cf5fb2cb3d79d3a0b49 Mon Sep 17 00:00:00 2001 From: LeeJu Date: Fri, 10 Apr 2026 19:10:13 +0800 Subject: [PATCH] Initial commit --- drawing/README.md | 16 + drawing/draw/.gitignore | 11 + drawing/draw/AppScope/app.json5 | 10 + .../resources/base/element/string.json | 8 + .../resources/base/media/app_icon.png | Bin 0 -> 2041 bytes drawing/draw/build-profile.json5 | 49 + drawing/draw/entry/.gitignore | 6 + drawing/draw/entry/build-profile.json5 | 31 + drawing/draw/entry/hvigorfile.ts | 6 + drawing/draw/entry/obfuscation-rules.txt | 18 + drawing/draw/entry/oh-package.json5 | 10 + .../src/main/ets/common/BasicFuncInfo.ets | 29 + .../entry/src/main/ets/common/CommonValue.ets | 27 + .../main/ets/component/BasicFunctionsBar.ets | 67 ++ .../src/main/ets/component/ControlBar.ets | 317 +++++ .../ets/component/FunctionParsingDiagram.ets | 37 + .../src/main/ets/component/ImageShow.ets | 25 + .../main/ets/entryability/EntryAbility.ets | 44 + .../draw/entry/src/main/ets/pages/Index.ets | 187 +++ .../main/ets/utils/drawBoard/BoardType.ets | 1016 +++++++++++++++++ .../main/ets/utils/drawBoard/drawPoint.ets | 79 ++ .../main/ets/utils/handleFunc/analysis.ets | 361 ++++++ .../main/ets/utils/handleFunc/processFunc.ets | 399 +++++++ drawing/draw/entry/src/main/module.json5 | 44 + .../main/resources/base/element/color.json | 8 + .../main/resources/base/element/string.json | 16 + .../src/main/resources/base/media/icon.png | Bin 0 -> 2041 bytes .../main/resources/base/media/startIcon.png | Bin 0 -> 4351 bytes .../resources/base/profile/main_pages.json | 5 + .../main/resources/en_US/element/string.json | 16 + .../main/resources/zh_CN/element/string.json | 16 + .../src/ohosTest/ets/test/Ability.test.ets | 35 + .../entry/src/ohosTest/ets/test/List.test.ets | 5 + .../ohosTest/ets/testability/TestAbility.ets | 50 + .../ohosTest/ets/testability/pages/Index.ets | 17 + .../ets/testrunner/OpenHarmonyTestRunner.ets | 47 + drawing/draw/entry/src/ohosTest/module.json5 | 37 + .../resources/base/element/color.json | 8 + .../resources/base/element/string.json | 16 + .../ohosTest/resources/base/media/icon.png | Bin 0 -> 6790 bytes .../resources/base/profile/test_pages.json | 5 + drawing/draw/entry/src/test/List.test.ets | 5 + .../draw/entry/src/test/LocalUnit.test.ets | 33 + drawing/draw/hvigor/hvigor-config.json5 | 18 + drawing/draw/hvigor/hvigor-wrapper.js | 1 + drawing/draw/hvigorfile.ts | 6 + drawing/draw/hvigorw | 48 + drawing/draw/hvigorw.bat | 64 ++ drawing/draw/oh-package-lock.json5 | 13 + drawing/draw/oh-package.json5 | 12 + drawing/draw/package-lock.json | 58 + drawing/draw/package.json | 5 + drawing/figs/evolution.png | Bin 0 -> 136259 bytes drawing/figs/relation.png | Bin 0 -> 322394 bytes 54 files changed, 3341 insertions(+) create mode 100644 drawing/README.md create mode 100644 drawing/draw/.gitignore create mode 100644 drawing/draw/AppScope/app.json5 create mode 100644 drawing/draw/AppScope/resources/base/element/string.json create mode 100644 drawing/draw/AppScope/resources/base/media/app_icon.png create mode 100644 drawing/draw/build-profile.json5 create mode 100644 drawing/draw/entry/.gitignore create mode 100644 drawing/draw/entry/build-profile.json5 create mode 100644 drawing/draw/entry/hvigorfile.ts create mode 100644 drawing/draw/entry/obfuscation-rules.txt create mode 100644 drawing/draw/entry/oh-package.json5 create mode 100644 drawing/draw/entry/src/main/ets/common/BasicFuncInfo.ets create mode 100644 drawing/draw/entry/src/main/ets/common/CommonValue.ets create mode 100644 drawing/draw/entry/src/main/ets/component/BasicFunctionsBar.ets create mode 100644 drawing/draw/entry/src/main/ets/component/ControlBar.ets create mode 100644 drawing/draw/entry/src/main/ets/component/FunctionParsingDiagram.ets create mode 100644 drawing/draw/entry/src/main/ets/component/ImageShow.ets create mode 100644 drawing/draw/entry/src/main/ets/entryability/EntryAbility.ets create mode 100644 drawing/draw/entry/src/main/ets/pages/Index.ets create mode 100644 drawing/draw/entry/src/main/ets/utils/drawBoard/BoardType.ets create mode 100644 drawing/draw/entry/src/main/ets/utils/drawBoard/drawPoint.ets create mode 100644 drawing/draw/entry/src/main/ets/utils/handleFunc/analysis.ets create mode 100644 drawing/draw/entry/src/main/ets/utils/handleFunc/processFunc.ets create mode 100644 drawing/draw/entry/src/main/module.json5 create mode 100644 drawing/draw/entry/src/main/resources/base/element/color.json create mode 100644 drawing/draw/entry/src/main/resources/base/element/string.json create mode 100644 drawing/draw/entry/src/main/resources/base/media/icon.png create mode 100644 drawing/draw/entry/src/main/resources/base/media/startIcon.png create mode 100644 drawing/draw/entry/src/main/resources/base/profile/main_pages.json create mode 100644 drawing/draw/entry/src/main/resources/en_US/element/string.json create mode 100644 drawing/draw/entry/src/main/resources/zh_CN/element/string.json create mode 100644 drawing/draw/entry/src/ohosTest/ets/test/Ability.test.ets create mode 100644 drawing/draw/entry/src/ohosTest/ets/test/List.test.ets create mode 100644 drawing/draw/entry/src/ohosTest/ets/testability/TestAbility.ets create mode 100644 drawing/draw/entry/src/ohosTest/ets/testability/pages/Index.ets create mode 100644 drawing/draw/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets create mode 100644 drawing/draw/entry/src/ohosTest/module.json5 create mode 100644 drawing/draw/entry/src/ohosTest/resources/base/element/color.json create mode 100644 drawing/draw/entry/src/ohosTest/resources/base/element/string.json create mode 100644 drawing/draw/entry/src/ohosTest/resources/base/media/icon.png create mode 100644 drawing/draw/entry/src/ohosTest/resources/base/profile/test_pages.json create mode 100644 drawing/draw/entry/src/test/List.test.ets create mode 100644 drawing/draw/entry/src/test/LocalUnit.test.ets create mode 100644 drawing/draw/hvigor/hvigor-config.json5 create mode 100644 drawing/draw/hvigor/hvigor-wrapper.js create mode 100644 drawing/draw/hvigorfile.ts create mode 100644 drawing/draw/hvigorw create mode 100644 drawing/draw/hvigorw.bat create mode 100644 drawing/draw/oh-package-lock.json5 create mode 100644 drawing/draw/oh-package.json5 create mode 100644 drawing/draw/package-lock.json create mode 100644 drawing/draw/package.json create mode 100644 drawing/figs/evolution.png create mode 100644 drawing/figs/relation.png diff --git a/drawing/README.md b/drawing/README.md new file mode 100644 index 0000000..e8a76be --- /dev/null +++ b/drawing/README.md @@ -0,0 +1,16 @@ +# drawing +1、项目说明 +本项目拟实现一个复杂函数计算及其曲线绘制系统,基本功能为:(1)用户能够设置自变量的步长和个数;(2)程序会根据用户设置的函数以及步长和个数信息,解析函数获取点集并执行绘制的操作(3)用户能够自定义函数并保存在可识别函数中,使其能够参与新函数的构造;(4)用户能够切换函数分别在二维和三维环境下的绘制;(5)程序会解析用户输入的函数,将多项式分成单项式并以“树”的形式呈现。 +2、开发环境说明 +(1)系统版本:OpenHarmony 4.0 Release +(2)SDK版本:API 10 +(3)Model类型:Stage +(4)DevEco Studio版本:Deveco Studio 4.0 release +(5)硬件环境:Unionpi Whale、RK3566开发板 +(6)预览器参数:(1)DeviceType:default;(2)Resolution:560-1280;(3)DPI:240;其余参数自定。 +3、项目主要函数调用关系图与项目输出界面演进图 + +图3.7 项目主要函数调用关系图 + +图3.8 项目输出界面演进图 + diff --git a/drawing/draw/.gitignore b/drawing/draw/.gitignore new file mode 100644 index 0000000..fbabf77 --- /dev/null +++ b/drawing/draw/.gitignore @@ -0,0 +1,11 @@ +/node_modules +/oh_modules +/local.properties +/.idea +**/build +/.hvigor +.cxx +/.clangd +/.clang-format +/.clang-tidy +**/.test \ No newline at end of file diff --git a/drawing/draw/AppScope/app.json5 b/drawing/draw/AppScope/app.json5 new file mode 100644 index 0000000..3c45fe7 --- /dev/null +++ b/drawing/draw/AppScope/app.json5 @@ -0,0 +1,10 @@ +{ + "app": { + "bundleName": "com.test.myapplication", + "vendor": "example", + "versionCode": 1000000, + "versionName": "1.0.0", + "icon": "$media:app_icon", + "label": "$string:app_name" + } +} diff --git a/drawing/draw/AppScope/resources/base/element/string.json b/drawing/draw/AppScope/resources/base/element/string.json new file mode 100644 index 0000000..1080233 --- /dev/null +++ b/drawing/draw/AppScope/resources/base/element/string.json @@ -0,0 +1,8 @@ +{ + "string": [ + { + "name": "app_name", + "value": "MyApplication" + } + ] +} diff --git a/drawing/draw/AppScope/resources/base/media/app_icon.png b/drawing/draw/AppScope/resources/base/media/app_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cd45accb1dfd2fd0da16c732c72faa6e46b26521 GIT binary patch literal 2041 zcmaJ?c~nzZ9u6@;0AXaYAVN(;Kr(@>EJ+}skOWf=BA~*l4us@ELY9{%0m5QX6pnb} z(jZF|S&pLAS}3BZAfeQSvJ_h>F2Q1PYqi?o5`;m_yjZdG$1v}l_wK#F^L^iMz2}uD z#K$>1dON~kFlWvhW+Jp=tuN9J`ZlM-rl4h+ij|^D0y9;4JOuz-EdVnB6i3R-0ulk9 zApi4zAQA>!N9@-o026$1@L`d124`3G5<@_m`0f)Ug_Ie~;HT2q<_a=HH> zDwTdfD^-cW-|_xWVP$f@93UhDN-#&khZ>jZXLTi~$0`7x3REP6pk%&^2|`c>DutjN zMJD4Zs6Z}{FOpd;*mo2zm(GzXRXiCV;4m3zNCYnu3Fy=i5;2An&Lp!#LP;bRD~1&s z%VH6UY+}r6YDgG+p34OJIZ{BTn&%4s=CT&#TBkuOhdeU@g(w#guoa*b^)73=XyI65 z7Swys6)YS}?1EeZ6b!-I+yCnIya^g0>-NLsLWd8t56GZ_S3r|ZGbR+mV2ErEb9J)X zIF!njY-D-7{qtF2(?nlQ$0}!pzt=}hc*m%%)0Jb#N_K4@IC-`Pi5DahPZN7N9rH;ol;Gc*>-Go@gXKTM{eP)iJj6CYTIi}B#zLKZYD@_;m zrXmXXsFq@~ou-z!9bHoM8*(hwl>X(zm)TDcdkF4lZm$1jP*HbnD`o1$g}_R#+bu2D zr%7Y8KdsaC-V*aem5#@*M%r^GPgu%P2e-BnBClhP2yoGFe40>);=}>{NONtkXQ01p z)OX^t2Ojhddot9eg0WTIVSTNBa}7V-^_pO595w|Hx9q?k4dMp@$G7PK*TD=y;ck6J zdGRB!_RAI2nR3%tO1IkdWp*bw*?<=pM_LZb30?!oK)s;En( z!#nnd9=cXJ<}+e{XLdx(q3&ikJISe?eSHHohk+pz+$6Cv{ytvc{QXmMn2XQ9U8rvt zrJdAn(0gpSD@N=yTrI_2^P#*zQg7MTp1)k(lv(*(KtUR6@M|2WB>2wRwC-h=wk6XF zPtSes*_JwI+^d>xW489MJw5R6=t5?{R zc|E8i?RL@p9)A3ZJAQOg`}+F;<_vnWA!KxR#g%jZ@y_1Qu#Uw)kFPw_xmZ?a^e*1{ zM|ImtqA|(CaDQ@Fyvcof`MN66&VI6m6gAyAXx`%cDx6BI{Bj#}V*Rn1(b~;Am)D2u zX7(027IO?Z2VYK^1vXXpoZ@AtH~N?0rYWwtyA15`6vEf6fk&;o-L;7zFt`5nk*iOy z`<918zB+k;EytI$FAXug)jk*e@e};4e9g__w4A5ev!!)H$yC@{?vsRqJ##X1R%xPG z&_R3oDi$MtTkVqfPj)HEUDx_7wd!y{8#1%$U*Dd0sK@=#6+!XlsE-s^1f5E`R9Wo71^b~mbVdU;Fw0LG~mUQg;xsX4QYRo3B@rH_=ry>DE8ef!c2ta8UcI#26# zF|`*4wtMHe@%#eGZw`#Yj|QWuB`eRD)b~)r9mM95p_JVG%-IdcbIX5qG#GpGD+IrS zEqxb1Rg&Dadk5#7t4j68I1f!@A$efp1?I%&d*56)yl!tkz!14<$0Od_&6cGw$WW0r zjSlQA7l*6;vgfhv!cR|RmAD$+w6j`rVf=-?-D@q>kOseUVSb*~jbAS^*1h?ZL)n(9 zDa}`4etXO6`}9;{k5E^N{rcfnV_(LPwsDg``wtyS*V<19c3!PGJ3Kqy9ksvkwbJ%Z z*N(fT0{e*Wji-Ck5!3YE0j|PZ@&z`v=kitWL$bqSt!e4bH!+(|Q)CZ30^nVPfkx{s zX{6of`p=BiPb@u@IyL!tRk>?qgBqCmo-Zlt!636g?z`s~zdfwuB7DXZHvV`Usp+%Z zo*&;Biu@MHE&2j+?j^o`Cr12u<>vOe=a&8a2hlcmFjJiDR>XnD4c4DAhZWCkiAgW{ E51q9-lK=n! literal 0 HcmV?d00001 diff --git a/drawing/draw/build-profile.json5 b/drawing/draw/build-profile.json5 new file mode 100644 index 0000000..844303d --- /dev/null +++ b/drawing/draw/build-profile.json5 @@ -0,0 +1,49 @@ +{ + "app": { + "signingConfigs": [ + { + "name": "default", + "material": { + "certpath": "C:\\Users\\cyf20\\.ohos\\config\\openharmony\\auto_ohos_default_draw_com.test.myapplication.cer", + "storePassword": "0000001A41B8AC51384118050B5A9A22C9E132AA02BE60C9CBE187B4D7B69A17D2C070E0DF83E06DC1E4", + "keyAlias": "debugKey", + "keyPassword": "0000001A98556E0863F7805DEA1D57929A5FF99B10F6509C866A4450C6198E40C8F4F0701876AB99F565", + "profile": "C:\\Users\\cyf20\\.ohos\\config\\openharmony\\auto_ohos_default_draw_com.test.myapplication.p7b", + "signAlg": "SHA256withECDSA", + "storeFile": "C:\\Users\\cyf20\\.ohos\\config\\openharmony\\auto_ohos_default_draw_com.test.myapplication.p12" + } + } + ], + "products": [ + { + "name": "default", + "signingConfig": "default", + "compileSdkVersion": 10, + "compatibleSdkVersion": 10, + "runtimeOS": "OpenHarmony", + } + ], + "buildModeSet": [ + { + "name": "debug", + }, + { + "name": "release" + } + ] + }, + "modules": [ + { + "name": "entry", + "srcPath": "./entry", + "targets": [ + { + "name": "default", + "applyToProducts": [ + "default" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/drawing/draw/entry/.gitignore b/drawing/draw/entry/.gitignore new file mode 100644 index 0000000..e2713a2 --- /dev/null +++ b/drawing/draw/entry/.gitignore @@ -0,0 +1,6 @@ +/node_modules +/oh_modules +/.preview +/build +/.cxx +/.test \ No newline at end of file diff --git a/drawing/draw/entry/build-profile.json5 b/drawing/draw/entry/build-profile.json5 new file mode 100644 index 0000000..197e83c --- /dev/null +++ b/drawing/draw/entry/build-profile.json5 @@ -0,0 +1,31 @@ +{ + "apiType": "stageMode", + "buildOption": { + "arkOptions": { + // "apPath": "./modules.ap" /* Profile used for profile-guided optimization (PGO), a compiler optimization technique to improve app runtime performance. */ + } + }, + "buildOptionSet": [ + { + "name": "release", + "arkOptions": { + "obfuscation": { + "ruleOptions": { + "enable": true, + "files": [ + "./obfuscation-rules.txt" + ] + } + } + } + }, + ], + "targets": [ + { + "name": "default" + }, + { + "name": "ohosTest", + } + ] +} \ No newline at end of file diff --git a/drawing/draw/entry/hvigorfile.ts b/drawing/draw/entry/hvigorfile.ts new file mode 100644 index 0000000..c6edcd9 --- /dev/null +++ b/drawing/draw/entry/hvigorfile.ts @@ -0,0 +1,6 @@ +import { hapTasks } from '@ohos/hvigor-ohos-plugin'; + +export default { + system: hapTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ + plugins:[] /* Custom plugin to extend the functionality of Hvigor. */ +} diff --git a/drawing/draw/entry/obfuscation-rules.txt b/drawing/draw/entry/obfuscation-rules.txt new file mode 100644 index 0000000..985b2ae --- /dev/null +++ b/drawing/draw/entry/obfuscation-rules.txt @@ -0,0 +1,18 @@ +# Define project specific obfuscation rules here. +# You can include the obfuscation configuration files in the current module's build-profile.json5. +# +# For more details, see +# https://gitee.com/openharmony/arkcompiler_ets_frontend/blob/master/arkguard/README.md + +# Obfuscation options: +# -disable-obfuscation: disable all obfuscations +# -enable-property-obfuscation: obfuscate the property names +# -enable-toplevel-obfuscation: obfuscate the names in the global scope +# -compact: remove unnecessary blank spaces and all line feeds +# -remove-log: remove all console.* statements +# -print-namecache: print the name cache that contains the mapping from the old names to new names +# -apply-namecache: reuse the given cache file + +# Keep options: +# -keep-property-name: specifies property names that you want to keep +# -keep-global-name: specifies names that you want to keep in the global scope \ No newline at end of file diff --git a/drawing/draw/entry/oh-package.json5 b/drawing/draw/entry/oh-package.json5 new file mode 100644 index 0000000..225946c --- /dev/null +++ b/drawing/draw/entry/oh-package.json5 @@ -0,0 +1,10 @@ +{ + "license": "", + "devDependencies": {}, + "author": "", + "name": "entry", + "description": "Please describe the basic information.", + "main": "", + "version": "1.0.0", + "dependencies": {} +} diff --git a/drawing/draw/entry/src/main/ets/common/BasicFuncInfo.ets b/drawing/draw/entry/src/main/ets/common/BasicFuncInfo.ets new file mode 100644 index 0000000..0adc218 --- /dev/null +++ b/drawing/draw/entry/src/main/ets/common/BasicFuncInfo.ets @@ -0,0 +1,29 @@ +@Observed +export class basicFuncInfo{ + /** + * 函数名 + */ + private funcName:string + /** + * 函数体 + */ + private funcBody:string + + constructor(funcName: string, funcBody: string) { + this.funcName = funcName + this.funcBody = funcBody + } + + setFuncName(name:string){ + this.funcName = name + } + setFuncBody(body:string){ + this.funcBody = body + } + getFuncName(){ + return this.funcName + } + getFuncBody(){ + return this.funcBody + } +} \ No newline at end of file diff --git a/drawing/draw/entry/src/main/ets/common/CommonValue.ets b/drawing/draw/entry/src/main/ets/common/CommonValue.ets new file mode 100644 index 0000000..7df19f1 --- /dev/null +++ b/drawing/draw/entry/src/main/ets/common/CommonValue.ets @@ -0,0 +1,27 @@ +export class VALUE{ + /** + * 栏颜色 + */ + static readonly COLOR_BAR = "#EDEDED" + /** + * 字体大小(大) + */ + static readonly BIG_SIZE_FONT = 15 + /** + * 字体大小(大) + */ + static readonly MIDDLE_SIZE_FONT = 12 + /** + * 字体大小(小) + */ + static readonly SMALL_SIZE_FONT = 10 + /** + * controlBar的背景色 + */ + static readonly COLOR_COMP_CONTROLBAR_BG = "#9490D9" + /** + * controlBar的栏颜色 + */ + static readonly COLOR_COMP_CONTROLBAR_BAR = "#8767F7" + +} diff --git a/drawing/draw/entry/src/main/ets/component/BasicFunctionsBar.ets b/drawing/draw/entry/src/main/ets/component/BasicFunctionsBar.ets new file mode 100644 index 0000000..55656bf --- /dev/null +++ b/drawing/draw/entry/src/main/ets/component/BasicFunctionsBar.ets @@ -0,0 +1,67 @@ +import { basicFuncInfo } from '../common/BasicFuncInfo' +import { VALUE } from '../common/CommonValue' + +@Component +export struct basicFunctionsBar { + @Consume('basicFuncList') basicFuncList:Array + build() { + Column(){ + Text("可识别基本函数") + .fontSize(VALUE.BIG_SIZE_FONT) + .fontColor(Color.Red) + .fontWeight(FontWeight.Bold) + Row(){ + Row(){ + Text('函数名') + .fontSize(VALUE.SMALL_SIZE_FONT) + }.justifyContent(FlexAlign.Center).width('28%') + Blank() + Row(){ + Text('函数体') + .fontSize(VALUE.SMALL_SIZE_FONT) + }.justifyContent(FlexAlign.Center).width('68%') + }.width('100%').padding({left:5,right:5}) + List(){ + ForEach(this.basicFuncList,(item:basicFuncInfo)=>{ + ListItem(){ + basicFuncItem({basicFunc:item}) + } + }) + }.layoutWeight(1).width('100%') + }.width('100%').height('100%') + } +} + +@Component +struct basicFuncItem { + @ObjectLink basicFunc:basicFuncInfo + build() { + Row(){ + Scroll(){ + Row(){ + Text(this.basicFunc.getFuncName()) + .fontSize(VALUE.MIDDLE_SIZE_FONT) + }.justifyContent(FlexAlign.Center) + }.width('28%').scrollable(ScrollDirection.Horizontal).scrollBar(BarState.Off) + Blank() + Scroll(){ + Row(){ + Text(this.basicFunc.getFuncBody()) + .fontSize(VALUE.MIDDLE_SIZE_FONT) + }.justifyContent(FlexAlign.Center) + }.width('68%').scrollable(ScrollDirection.Horizontal).scrollBar(BarState.Off) + }.width('100%').height(25) + } +} + + + + + + + + + + + + diff --git a/drawing/draw/entry/src/main/ets/component/ControlBar.ets b/drawing/draw/entry/src/main/ets/component/ControlBar.ets new file mode 100644 index 0000000..c5dca25 --- /dev/null +++ b/drawing/draw/entry/src/main/ets/component/ControlBar.ets @@ -0,0 +1,317 @@ +import promptAction from '@ohos.promptAction' +import { basicFuncInfo } from '../common/BasicFuncInfo' +import { VALUE } from '../common/CommonValue' +import { IBoardOption, BoardType, Dimension, Quadrant } from '../utils/drawBoard/BoardType' +import { FuncType } from '../utils/drawBoard/drawPoint' +import { handle } from '../utils/handleFunc/processFunc' + +@Component +export struct controlBar { + @Link inputFuncBody:string + + @Link outputState:boolean + + @Link boardOption:IBoardOption + + build() { + Column({space:5}){ + InputFunc({funcBody:$inputFuncBody,outputState:$outputState}) + InputPara({boardOption:$boardOption}) + }.width('100%').height('100%').backgroundColor(VALUE.COLOR_COMP_CONTROLBAR_BG).padding({top:5,bottom:5}) + } + + +} + +@Component +struct InputFunc { + @Consume isFuncChange:boolean + @Link funcBody:string + @Link outputState:boolean + @Consume('basicFuncList') basicFuncList:Array + @Consume dimension:Dimension + + build() { + Row({space:10}){ + Text('') + .width(15) + .height(30) + Stack(){ + Rect().width('100%').height('100%').fill(Color.White) + TextInput({text:this.funcBody}).width('100%').height('100%').backgroundColor(Color.White).fontColor(Color.Black).fontSize(VALUE.SMALL_SIZE_FONT) + .onChange((value)=>{ + this.funcBody = value + this.isFuncChange = true + }) + }.height(30).backgroundColor(Color.White).layoutWeight(1) + Button('用户命名并新增基本函数') + .height(30) + .backgroundColor(Color.Yellow) + .fontColor(Color.Black) + .fontSize(VALUE.BIG_SIZE_FONT) + .width(210) + .type(ButtonType.Normal) + .onClick(()=>{ + if(handle.isValidFunc(this.funcBody)) { + handle.separateFunc(this.funcBody); + let funcName = handle.funcHead; + let funcBody = handle.funcBody; + if (funcName && handle.getFuncType(this.dimension) != FuncType.NONE) { + let info: basicFuncInfo = new basicFuncInfo(funcName, funcBody) + this.basicFuncList.push(info) + } + else { + promptAction.showToast({ + message: "不支持此函数类型或未为函数命名", + duration: 1500, + bottom: 20 + }) + } + } + }) + Button('输出') + .height(30) + .backgroundColor(Color.Pink) + .fontColor(Color.Black) + .fontSize(VALUE.BIG_SIZE_FONT) + .width(70) + .type(ButtonType.Normal) + .onClick(()=>{ + for (let i: number = 0; i < this.basicFuncList.length; i++) { + let standard: RegExp = new RegExp(`(^|[^a-zA-Z])${this.basicFuncList[i].getFuncName().replace('(', '\\(').replace(')', '\\)')}($|[^a-zA-Z])`); + if (standard.test(this.funcBody)) { + let index: number = this.funcBody.indexOf(this.basicFuncList[i].getFuncName()); + let length: number = this.basicFuncList[i].getFuncName().length; + this.funcBody = this.funcBody.substring(0, index) + "(" + this.basicFuncList[i].getFuncBody() + ")" + this.funcBody.substring(index + length); + break; + } + } + if (handle.isValidFunc(this.funcBody)) { + if (this.dimension == Dimension.TWO) { + handle.getPoints2D(); + } else { + handle.getPoints3D(); + for (let i = 0; i < handle.coPot.length; i++) { + console.log(`(${handle.coPot[i].x}, ${handle.coPot[i].y}, ${handle.coPot[i].z})`); + } + + } + this.outputState = !this.outputState; + } + }) + }.width('100%').padding({left:10,right:10}) + } +} + +@Component +struct InputPara { + @Link boardOption:IBoardOption + @Consume isFuncChange:boolean + @Consume quadrant:Quadrant + @Consume dimension:Dimension + + @Builder xStep(){ + Row(){ + Text('x步长') + .fontSize(VALUE.SMALL_SIZE_FONT) + Stack(){ + Rect().width('100%').height('100%').fill(Color.White) + TextInput().width('100%').height('100%').backgroundColor(Color.White).fontColor(Color.Black).fontSize(VALUE.SMALL_SIZE_FONT) + .onChange((value)=>{ + if(this.dimension == Dimension.THREE && Number(value) < 1){ + WARNING("输入的x步长过小!x步长最小为1") + return + } + this.boardOption.xStep = Number(value) + handle.xStep = this.boardOption.xStep; + }) + }.height(30).backgroundColor(Color.White).layoutWeight(1) + }.width('100%').layoutWeight(0.5) + } + + @Builder xNumber(){ + Row(){ + Text('x个数') + .fontSize(VALUE.SMALL_SIZE_FONT) + Stack(){ + Rect().width('100%').height('100%').fill(Color.White) + TextInput().width('100%').height('100%').backgroundColor(Color.White).fontColor(Color.Black).fontSize(VALUE.SMALL_SIZE_FONT) + .onChange((value)=>{ + this.boardOption.xNumber = Number(value) + handle.xCount = this.boardOption.xNumber; + }) + }.height(30).backgroundColor(Color.White).layoutWeight(1) + }.width('100%').layoutWeight(0.5) + } + + @Builder yStep(){ + Row(){ + Text('y步长') + .fontSize(VALUE.SMALL_SIZE_FONT) + Stack(){ + Rect().width('100%').height('100%').fill(Color.White) + TextInput({text:this.boardOption.yStep.toString()}).width('100%').height('100%').backgroundColor(Color.White).fontColor(Color.Black).fontSize(VALUE.SMALL_SIZE_FONT) + .onChange((value)=>{ + this.boardOption.yStep = Number(value) + handle.yStep = this.boardOption.yStep; + }) + }.height(30).backgroundColor(Color.White).layoutWeight(1) + }.width('100%').layoutWeight(0.5) + } + + @Builder quadrantSwitch(quadrant:Quadrant){ + Row(){ + Radio({value:quadrant.toString(),group:"Quadrant"}) + .checked(this.quadrant == quadrant) + .onClick(()=>{ + this.quadrant = quadrant + this.isFuncChange = true + if(quadrant == Quadrant.FOUR){ + handle.setEdge(-10, 10); + }else{ + handle.setEdge(0, 20); + } + handle.updateEdge(this.boardOption.xAmplification); + }) + Text(quadrant == Quadrant.ONE?"一象限":"四象限") + .fontSize(VALUE.SMALL_SIZE_FONT) + }.width('100%').height('50%').alignItems(VerticalAlign.Center).justifyContent(FlexAlign.Center) + } + + @Builder dimensionSwitch(dimension:Dimension){ + Row(){ + Radio({value:dimension.toString(),group:"TwoDimensional"}) + .checked(this.dimension == dimension) + .onClick(()=>{ + this.boardOption = { + xStep:0.1, + xNumber:0,// + yStep:1, + yNumber:0, + xAmplification:1, + yAmplification:1, + zAmplification:1 + } + this.dimension = dimension + this.quadrant = Quadrant.FOUR + this.isFuncChange = true + if(dimension == Dimension.TWO){ + handle.setEdge(-10, 10); + handle.updateEdge(this.boardOption.xAmplification); + }else{ + handle.setEdge(-5, 5, 10); + handle.updateEdge(this.boardOption.xAmplification, this.boardOption.yAmplification) + } + }) + Text(dimension == Dimension.TWO?"二维":"三维") + .fontSize(VALUE.SMALL_SIZE_FONT) + }.width('100%').height('50%').alignItems(VerticalAlign.Center).justifyContent(FlexAlign.Center) + } + + @Builder xAmplification(){ + Row(){ + Text('x放大倍数') + .fontSize(VALUE.SMALL_SIZE_FONT) + Stack(){ + Rect().width('100%').height('100%').fill(Color.White) + TextInput({text:this.boardOption.xAmplification.toString()}).width('100%').height('100%').backgroundColor(Color.White).fontColor(Color.Black).fontSize(VALUE.SMALL_SIZE_FONT) + .onChange((value)=>{ + this.boardOption.xAmplification = Number(value) + handle.updateEdge(this.boardOption.xAmplification); + }) + }.height(30).backgroundColor(Color.White).layoutWeight(1) + }.width('100%').layoutWeight(0.5) + } + + @Builder yAmplification(){ + Row(){ + Text('y放大倍数') + .fontSize(VALUE.SMALL_SIZE_FONT) + Stack(){ + Rect().width('100%').height('100%').fill(Color.White) + TextInput({text:this.boardOption.yAmplification.toString()}).width('100%').height('100%').backgroundColor(Color.White).fontColor(Color.Black).fontSize(VALUE.SMALL_SIZE_FONT) + .onChange((value)=>{ + this.boardOption.yAmplification = Number(value) + }) + }.height(30).backgroundColor(Color.White).layoutWeight(1) + }.width('100%').layoutWeight(0.5) + } + + @Builder zAmplification(){ + Row(){ + Text('z放大倍数') + .fontSize(VALUE.SMALL_SIZE_FONT) + Stack(){ + TextInput({text:this.boardOption.zAmplification.toString()}).width('100%').height('100%').backgroundColor(Color.White).fontColor(Color.Black).fontSize(VALUE.SMALL_SIZE_FONT) + .onChange((value)=>{ + this.boardOption.zAmplification = Number(value) + }) + .fontSize(10) + }.height(30).backgroundColor(Color.White).layoutWeight(1) + }.width('100%') + } + + + build() { + Row({space:10}){ + + Column({space:5}){ + this.xStep() + Blank() + if (this.dimension == Dimension.TWO){ + this.xNumber() + }else{ + this.yStep() + } + }.width('24%').height('100%').backgroundColor(VALUE.COLOR_COMP_CONTROLBAR_BAR) + + if(this.dimension == Dimension.TWO){ + Row(){ + Column(){ + Text("坐标轴") + .fontSize(VALUE.BIG_SIZE_FONT) + }.height('100%').justifyContent(FlexAlign.Center).alignItems(HorizontalAlign.Center).width('40%') + Column(){ + this.quadrantSwitch(Quadrant.FOUR) + this.quadrantSwitch(Quadrant.ONE) + }.height('100%').width('60%') + }.width('22%').height('100%').backgroundColor(VALUE.COLOR_COMP_CONTROLBAR_BAR) + }else{ + Column(){ + this.xAmplification() + Blank() + this.yAmplification() + }.width('22%').height('100%').backgroundColor(VALUE.COLOR_COMP_CONTROLBAR_BAR) + } + + Row(){ + Column(){ + Text("维度") + .fontSize(VALUE.BIG_SIZE_FONT) + }.height('100%').justifyContent(FlexAlign.Center).alignItems(HorizontalAlign.Center).width('40%') + Column(){ + this.dimensionSwitch(Dimension.TWO) + this.dimensionSwitch(Dimension.THREE) + }.height('100%').width('60%') + }.width('22%').height('100%').backgroundColor(VALUE.COLOR_COMP_CONTROLBAR_BAR) + + Column({space:5}){ + if(this.dimension == Dimension.TWO){ + this.xAmplification() + Blank() + this.yAmplification() + }else{ + this.zAmplification() + } + }.width('28%').height('100%').backgroundColor(VALUE.COLOR_COMP_CONTROLBAR_BAR) + + }.width('100%').layoutWeight(1).padding({left:10,right:10}) + } +} + +let WARNING = (message:string,duration?:number)=>{ + promptAction.showToast({ + message:message, + duration:duration??2000 + }) +} diff --git a/drawing/draw/entry/src/main/ets/component/FunctionParsingDiagram.ets b/drawing/draw/entry/src/main/ets/component/FunctionParsingDiagram.ets new file mode 100644 index 0000000..373d59d --- /dev/null +++ b/drawing/draw/entry/src/main/ets/component/FunctionParsingDiagram.ets @@ -0,0 +1,37 @@ +import { handle } from '../utils/handleFunc/processFunc' + +@Component +export struct functionParsingDiagram { + @Link @Watch('initNodeTree') outputState: boolean + @Link func: string + @State nodeTree: Array> = [] + + initNodeTree() { + this.nodeTree = handle.createNodeTree(this.func); + } + + build() { + Column(){ + if (this.nodeTree) { + ForEach(this.nodeTree, (item: string[]) => { + Row() { + ForEach(item, (node: string) => { + Scroll() { + Text(node) + .textAlign(TextAlign.Center) + .fontSize(12) + } + .scrollable(ScrollDirection.Horizontal) + .scrollBar(BarState.Off) + .layoutWeight(node.length < 8 ? 1 : 2) + .borderWidth(1) + .borderColor(Color.Black) + .margin(1) + }) + } + .size({ width: "100%", height: 25 }) + }) + } + }.justifyContent(FlexAlign.Start).alignItems(HorizontalAlign.Center).width('100%').height('100%').padding(5) + } +} \ No newline at end of file diff --git a/drawing/draw/entry/src/main/ets/component/ImageShow.ets b/drawing/draw/entry/src/main/ets/component/ImageShow.ets new file mode 100644 index 0000000..e07b1cc --- /dev/null +++ b/drawing/draw/entry/src/main/ets/component/ImageShow.ets @@ -0,0 +1,25 @@ +import { AREA_CONTEXT, BoardInfo, CONTEXT, Dimension, } from '../utils/drawBoard/BoardType' + +@Component +export struct imageShow { + @Prop board:BoardInfo + @Prop loop1:string + @Prop loop2:string + build() { + Stack(){ + Canvas(CONTEXT).width("100%").height(this.loop2) + .onReady(()=>{ + this.board.drawAxis() + if (this.board.dimension == Dimension.TWO) { + this.board.drawGraph() + } + }) + Canvas(AREA_CONTEXT).width("100%").height(this.loop1) + .onReady(()=>{ + if (this.board.dimension == Dimension.THREE) { + this.board.drawGraph() + } + }) + }.width('100%').height('100%') + } +} diff --git a/drawing/draw/entry/src/main/ets/entryability/EntryAbility.ets b/drawing/draw/entry/src/main/ets/entryability/EntryAbility.ets new file mode 100644 index 0000000..83fe575 --- /dev/null +++ b/drawing/draw/entry/src/main/ets/entryability/EntryAbility.ets @@ -0,0 +1,44 @@ +import AbilityConstant from '@ohos.app.ability.AbilityConstant'; +import hilog from '@ohos.hilog'; +import UIAbility from '@ohos.app.ability.UIAbility'; +import Want from '@ohos.app.ability.Want'; +import window from '@ohos.window'; + + +export default class EntryAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); + } + + onDestroy(): void { + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); + } + + onWindowStageCreate(windowStage: window.WindowStage): void { + // Main window is created, set main page for this ability + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); + + windowStage.loadContent('pages/Index', (err, data) => { + if (err.code) { + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); + }); + } + + onWindowStageDestroy(): void { + // Main window is destroyed, release UI related resources + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); + } + + onForeground(): void { + // Ability has brought to foreground + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); + } + + onBackground(): void { + // Ability has back to background + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); + } +} diff --git a/drawing/draw/entry/src/main/ets/pages/Index.ets b/drawing/draw/entry/src/main/ets/pages/Index.ets new file mode 100644 index 0000000..38cb6d7 --- /dev/null +++ b/drawing/draw/entry/src/main/ets/pages/Index.ets @@ -0,0 +1,187 @@ +import { basicFuncInfo } from '../common/BasicFuncInfo'; +import { basicFunctionsBar } from '../component/BasicFunctionsBar'; +import { controlBar } from '../component/ControlBar'; +import { functionParsingDiagram } from '../component/FunctionParsingDiagram'; +import { imageShow } from '../component/ImageShow'; +import { B1Q2D, B4Q2D, B4Q3D, BoardInfo, IBoardOption, Dimension, Quadrant } from '../utils/drawBoard/BoardType'; +import { FuncType, IVirtualPoints, PointType } from '../utils/drawBoard/drawPoint'; +import { handle } from '../utils/handleFunc/processFunc' + +@Entry +@Component +struct Index { + @Provide('basicFuncList') basicFuncList:Array = [] + //输入的函数 + @State inputFunction:string = "" + //是否把输入的函数输出成图像 + @State @Watch('initBoard')outputState:boolean = false + //函数是否更改 + @Provide isFuncChange:boolean = false + @State loop1:string = '100%' + @State loop2:string = '100%' + //board + @State board:BoardInfo|null = null + @Provide quadrant:Quadrant = Quadrant.FOUR + @Provide dimension:Dimension = Dimension.TWO + //boardOption + //默认的option + @State boardOption:IBoardOption = { + xStep:0.1, + xNumber:0,// + yStep:1, + yNumber:0, + xAmplification:1, + yAmplification:1, + zAmplification:1 + } + + aboutToAppear() { + handle.setEdge(-10, 10); + handle.updateEdge(this.boardOption.xAmplification); + } + /** + * 初始化board + */ + initBoard(){ + this.createBoard() + + //二维测试样例 + //三维测试样例 + // 1.YC y=3 + // point.points.push({y:3,pointType:PointType.CONTINUE}) + // point.funcType = FuncType.YC + //2.XC x=3 + // point.points.push({x:3,pointType:PointType.CONTINUE}) + // point.funcType = FuncType.XC + //3.ZC z=3 + // point.points.push({z:3,pointType:PointType.CONTINUE}) + // point.funcType = FuncType.ZC + //4.YX y=x^2 [-5,5] + // let c=-5 + // while(c <= 5){ + // point.points.push({x:c,y:-c*c,pointType:PointType.CONTINUE}) + // c+=0.1; + // } + // point.funcType = FuncType.YX + //5.YX x=y^2 + // let c = -5 + // while(c <= 5){ + // point.points.push({x:-c*c,y:c,pointType:PointType.CONTINUE}) + // c+=1; + // } + // point.funcType = FuncType.YX + //6.ZX z=x^2 + // let c=-5 + // while(c <= 5){ + // point.points.push({x:c,z:c*c,pointType:PointType.CONTINUE}) + // c+=1; + // } + // point.funcType = FuncType.ZX + //6.ZY z=y^2 + // let c=-5 + // while(c <= 5){ + // point.points.push({y:c,z:c*c,pointType:PointType.CONTINUE}) + // c+=1; + // } + // point.funcType = FuncType.ZY + //7.ZXY z= x^2 + y^2 需要先调整步长 否则报错 + // let dx = -3 + // let dy = -3 + // for(let index = 0;index < 6;index++){//this.boardOption.xNumber + // for (let index = 0; index < 6; index++) {//this.boardOption.yNumber + // point.points.push({x:dx,y:dy,z:-(dx*dx + dy*dy),pointType:PointType.CONTINUE}) + // dy+=1 + // } + // dx+=1; + // dy=-3 + // } + // point.funcType = FuncType.ZXY + // //获取到点集 + let point:IVirtualPoints = { + points: handle.coPot, + funcType: handle.getFuncType(this.dimension) + } + console.log('testTag','points_len:',point.points.length) + console.log('testTag','points_funcType:',point.funcType) + + + //初始化画板下的需要绘制的坐标点 + if(this.isFuncChange){ + if(this.board != null){ + this.boardOption = this.board.initMap(point) + } + this.isFuncChange = false + }else{ + if (this.board != null) { + this.board.setOption(this.boardOption,point) + } + } + + //刷新canvas组件 + if(this.loop1 == '100%'){ + this.loop1 = '101%' + }else{ + this.loop1 = '100%' + } + if(this.loop2 == '100%'){ + this.loop2 = '101%' + }else{ + this.loop2 = '100%' + } + + } + + build() { + Column(){ + + Row(){ + if(this.board != null){ + imageShow({loop1:this.loop1,loop2:this.loop2,board:this.board}) + .width('50%') + .height('100%') + .backgroundColor('#F5F5F5') + }else{ + Text('') + .width('50%') + .height('100%') + .backgroundColor('#F5F5F5') + } + + functionParsingDiagram({ outputState: this.outputState, func: this.inputFunction }) + .width('25%') + .height('100%') + .backgroundColor('#F5F5F5') + + basicFunctionsBar() + .width('25%') + .height('100%') + .backgroundColor(Color.Pink) + + }.width('100%').layoutWeight(1) + + controlBar({inputFuncBody:$inputFunction,outputState:$outputState,boardOption:$boardOption}).width('100%').height('30%') + + }.width('100%').height('100%') + + } + /** + * 创建board + */ + createBoard(){ + if (this.dimension == Dimension.TWO){ + if(this.quadrant == Quadrant.ONE){ + B1Q2D.setOption(this.boardOption) + this.board = B1Q2D + } + if(this.quadrant == Quadrant.FOUR){ + B4Q2D.setOption(this.boardOption) + this.board = B4Q2D + } + } + + if(this.dimension == Dimension.THREE){ + B4Q3D.setOption(this.boardOption) + this.board = B4Q3D + } + } +} \ No newline at end of file diff --git a/drawing/draw/entry/src/main/ets/utils/drawBoard/BoardType.ets b/drawing/draw/entry/src/main/ets/utils/drawBoard/BoardType.ets new file mode 100644 index 0000000..ae8e23e --- /dev/null +++ b/drawing/draw/entry/src/main/ets/utils/drawBoard/BoardType.ets @@ -0,0 +1,1016 @@ +import { handle } from '../handleFunc/processFunc'; +import { FuncType, IVirtualPoints, PointType, IBoardPoint , IPoint} from './drawPoint'; +//标准值 +/** + * imageShow组件的大小(vp) + */ +export const I_WIDTH = 284; +/** + * imageShow组件的大小(vp) + */ +export const I_HEIGHT = 174; +/** + * 第一个X刻度对应的值 + */ +const X_VALUE = 1 +/** + * 第一个Y刻度对应的值 + */ +const Y_VALUE = 1 +/** + * 第一个Z刻度对应的值 + */ +const Z_VALUE = 1 + + +export const SETTING:RenderingContextSettings = new RenderingContextSettings(true) +export const CONTEXT:CanvasRenderingContext2D = new CanvasRenderingContext2D(SETTING) +export const AREA_CONTEXT:CanvasRenderingContext2D = new CanvasRenderingContext2D(SETTING) +CONTEXT.font = '10px sans-serif' +export enum Quadrant{ + ONE = 1, + FOUR = 4 +} +export enum Dimension{ + TWO = 2, + THREE = 3 +} +export enum BoardType{ + TYPE_4Q2D = 42, + TYPE_4Q3D = 43, + TYPE_1Q2D = 12, + TYPE_1Q3D = 13 +} +export interface IBoardOption{ + /** + * x步长 + */ + xStep:number + /** + * 显示的x个数 + */ + xNumber:number + /** + * y步长 + */ + yStep:number + /** + * 显示的y个数 + */ + yNumber:number + /** + * x轴放大倍数 + */ + xAmplification:number + /** + * y轴放大倍数 + */ + yAmplification:number + /** + * z轴放大倍数 + */ + zAmplification:number +} + + +export abstract class BoardInfo{ + /** + * 默认的Option + * 其中属性由用户输入或程序计算进行初始化 可修改 + */ + BoardOption:IBoardOption = { + xStep:10, + xNumber:10, + yStep:10, + yNumber:10, + xAmplification:1, + yAmplification:1, + zAmplification:1 + } + /** + * x刻度之间的像素距离 + * 初始化后不允许修改 + */ + XGapLen:number + /** + * y刻度之间的像素距离 + * 初始化后不允许修改 + */ + YGapLen:number + /** + * x刻度个数 (+) + * 初始化后不允许修改 + */ + XCount:number + /** + * y刻度个数 (+) + * 初始化后不允许修改 + */ + YCount:number + /** + * 原点的x坐标 + * 初始化后不可修改 + */ + X_centre:number = 0 + /** + * 原点的y坐标 + * 初始化后不可修改 + */ + Y_centre:number = 0 + /** + * canvas组件的margin (不包括箭头) + * 初始化后不可修改 + */ + margin:number + /** + * 显示象限 + * 初始化后不可修改 + */ + quadrant:Quadrant + /** + * 显示维度 + * 初始化后不可修改 + */ + dimension:Dimension + /** + * 画板的宽 + * 初始化后不可修改 + */ + width:number + /** + * 画板的高 + * 初始化后不可修改 + */ + height:number + + //以下属性可修改 + + /** + * 单位X刻度对应的虚拟像素 + * 根据倍数动态修正 + */ + XUnit2vp:number + /** + * 单位Y刻度对应虚拟像素 + * 根据倍数动态修正 + */ + YUnit2vp:number + /** + * 第一个X刻度对应的值 (+) + * 根据倍数动态修正 + */ + XValue:number = X_VALUE + /** + * 第一个Y刻度对应的值 (+) + * 根据倍数动态修正 + */ + YValue:number = Y_VALUE + + /** + * 虚拟点集 + * 必填参数为pointType、funcType + * xyz参数可选 依据funcType进行相应参数填写 填写规则查看枚举值说明 + */ + virtualPoints:IVirtualPoints = {points:[],funcType:FuncType.NONE} + /** + * 画板点集 + * 必填参数为xy、pointType 由虚拟点集转变而来 + */ + boardPoints:Array = [] + + constructor(margin:number,quadrant:Quadrant,dimension:Dimension,Xgl:number,Ygl:number,XC:number,YC:number) { + this.margin = margin + this.quadrant = quadrant + this.dimension = dimension + //画板属性 + this.width = I_WIDTH - 2 * this.margin + this.height = I_HEIGHT - 2 * this.margin + //定义单位刻度对应像素 + this.XGapLen = Xgl + this.YGapLen = Ygl + this.XUnit2vp = Xgl + this.YUnit2vp = Ygl + //定义个数 + this.XCount = XC + this.YCount = YC + } + + /** + * 绘制坐标轴 + */ + public abstract drawAxis(); + + /** + * 设置画板上的xy数对 + * 同时根据xy数对计算出合适的 + * + * 初始化点集 + * 该点集为虚拟点集 + * + * 返回BoardOption + */ + public initMap(virtualPoints:IVirtualPoints){ + this.virtualPoints = virtualPoints + this.boardPoints = [] + this.updateAmplification() + this.updateCorrectBoardInfo() + this.transToBoardPoints() + return this.BoardOption + } + + /** + * 用户设置BoardOption + */ + public setOption(option:IBoardOption,virtualPoints?:IVirtualPoints){ + this.BoardOption = option + if(virtualPoints){ + this.initMap(virtualPoints) + } + this.boardPoints = [] + this.updateAmplification() + this.updateCorrectBoardInfo() + this.transToBoardPoints() + } + + /** + * 绘制折线 + */ + public drawGraph(context:CanvasRenderingContext2D = CONTEXT,boardPoints:Array = this.boardPoints){ + let isMeetDisContinue = false + let i = 0 + while(boardPoints[i].pointType == PointType.DISCONTINUE && i <= boardPoints.length - 1){ + i++ + } + if(i == boardPoints.length){ + //全间断点 + return + } + if(i != 0){ + context.fillRect(vp2px(boardPoints[i].x - 1),vp2px(boardPoints[i].y - 1),vp2px(1.5),vp2px(1.5)) + } + context.moveTo(vp2px(boardPoints[i].x),vp2px(boardPoints[i].y)) + //间断点画圆 + for (let index = i + 1; index < boardPoints.length ; index++) { + if(boardPoints[index].pointType == PointType.DISCONTINUE){ + isMeetDisContinue = true + continue + } + if(isMeetDisContinue){ + context.moveTo(vp2px(boardPoints[index].x),vp2px(boardPoints[index].y)) + context.fillRect(vp2px(boardPoints[index].x - 1),vp2px(boardPoints[index].y - 1),vp2px(1.5),vp2px(1.5)) + isMeetDisContinue = false + }else{ + context.lineTo(vp2px(boardPoints[index].x),vp2px(boardPoints[index].y)) + } + } + context.stroke() + } + + /** + * 连接两个坐标点 默认两点pointType属性均为CONTINUE + */ + protected drawLine(point1:IBoardPoint,point2:IBoardPoint,context:CanvasRenderingContext2D = CONTEXT){ + context.beginPath() + context.moveTo(vp2px(point1.x),vp2px(point1.y)) + context.lineTo(vp2px(point2.x),vp2px(point2.y)) + context.stroke() + } + + /** + * 在初始化点集后根据虚拟点集修正xy倍数 + * 只需要修正因变量的值 + */ + protected updateAmplification(){ + switch (this.virtualPoints.funcType){ + case FuncType.YC: case FuncType.YX: + this.updateYAmplification() + break; + case FuncType.XC: + this.updateXAmplification() + break; + default: + break; + } + } + + /** + * 将虚拟点集(二维)转变为画布点集 + */ + protected transToBoardPoints(){ + switch (this.virtualPoints.funcType){ + case FuncType.YC: + if(this.quadrant == Quadrant.ONE){ + this.boardPoints.push({x:this.getXPosition(0),y:this.getYPosition(this.virtualPoints.points[0].y!),pointType:PointType.CONTINUE}) + this.boardPoints.push({x:this.getXPosition(this.XCount * this.XValue),y:this.getYPosition(this.virtualPoints.points[0].y!),pointType:this.virtualPoints.points[0].pointType}) + }else{ + this.boardPoints.push({x:this.getXPosition(-this.XCount * this.XValue),y:this.getYPosition(this.virtualPoints.points[0].y!),pointType:this.virtualPoints.points[0].pointType}) + this.boardPoints.push({x:this.getXPosition(this.XCount * this.XValue),y:this.getYPosition(this.virtualPoints.points[0].y!),pointType:this.virtualPoints.points[0].pointType}) + } + break; + case FuncType.XC: + if(this.quadrant == Quadrant.ONE){ + this.boardPoints.push({x:this.getXPosition(this.virtualPoints.points[0].x!),y:this.getYPosition(0),pointType:PointType.CONTINUE}) + this.boardPoints.push({x:this.getXPosition(this.virtualPoints.points[0].x!),y:this.getYPosition(this.YCount * this.YValue),pointType:this.virtualPoints.points[0].pointType}) + }else{ + this.boardPoints.push({x:this.getXPosition(this.virtualPoints.points[0].x!),y:this.getYPosition(-this.YCount * this.YValue),pointType:PointType.CONTINUE}) + this.boardPoints.push({x:this.getXPosition(this.virtualPoints.points[0].x!),y:this.getYPosition(this.YCount * this.YValue),pointType:this.virtualPoints.points[0].pointType}) + } + break; + case FuncType.YX: + for (let index = 0; index < this.virtualPoints.points.length; index++) { + this.boardPoints.push({x:this.getXPosition(this.virtualPoints.points[index].x!),y:this.getYPosition(this.virtualPoints.points[index].y!),pointType:this.virtualPoints.points[index].pointType}) + } + break + default : + break; + } + + } + + /** + * 更新x的放大倍数 + */ + protected updateXAmplification(){ + this.BoardOption.xAmplification = 1 + let x_max = this.virtualPoints.points[0].x! + let x_min = this.virtualPoints.points[0].x! + for (let index = 1; index < this.virtualPoints.points.length; index++) { + if(this.virtualPoints.points[index].pointType == PointType.DISCONTINUE){ + continue + } + if(this.virtualPoints.points[index].x != undefined && x_max < this.virtualPoints.points[index].x!){ + x_max = this.virtualPoints.points[index].x! + } + if(this.virtualPoints.points[index].x != undefined && x_min > this.virtualPoints.points[index].x!){ + x_min = this.virtualPoints.points[index].x! + } + } + let x = 0; + if(!(x_min > -this.XCount && x_max < this.XCount)){ + if(x_min < 0 && x_max < 0){ + x = x_min + }else if(x_min > 0 && x_max > 0){ + x = x_max + }else{ + x = x_max > -x_min?x_max: -x_min + } + let m = Number((x/this.XCount).toFixed(0)) + let r = x%this.XCount + if(r == 0){ + this.BoardOption.xAmplification = m + }else if(r >= 5){ + this.BoardOption.xAmplification = m + }else if(r < 5 && r > 0){ + this.BoardOption.xAmplification = m + 1 + } + } + } + + /** + * 更新y的放大倍数 + */ + protected updateYAmplification(){ + this.BoardOption.yAmplification = 1 + let y_max = this.virtualPoints.points[0].y! + let y_min = this.virtualPoints.points[0].y! + for (let index = 1; index < this.virtualPoints.points.length; index++) { + if(this.virtualPoints.points[index].pointType == PointType.DISCONTINUE){ + continue + } + if(y_max < this.virtualPoints.points[index].y!){ + y_max = this.virtualPoints.points[index].y! + } + if(y_min > this.virtualPoints.points[index].y!){ + y_min = this.virtualPoints.points[index].y! + } + } + let y = 0; + if(!(y_min > -this.YCount && y_max < this.YCount)){ + if(y_min < 0){ + y_min = -y_min + } + if(y_max < 0){ + y_max = -y_max + } + if(y_max > y_min){ + y = y_max + }else { + y = y_min + } + let m = Number((y/this.YCount).toFixed(0)) + let r = y%this.YCount + if(r == 0){ + this.BoardOption.yAmplification = m + }else if(r >= 5){ + this.BoardOption.yAmplification = m + }else if(r < 5 && r > 0){ + this.BoardOption.yAmplification = m + 1 + } + } + } + /** + * 在修正完xy放大倍数后进行参数1.第一个刻度对应的值2.单位刻度对应的VP大小进行修正 + */ + protected updateCorrectBoardInfo(){ + this.XValue = X_VALUE * this.BoardOption.xAmplification + this.XUnit2vp = Number((this.XGapLen / this.BoardOption.xAmplification).toFixed(5)) + this.YValue = Y_VALUE * this.BoardOption.yAmplification + this.YUnit2vp = Number((this.YGapLen / this.BoardOption.yAmplification).toFixed(10)) + } + + /** + * 将虚拟坐标转变为画布坐标x(二维) + */ + private getXPosition(x:number){ + return this.X_centre + this.XUnit2vp*x + } + /** + * 将虚拟坐标转变为画布坐标x(二维) + */ + private getYPosition(y:number){ + return this.Y_centre - this.YUnit2vp*y + } +} + + +class board4Q2D extends BoardInfo{ + + constructor() { + super(5,Quadrant.FOUR,Dimension.TWO,13,10,10,8); + this.X_centre = (2 * this.margin + this.width)/2 + this.Y_centre = (2 * this.margin + this.height)/2 + } + + public drawAxis(){ + CONTEXT.beginPath() + CONTEXT.moveTo(vp2px(this.margin),vp2px(this.Y_centre)) + CONTEXT.lineTo(vp2px(this.width + this.margin),vp2px(this.Y_centre)) + CONTEXT.lineTo(vp2px(this.width + this.margin),vp2px(this.Y_centre + 3)) + CONTEXT.lineTo(vp2px(this.width + this.margin + 3),vp2px(this.Y_centre)) + CONTEXT.lineTo(vp2px(this.width + this.margin),vp2px(this.Y_centre - 3)) + CONTEXT.lineTo(vp2px(this.width + this.margin),vp2px(this.Y_centre)) + CONTEXT.moveTo(vp2px(this.X_centre),vp2px(this.height + this.margin)) + CONTEXT.lineTo(vp2px(this.X_centre),vp2px(this.margin)) + CONTEXT.lineTo(vp2px(this.X_centre - 3),vp2px(this.margin)) + CONTEXT.lineTo(vp2px(this.X_centre),vp2px(this.margin - 3)) + CONTEXT.lineTo(vp2px(this.X_centre + 3),vp2px(this.margin)) + CONTEXT.lineTo(vp2px(this.X_centre),vp2px(this.margin)) + CONTEXT.fill() + CONTEXT.fillText("0",vp2px(this.X_centre + 2),vp2px(this.Y_centre + 6)) + let valueX = this.X_centre - this.XValue * this.XUnit2vp * (this.XCount + 1) + let valueY = this.Y_centre + 6 + let value = -this.XValue * this.XCount + let count = 2 * this.XCount + //绘制X轴 + while(--count >= 0) { + valueX += this.XGapLen + if(value == 0){ + value += this.XValue + valueX += this.XGapLen + } + CONTEXT.moveTo(vp2px(valueX),vp2px(this.Y_centre)) + CONTEXT.lineTo(vp2px(valueX),vp2px(this.Y_centre - 3)) + CONTEXT.fillText(value.toString(),vp2px(valueX - this.getXTextBias(value.toString())),vp2px(valueY)) + value += this.XValue + } + //绘制Y轴 + valueX = this.X_centre + valueY = this.Y_centre + this.YValue * this.YUnit2vp * (this.YCount + 1) + value = -this.YValue * this.YCount + count = 2 * this.YCount + while(--count >= 0) { + valueY -= this.YGapLen + if(value == 0){ + value += this.YValue + valueY -= this.YGapLen + } + CONTEXT.moveTo(vp2px(this.X_centre),vp2px(valueY)) + CONTEXT.lineTo(vp2px(this.X_centre + 3),vp2px(valueY)) + CONTEXT.fillText(value.toString(),vp2px(valueX - 4 - this.getYTextBias(value.toString())),vp2px(valueY + 3)) + value += this.YValue + } + CONTEXT.stroke() + } + + /** + * 获取修正后的X刻度对应的文本的显示横向偏移量 + */ + private getXTextBias(value:string){ + + let bias = value.length + let flag = 1 + if(value[0] == '-'){ + flag = -2 + } + return (bias * (bias - 1))/2 + 1 + flag * this.XGapLen/50; + } + /** + * 获取修正后的Y刻度对应的文本的显示横向偏移量 + */ + private getYTextBias(value:string){ + let bias = value.length + if(bias == 1){ + return 1 + } + return bias * 3.5; + } + +} + +class board1Q2D extends BoardInfo{ + + constructor() { + super(15,Quadrant.ONE,Dimension.TWO,12.5,13,20,10); + + this.X_centre = this.margin + this.Y_centre = this.margin + this.height + } + + public drawAxis(){ + CONTEXT.beginPath() + CONTEXT.moveTo(vp2px(this.margin),vp2px(this.margin + this.height)) + CONTEXT.lineTo(vp2px(this.margin),vp2px(this.margin)) + CONTEXT.lineTo(vp2px(this.margin - 3),vp2px(this.margin)) + CONTEXT.lineTo(vp2px(this.margin),vp2px(this.margin - 3)) + CONTEXT.lineTo(vp2px(this.margin + 3),vp2px(this.margin)) + CONTEXT.lineTo(vp2px(this.margin),vp2px(this.margin)) + CONTEXT.fill() + CONTEXT.moveTo(vp2px(this.margin),vp2px(this.margin + this.height)) + CONTEXT.lineTo(vp2px(this.margin + this.width),vp2px(this.margin + this.height)) + CONTEXT.lineTo(vp2px(this.margin + this.width),vp2px(this.margin + this.height + 3)) + CONTEXT.lineTo(vp2px(this.margin + this.width + 3),vp2px(this.margin + this.height)) + CONTEXT.lineTo(vp2px(this.margin + this.width),vp2px(this.margin + this.height - 3)) + CONTEXT.lineTo(vp2px(this.margin + this.width),vp2px(this.margin + this.height)) + CONTEXT.fill() + CONTEXT.fillText("0",vp2px(this.X_centre - 5),vp2px(this.Y_centre + 5)) + let valueX = this.X_centre + let valueY = this.Y_centre + 6 + let value = this.XValue + let count = this.XCount + //x轴 + while(--count >= 0) { + valueX += this.XGapLen + CONTEXT.moveTo(vp2px(valueX),vp2px(this.Y_centre)) + CONTEXT.lineTo(vp2px(valueX),vp2px(this.Y_centre - 3)) + CONTEXT.fillText(value.toString(),vp2px(valueX-this.getXTextBias(value.toString())),vp2px(valueY)) + value += this.XValue + } + //y轴 + valueX = this.X_centre + valueY = this.Y_centre + value = this.YValue + count = this.YCount + while(--count >= 0) { + valueY -= this.YGapLen + if(value == 0){ + value += this.YValue + valueY -= this.YGapLen + } + CONTEXT.moveTo(vp2px(this.X_centre),vp2px(valueY)) + CONTEXT.lineTo(vp2px(this.X_centre + 3),vp2px(valueY)) + CONTEXT.fillText(value.toString(),vp2px(valueX - 4 - this.getYTextBias(value.toString())),vp2px(valueY + 3)) + value += this.YValue + } + CONTEXT.stroke() + } + + /** + * 获取修正后的X刻度对应的文本的显示横向偏移量 + */ + private getXTextBias(value:string){ + + let bias = value.length + let flag = 1 + if(value[0] == '-'){ + flag = -2 + } + return (bias * (bias - 1))/2 + 1 + flag * this.XGapLen/50; + } + /** + * 获取修正后的Y刻度对应的文本的显示横向偏移量 + */ + private getYTextBias(value:string){ + let bias = value.length + if(bias == 1){ + return 1 + } + return bias * 3.5; + } + +} + +class board4Q3D extends BoardInfo{ + /** + * z刻度间的像素大小 + */ + ZGapLen:number + /** + * 显示的z刻度个数 + */ + ZCount:number + /** + * Z单位刻度的像素大小 + */ + ZUnit2vp:number + /** + * Z第一个刻度对应的值 + */ + ZValue:number + + /* + * x负半与y正半夹角正切值 + */ + TAN:number + + /** + * 二维矩阵 + */ + boardPoints2D:IBoardPoint[][] = [] + + /** + * 绘制曲线 + */ + + constructor() { + super(32,Quadrant.FOUR,Dimension.THREE,11,8.5,5,10) + this.X_centre = (2 * this.margin + this.width)/2 + //加15是根据画板人为预先计算得到的较理想的值 + this.Y_centre = (2 * this.margin + this.height)/2 + this.ZGapLen = 7 + this.ZCount = 8 + this.ZUnit2vp = 7 + this.ZValue = 1 + this.BoardOption.zAmplification = 1 + this.TAN = this.height / this.width // margin = 32时 TAN = 0.5 + } + + public drawAxis(){ + CONTEXT.beginPath() + CONTEXT.moveTo(vp2px(this.margin + 20),vp2px(this.Y_centre)) + CONTEXT.lineTo(vp2px(this.width + this.margin - 20),vp2px(this.Y_centre)) + CONTEXT.lineTo(vp2px(this.width + this.margin - 20),vp2px(this.Y_centre + 3)) + CONTEXT.lineTo(vp2px(this.width + this.margin - 20 + 3),vp2px(this.Y_centre)) + CONTEXT.lineTo(vp2px(this.width + this.margin - 20),vp2px(this.Y_centre - 3)) + CONTEXT.lineTo(vp2px(this.width + this.margin - 20),vp2px(this.Y_centre)) + CONTEXT.moveTo(vp2px(this.X_centre),vp2px(this.height + this.margin + 8)) + CONTEXT.lineTo(vp2px(this.X_centre),vp2px(this.margin - 8)) + CONTEXT.lineTo(vp2px(this.X_centre - 3),vp2px(this.margin - 8)) + CONTEXT.lineTo(vp2px(this.X_centre),vp2px(this.margin - 3 - 8)) + CONTEXT.lineTo(vp2px(this.X_centre + 3),vp2px(this.margin - 8)) + CONTEXT.lineTo(vp2px(this.X_centre),vp2px(this.margin - 8)) + CONTEXT.moveTo(vp2px(this.X_centre + this.width/4),vp2px(this.Y_centre - this.height/4)) + CONTEXT.lineTo(vp2px(this.X_centre - this.width/4),vp2px(this.Y_centre + this.height/4)) + CONTEXT.lineTo(vp2px(this.X_centre - this.width/4 - 1),vp2px(this.Y_centre + this.height/4 - 2)) + CONTEXT.lineTo(vp2px(this.X_centre - (this.width)/4 - 3),vp2px(this.Y_centre + (this.height)/4 + 1.5)) + CONTEXT.lineTo(vp2px(this.X_centre - this.width/4 + 1),vp2px(this.Y_centre + this.height/4 + 2)) + CONTEXT.lineTo(vp2px(this.X_centre - this.width/4),vp2px(this.Y_centre + this.height/4)) + CONTEXT.fill() + //y + let Count = 1 + while(Count <= this.YCount){ + CONTEXT.moveTo(vp2px(this.X_centre + this.YGapLen * Count),vp2px(this.Y_centre)) + CONTEXT.lineTo(vp2px(this.X_centre + this.YGapLen * Count),vp2px(this.Y_centre - 2)) + Count ++; + } + Count = 1; + while(Count <= this.YCount){ + CONTEXT.moveTo(vp2px(this.X_centre - this.YGapLen * Count),vp2px(this.Y_centre)) + CONTEXT.lineTo(vp2px(this.X_centre - this.YGapLen * Count),vp2px(this.Y_centre + 2)) + Count ++; + } + //z + Count = 1 + while (Count <= this.ZCount) { + CONTEXT.moveTo(vp2px(this.X_centre),vp2px(this.Y_centre - this.ZGapLen * Count)) + CONTEXT.lineTo(vp2px(this.X_centre - 2),vp2px(this.Y_centre - this.ZGapLen * Count)) + Count ++; + } + Count = 1 + while (Count <= this.ZCount) { + CONTEXT.moveTo(vp2px(this.X_centre),vp2px(this.Y_centre + this.ZGapLen * Count)) + CONTEXT.lineTo(vp2px(this.X_centre + 2),vp2px(this.Y_centre + this.ZGapLen * Count)) + Count ++; + } + //x + Count = 1 + while (Count <= this.XCount) { + CONTEXT.moveTo(vp2px(this.X_centre - (this.XGapLen * Count) * 0.8944),vp2px(this.Y_centre + (this.XGapLen * Count) * 0.4472)) + CONTEXT.lineTo(vp2px(this.X_centre - (this.XGapLen * Count) * 0.8944 + 1),vp2px(this.Y_centre + (this.XGapLen * Count) * 0.4472 + 2)) + Count ++; + } + Count = 1 + while (Count <= this.XCount) { + CONTEXT.moveTo(vp2px(this.X_centre + (this.XGapLen * Count) * 0.8944),vp2px(this.Y_centre - (this.XGapLen * Count) * 0.4472)) + CONTEXT.lineTo(vp2px(this.X_centre + (this.XGapLen * Count) * 0.8944 - 1),vp2px(this.Y_centre - (this.XGapLen * Count) * 0.4472 - 2)) + Count ++; + } + + CONTEXT.stroke() + } + + /** + * 绘制曲面图 + * @override + */ + public drawGraph() { + AREA_CONTEXT.beginPath() + AREA_CONTEXT.strokeStyle = '#FF0000' + + + if(this.virtualPoints.funcType == FuncType.YC || this.virtualPoints.funcType == FuncType.ZC || this.virtualPoints.funcType == FuncType.XC){ + super.drawGraph(AREA_CONTEXT) + } + + if(this.virtualPoints.funcType == FuncType.YX || this.virtualPoints.funcType == FuncType.ZX || this.virtualPoints.funcType == FuncType.ZY){ + let len = this.virtualPoints.points.length + let pointsSide1 = this.boardPoints.slice(0,len) + super.drawGraph(AREA_CONTEXT,pointsSide1) + let pointsSide2 = this.boardPoints.slice(len) + super.drawGraph(AREA_CONTEXT,pointsSide2) + + //端点处连接 + super.drawLine(pointsSide1[0],pointsSide2[0],AREA_CONTEXT) + super.drawLine(pointsSide1[len - 1],pointsSide2[len - 1],AREA_CONTEXT) + + } + + if(this.virtualPoints.funcType == FuncType.ZXY){ + //绘制y轴方向 + for (let index = 0; index < this.BoardOption.xNumber; index++) { + super.drawGraph(AREA_CONTEXT,this.boardPoints2D[index]) + } + //绘制x轴方向 + for (let index1 = 0; index1 < this.BoardOption.yNumber; index1++) { + let arr:Array = [] + for (let index2 = 0; index2 < this.BoardOption.xNumber; index2++) { + arr.push(this.boardPoints2D[index2][index1]) + } + super.drawGraph(AREA_CONTEXT,arr) + } + } + } + + /** + * 新增对funcType为其他情况的判断修正 + * @override + */ + protected updateAmplification(){ + + super.updateAmplification() + + switch (this.virtualPoints.funcType){ + case FuncType.ZC: + this.updateZAmplification() + this.updateYAmplification() + this.updateXAmplification() + break; + case FuncType.ZX: + this.updateZAmplification() + this.updateYAmplification() + break; + case FuncType.ZY: + this.updateZAmplification() + this.updateXAmplification() + break; + case FuncType.ZXY: + this.updateZAmplification() + break; + default : + break; + } + + } + + /** + * 新增对z的参数修正 + * @override + */ + protected updateCorrectBoardInfo(){ + + super.updateCorrectBoardInfo() + this.ZValue = Z_VALUE * this.BoardOption.zAmplification + this.ZUnit2vp = Number((this.ZGapLen / this.BoardOption.zAmplification).toFixed(5)) + } + + /** + * 将虚拟点集(三维)转变为画布点集 + * @override + */ + protected transToBoardPoints(){ + switch (this.virtualPoints.funcType){ + case FuncType.YC: + //4个点 + this.boardPoints.push({ + x:this.getXPositionByXYZ(this.XValue * this.XCount,this.virtualPoints.points[0].y!), + y:this.getYPositionByXYZ(this.XValue * this.XCount,-this.ZValue * this.ZCount), + pointType:this.virtualPoints.points[0].pointType + }) + this.boardPoints.push({ + x:this.getXPositionByXYZ(this.XValue * this.XCount,this.virtualPoints.points[0].y!), + y:this.getYPositionByXYZ(this.XValue * this.XCount,this.ZValue * this.ZCount), + pointType:this.virtualPoints.points[0].pointType + }) + this.boardPoints.push({ + x:this.getXPositionByXYZ(-this.XValue * this.XCount,this.virtualPoints.points[0].y!), + y:this.getYPositionByXYZ(-this.XValue * this.XCount,this.ZValue * this.ZCount), + pointType:this.virtualPoints.points[0].pointType + }) + this.boardPoints.push({ + x:this.getXPositionByXYZ(-this.XValue * this.XCount,this.virtualPoints.points[0].y!), + y:this.getYPositionByXYZ(-this.XValue * this.XCount,-this.ZValue * this.ZCount), + pointType:this.virtualPoints.points[0].pointType + }) + this.boardPoints.push({ + x:this.getXPositionByXYZ(this.XValue * this.XCount,this.virtualPoints.points[0].y!), + y:this.getYPositionByXYZ(this.XValue * this.XCount,-this.ZValue * this.ZCount), + pointType:this.virtualPoints.points[0].pointType + }) + break; + case FuncType.XC: + this.boardPoints.push({ + x:this.getXPositionByXYZ(this.virtualPoints.points[0].x!,this.YValue * this.YCount), + y:this.getYPositionByXYZ(this.virtualPoints.points[0].x!,-this.ZValue * this.ZCount), + pointType:this.virtualPoints.points[0].pointType + }) + this.boardPoints.push({ + x:this.getXPositionByXYZ(this.virtualPoints.points[0].x!,this.YValue * this.YCount), + y:this.getYPositionByXYZ(this.virtualPoints.points[0].x!,this.ZValue * this.ZCount), + pointType:this.virtualPoints.points[0].pointType + }) + this.boardPoints.push({ + x:this.getXPositionByXYZ(this.virtualPoints.points[0].x!,-this.YValue * this.YCount), + y:this.getYPositionByXYZ(this.virtualPoints.points[0].x!,this.ZValue * this.ZCount), + pointType:this.virtualPoints.points[0].pointType + }) + this.boardPoints.push({ + x:this.getXPositionByXYZ(this.virtualPoints.points[0].x!,-this.YValue * this.YCount), + y:this.getYPositionByXYZ(this.virtualPoints.points[0].x!,-this.ZValue * this.ZCount), + pointType:this.virtualPoints.points[0].pointType + }) + this.boardPoints.push({ + x:this.getXPositionByXYZ(this.virtualPoints.points[0].x!,this.YValue * this.YCount), + y:this.getYPositionByXYZ(this.virtualPoints.points[0].x!,-this.ZValue * this.ZCount), + pointType:this.virtualPoints.points[0].pointType + }) + break; + case FuncType.YX: + for (let index = 0; index < this.virtualPoints.points.length; index++) { + this.boardPoints.push({ + x:this.getXPositionByXYZ(this.virtualPoints.points[index].x!,this.virtualPoints.points[index].y!), + y:this.getYPositionByXYZ(this.virtualPoints.points[index].x!,-this.ZValue * this.ZCount), + pointType:this.virtualPoints.points[index].pointType + }) + } + for (let index = 0; index < this.virtualPoints.points.length; index++) { + this.boardPoints.push({ + x:this.getXPositionByXYZ(this.virtualPoints.points[index].x!,this.virtualPoints.points[index].y!), + y:this.getYPositionByXYZ(this.virtualPoints.points[index].x!,this.ZValue * this.ZCount), + pointType:this.virtualPoints.points[index].pointType + }) + } + break; + case FuncType.ZC: + this.boardPoints.push({ + x:this.getXPositionByXYZ(this.XValue * this.XCount,this.YValue * this.YCount), + y:this.getYPositionByXYZ(this.XValue * this.XCount,this.virtualPoints.points[0].z!), + pointType:this.virtualPoints.points[0].pointType + }) + this.boardPoints.push({ + x:this.getXPositionByXYZ(-this.XValue * this.XCount,this.YValue * this.YCount), + y:this.getYPositionByXYZ(-this.XValue * this.XCount,this.virtualPoints.points[0].z!), + pointType:this.virtualPoints.points[0].pointType + }) + this.boardPoints.push({ + x:this.getXPositionByXYZ(-this.XValue * this.XCount,-this.YValue * this.YCount), + y:this.getYPositionByXYZ(-this.XValue * this.XCount,this.virtualPoints.points[0].z!), + pointType:this.virtualPoints.points[0].pointType + }) + this.boardPoints.push({ + x:this.getXPositionByXYZ(this.XValue * this.XCount,-this.YValue * this.YCount), + y:this.getYPositionByXYZ(this.XValue * this.XCount,this.virtualPoints.points[0].z!), + pointType:this.virtualPoints.points[0].pointType + }) + this.boardPoints.push({ + x:this.getXPositionByXYZ(this.XValue * this.XCount,this.YValue * this.YCount), + y:this.getYPositionByXYZ(this.XValue * this.XCount,this.virtualPoints.points[0].z!), + pointType:this.virtualPoints.points[0].pointType + }) + break; + case FuncType.ZX: + for (let index = 0; index < this.virtualPoints.points.length; index++) { + this.boardPoints.push({ + x:this.getXPositionByXYZ(this.virtualPoints.points[index].x!,this.YValue * this.YCount), + y:this.getYPositionByXYZ(this.virtualPoints.points[index].x!,this.virtualPoints.points[index].z!), + pointType:this.virtualPoints.points[index].pointType + }) + } + for (let index = 0; index < this.virtualPoints.points.length; index++) { + this.boardPoints.push({ + x:this.getXPositionByXYZ(this.virtualPoints.points[index].x!,-this.YValue * this.YCount), + y:this.getYPositionByXYZ(this.virtualPoints.points[index].x!,this.virtualPoints.points[index].z!), + pointType:this.virtualPoints.points[index].pointType + }) + } + break; + case FuncType.ZY: + for (let index = 0; index < this.virtualPoints.points.length; index++) { + this.boardPoints.push({ + x:this.getXPositionByXYZ(this.XValue * this.XCount,this.virtualPoints.points[index].y!), + y:this.getYPositionByXYZ(this.XValue * this.XCount,this.virtualPoints.points[index].z!), + pointType:this.virtualPoints.points[index].pointType + }) + } + for (let index = 0; index < this.virtualPoints.points.length; index++) { + this.boardPoints.push({ + x:this.getXPositionByXYZ(-this.XValue * this.XCount,this.virtualPoints.points[index].y!), + y:this.getYPositionByXYZ(-this.XValue * this.XCount,this.virtualPoints.points[index].z!), + pointType:this.virtualPoints.points[index].pointType + }) + } + break; + case FuncType.ZXY: + for (let index = 0; index < this.virtualPoints.points.length; index++) { + this.boardPoints.push({x:this.getXPositionByXYZ(this.virtualPoints.points[index].x!,this.virtualPoints.points[index].y!),y:this.getYPositionByXYZ(this.virtualPoints.points[index].x!,this.virtualPoints.points[index].z!),pointType:this.virtualPoints.points[index].pointType}) + } + this.transTo2DArray() + default : + break; + } + } + + /** + * 修正z的放大倍数 + */ + private updateZAmplification(){ + this.BoardOption.zAmplification = 1 + let z_max = this.virtualPoints.points[0].z! + let z_min = this.virtualPoints.points[0].z! + for (let index = 1; index < this.virtualPoints.points.length; index++) { + if(this.virtualPoints.points[index].pointType == PointType.DISCONTINUE){ + continue + } + if(z_max < this.virtualPoints.points[index].z!){ + z_max = this.virtualPoints.points[index].z! + } + if(z_min > this.virtualPoints.points[index].z!){ + z_min = this.virtualPoints.points[index].z! + } + } + let z = 0; + if(!(z_min > -this.ZCount && z_max < this.ZCount)) { + if (z_min < 0 && z_max < 0) { + z = z_min + } else if (z_min > 0 && z_max > 0) { + z = z_max + } else { + z = z_max > -z_min ? z_max : -z_min + } + let m = Number((z/this.ZCount).toFixed(0)) + let r = z%this.ZCount + if(r == 0){ + this.BoardOption.zAmplification = m + }else if(r >= 5){ + this.BoardOption.zAmplification = m + }else if(r < 5 && r > 0){ + this.BoardOption.zAmplification = m + 1 + } + } + } + + /** + * 根据虚拟点集的坐标计算出画板坐标系下的x坐标 + */ + private getXPositionByXYZ(x:number,y:number){ + return this.X_centre + this.YUnit2vp * y - 0.8944 * this.XUnit2vp * x + } + + /** + * 根据虚拟点集的坐标计算出画板坐标系下的x坐标 + */ + private getYPositionByXYZ(x:number,z:number){ + return this.Y_centre + this.XUnit2vp * x / 2.236 - this.ZUnit2vp * z + } + + /** + * 将画板点集按照x个数、y个数转变为二维数组的格式 + */ + private transTo2DArray(){ + this.boardPoints2D = [] + let i = 0; + this.BoardOption.xNumber = handle.row; + this.BoardOption.yNumber = handle.col; + console.log(handle.row + " " + handle.col) + for (let index1 = 0; index1 < this.BoardOption.xNumber; index1++) { + this.boardPoints2D.push([]) + for (let index2 = 0; index2 < this.BoardOption.yNumber; index2++) { + this.boardPoints2D[index1].push({x:this.boardPoints[i].x,y:this.boardPoints[i].y,pointType:this.boardPoints[i].pointType}) + i++; + } + } + } + +} + +export let B4Q2D:BoardInfo = new board4Q2D() +export let B4Q3D:BoardInfo = new board4Q3D() +export let B1Q2D:BoardInfo = new board1Q2D() diff --git a/drawing/draw/entry/src/main/ets/utils/drawBoard/drawPoint.ets b/drawing/draw/entry/src/main/ets/utils/drawBoard/drawPoint.ets new file mode 100644 index 0000000..e382a77 --- /dev/null +++ b/drawing/draw/entry/src/main/ets/utils/drawBoard/drawPoint.ets @@ -0,0 +1,79 @@ +export enum PointType{ + DISCONTINUE = 0, + CONTINUE = 1, +} +export enum FuncType{ + + /** + * 未选择 + */ + NONE = -1, + /** + * y = c型 + * 为此枚举值时 只能填y的值且其为c的值 且虚拟点集长度为1 pointType字段必为CONTINUE + */ + YC = 0, + /** + * x = c型 + * 为此枚举值时 只能填x的值且其为c的值 且虚拟点集长度为1 pointType字段必为CONTINUE + */ + XC = 1, + /* + * y = f(x)型 + * 为此枚举值时 虚拟点集中只能填xy的值 + */ + YX = 2, + /** + * z = c型 + * 为此枚举值时 只能填z的值且其为c的值 且虚拟点集长度为1 pointType字段必为CONTINUE + */ + ZC = 3, + /** + * z = f(x)型 + * 为此枚举值时 虚拟点集中只能填zx的值 + */ + ZX = 4, + /** + * z = f(y)型 + * 为此枚举值时 虚拟点集中只能填zy的值 + */ + ZY = 5, + /** + * z = f(x,y)型 + * 为此枚举值时 虚拟点集中只能填zxy的值 + * 且必须为边界值 + * + */ + ZXY = 6 +} +/** + * 虚拟点集 + * 根据函数关系和步长、个数直接得到的点集 + */ +export interface IPoint{ + x?:number + + y?:number + + z?:number + + pointType:PointType +} +export interface IVirtualPoints{ + + points:Array + + funcType:FuncType + +} +/** + * 画板点集 + * 以屏幕左上角为原点的平面坐标系下的点集 + */ +export interface IBoardPoint{ + x:number + + y:number + + pointType:PointType +} \ No newline at end of file diff --git a/drawing/draw/entry/src/main/ets/utils/handleFunc/analysis.ets b/drawing/draw/entry/src/main/ets/utils/handleFunc/analysis.ets new file mode 100644 index 0000000..76f4dcd --- /dev/null +++ b/drawing/draw/entry/src/main/ets/utils/handleFunc/analysis.ets @@ -0,0 +1,361 @@ +interface replaceableVar { + char: string, + value: number +} + +class MathExpressionParser { + private tokens: string[]; + private currentTokenIndex: number; + private variables: replaceableVar[]; + private nodeTree: string[][]; + private exp: string; + private currentExpIndex: number; + private layer: number; + + constructor() { + this.tokens = [] + this.currentTokenIndex = 0 + this.variables = [] + // this.nodeTree = new Array(50).fill([]) + this.nodeTree = []; + for (let i = 0; i < 50; i++) { + this.nodeTree.push([]); + } + this.exp = "" + this.currentExpIndex = 0 + this.layer = 0 + } + + private tokenize(expression: string): string[] { + const regex: RegExp = new RegExp("(\\d+\\.?\\d*|\\.\\d+|[a-zA-Z]+|\\S)", "g"); + const originalTokens = expression.match(regex) || []; + + const Tokens: string[] = []; + for (let i = 0; i < originalTokens.length; i++) { + Tokens.push(originalTokens[i]); + if (i < originalTokens.length - 1) { + const currentToken = originalTokens[i]; + const nextToken = originalTokens[i + 1]; + if ((this.isNumber(currentToken) && this.isVariable(nextToken)) || + (this.isVariable(currentToken) && this.isVariable(nextToken)) || + (currentToken === ')' && (this.isVariable(nextToken) || this.isNumber(nextToken))) || + (this.isNumber(currentToken) && nextToken === '(') || + (this.isVariable(currentToken) && nextToken === '(')) { + Tokens.push('*'); + } + } + } + return Tokens; + } + + private existInArr(token: string): number { + for (let i: number = 0; i < this.variables.length; i++) { + if (this.variables[i].char == token) { + return i; + } + } + return -1; + } + + private isNumber(token: string): boolean { + const num = Number(token); + return !Number.isNaN(num) && Number.isFinite(num); + } + + private isVariable(token: string): boolean { + const temp: RegExp = new RegExp("^[a-zA-Z]+$") + return temp.test(token) && !this.isFunction(token) && token !== "π"; + } + + private isFunction(token: string): boolean { + return ['pow', 'sin', 'cos', 'tan', 'ln', 'sqrt', 'log2', 'log10'].includes(token); + } + + private getCurrentToken(): string { + return this.tokens[this.currentTokenIndex]; + } + + private getNextToken(): string { + this.currentTokenIndex++; + return this.getCurrentToken(); + } + + private parsePrimaryExpression(): number { + const token = this.getCurrentToken(); + if (token === '(') { + this.getNextToken(); // consume '(' + const result = this.parseExpression(); + if (this.getCurrentToken() !== ')') { + throw new Error("Expected ')' after expression"); + } + this.getNextToken(); // consume ')' + return result; + } else if (token === 'π') { + this.getNextToken(); // consume 'π' + return Math.PI; + } else if (this.isVariable(token)) { + if (this.existInArr(token) != -1) { + const value = this.variables[this.existInArr(token)].value; + this.getNextToken(); // consume variable + return value; + } else { + throw new Error(`Unknown variable: ${token}`); + } + } else if (this.isFunction(token)) { + return this.parseFunction(); + } else { + const num = Number(token); + this.getNextToken(); // consume number + return num; + } + } + + private parseFunction(): number { + const functionName = this.getCurrentToken(); + this.getNextToken(); // consume function name + if (this.getCurrentToken() !== '(') { + throw new Error(`Expected '(' after function name ${functionName}`); + } + this.getNextToken(); // consume '(' + + const argument1 = this.parseExpression(); + + if (functionName === 'pow') { + if (this.getCurrentToken() !== ',') { + throw new Error(`Expected ',' between arguments for function ${functionName}`); + } + this.getNextToken(); // consume ',' + const argument2 = this.parseExpression(); + if (this.getCurrentToken() !== ')') { + throw new Error(`Expected ')' after arguments for function ${functionName}`); + } + this.getNextToken(); // consume ')' + return Math.pow(argument1, argument2); + } + + if (this.getCurrentToken() !== ')') { + throw new Error(`Expected ')' after argument for function ${functionName}`); + } + this.getNextToken(); // consume ')' + + switch (functionName) { + case 'sin': + return Math.sin(argument1); + case 'cos': + return Math.cos(argument1); + case 'tan': + return Math.tan(argument1); + case 'ln': + return Math.log(argument1); + case 'sqrt': + return Math.sqrt(argument1); + case 'log2': + return Math.log2(argument1); + case 'log10': + return Math.log10(argument1); + default: + throw new Error(`Unknown function: ${functionName}`); + } + } + + private parseFactor(): number { + // 处理一元负号 + if (this.getCurrentToken() === '-') { + this.getNextToken(); // consume '-' + return -this.parseFactor(); + } + // 处理初级表达式 + let result = this.parsePrimaryExpression(); + // 处理乘法和除法 + while (this.getCurrentToken() === '*' || this.getCurrentToken() === '/') { + const operator = this.getCurrentToken(); + this.getNextToken(); // consume operator + const operand = this.parsePrimaryExpression(); + if (operator === '*') { + result *= operand; + } else if (operator === '/') { + if (operand === 0) { + throw new Error("Division by zero"); + } + result /= operand; + } + } + return result; + } + + private parseExpression(): number { + let result = this.parseFactor(); + while (this.getCurrentToken() === '+' || this.getCurrentToken() === '-') { + const operator = this.getCurrentToken(); + this.getNextToken(); + const operand = this.parseFactor(); + if (operator === '+') { + result += operand; + } else if (operator === '-') { + result -= operand; + } + } + return result; + } + + public evaluate(expression: string, variables: replaceableVar[] = []): number { + this.tokens = this.tokenize(expression); + this.currentTokenIndex = 0; + this.variables = variables; + + const result = this.parseExpression(); + if (this.currentTokenIndex !== this.tokens.length) { + console.log("Token:" + this.tokens); + console.log("当前index:" + this.currentTokenIndex + " " + "当前length:" + this.tokens.length); + throw new Error("Unexpected token"); + } + return Number(result.toFixed(4)); + } + + private getCurrentChar(): string { + return this.exp[this.currentExpIndex]; + } + + private getNextChar(): string { + this.currentExpIndex++; + return this.getCurrentChar(); + } + + private recursivePartitioning(expression: string) { + this.exp = ""; + this.tokens = []; + this.tokens = this.tokenize(expression); + for (let i = 0; i < this.tokens.length; i++) { + this.exp += this.tokens[i]; + } + console.log(this.exp + "----" + this.layer) + let temp: RegExp = new RegExp("^\\-?[a-zA-Z0-9]+$"); + if (temp.test(this.exp)) return; + this.currentExpIndex = 0; + let parenthesizedForms: Array = []; + let leftIndex: number = 0; + let rightIndex: number = 0; + let char: string = "$"; + while (this.currentExpIndex < this.exp.length) { + if (this.getCurrentChar() == '(') { + parenthesizedForms.push(""); + let count: number = parenthesizedForms.length - 1; + let leftCount: number = 1; + let rightCount: number = 0; + this.getNextChar(); + leftIndex = this.currentExpIndex; + let sign: number = 0; + while (true) { + if (this.getCurrentChar() == '(') leftCount++; + if (this.getCurrentChar() == ')') rightCount++; + if (leftCount == rightCount) { + rightIndex = this.currentExpIndex; + break; + } + parenthesizedForms[count] += this.getCurrentChar(); + this.getNextChar(); + sign++; + if (sign > 1000) { + console.log("leftCount: " + leftCount + " " + "rightCount: " + rightCount); + this.exp = ""; + this.tokens = []; + this.nodeTree = []; + this.layer = 0; + this.currentExpIndex = 0; + throw new Error("The number of brackets does not match"); + } + } + let repeatNum: number = parenthesizedForms[count].length - count.toString().length; + if (repeatNum >= 0) { + this.exp = this.exp.substring(0, leftIndex) + count.toString() + char.repeat(repeatNum) + this.exp.substring(rightIndex); + } else { + throw new Error("Functions with so many parentheses are not supported"); + } + leftIndex = rightIndex = 0; + } + this.getNextChar(); + } + let nail: number = this.nodeTree[this.layer].length; + let symbolParts: RegExpMatchArray | null = null; + let includesAS: RegExp = new RegExp("(?<=\\d|[a-zA-Z]|\\))[+-](?=\\d|[a-zA-Z]|\\()", "g"); + let includesMD: RegExp = new RegExp("(?<=\\d|[a-zA-Z]|\\))[*/](?=\\d|[a-zA-Z]|\\()", "g"); + let includesPow: RegExp = new RegExp("(?<=\\d|[a-zA-Z]|\\))(?:[*]{2}|[\\^])(?=\\d|[a-zA-Z]|\\()", "g"); + if (includesAS.test(this.exp)) { + this.nodeTree[this.layer] = this.nodeTree[this.layer].concat(this.exp.split(includesAS)); + symbolParts = this.exp.match(includesAS); + } else if (includesMD.test(this.exp)) { + this.nodeTree[this.layer] = this.nodeTree[this.layer].concat(this.exp.split(includesMD)); + } else if (includesPow.test(this.exp)) { + this.nodeTree[this.layer] = this.nodeTree[this.layer].concat(this.exp.split(includesPow)); + } else { + if (this.exp[0] != "(") { + let label = 0; + for (let i = 0; i < this.exp.length; i++) { + if (this.exp[i] == "(") { + label = i; + break; + } + } + this.exp = this.exp.substring(label); + } + this.nodeTree[this.layer].push(this.exp); + } + + if (symbolParts) { + symbolParts.forEach((match, index) => { + if (match == "-") { + this.nodeTree[this.layer][index + 1] = "-".concat(this.nodeTree[this.layer][index + 1]); + } + }) + } + + // for (let i = nail; i < this.nodeTree[this.layer].length; i++) { + // console.log(this.nodeTree[this.layer][i]); + // } + + // for (let i: number = 0; i < parenthesizedForms.length; i++) { + // console.log("需替换字符" + parenthesizedForms[i] + ":" + i + " " + this.layer) + // } + + for (let i = nail; i < this.nodeTree[this.layer].length; i++) { + for (let j = 0; j < this.nodeTree[this.layer][i].length; j++) { + if (this.nodeTree[this.layer][i][j] == "(") { + let standard: RegExp = new RegExp("(?<=\\d|[a-zA-Z]|\\))([+-]|[*/]|[*]{2}|[\\^])(?=\\d|[a-zA-Z]|\\()", "g"); + let flag: Boolean = false; + if (j == 0 && !standard.test(this.nodeTree[this.layer][i])) { + flag = true; + } + let start = j + 1; + let storeIndex = Number(this.nodeTree[this.layer][i][start]); + this.nodeTree[this.layer][i] = this.nodeTree[this.layer][i].substring(0, start) + parenthesizedForms[storeIndex] + this.nodeTree[this.layer][i].substring(start + parenthesizedForms[storeIndex].length); + if (flag) this.nodeTree[this.layer][i] = this.nodeTree[this.layer][i].substring(1, this.nodeTree[this.layer][i].length - 1); + // break; + j += parenthesizedForms[storeIndex].length + 2; + } + } + } + + // for (let i = nail; i < this.nodeTree[this.layer].length; i++) { + // console.log(this.layer + " " + this.nodeTree[this.layer][i]); + // } + + for (let i = nail; i < this.nodeTree[this.layer].length; i++) { + this.layer++; + this.recursivePartitioning(this.nodeTree[this.layer - 1][i]); + this.layer--; + } + } + + createNode(func: string) { + // this.nodeTree.length = 0; + // this.nodeTree = new Array(50).fill([]); + this.nodeTree = []; + for (let i = 0; i < 50; i++) { + this.nodeTree.push([]); + } + this.recursivePartitioning(func); + return this.nodeTree; + } +} + +export let mathjs: MathExpressionParser = new MathExpressionParser(); diff --git a/drawing/draw/entry/src/main/ets/utils/handleFunc/processFunc.ets b/drawing/draw/entry/src/main/ets/utils/handleFunc/processFunc.ets new file mode 100644 index 0000000..987fbe2 --- /dev/null +++ b/drawing/draw/entry/src/main/ets/utils/handleFunc/processFunc.ets @@ -0,0 +1,399 @@ +import promptAction from '@ohos.promptAction'; +import { BusinessError } from '@ohos.base'; +import { mathjs } from '../handleFunc/analysis' +import { PointType, IPoint, FuncType } from '../drawBoard/drawPoint' +import { Dimension } from '../drawBoard/BoardType' + +export class ProcessFunc { + private funcId: string; // 函数(用以查询坐标轴进而确定函数类型) + private funcText: string; // 函数体(经过一定符号转换处理,用以计算) + xMin: number; // x轴最小整数值 + xMax: number; // y轴最大整数值 + private yMin: number; // x轴最小整数值 + private yMax: number; // y轴最大整数值 + private xMinDefault: number; + private xMaxDefault: number; + private yMinDefault: number; + private yMaxDefault: number; + + nodeTree: Array> // 节点树数组 + coPot: Array; // 存储获取的坐标点 + funcHead: string; // 存储函数头 + funcBody: string; // 存储函数体 + xCount: number; // 取x点个数 + yCount: number; // 取y点个数 + xStep: number; // x轴步长值,决定每个点取点间隔 + yStep: number; // y轴步长值,决定每个点取点间隔 + row: number; // 三维取点点集转为二维数组的行数 + col: number; // 三维取点点集转为二维数组的列数 + + constructor() { + this.nodeTree = []; + this.coPot = []; + this.funcId = this.funcText = this.funcHead = this.funcBody = ""; + this.xStep = this.yStep = 0.1; + this.xCount = this.yCount = 0; + this.xMin = this.xMax = this.yMin = this.yMax = 0; + this.xMinDefault = this.xMaxDefault = this.yMinDefault = this.yMaxDefault = 0; + this.row = this.col = 0; + } + + /** + * 对promptAction.showToast()的封装。默认持续1.5s,距离底部50vp + * @param message 弹窗提示的文本信息 + */ + private showToast(message: string) { + try { + promptAction.showToast({ + message: message, + duration: 1500, + bottom: 20 + }); + } catch (error) { + let message = (error as BusinessError).message + let code = (error as BusinessError).code + console.error(`showToast args error code is ${code}, message is ${message}`); + } + } + + /** + * 初始化默认的坐标轴最大最小边界点 + * @param xMin + * @param xMax + * @param yMin + * @param yMax + */ + setEdge(xMin: number, xMax: number, y?: number, ) { + this.xMinDefault = xMin; + this.xMaxDefault = xMax; + if (y) { + this.yMinDefault = -y; + this.yMaxDefault = y; + } + this.updateEdge(1); + } + + /** + * 根据放大倍数更新边缘点 + * @param xTimes + * @param yTimes + */ + updateEdge(xTimes: number, yTimes?: number) { + this.xMin = this.xMinDefault * xTimes; + this.xMax = this.xMaxDefault * xTimes; + if (yTimes) { + this.yMin = this.yMinDefault * yTimes; + this.yMax = this.yMaxDefault * yTimes; + } + } + + /** + * 判断输入的数学表达式是否合法,能够运算则合法,抛出错误则不合法 + * @param func 数学表达式 + * @returns + */ + isValidFunc(func: string): boolean { + this.funcId = this.funcText = ""; + let temp: RegExp = new RegExp("\\s+", "g"); + func = func.trim().replace(temp, ""); + // temp = new RegExp("(\\(([^()]+)\\)|\\w+)(?:\\*\\*|\\^)(\\(([^()]+)\\)|\\w+)", "g"); + temp = new RegExp("(\\([^()]*?(?:\\([^()]*?\\)[^()]*?)*\\)|\\w+)(?:\\*\\*|\\^)(\\([^()]*?(?:\\([^()]*?\\)[^()]*?)*\\)|\\w+)", "g"); + func = func.replace(temp, "pow($1, $2)"); + if (func.includes("=") && func.split("=").length === 2) { + this.funcId = func.split("=")[0]; + this.funcText = func.split("=")[1]; + } else { + this.funcId = ""; + this.funcText = func; + } + + try { + let testX: number = 1; + let testY: number = 1; + let uselessRes: number = mathjs.evaluate(this.funcText, [{ char: "x", value: testX }, { char: "y", value: testY }]); + if (!Number.isNaN(uselessRes)) return true; + else return false; + } catch (err) { + console.log("错误的函数格式为:" + this.funcText) + this.showToast("函数错误!" + err); + return false; + } + } + + /** + * 分离函数头和函数体 + * @param func + */ + separateFunc(func: string) { + this.funcHead = this.funcBody = ""; + let temp: RegExp = new RegExp("\\s+", "g"); + func = func.trim().replace(temp, ""); + if (func.includes("=") && func.split("=").length === 2) { + this.funcHead = func.split("=")[0]; + this.funcBody = func.split("=")[1]; + } else { + this.funcHead = ""; + this.funcBody = func; + } + } + + /** + * 获取函数类型 + * @param dimension 当前的维度 + * @returns + */ + getFuncType(dimension: Dimension): FuncType { + if (dimension === Dimension.TWO) { + if (!this.funcId) { + if (Number.isNaN(Number(this.funcText))) return FuncType.YX; + else this.showToast("请输入正确的函数格式"); + } + if (this.funcId && this.funcId != "x") { + if (Number.isNaN(Number(this.funcText))) return FuncType.YX; + else return FuncType.YC; + } + else if (!Number.isNaN(Number(this.funcText))) return FuncType.XC; + else this.showToast("函数命名不可以与自变量同名!"); + } else if (dimension === Dimension.THREE) { + let standard_x: RegExp = new RegExp("(^|[^a-zA-Z])x($|[^a-zA-Z])"); + let standard_y: RegExp = new RegExp("(^|[^a-zA-Z])y($|[^a-zA-Z])"); + if (!this.funcId) { + if (standard_x.test(this.funcText) && standard_y.test(this.funcText)) return FuncType.ZXY; + else if (standard_x.test(this.funcText) && !standard_y.test(this.funcText)) return FuncType.ZX; + else if (!standard_x.test(this.funcText) && standard_y.test(this.funcText)) return FuncType.ZY; + else this.showToast("请输入正确的函数格式"); + } + if (this.funcId && this.funcId != "x" && this.funcId != "y") { + if (!Number.isNaN(Number(this.funcText))) return FuncType.ZC; + else if (standard_x.test(this.funcText) && standard_y.test(this.funcText)) return FuncType.ZXY; + else if (standard_x.test(this.funcText) && !standard_y.test(this.funcText)) return FuncType.ZX; + else if (!standard_x.test(this.funcText) && standard_y.test(this.funcText)) return FuncType.ZY; + } + else if (this.funcId == "x" && !Number.isNaN(Number(this.funcText))) return FuncType.XC; + else if (this.funcId == "y" && !Number.isNaN(Number(this.funcText))) return FuncType.YC; + else this.showToast("没有YX或XY类型函数||函数命名不可与自变量同名!"); + } + return FuncType.NONE; + } + + /** + * 判断当前点是否连续 + * @param xValue 当前x值 + * @param yValue 当前y值 + * @param zValue 当前z值 + * @param epsilon 模拟的逼近无限小值 + * @param threshold 模拟的逼近无限大值 + * @returns 返回一个布尔值,true则表示此点连续,false表示不连续 + */ + private judgeContinue(xValue: number, yValue: number, zValue?: number, epsilon: number = 1e-10, threshold: number = 1e5): boolean { + if (Number.isNaN(yValue) || Number.isNaN(zValue)) { + return false; + } + let leftLimitX: number = 0; + let rightLimitX: number = 0; + let leftLimitY: number = 0; + let rightLimitY: number = 0; + let standard: RegExp = new RegExp("(^|[^a-zA-Z])y($|[^a-zA-Z])") + try { + if (!standard.test(this.funcText)) { + leftLimitX = mathjs.evaluate(this.funcText, [{ char: "x", value: xValue - epsilon }]); + rightLimitX = mathjs.evaluate(this.funcText, [{ char: "x", value: xValue + epsilon }]); + if (Math.abs(rightLimitX - leftLimitX) > 10 * epsilon) { + return false; + } + if (Math.abs(leftLimitX - yValue) > 10 * epsilon || Math.abs(rightLimitX - yValue) > 10 * epsilon) { + return false; + } + } else { + leftLimitX = mathjs.evaluate(this.funcText, [{ char: "x", value: xValue - epsilon }, { char: "y", value: yValue }]); + rightLimitX = mathjs.evaluate(this.funcText, [{ char: "x", value: xValue + epsilon }, { char: "y", value: yValue }]); + leftLimitX = mathjs.evaluate(this.funcText, [{ char: "x", value: xValue }, { char: "y", value: yValue - epsilon }]); + rightLimitX = mathjs.evaluate(this.funcText, [{ char: "x", value: xValue }, { char: "y", value: yValue + epsilon }]); + if (Math.abs(rightLimitX - leftLimitX) > 10 * epsilon && Math.abs(rightLimitY - leftLimitY) > 10 * epsilon) { + return false; + } + if ((Math.abs(leftLimitX - zValue!) > 10 * epsilon || Math.abs(rightLimitX - zValue!) > 10 * epsilon) && (Math.abs(leftLimitY - zValue!) > 10 * epsilon || Math.abs(rightLimitY - zValue!) > 10 * epsilon)) { + return false; + } + } + const isLeftInfinite: boolean = Math.abs(leftLimitX) > threshold || Math.abs(leftLimitY) > threshold; + const isRightInfinite: boolean = Math.abs(rightLimitX) > threshold || Math.abs(rightLimitY) > threshold; + if (isLeftInfinite || isRightInfinite) { + return false; + } + } catch { + this.showToast("判断是否为间断点时发生错误,默认此点非连续"); + return false; + } + return true; + } + + /** + * 一元函数获取点的方法封装 + * @param independentVar 自变量 + * @param dependentVar 因变量 + * @param min 负轴坐标最大值 + * @param max 正轴坐标最大值 + * @param step 步长值 + * @param count 个数 + */ + private getPointsBasic(independentVar: string, dependentVar: string, min: number, max: number, step: number, count?: number) { + let _temp: number = Math.abs(max - min) / step; + if (_temp <= 10000) { + for (let argument: number = min; argument <= max && step > 0; argument += step) { + argument = Number(argument.toFixed(4)); + let standard: RegExp = new RegExp(`(^|[^a-zA-Z])${independentVar}($|[^a-zA-Z])`) + let calculateRes: number = 0; + if (standard.test(this.funcText)) { + try { + calculateRes = mathjs.evaluate(this.funcText, [{ char: independentVar, value: argument }]); + } catch { + this.coPot.length = 0; + this.showToast("运算过程中出错"); + return; + } + } + if (this.judgeContinue(argument, calculateRes)) { + // this.coPot.push({ [independentVar]: argument, [dependentVar]: calculateRes, pointType: PointType.CONTINUE }); + this.coPot.push({ pointType: PointType.CONTINUE }); + let index: number = this.coPot.length - 1; + if (independentVar == "x") this.coPot[index].x = argument; + else if (independentVar == "y") this.coPot[index].y = argument; + if (dependentVar == "y") this.coPot[index].y = calculateRes; + else if (dependentVar == "z") this.coPot[index].z = calculateRes; + } else { + // this.coPot.push({ [independentVar]: argument, pointType: PointType.DISCONTINUE }) + this.coPot.push({ pointType: PointType.DISCONTINUE }); + let index: number = this.coPot.length - 1; + if (independentVar == "x") this.coPot[index].x = argument; + else if (independentVar == "y") this.coPot[index].y = argument; + } + if (argument != max && argument + step > max) { + argument = max - step; + } + } + if (count && count > 0 && count < this.coPot.length) { + this.coPot = this.coPot.slice(0, count); + } + } else { + this.coPot.push({ x: 0, y: 0, pointType: PointType.CONTINUE }); + this.coPot.length = 1; + this.showToast("请适当增大步长"); + } + + } + + /** + * 获取用于绘制2维图像的各个坐标点 + * @returns 返回坐标点信息数组 + */ + getPoints2D(): IPoint[] { + this.coPot.length = 0; + if (this.getFuncType(Dimension.TWO) == FuncType.YX) { + this.getPointsBasic("x", "y", this.xMin, this.xMax, this.xStep, this.xCount); + } else if (this.getFuncType(Dimension.TWO) == FuncType.YC) { + this.coPot.push({ y: Number(this.funcText), pointType: PointType.CONTINUE }) + } else if (this.getFuncType(Dimension.TWO) == FuncType.XC) { + this.coPot.push({ x: Number(this.funcText), pointType: PointType.CONTINUE }) + } + return this.coPot; + } + + /** + * 获取用于绘制3维图像的各个坐标点 + * @returns 返回坐标点信息数组 + */ + getPoints3D(): IPoint[] { + this.coPot.length = 0; + if (this.getFuncType(Dimension.THREE) == FuncType.ZXY) { + let _temp: number = (Math.abs(this.yMax - this.yMin) / this.yStep) * (Math.abs(this.xMax - this.xMin) / this.xStep); + if (_temp <= 10000) { + for (let x: number = this.xMin; x <= this.xMax && this.xStep > 0; x += this.xStep) { + for (let y: number = this.yMin; y <= this.yMax && this.yStep > 0; y += this.yStep) { + x = Number(x.toFixed(4)); + y = Number(y.toFixed(4)); + let standard: RegExp = new RegExp("(^|[^a-zA-Z])(?:x|y)($|[^a-zA-Z])") + let z: number = 0; + if (standard.test(this.funcText)) { + try { + z = mathjs.evaluate(this.funcText, [{ char: "x", value: x }, { char: "y", value: y }]); + } catch { + this.coPot.length = 0; + this.showToast("运算过程中出错"); + return []; + } + } + if (this.judgeContinue(x, y)) { + this.coPot.push({ x: x, y: y, z: z, pointType: PointType.CONTINUE }); + } else { + this.coPot.push({ x: x, y: y, pointType: PointType.DISCONTINUE }) + } + if (y != this.yMax && y + this.yStep >= this.yMax) { + let temp: number = y + this.yStep + (-this.yMin); + this.col = Number((temp / this.yStep).toFixed(0)) + 1; + y = this.yMax - this.yStep; + } + } + if (x != this.xMax && x + this.xStep >= this.xMax) { + let temp: number = x + this.xStep + (-this.xMin); + this.row = Number((temp / this.xStep).toFixed(0)) + 1; + x = this.xMax - this.xStep; + } + } + } else { + this.coPot.push({ x: 0, y: 0, pointType: PointType.CONTINUE }); + this.coPot.length = 1; + this.showToast("请适当增大步长"); + } + // let row: number = Math.abs(this.xMax - this.xMin) / this.xStep; + // let col: number = Math.abs(this.yMax - this.yMin) / this.yStep; + // let temp: IPoint[] = []; + // if (this.xCount > 0 && this.yCount > 0 && this.xCount < row && this.yCount < col) { + // for (let i: number = 0; i < this.xCount * col; i += col) { + // temp = temp.concat(this.coPot.slice(i, i + this.yCount)); + // } + // this.coPot = temp; + // } else if (this.xCount > 0 && this.xCount < row) { + // this.coPot = this.coPot.slice(0, this.xCount * col); + // } else if (this.yCount > 0 && this.xCount < col) { + // for (let i: number = 0; i < this.coPot.length; i += col) { + // temp = temp.concat(this.coPot.slice(i, i + this.yCount)); + // } + // this.coPot = temp; + // } + } else if (this.getFuncType(Dimension.THREE) == FuncType.ZX) { + this.getPointsBasic("x", "z", this.xMin, this.xMax, this.xStep); + } else if (this.getFuncType(Dimension.THREE) == FuncType.ZY) { + this.getPointsBasic("y", "z", this.yMin, this.yMax, this.yStep); + } else if (this.getFuncType(Dimension.THREE) == FuncType.ZC) { + this.coPot.push({ z: Number(this.funcText), pointType: PointType.CONTINUE }); + } else if (this.getFuncType(Dimension.THREE) == FuncType.XC) { + this.coPot.push({ x: Number(this.funcText), pointType: PointType.CONTINUE }); + } else if (this.getFuncType(Dimension.THREE) == FuncType.YC) { + this.coPot.push({ y: Number(this.funcText), pointType: PointType.CONTINUE }); + } + return this.coPot; + } + + createNodeTree(func: string) { + this.separateFunc(func); + this.nodeTree = []; + if (this.isValidFunc(func)) { + let temp: RegExp = new RegExp("\\s+", "g"); + let machiningFunc: string = this.funcBody; + machiningFunc = machiningFunc.trim().replace(temp, ""); + this.nodeTree.push([machiningFunc]); + let leaf: Array> = mathjs.createNode(machiningFunc); + for (let i: number = 0; i < leaf.length; i++) { + if (leaf[i][0]) this.nodeTree.push([]); + else break; + for (let j: number = 0; j < leaf[i].length; j++) { + this.nodeTree[i + 1].push(leaf[i][j]); + } + } + } + return this.nodeTree; + } +} + +export let handle: ProcessFunc = new ProcessFunc(); \ No newline at end of file diff --git a/drawing/draw/entry/src/main/module.json5 b/drawing/draw/entry/src/main/module.json5 new file mode 100644 index 0000000..0f91820 --- /dev/null +++ b/drawing/draw/entry/src/main/module.json5 @@ -0,0 +1,44 @@ +{ + "module": { + "name": "entry", + "type": "entry", + "description": "$string:module_desc", + "mainElement": "EntryAbility", + "metadata": [ + { + "name": "ArkTSPartialUpdate", + "value": "true" + } + ], + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:main_pages", + "abilities": [ + { + "name": "EntryAbility", + "srcEntry": "./ets/entryability/EntryAbility.ets", + "description": "$string:EntryAbility_desc", + "icon": "$media:icon", + "label": "$string:EntryAbility_label", + "startWindowIcon": "$media:startIcon", + "startWindowBackground": "$color:start_window_background", + "exported": true, + "orientation": "landscape", + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ] + } + ] + } +} \ No newline at end of file diff --git a/drawing/draw/entry/src/main/resources/base/element/color.json b/drawing/draw/entry/src/main/resources/base/element/color.json new file mode 100644 index 0000000..3c71296 --- /dev/null +++ b/drawing/draw/entry/src/main/resources/base/element/color.json @@ -0,0 +1,8 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#FFFFFF" + } + ] +} \ No newline at end of file diff --git a/drawing/draw/entry/src/main/resources/base/element/string.json b/drawing/draw/entry/src/main/resources/base/element/string.json new file mode 100644 index 0000000..f945955 --- /dev/null +++ b/drawing/draw/entry/src/main/resources/base/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/drawing/draw/entry/src/main/resources/base/media/icon.png b/drawing/draw/entry/src/main/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cd45accb1dfd2fd0da16c732c72faa6e46b26521 GIT binary patch literal 2041 zcmaJ?c~nzZ9u6@;0AXaYAVN(;Kr(@>EJ+}skOWf=BA~*l4us@ELY9{%0m5QX6pnb} z(jZF|S&pLAS}3BZAfeQSvJ_h>F2Q1PYqi?o5`;m_yjZdG$1v}l_wK#F^L^iMz2}uD z#K$>1dON~kFlWvhW+Jp=tuN9J`ZlM-rl4h+ij|^D0y9;4JOuz-EdVnB6i3R-0ulk9 zApi4zAQA>!N9@-o026$1@L`d124`3G5<@_m`0f)Ug_Ie~;HT2q<_a=HH> zDwTdfD^-cW-|_xWVP$f@93UhDN-#&khZ>jZXLTi~$0`7x3REP6pk%&^2|`c>DutjN zMJD4Zs6Z}{FOpd;*mo2zm(GzXRXiCV;4m3zNCYnu3Fy=i5;2An&Lp!#LP;bRD~1&s z%VH6UY+}r6YDgG+p34OJIZ{BTn&%4s=CT&#TBkuOhdeU@g(w#guoa*b^)73=XyI65 z7Swys6)YS}?1EeZ6b!-I+yCnIya^g0>-NLsLWd8t56GZ_S3r|ZGbR+mV2ErEb9J)X zIF!njY-D-7{qtF2(?nlQ$0}!pzt=}hc*m%%)0Jb#N_K4@IC-`Pi5DahPZN7N9rH;ol;Gc*>-Go@gXKTM{eP)iJj6CYTIi}B#zLKZYD@_;m zrXmXXsFq@~ou-z!9bHoM8*(hwl>X(zm)TDcdkF4lZm$1jP*HbnD`o1$g}_R#+bu2D zr%7Y8KdsaC-V*aem5#@*M%r^GPgu%P2e-BnBClhP2yoGFe40>);=}>{NONtkXQ01p z)OX^t2Ojhddot9eg0WTIVSTNBa}7V-^_pO595w|Hx9q?k4dMp@$G7PK*TD=y;ck6J zdGRB!_RAI2nR3%tO1IkdWp*bw*?<=pM_LZb30?!oK)s;En( z!#nnd9=cXJ<}+e{XLdx(q3&ikJISe?eSHHohk+pz+$6Cv{ytvc{QXmMn2XQ9U8rvt zrJdAn(0gpSD@N=yTrI_2^P#*zQg7MTp1)k(lv(*(KtUR6@M|2WB>2wRwC-h=wk6XF zPtSes*_JwI+^d>xW489MJw5R6=t5?{R zc|E8i?RL@p9)A3ZJAQOg`}+F;<_vnWA!KxR#g%jZ@y_1Qu#Uw)kFPw_xmZ?a^e*1{ zM|ImtqA|(CaDQ@Fyvcof`MN66&VI6m6gAyAXx`%cDx6BI{Bj#}V*Rn1(b~;Am)D2u zX7(027IO?Z2VYK^1vXXpoZ@AtH~N?0rYWwtyA15`6vEf6fk&;o-L;7zFt`5nk*iOy z`<918zB+k;EytI$FAXug)jk*e@e};4e9g__w4A5ev!!)H$yC@{?vsRqJ##X1R%xPG z&_R3oDi$MtTkVqfPj)HEUDx_7wd!y{8#1%$U*Dd0sK@=#6+!XlsE-s^1f5E`R9Wo71^b~mbVdU;Fw0LG~mUQg;xsX4QYRo3B@rH_=ry>DE8ef!c2ta8UcI#26# zF|`*4wtMHe@%#eGZw`#Yj|QWuB`eRD)b~)r9mM95p_JVG%-IdcbIX5qG#GpGD+IrS zEqxb1Rg&Dadk5#7t4j68I1f!@A$efp1?I%&d*56)yl!tkz!14<$0Od_&6cGw$WW0r zjSlQA7l*6;vgfhv!cR|RmAD$+w6j`rVf=-?-D@q>kOseUVSb*~jbAS^*1h?ZL)n(9 zDa}`4etXO6`}9;{k5E^N{rcfnV_(LPwsDg``wtyS*V<19c3!PGJ3Kqy9ksvkwbJ%Z z*N(fT0{e*Wji-Ck5!3YE0j|PZ@&z`v=kitWL$bqSt!e4bH!+(|Q)CZ30^nVPfkx{s zX{6of`p=BiPb@u@IyL!tRk>?qgBqCmo-Zlt!636g?z`s~zdfwuB7DXZHvV`Usp+%Z zo*&;Biu@MHE&2j+?j^o`Cr12u<>vOe=a&8a2hlcmFjJiDR>XnD4c4DAhZWCkiAgW{ E51q9-lK=n! literal 0 HcmV?d00001 diff --git a/drawing/draw/entry/src/main/resources/base/media/startIcon.png b/drawing/draw/entry/src/main/resources/base/media/startIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..366f76459ffd4494ec40d0ddd5c59385b9c5da11 GIT binary patch literal 4351 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 literal 0 HcmV?d00001 diff --git a/drawing/draw/entry/src/main/resources/base/profile/main_pages.json b/drawing/draw/entry/src/main/resources/base/profile/main_pages.json new file mode 100644 index 0000000..55c3f00 --- /dev/null +++ b/drawing/draw/entry/src/main/resources/base/profile/main_pages.json @@ -0,0 +1,5 @@ +{ + "src": [ + "pages/Index" + ] +} \ No newline at end of file diff --git a/drawing/draw/entry/src/main/resources/en_US/element/string.json b/drawing/draw/entry/src/main/resources/en_US/element/string.json new file mode 100644 index 0000000..f945955 --- /dev/null +++ b/drawing/draw/entry/src/main/resources/en_US/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/drawing/draw/entry/src/main/resources/zh_CN/element/string.json b/drawing/draw/entry/src/main/resources/zh_CN/element/string.json new file mode 100644 index 0000000..597ecf9 --- /dev/null +++ b/drawing/draw/entry/src/main/resources/zh_CN/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "模块描述" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/drawing/draw/entry/src/ohosTest/ets/test/Ability.test.ets b/drawing/draw/entry/src/ohosTest/ets/test/Ability.test.ets new file mode 100644 index 0000000..8aa3749 --- /dev/null +++ b/drawing/draw/entry/src/ohosTest/ets/test/Ability.test.ets @@ -0,0 +1,35 @@ +import hilog from '@ohos.hilog'; +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'; + +export default function abilityTest() { + describe('ActsAbilityTest', () => { + // Defines a test suite. Two parameters are supported: test suite name and test suite function. + beforeAll(() => { + // Presets an action, which is performed only once before all test cases of the test suite start. + // This API supports only one parameter: preset action function. + }) + beforeEach(() => { + // Presets an action, which is performed before each unit test case starts. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: preset action function. + }) + afterEach(() => { + // Presets a clear action, which is performed after each unit test case ends. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: clear action function. + }) + afterAll(() => { + // Presets a clear action, which is performed after all test cases of the test suite end. + // This API supports only one parameter: clear action function. + }) + it('assertContain', 0, () => { + // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. + hilog.info(0x0000, 'testTag', '%{public}s', 'it begin'); + let a = 'abc'; + let b = 'b'; + // Defines a variety of assertion methods, which are used to declare expected boolean conditions. + expect(a).assertContain(b); + expect(a).assertEqual(a); + }) + }) +} \ No newline at end of file diff --git a/drawing/draw/entry/src/ohosTest/ets/test/List.test.ets b/drawing/draw/entry/src/ohosTest/ets/test/List.test.ets new file mode 100644 index 0000000..794c7dc --- /dev/null +++ b/drawing/draw/entry/src/ohosTest/ets/test/List.test.ets @@ -0,0 +1,5 @@ +import abilityTest from './Ability.test'; + +export default function testsuite() { + abilityTest(); +} \ No newline at end of file diff --git a/drawing/draw/entry/src/ohosTest/ets/testability/TestAbility.ets b/drawing/draw/entry/src/ohosTest/ets/testability/TestAbility.ets new file mode 100644 index 0000000..9484761 --- /dev/null +++ b/drawing/draw/entry/src/ohosTest/ets/testability/TestAbility.ets @@ -0,0 +1,50 @@ +import UIAbility from '@ohos.app.ability.UIAbility'; +import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; +import hilog from '@ohos.hilog'; +import { Hypium } from '@ohos/hypium'; +import testsuite from '../test/List.test'; +import window from '@ohos.window'; +import Want from '@ohos.app.ability.Want'; +import AbilityConstant from '@ohos.app.ability.AbilityConstant'; + +export default class TestAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onCreate'); + hilog.info(0x0000, 'testTag', '%{public}s', 'want param:' + JSON.stringify(want) ?? ''); + hilog.info(0x0000, 'testTag', '%{public}s', 'launchParam:' + JSON.stringify(launchParam) ?? ''); + let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator; + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); + let abilityDelegatorArguments: AbilityDelegatorRegistry.AbilityDelegatorArgs; + abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments(); + hilog.info(0x0000, 'testTag', '%{public}s', 'start run testcase!!!'); + Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite); + } + + onDestroy() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onDestroy'); + } + + onWindowStageCreate(windowStage: window.WindowStage) { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onWindowStageCreate'); + windowStage.loadContent('testability/pages/Index', (err, data) => { + if (err.code) { + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', + JSON.stringify(data) ?? ''); + }); + } + + onWindowStageDestroy() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onWindowStageDestroy'); + } + + onForeground() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onForeground'); + } + + onBackground() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onBackground'); + } +} \ No newline at end of file diff --git a/drawing/draw/entry/src/ohosTest/ets/testability/pages/Index.ets b/drawing/draw/entry/src/ohosTest/ets/testability/pages/Index.ets new file mode 100644 index 0000000..423b427 --- /dev/null +++ b/drawing/draw/entry/src/ohosTest/ets/testability/pages/Index.ets @@ -0,0 +1,17 @@ +@Entry +@Component +struct Index { + @State message: string = 'Hello World'; + + build() { + Row() { + Column() { + Text(this.message) + .fontSize(50) + .fontWeight(FontWeight.Bold) + } + .width('100%') + } + .height('100%') + } +} \ No newline at end of file diff --git a/drawing/draw/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets b/drawing/draw/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets new file mode 100644 index 0000000..917d27a --- /dev/null +++ b/drawing/draw/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets @@ -0,0 +1,47 @@ +import hilog from '@ohos.hilog'; +import TestRunner from '@ohos.application.testRunner'; +import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; +import Want from '@ohos.app.ability.Want'; + +let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator | undefined = undefined +let abilityDelegatorArguments: AbilityDelegatorRegistry.AbilityDelegatorArgs | undefined = undefined + +async function onAbilityCreateCallback() { + hilog.info(0x0000, 'testTag', '%{public}s', 'onAbilityCreateCallback'); +} + +async function addAbilityMonitorCallback(err : Error) { + hilog.info(0x0000, 'testTag', 'addAbilityMonitorCallback : %{public}s', JSON.stringify(err) ?? ''); +} + +export default class OpenHarmonyTestRunner implements TestRunner { + constructor() { + } + + onPrepare() { + hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner OnPrepare '); + } + + async onRun() { + hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner onRun run'); + abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments() + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator() + const bundleName = abilityDelegatorArguments.bundleName; + const testAbilityName = 'TestAbility'; + let lMonitor: AbilityDelegatorRegistry.AbilityMonitor = { + abilityName: testAbilityName, + onAbilityCreate: onAbilityCreateCallback, + }; + abilityDelegator.addAbilityMonitor(lMonitor, addAbilityMonitorCallback) + const want: Want = { + bundleName: bundleName, + abilityName: testAbilityName + }; + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); + abilityDelegator.startAbility(want, (err, data) => { + hilog.info(0x0000, 'testTag', 'startAbility : err : %{public}s', JSON.stringify(err) ?? ''); + hilog.info(0x0000, 'testTag', 'startAbility : data : %{public}s',JSON.stringify(data) ?? ''); + }) + hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner onRun end'); + } +} \ No newline at end of file diff --git a/drawing/draw/entry/src/ohosTest/module.json5 b/drawing/draw/entry/src/ohosTest/module.json5 new file mode 100644 index 0000000..4fc9701 --- /dev/null +++ b/drawing/draw/entry/src/ohosTest/module.json5 @@ -0,0 +1,37 @@ +{ + "module": { + "name": "entry_test", + "type": "feature", + "description": "$string:module_test_desc", + "mainElement": "TestAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:test_pages", + "abilities": [ + { + "name": "TestAbility", + "srcEntry": "./ets/testability/TestAbility.ets", + "description": "$string:TestAbility_desc", + "icon": "$media:icon", + "label": "$string:TestAbility_label", + "exported": true, + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:start_window_background", + "skills": [ + { + "actions": [ + "action.system.home" + ], + "entities": [ + "entity.system.home" + ] + } + ] + } + ] + } +} diff --git a/drawing/draw/entry/src/ohosTest/resources/base/element/color.json b/drawing/draw/entry/src/ohosTest/resources/base/element/color.json new file mode 100644 index 0000000..3c71296 --- /dev/null +++ b/drawing/draw/entry/src/ohosTest/resources/base/element/color.json @@ -0,0 +1,8 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#FFFFFF" + } + ] +} \ No newline at end of file diff --git a/drawing/draw/entry/src/ohosTest/resources/base/element/string.json b/drawing/draw/entry/src/ohosTest/resources/base/element/string.json new file mode 100644 index 0000000..65d8fa5 --- /dev/null +++ b/drawing/draw/entry/src/ohosTest/resources/base/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_test_desc", + "value": "test ability description" + }, + { + "name": "TestAbility_desc", + "value": "the test ability" + }, + { + "name": "TestAbility_label", + "value": "test label" + } + ] +} \ No newline at end of file diff --git a/drawing/draw/entry/src/ohosTest/resources/base/media/icon.png b/drawing/draw/entry/src/ohosTest/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c GIT binary patch literal 6790 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 { + // Defines a test suite. Two parameters are supported: test suite name and test suite function. + beforeAll(() => { + // Presets an action, which is performed only once before all test cases of the test suite start. + // This API supports only one parameter: preset action function. + }); + beforeEach(() => { + // Presets an action, which is performed before each unit test case starts. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: preset action function. + }); + afterEach(() => { + // Presets a clear action, which is performed after each unit test case ends. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: clear action function. + }); + afterAll(() => { + // Presets a clear action, which is performed after all test cases of the test suite end. + // This API supports only one parameter: clear action function. + }); + it('assertContain', 0, () => { + // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. + let a = 'abc'; + let b = 'b'; + // Defines a variety of assertion methods, which are used to declare expected boolean conditions. + expect(a).assertContain(b); + expect(a).assertEqual(a); + }); + }); +} \ No newline at end of file diff --git a/drawing/draw/hvigor/hvigor-config.json5 b/drawing/draw/hvigor/hvigor-config.json5 new file mode 100644 index 0000000..1a47490 --- /dev/null +++ b/drawing/draw/hvigor/hvigor-config.json5 @@ -0,0 +1,18 @@ +{ + "hvigorVersion": "3.0.9", + "dependencies": { + "@ohos/hvigor-ohos-plugin": "3.0.9" + }, + "execution": { + // "daemon": true, /* Enable daemon compilation. Default: true */ + // "incremental": true, /* Enable incremental compilation. Default: true */ + // "parallel": true, /* Enable parallel compilation. Default: true */ + // "typeCheck": false, /* Enable typeCheck. Default: false */ + }, + "logging": { + // "level": "info" /* Define the log level. Value: [ "debug" | "info" | "warn" | "error" ]. Default: "info" */ + }, + "debugging": { + // "stacktrace": false /* Disable stacktrace compilation. Default: false */ + } +} diff --git a/drawing/draw/hvigor/hvigor-wrapper.js b/drawing/draw/hvigor/hvigor-wrapper.js new file mode 100644 index 0000000..372eae8 --- /dev/null +++ b/drawing/draw/hvigor/hvigor-wrapper.js @@ -0,0 +1 @@ +"use strict";var u=require("path"),D=require("os"),e=require("fs"),t=require("crypto"),r=require("child_process"),n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},i={},C={},F=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(C,"__esModule",{value:!0}),C.maxPathLength=C.isMac=C.isLinux=C.isWindows=void 0;const E=F(D),A="Windows_NT",o="Darwin";function a(){return E.default.type()===A}function c(){return E.default.type()===o}C.isWindows=a,C.isLinux=function(){return"Linux"===E.default.type()},C.isMac=c,C.maxPathLength=function(){return c()?1016:a()?259:4095},function(e){var t=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),r=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),i=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&t(D,u,e);return r(D,u),D};Object.defineProperty(e,"__esModule",{value:!0}),e.WORK_SPACE=e.HVIGOR_PROJECT_WRAPPER_HOME=e.HVIGOR_PROJECT_ROOT_DIR=e.HVIGOR_PROJECT_CACHES_HOME=e.HVIGOR_PNPM_STORE_PATH=e.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH=e.PROJECT_CACHES=e.HVIGOR_WRAPPER_TOOLS_HOME=e.HVIGOR_USER_HOME=e.DEFAULT_PACKAGE_JSON=e.DEFAULT_HVIGOR_CONFIG_JSON_FILE_NAME=e.PNPM=e.HVIGOR=e.NPM_TOOL=e.PNPM_TOOL=e.HVIGOR_ENGINE_PACKAGE_NAME=void 0;const F=i(D),E=i(u),A=C;e.HVIGOR_ENGINE_PACKAGE_NAME="@ohos/hvigor",e.PNPM_TOOL=(0,A.isWindows)()?"pnpm.cmd":"pnpm",e.NPM_TOOL=(0,A.isWindows)()?"npm.cmd":"npm",e.HVIGOR="hvigor",e.PNPM="pnpm",e.DEFAULT_HVIGOR_CONFIG_JSON_FILE_NAME="hvigor-config.json5",e.DEFAULT_PACKAGE_JSON="package.json",e.HVIGOR_USER_HOME=E.resolve(F.homedir(),".hvigor"),e.HVIGOR_WRAPPER_TOOLS_HOME=E.resolve(e.HVIGOR_USER_HOME,"wrapper","tools"),e.PROJECT_CACHES="project_caches",e.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH=E.resolve(e.HVIGOR_WRAPPER_TOOLS_HOME,"node_modules",".bin",e.PNPM_TOOL),e.HVIGOR_PNPM_STORE_PATH=E.resolve(e.HVIGOR_USER_HOME,"caches"),e.HVIGOR_PROJECT_CACHES_HOME=E.resolve(e.HVIGOR_USER_HOME,e.PROJECT_CACHES),e.HVIGOR_PROJECT_ROOT_DIR=process.cwd(),e.HVIGOR_PROJECT_WRAPPER_HOME=E.resolve(e.HVIGOR_PROJECT_ROOT_DIR,e.HVIGOR),e.WORK_SPACE="workspace"}(i);var s={},l={};Object.defineProperty(l,"__esModule",{value:!0}),l.logInfoPrintConsole=l.logErrorAndExit=void 0,l.logErrorAndExit=function(u){u instanceof Error?console.error(u.message):console.error(u),process.exit(-1)},l.logInfoPrintConsole=function(u){console.log(u)};var B=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),d=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),f=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&B(D,u,e);return d(D,u),D};Object.defineProperty(s,"__esModule",{value:!0});var _=s.executeBuild=void 0;const p=f(e),O=f(u),h=l;_=s.executeBuild=function(u){const D=O.resolve(u,"node_modules","@ohos","hvigor","bin","hvigor.js");try{const u=p.realpathSync(D);require(u)}catch(e){(0,h.logErrorAndExit)(`Error: ENOENT: no such file ${D},delete ${u} and retry.`)}};var P={},v={};!function(u){var D=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(u,"__esModule",{value:!0}),u.hashFile=u.hash=u.createHash=void 0;const r=D(t),i=D(e);u.createHash=(u="MD5")=>r.default.createHash(u);u.hash=(D,e)=>(0,u.createHash)(e).update(D).digest("hex");u.hashFile=(D,e)=>{if(i.default.existsSync(D))return(0,u.hash)(i.default.readFileSync(D,"utf-8"),e)}}(v);var g={},m={},R={};Object.defineProperty(R,"__esModule",{value:!0}),R.Unicode=void 0;class y{}R.Unicode=y,y.SPACE_SEPARATOR=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,y.ID_START=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,y.ID_CONTINUE=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,Object.defineProperty(m,"__esModule",{value:!0}),m.JudgeUtil=void 0;const I=R;m.JudgeUtil=class{static isIgnoreChar(u){return"string"==typeof u&&("\t"===u||"\v"===u||"\f"===u||" "===u||" "===u||"\ufeff"===u||"\n"===u||"\r"===u||"\u2028"===u||"\u2029"===u)}static isSpaceSeparator(u){return"string"==typeof u&&I.Unicode.SPACE_SEPARATOR.test(u)}static isIdStartChar(u){return"string"==typeof u&&(u>="a"&&u<="z"||u>="A"&&u<="Z"||"$"===u||"_"===u||I.Unicode.ID_START.test(u))}static isIdContinueChar(u){return"string"==typeof u&&(u>="a"&&u<="z"||u>="A"&&u<="Z"||u>="0"&&u<="9"||"$"===u||"_"===u||"‌"===u||"‍"===u||I.Unicode.ID_CONTINUE.test(u))}static isDigitWithoutZero(u){return/[1-9]/.test(u)}static isDigit(u){return"string"==typeof u&&/[0-9]/.test(u)}static isHexDigit(u){return"string"==typeof u&&/[0-9A-Fa-f]/.test(u)}};var N=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(g,"__esModule",{value:!0}),g.parseJsonText=g.parseJsonFile=void 0;const b=N(e),S=N(D),w=N(u),H=m;var x;!function(u){u[u.Char=0]="Char",u[u.EOF=1]="EOF",u[u.Identifier=2]="Identifier"}(x||(x={}));let M,T,V,G,j,J,W="start",U=[],L=0,$=1,k=0,K=!1,z="default",q="'",Z=1;function X(u,D=!1){T=String(u),W="start",U=[],L=0,$=1,k=0,G=void 0,K=D;do{M=Q(),nu[W]()}while("eof"!==M.type);return G}function Q(){for(z="default",j="",q="'",Z=1;;){J=Y();const u=Du[z]();if(u)return u}}function Y(){if(T[L])return String.fromCodePoint(T.codePointAt(L))}function uu(){const u=Y();return"\n"===u?($++,k=0):u?k+=u.length:k++,u&&(L+=u.length),u}g.parseJsonFile=function(u,D=!1,e="utf-8"){const t=b.default.readFileSync(w.default.resolve(u),{encoding:e});try{return X(t,D)}catch(D){if(D instanceof SyntaxError){const e=D.message.split("at");if(2===e.length)throw new Error(`${e[0].trim()}${S.default.EOL}\t at ${u}:${e[1].trim()}`)}throw new Error(`${u} is not in valid JSON/JSON5 format.`)}},g.parseJsonText=X;const Du={default(){switch(J){case"/":return uu(),void(z="comment");case void 0:return uu(),eu("eof")}if(!H.JudgeUtil.isIgnoreChar(J)&&!H.JudgeUtil.isSpaceSeparator(J))return Du[W]();uu()},start(){z="value"},beforePropertyName(){switch(J){case"$":case"_":return j=uu(),void(z="identifierName");case"\\":return uu(),void(z="identifierNameStartEscape");case"}":return eu("punctuator",uu());case'"':case"'":return q=J,uu(),void(z="string")}if(H.JudgeUtil.isIdStartChar(J))return j+=uu(),void(z="identifierName");throw Eu(x.Char,uu())},afterPropertyName(){if(":"===J)return eu("punctuator",uu());throw Eu(x.Char,uu())},beforePropertyValue(){z="value"},afterPropertyValue(){switch(J){case",":case"}":return eu("punctuator",uu())}throw Eu(x.Char,uu())},beforeArrayValue(){if("]"===J)return eu("punctuator",uu());z="value"},afterArrayValue(){switch(J){case",":case"]":return eu("punctuator",uu())}throw Eu(x.Char,uu())},end(){throw Eu(x.Char,uu())},comment(){switch(J){case"*":return uu(),void(z="multiLineComment");case"/":return uu(),void(z="singleLineComment")}throw Eu(x.Char,uu())},multiLineComment(){switch(J){case"*":return uu(),void(z="multiLineCommentAsterisk");case void 0:throw Eu(x.Char,uu())}uu()},multiLineCommentAsterisk(){switch(J){case"*":return void uu();case"/":return uu(),void(z="default");case void 0:throw Eu(x.Char,uu())}uu(),z="multiLineComment"},singleLineComment(){switch(J){case"\n":case"\r":case"\u2028":case"\u2029":return uu(),void(z="default");case void 0:return uu(),eu("eof")}uu()},value(){switch(J){case"{":case"[":return eu("punctuator",uu());case"n":return uu(),tu("ull"),eu("null",null);case"t":return uu(),tu("rue"),eu("boolean",!0);case"f":return uu(),tu("alse"),eu("boolean",!1);case"-":case"+":return"-"===uu()&&(Z=-1),void(z="numerical");case".":case"0":case"I":case"N":return void(z="numerical");case'"':case"'":return q=J,uu(),j="",void(z="string")}if(void 0===J||!H.JudgeUtil.isDigitWithoutZero(J))throw Eu(x.Char,uu());z="numerical"},numerical(){switch(J){case".":return j=uu(),void(z="decimalPointLeading");case"0":return j=uu(),void(z="zero");case"I":return uu(),tu("nfinity"),eu("numeric",Z*(1/0));case"N":return uu(),tu("aN"),eu("numeric",NaN)}if(void 0!==J&&H.JudgeUtil.isDigitWithoutZero(J))return j=uu(),void(z="decimalInteger");throw Eu(x.Char,uu())},zero(){switch(J){case".":case"e":case"E":return void(z="decimal");case"x":case"X":return j+=uu(),void(z="hexadecimal")}return eu("numeric",0)},decimalInteger(){switch(J){case".":case"e":case"E":return void(z="decimal")}if(!H.JudgeUtil.isDigit(J))return eu("numeric",Z*Number(j));j+=uu()},decimal(){switch(J){case".":j+=uu(),z="decimalFraction";break;case"e":case"E":j+=uu(),z="decimalExponent"}},decimalPointLeading(){if(H.JudgeUtil.isDigit(J))return j+=uu(),void(z="decimalFraction");throw Eu(x.Char,uu())},decimalFraction(){switch(J){case"e":case"E":return j+=uu(),void(z="decimalExponent")}if(!H.JudgeUtil.isDigit(J))return eu("numeric",Z*Number(j));j+=uu()},decimalExponent(){switch(J){case"+":case"-":return j+=uu(),void(z="decimalExponentSign")}if(H.JudgeUtil.isDigit(J))return j+=uu(),void(z="decimalExponentInteger");throw Eu(x.Char,uu())},decimalExponentSign(){if(H.JudgeUtil.isDigit(J))return j+=uu(),void(z="decimalExponentInteger");throw Eu(x.Char,uu())},decimalExponentInteger(){if(!H.JudgeUtil.isDigit(J))return eu("numeric",Z*Number(j));j+=uu()},hexadecimal(){if(H.JudgeUtil.isHexDigit(J))return j+=uu(),void(z="hexadecimalInteger");throw Eu(x.Char,uu())},hexadecimalInteger(){if(!H.JudgeUtil.isHexDigit(J))return eu("numeric",Z*Number(j));j+=uu()},identifierNameStartEscape(){if("u"!==J)throw Eu(x.Char,uu());uu();const u=ru();switch(u){case"$":case"_":break;default:if(!H.JudgeUtil.isIdStartChar(u))throw Eu(x.Identifier)}j+=u,z="identifierName"},identifierName(){switch(J){case"$":case"_":case"‌":case"‍":return void(j+=uu());case"\\":return uu(),void(z="identifierNameEscape")}if(!H.JudgeUtil.isIdContinueChar(J))return eu("identifier",j);j+=uu()},identifierNameEscape(){if("u"!==J)throw Eu(x.Char,uu());uu();const u=ru();switch(u){case"$":case"_":case"‌":case"‍":break;default:if(!H.JudgeUtil.isIdContinueChar(u))throw Eu(x.Identifier)}j+=u,z="identifierName"},string(){switch(J){case"\\":return uu(),void(j+=function(){const u=Y(),D=function(){switch(Y()){case"b":return uu(),"\b";case"f":return uu(),"\f";case"n":return uu(),"\n";case"r":return uu(),"\r";case"t":return uu(),"\t";case"v":return uu(),"\v"}return}();if(D)return D;switch(u){case"0":if(uu(),H.JudgeUtil.isDigit(Y()))throw Eu(x.Char,uu());return"\0";case"x":return uu(),function(){let u="",D=Y();if(!H.JudgeUtil.isHexDigit(D))throw Eu(x.Char,uu());if(u+=uu(),D=Y(),!H.JudgeUtil.isHexDigit(D))throw Eu(x.Char,uu());return u+=uu(),String.fromCodePoint(parseInt(u,16))}();case"u":return uu(),ru();case"\n":case"\u2028":case"\u2029":return uu(),"";case"\r":return uu(),"\n"===Y()&&uu(),""}if(void 0===u||H.JudgeUtil.isDigitWithoutZero(u))throw Eu(x.Char,uu());return uu()}());case'"':case"'":if(J===q){const u=eu("string",j);return uu(),u}return void(j+=uu());case"\n":case"\r":case void 0:throw Eu(x.Char,uu());case"\u2028":case"\u2029":!function(u){console.warn(`JSON5: '${Fu(u)}' in strings is not valid ECMAScript; consider escaping.`)}(J)}j+=uu()}};function eu(u,D){return{type:u,value:D,line:$,column:k}}function tu(u){for(const D of u){if(Y()!==D)throw Eu(x.Char,uu());uu()}}function ru(){let u="",D=4;for(;D-- >0;){const D=Y();if(!H.JudgeUtil.isHexDigit(D))throw Eu(x.Char,uu());u+=uu()}return String.fromCodePoint(parseInt(u,16))}const nu={start(){if("eof"===M.type)throw Eu(x.EOF);iu()},beforePropertyName(){switch(M.type){case"identifier":case"string":return V=M.value,void(W="afterPropertyName");case"punctuator":return void Cu();case"eof":throw Eu(x.EOF)}},afterPropertyName(){if("eof"===M.type)throw Eu(x.EOF);W="beforePropertyValue"},beforePropertyValue(){if("eof"===M.type)throw Eu(x.EOF);iu()},afterPropertyValue(){if("eof"===M.type)throw Eu(x.EOF);switch(M.value){case",":return void(W="beforePropertyName");case"}":Cu()}},beforeArrayValue(){if("eof"===M.type)throw Eu(x.EOF);"punctuator"!==M.type||"]"!==M.value?iu():Cu()},afterArrayValue(){if("eof"===M.type)throw Eu(x.EOF);switch(M.value){case",":return void(W="beforeArrayValue");case"]":Cu()}},end(){}};function iu(){const u=function(){let u;switch(M.type){case"punctuator":switch(M.value){case"{":u={};break;case"[":u=[]}break;case"null":case"boolean":case"numeric":case"string":u=M.value}return u}();if(K&&"object"==typeof u&&(u._line=$,u._column=k),void 0===G)G=u;else{const D=U[U.length-1];Array.isArray(D)?K&&"object"!=typeof u?D.push({value:u,_line:$,_column:k}):D.push(u):D[V]=K&&"object"!=typeof u?{value:u,_line:$,_column:k}:u}!function(u){if(u&&"object"==typeof u)U.push(u),W=Array.isArray(u)?"beforeArrayValue":"beforePropertyName";else{const u=U[U.length-1];W=u?Array.isArray(u)?"afterArrayValue":"afterPropertyValue":"end"}}(u)}function Cu(){U.pop();const u=U[U.length-1];W=u?Array.isArray(u)?"afterArrayValue":"afterPropertyValue":"end"}function Fu(u){const D={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(D[u])return D[u];if(u<" "){const D=u.charCodeAt(0).toString(16);return`\\x${`00${D}`.substring(D.length)}`}return u}function Eu(u,D){let e="";switch(u){case x.Char:e=void 0===D?`JSON5: invalid end of input at ${$}:${k}`:`JSON5: invalid character '${Fu(D)}' at ${$}:${k}`;break;case x.EOF:e=`JSON5: invalid end of input at ${$}:${k}`;break;case x.Identifier:k-=5,e=`JSON5: invalid identifier character at ${$}:${k}`}const t=new Au(e);return t.lineNumber=$,t.columnNumber=k,t}class Au extends SyntaxError{}var ou={},au=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),cu=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),su=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&au(D,u,e);return cu(D,u),D},lu=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(ou,"__esModule",{value:!0}),ou.isFileExists=ou.offlinePluginConversion=ou.executeCommand=ou.getNpmPath=ou.hasNpmPackInPaths=void 0;const Bu=r,du=lu(e),fu=su(u),_u=i,pu=l;ou.hasNpmPackInPaths=function(u,D){try{return require.resolve(u,{paths:[...D]}),!0}catch(u){return!1}},ou.getNpmPath=function(){const u=process.execPath;return fu.join(fu.dirname(u),_u.NPM_TOOL)},ou.executeCommand=function(u,D,e){0!==(0,Bu.spawnSync)(u,D,e).status&&(0,pu.logErrorAndExit)(`Error: ${u} ${D} execute failed.See above for details.`)},ou.offlinePluginConversion=function(u,D){return D.startsWith("file:")||D.endsWith(".tgz")?fu.resolve(u,_u.HVIGOR,D.replace("file:","")):D},ou.isFileExists=function(u){return du.default.existsSync(u)&&du.default.statSync(u).isFile()};var Ou=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),hu=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),Pu=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&Ou(D,u,e);return hu(D,u),D},vu=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(P,"__esModule",{value:!0});var gu=P.initProjectWorkSpace=void 0;const mu=Pu(e),Ru=vu(D),yu=Pu(u),Iu=v,Nu=i,bu=g,Su=l,wu=ou;let Hu,xu,Mu;function Tu(u,D,e){return void 0!==e.dependencies&&(0,wu.offlinePluginConversion)(Nu.HVIGOR_PROJECT_ROOT_DIR,D.dependencies[u])===yu.normalize(e.dependencies[u])}function Vu(){const u=yu.join(Mu,Nu.WORK_SPACE);if((0,Su.logInfoPrintConsole)("Hvigor cleaning..."),!mu.existsSync(u))return;const D=mu.readdirSync(u);if(!D||0===D.length)return;const e=yu.resolve(Mu,"node_modules","@ohos","hvigor","bin","hvigor.js");mu.existsSync(e)&&(0,wu.executeCommand)(process.argv[0],[e,"--stop-daemon"],{});try{D.forEach((D=>{mu.rmSync(yu.resolve(u,D),{recursive:!0})}))}catch(D){(0,Su.logErrorAndExit)(`The hvigor build tool cannot be installed. Please manually clear the workspace directory and synchronize the project again.\n\n Workspace Path: ${u}.`)}}gu=P.initProjectWorkSpace=function(){if(Hu=function(){const u=yu.resolve(Nu.HVIGOR_PROJECT_WRAPPER_HOME,Nu.DEFAULT_HVIGOR_CONFIG_JSON_FILE_NAME);mu.existsSync(u)||(0,Su.logErrorAndExit)(`Error: Hvigor config file ${u} does not exist.`);return(0,bu.parseJsonFile)(u)}(),Mu=function(u){let D;D=function(u){let D=u.hvigorVersion;if(D.startsWith("file:")||D.endsWith(".tgz"))return!1;const e=u.dependencies,t=Object.getOwnPropertyNames(e);for(const u of t){const D=e[u];if(D.startsWith("file:")||D.endsWith(".tgz"))return!1}if(1===t.length&&"@ohos/hvigor-ohos-plugin"===t[0])return D>"2.5.0";return!1}(u)?function(u){let D=`${Nu.HVIGOR_ENGINE_PACKAGE_NAME}@${u.hvigorVersion}`;const e=u.dependencies;if(e){Object.getOwnPropertyNames(e).sort().forEach((u=>{D+=`,${u}@${e[u]}`}))}return(0,Iu.hash)(D)}(u):(0,Iu.hash)(process.cwd());return yu.resolve(Ru.default.homedir(),".hvigor","project_caches",D)}(Hu),xu=function(){const u=yu.resolve(Mu,Nu.WORK_SPACE,Nu.DEFAULT_PACKAGE_JSON);return mu.existsSync(u)?(0,bu.parseJsonFile)(u):{dependencies:{}}}(),!(0,wu.hasNpmPackInPaths)(Nu.HVIGOR_ENGINE_PACKAGE_NAME,[yu.join(Mu,Nu.WORK_SPACE)])||(0,wu.offlinePluginConversion)(Nu.HVIGOR_PROJECT_ROOT_DIR,Hu.hvigorVersion)!==xu.dependencies[Nu.HVIGOR_ENGINE_PACKAGE_NAME]||!function(){function u(u){const D=null==u?void 0:u.dependencies;return void 0===D?0:Object.getOwnPropertyNames(D).length}const D=u(Hu),e=u(xu);if(D+1!==e)return!1;for(const u in null==Hu?void 0:Hu.dependencies)if(!(0,wu.hasNpmPackInPaths)(u,[yu.join(Mu,Nu.WORK_SPACE)])||!Tu(u,Hu,xu))return!1;return!0}()){Vu();try{!function(){(0,Su.logInfoPrintConsole)("Hvigor installing...");for(const u in Hu.dependencies)Hu.dependencies[u]&&(Hu.dependencies[u]=(0,wu.offlinePluginConversion)(Nu.HVIGOR_PROJECT_ROOT_DIR,Hu.dependencies[u]));const u={dependencies:{...Hu.dependencies}};u.dependencies[Nu.HVIGOR_ENGINE_PACKAGE_NAME]=(0,wu.offlinePluginConversion)(Nu.HVIGOR_PROJECT_ROOT_DIR,Hu.hvigorVersion);const D=yu.join(Mu,Nu.WORK_SPACE);try{mu.mkdirSync(D,{recursive:!0});const e=yu.resolve(D,Nu.DEFAULT_PACKAGE_JSON);mu.writeFileSync(e,JSON.stringify(u))}catch(u){(0,Su.logErrorAndExit)(u)}(function(){const u=["config","set","store-dir",Nu.HVIGOR_PNPM_STORE_PATH],D={cwd:yu.join(Mu,Nu.WORK_SPACE),stdio:["inherit","inherit","inherit"]};(0,wu.executeCommand)(Nu.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH,u,D)})(),function(){const u=["install"],D={cwd:yu.join(Mu,Nu.WORK_SPACE),stdio:["inherit","inherit","inherit"]};(0,wu.executeCommand)(Nu.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH,u,D)}(),(0,Su.logInfoPrintConsole)("Hvigor install success.")}()}catch(u){Vu()}}return Mu};var Gu={};!function(t){var C=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),F=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),E=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&C(D,u,e);return F(D,u),D},A=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(t,"__esModule",{value:!0}),t.executeInstallPnpm=t.isPnpmInstalled=t.environmentHandler=t.checkNpmConifg=t.PNPM_VERSION=void 0;const o=r,a=E(e),c=A(D),s=E(u),B=i,d=l,f=ou;t.PNPM_VERSION="7.30.0",t.checkNpmConifg=function(){const u=s.resolve(B.HVIGOR_PROJECT_ROOT_DIR,".npmrc"),D=s.resolve(c.default.homedir(),".npmrc");if((0,f.isFileExists)(u)||(0,f.isFileExists)(D))return;const e=(0,f.getNpmPath)(),t=(0,o.spawnSync)(e,["config","get","prefix"],{cwd:B.HVIGOR_PROJECT_ROOT_DIR});if(0!==t.status||!t.stdout)return void(0,d.logErrorAndExit)("Error: The hvigor depends on the npmrc file. Configure the npmrc file first.");const r=s.resolve(`${t.stdout}`.replace(/[\r\n]/gi,""),".npmrc");(0,f.isFileExists)(r)||(0,d.logErrorAndExit)("Error: The hvigor depends on the npmrc file. Configure the npmrc file first.")},t.environmentHandler=function(){process.env["npm_config_update-notifier"]="false"},t.isPnpmInstalled=function(){return!!a.existsSync(B.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH)&&(0,f.hasNpmPackInPaths)("pnpm",[B.HVIGOR_WRAPPER_TOOLS_HOME])},t.executeInstallPnpm=function(){(0,d.logInfoPrintConsole)(`Installing pnpm@${t.PNPM_VERSION}...`);const u=(0,f.getNpmPath)();!function(){const u=s.resolve(B.HVIGOR_WRAPPER_TOOLS_HOME,B.DEFAULT_PACKAGE_JSON);try{a.existsSync(B.HVIGOR_WRAPPER_TOOLS_HOME)||a.mkdirSync(B.HVIGOR_WRAPPER_TOOLS_HOME,{recursive:!0});const D={dependencies:{}};D.dependencies[B.PNPM]=t.PNPM_VERSION,a.writeFileSync(u,JSON.stringify(D))}catch(D){(0,d.logErrorAndExit)(`Error: EPERM: operation not permitted,create ${u} failed.`)}}(),(0,f.executeCommand)(u,["install","pnpm"],{cwd:B.HVIGOR_WRAPPER_TOOLS_HOME,stdio:["inherit","inherit","inherit"],env:process.env}),(0,d.logInfoPrintConsole)("Pnpm install success.")}}(Gu),function(){Gu.checkNpmConifg(),Gu.environmentHandler(),Gu.isPnpmInstalled()||Gu.executeInstallPnpm();const D=gu();_(u.join(D,i.WORK_SPACE))}(); \ No newline at end of file diff --git a/drawing/draw/hvigorfile.ts b/drawing/draw/hvigorfile.ts new file mode 100644 index 0000000..f3cb9f1 --- /dev/null +++ b/drawing/draw/hvigorfile.ts @@ -0,0 +1,6 @@ +import { appTasks } from '@ohos/hvigor-ohos-plugin'; + +export default { + system: appTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ + plugins:[] /* Custom plugin to extend the functionality of Hvigor. */ +} diff --git a/drawing/draw/hvigorw b/drawing/draw/hvigorw new file mode 100644 index 0000000..ff6a29a --- /dev/null +++ b/drawing/draw/hvigorw @@ -0,0 +1,48 @@ +#!/bin/bash + +# ---------------------------------------------------------------------------- +# Hvigor startup script, version 1.0.0 +# +# Required ENV vars: +# ------------------ +# NODE_HOME - location of a Node home dir +# or +# Add /usr/local/nodejs/bin to the PATH environment variable +# ---------------------------------------------------------------------------- + +HVIGOR_APP_HOME="`pwd -P`" +HVIGOR_WRAPPER_SCRIPT=${HVIGOR_APP_HOME}/hvigor/hvigor-wrapper.js +warn() { + echo "" + echo -e "\033[1;33m`date '+[%Y-%m-%d %H:%M:%S]'`$@\033[0m" +} + +error() { + echo "" + echo -e "\033[1;31m`date '+[%Y-%m-%d %H:%M:%S]'`$@\033[0m" +} + +fail() { + error "$@" + exit 1 +} + +# Determine node to start hvigor wrapper script +if [ -n "${NODE_HOME}" ];then + EXECUTABLE_NODE="${NODE_HOME}/bin/node" + if [ ! -x "$EXECUTABLE_NODE" ];then + fail "ERROR: NODE_HOME is set to an invalid directory,check $NODE_HOME\n\nPlease set NODE_HOME in your environment to the location where your nodejs installed" + fi +else + EXECUTABLE_NODE="node" + which ${EXECUTABLE_NODE} > /dev/null 2>&1 || fail "ERROR: NODE_HOME is not set and not 'node' command found in your path" +fi + +# Check hvigor wrapper script +if [ ! -r "$HVIGOR_WRAPPER_SCRIPT" ];then + fail "ERROR: Couldn't find hvigor/hvigor-wrapper.js in ${HVIGOR_APP_HOME}" +fi + +# start hvigor-wrapper script +exec "${EXECUTABLE_NODE}" \ + "${HVIGOR_WRAPPER_SCRIPT}" "$@" diff --git a/drawing/draw/hvigorw.bat b/drawing/draw/hvigorw.bat new file mode 100644 index 0000000..d570007 --- /dev/null +++ b/drawing/draw/hvigorw.bat @@ -0,0 +1,64 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Hvigor startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +set WRAPPER_MODULE_PATH=%APP_HOME%\hvigor\hvigor-wrapper.js +set NODE_EXE=node.exe + +goto start + +:start +@rem Find node.exe +if defined NODE_HOME goto findNodeFromNodeHome + +%NODE_EXE% --version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: NODE_HOME is not set and no 'node' command could be found in your PATH. +echo. +echo Please set the NODE_HOME variable in your environment to match the +echo location of your NodeJs installation. + +goto fail + +:findNodeFromNodeHome +set NODE_HOME=%NODE_HOME:"=% +set NODE_EXE_PATH=%NODE_HOME%/%NODE_EXE% + +if exist "%NODE_EXE_PATH%" goto execute +echo. +echo ERROR: NODE_HOME is not set and no 'node' command could be found in your PATH. +echo. +echo Please set the NODE_HOME variable in your environment to match the +echo location of your NodeJs installation. + +goto fail + +:execute +@rem Execute hvigor +"%NODE_EXE%" "%WRAPPER_MODULE_PATH%" %* + +if "%ERRORLEVEL%" == "0" goto hvigorwEnd + +:fail +exit /b 1 + +:hvigorwEnd +if "%OS%" == "Windows_NT" endlocal + +:end diff --git a/drawing/draw/oh-package-lock.json5 b/drawing/draw/oh-package-lock.json5 new file mode 100644 index 0000000..ddc8a54 --- /dev/null +++ b/drawing/draw/oh-package-lock.json5 @@ -0,0 +1,13 @@ +{ + "lockfileVersion": 1, + "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", + "specifiers": { + "@ohos/hypium@1.0.11": "@ohos/hypium@1.0.11" + }, + "packages": { + "@ohos/hypium@1.0.11": { + "resolved": "https://repo.harmonyos.com/ohpm/@ohos/hypium/-/hypium-1.0.11.tgz", + "integrity": "sha512-KawcLnv43C3QIYv1UbDnKCFX3MohtDxGuFvzlUxT/qf2DBilR56Ws6zrj90LdH6PjloJQwOPESuBQIHBACAK7w==" + } + } +} \ No newline at end of file diff --git a/drawing/draw/oh-package.json5 b/drawing/draw/oh-package.json5 new file mode 100644 index 0000000..f0c54ba --- /dev/null +++ b/drawing/draw/oh-package.json5 @@ -0,0 +1,12 @@ +{ + "license": "", + "devDependencies": { + "@ohos/hypium": "1.0.11" + }, + "author": "", + "name": "myapplication", + "description": "Please describe the basic information.", + "main": "", + "version": "1.0.0", + "dependencies": {} +} diff --git a/drawing/draw/package-lock.json b/drawing/draw/package-lock.json new file mode 100644 index 0000000..e10b254 --- /dev/null +++ b/drawing/draw/package-lock.json @@ -0,0 +1,58 @@ +{ + "name": "draw", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "dependencies": { + "echarts": "^5.5.0" + } + }, + "node_modules/echarts": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.0.tgz", + "integrity": "sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==", + "dependencies": { + "tslib": "2.3.0", + "zrender": "5.5.0" + } + }, + "node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, + "node_modules/zrender": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.5.0.tgz", + "integrity": "sha512-O3MilSi/9mwoovx77m6ROZM7sXShR/O/JIanvzTwjN3FORfLSr81PsUGd7jlaYOeds9d8tw82oP44+3YucVo+w==", + "dependencies": { + "tslib": "2.3.0" + } + } + }, + "dependencies": { + "echarts": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.0.tgz", + "integrity": "sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==", + "requires": { + "tslib": "2.3.0", + "zrender": "5.5.0" + } + }, + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, + "zrender": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.5.0.tgz", + "integrity": "sha512-O3MilSi/9mwoovx77m6ROZM7sXShR/O/JIanvzTwjN3FORfLSr81PsUGd7jlaYOeds9d8tw82oP44+3YucVo+w==", + "requires": { + "tslib": "2.3.0" + } + } + } +} diff --git a/drawing/draw/package.json b/drawing/draw/package.json new file mode 100644 index 0000000..121abb4 --- /dev/null +++ b/drawing/draw/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "echarts": "^5.5.0" + } +} diff --git a/drawing/figs/evolution.png b/drawing/figs/evolution.png new file mode 100644 index 0000000000000000000000000000000000000000..41ed06a66d08ebbdab0e2d9f8457d648e991f9ab GIT binary patch literal 136259 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 Xhc3P?DBZNn0AJTM4K&`X-3k3KPuL_$ literal 0 HcmV?d00001 diff --git a/drawing/figs/relation.png b/drawing/figs/relation.png new file mode 100644 index 0000000000000000000000000000000000000000..c79f9fb9c8376ad0f0bd18c53715b71a5366dc7b GIT binary patch literal 322394 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 z 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%0DwS`3pND$_|I6#lw-vFGW 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 z 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

eWLMvIj`SP1b=d8`9G85>A?0i@}EP}OqE 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 z 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 literal 0 HcmV?d00001