diff --git a/FA/Malignant_skin_tumor/.gitignore b/FA/Malignant_skin_tumor/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..39187ebed671ccfd399a7e88520b1075926c058e
--- /dev/null
+++ b/FA/Malignant_skin_tumor/.gitignore
@@ -0,0 +1,4 @@
+/node_modules
+/local.properties
+/.idea
+**/build
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/build-profile.json5 b/FA/Malignant_skin_tumor/build-profile.json5
new file mode 100644
index 0000000000000000000000000000000000000000..3854f71fc436e7d67fb03828698562f4dc8a3abb
--- /dev/null
+++ b/FA/Malignant_skin_tumor/build-profile.json5
@@ -0,0 +1,27 @@
+{
+ "app": {
+ "signingConfigs": [],
+ "compileSdkVersion": 8,
+ "compatibleSdkVersion": 8,
+ "products": [
+ {
+ "name": "default",
+ "signingConfig": "default",
+ }
+ ]
+ },
+ "modules": [
+ {
+ "name": "entry",
+ "srcPath": "./entry",
+ "targets": [
+ {
+ "name": "default",
+ "applyToProducts": [
+ "default"
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/.gitignore b/FA/Malignant_skin_tumor/entry/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..4f9a973815d0b5e49bc8547681a6b4bc7a178d12
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/.gitignore
@@ -0,0 +1,3 @@
+/node_modules
+/.preview
+/build
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/build-profile.json5 b/FA/Malignant_skin_tumor/entry/build-profile.json5
new file mode 100644
index 0000000000000000000000000000000000000000..09fbaf41fa38c8543903a0e47561a25e6d983cba
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/build-profile.json5
@@ -0,0 +1,10 @@
+{
+ "apiType": 'faMode',
+ "buildOption": {
+ },
+ "targets": [
+ {
+ "name": "default",
+ }
+ ]
+}
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/hvigorfile.js b/FA/Malignant_skin_tumor/entry/hvigorfile.js
new file mode 100644
index 0000000000000000000000000000000000000000..bcec4c99653062cbf17702c40a2dd2a7b809b81a
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/hvigorfile.js
@@ -0,0 +1,2 @@
+// Script for compiling build behavior. It is built in the build plug-in and cannot be modified currently.
+module.exports = require('@ohos/hvigor-ohos-plugin').legacyHapTasks
diff --git a/FA/Malignant_skin_tumor/entry/package-lock.json b/FA/Malignant_skin_tumor/entry/package-lock.json
new file mode 100644
index 0000000000000000000000000000000000000000..15bc7145be1490029883067847743ea7134cf545
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/package-lock.json
@@ -0,0 +1,5 @@
+{
+ "name": "entry",
+ "version": "1.0.0",
+ "lockfileVersion": 1
+}
diff --git a/FA/Malignant_skin_tumor/entry/package.json b/FA/Malignant_skin_tumor/entry/package.json
new file mode 100644
index 0000000000000000000000000000000000000000..c4e988f30f2ec9e3430a4d0c8f05e89fabbc2659
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/package.json
@@ -0,0 +1,13 @@
+{
+ "name": "entry",
+ "version": "1.0.0",
+ "ohos": {
+ "org": "huawei",
+ "buildTool": "hvigor",
+ "directoryLevel": "module"
+ },
+ "description": "example description",
+ "repository": {},
+ "license": "ISC",
+ "dependencies": {}
+}
diff --git a/FA/Malignant_skin_tumor/entry/src/main/config.json b/FA/Malignant_skin_tumor/entry/src/main/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..9fa542964d2c6345d00bb5d318967225b78b1dc1
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/config.json
@@ -0,0 +1,72 @@
+{
+ "app": {
+ "vendor": "example",
+ "bundleName": "com.example.malignant_skin_tumor",
+ "version": {
+ "code": 1000000,
+ "name": "1.0.0"
+ }
+ },
+ "deviceConfig": {},
+ "module": {
+ "mainAbility": ".MainAbility",
+ "deviceType": [
+ "phone",
+ "tablet"
+ ],
+ "abilities": [
+ {
+ "skills": [
+ {
+ "entities": [
+ "entity.system.home"
+ ],
+ "actions": [
+ "action.system.home"
+ ]
+ }
+ ],
+ "orientation": "unspecified",
+ "visible": true,
+ "srcPath": "MainAbility",
+ "name": ".MainAbility",
+ "srcLanguage": "js",
+ "icon": "$media:icon",
+ "description": "$string:MainAbility_desc",
+ "formsEnabled": false,
+ "label": "$string:MainAbility_label",
+ "type": "page",
+ "launchType": "standard"
+ }
+ ],
+ "distro": {
+ "moduleType": "entry",
+ "installationFree": false,
+ "deliveryWithInstall": true,
+ "moduleName": "entry"
+ },
+ "package": "com.example.entry",
+ "srcPath": "",
+ "name": ".entry",
+ "js": [
+ {
+ "pages": [
+ "pages/first/first",
+ "pages/login/login",
+ "pages/register/register",
+ "pages/second/second",
+ "pages/text1/text1",
+ "pages/text2/text2",
+ "pages/text3/text3",
+ "pages/text4/text4",
+ "pages/third/third"
+ ],
+ "name": ".MainAbility",
+ "window": {
+ "designWidth": 720,
+ "autoDesignWidth": false
+ }
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/app.js b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/app.js
new file mode 100644
index 0000000000000000000000000000000000000000..49a7f633c0482bd7ab1b744dd7f130a233ebbf44
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/app.js
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2022 TumorIsKnowledge Device Co., Ltd.
+ * Licensed under the Apache License,Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+export default {
+ onCreate() {
+ console.info("Application onCreate");
+ },
+ onDestroy() {
+ console.info("Application onDestroy");
+ }
+};
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/1hhome.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/1hhome.png
new file mode 100644
index 0000000000000000000000000000000000000000..1956c9d10ce319b0172df8b4457bee5888c425bf
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/1hhome.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/1home.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/1home.png
new file mode 100644
index 0000000000000000000000000000000000000000..75106b871c77fbd159d50e7b8e3bee088302b719
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/1home.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/2hserve.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/2hserve.png
new file mode 100644
index 0000000000000000000000000000000000000000..610fc8a7988badd5cd5f7bd3c20d7e9714685c8c
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/2hserve.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/2serve.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/2serve.png
new file mode 100644
index 0000000000000000000000000000000000000000..07c19346a61cf4da32b02664860e2740f133da96
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/2serve.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/3hme.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/3hme.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce483364454f6ad9fbe6ae47143d1d9d9dd97d31
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/3hme.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/3me.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/3me.png
new file mode 100644
index 0000000000000000000000000000000000000000..865fcab3eaaaf7b6ddc89d58ba59fbba1dc575cc
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/3me.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/pt.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/pt.png
new file mode 100644
index 0000000000000000000000000000000000000000..62bf22547066715f18768725d9086284922165b5
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/pt.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/sc.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/sc.png
new file mode 100644
index 0000000000000000000000000000000000000000..8eab1694f7141f8ba30d5a0fb91e2e8515e6c7f4
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/sc.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/ts.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/ts.png
new file mode 100644
index 0000000000000000000000000000000000000000..c87bdc8873655ab85ed0be12019f26ce25e36c70
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/Icon/ts.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/components/tabber/tabber.css b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/components/tabber/tabber.css
new file mode 100644
index 0000000000000000000000000000000000000000..28ea08c116ede6fb13f4667a3239fc97e47effb1
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/components/tabber/tabber.css
@@ -0,0 +1,5 @@
+.tabbar {
+ position: fixed;
+ left: 0;
+ bottom: 0;
+}
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/components/tabber/tabber.hml b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/components/tabber/tabber.hml
new file mode 100644
index 0000000000000000000000000000000000000000..c2241ec1b9a356d16455a64c5fbf15be3542a5da
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/components/tabber/tabber.hml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/components/tabber/tabber.js b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/components/tabber/tabber.js
new file mode 100644
index 0000000000000000000000000000000000000000..86e5d9027ace178ba69a23840cbab1f1cc2ccbfa
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/components/tabber/tabber.js
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2022 TumorIsKnowledge Device Co., Ltd.
+ * Licensed under the Apache License,Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import tabbarItems from '../../../common/datas/tabbarltem';
+import router from '@system.router';
+export default {
+ data:{
+ tabbarItems
+ },
+ props:{
+ index:{
+ type: Number,
+ default(){
+ return 0;
+ }
+ }
+ },
+ jump(index){
+ switch(index){
+ case 0:
+ router.push({
+ uri:"pages/first/first",
+ params:{
+ info:"这是路由传递的参数"
+ }
+ })
+ break;
+ case 1:
+ router.push({
+ uri:"pages/second/second",
+ params:{
+ info:"这是路由传递的参数"
+ }
+ })
+ break;
+ case 2:
+ router.push({
+ uri:"pages/third/third",
+ params:{
+ info:"这是路由传递的参数"
+ }
+ })
+ break;
+ }
+ }
+}
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/css/common.css b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/css/common.css
new file mode 100644
index 0000000000000000000000000000000000000000..a3aa6933024ad95d0c23c9fc419857260dfde4e2
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/css/common.css
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2021 Huawei Device Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+.container{
+ flex: 1;
+ flex-direction: column;
+}
+
+.page-title-wrap {
+ padding-top: 50px;
+ padding-bottom: 50px;
+ justify-content: center;
+}
+
+.page-title{
+ border-color: #bbbbbb;
+ color: #bbbbbb;
+ border-bottom-width: 2px;
+}
+
+.btn {
+ width: 100px;
+ height: 50px;
+ background-color: #639AFF;
+ font-size: 20px;
+/* text-color: #FFFFFF;*/
+ margin: 10px;
+}
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/datas/tabbarltem.js b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/datas/tabbarltem.js
new file mode 100644
index 0000000000000000000000000000000000000000..04e146d011513901c082818e695f60091424ea80
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/datas/tabbarltem.js
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2022 TumorIsKnowledge Device Co., Ltd.
+ * Licensed under the Apache License,Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+export default [
+ //使用绝对路径
+ {
+ img:'common/Icon/1hhome.png',
+ simg:'common/Icon/1home.png',
+ name:'首页',
+ },
+ {
+ img:'common/Icon/2hserve.png',
+ simg:'common/Icon/2serve.png',
+ name:'报告',
+ },
+ {
+ img:'common/Icon/3hme.png',
+ simg:'common/Icon/3me.png',
+ name:'我的',
+ },
+]
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image2/S.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image2/S.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd58d43b93aea70c0cab5e7813e993a124bbd622
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image2/S.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/1.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/1.png
new file mode 100644
index 0000000000000000000000000000000000000000..dc47d0035d77ae2b5706441ffeff019498da2d13
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/1.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/2.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/2.png
new file mode 100644
index 0000000000000000000000000000000000000000..f683d5ec7ccff8036fb3254f5c1ada08d4e57349
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/2.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/3.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/3.png
new file mode 100644
index 0000000000000000000000000000000000000000..74cd2b714ab8ab4d2979ed8120e1ea503dfa50bd
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/3.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/4.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/4.png
new file mode 100644
index 0000000000000000000000000000000000000000..bdfb6751eb6683838fe281819ea8af6ae089ee87
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/4.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/5.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/5.png
new file mode 100644
index 0000000000000000000000000000000000000000..d18df194b79f0ff62d67aebda8913575b2e34787
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/5.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/6.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/6.png
new file mode 100644
index 0000000000000000000000000000000000000000..6734c93f6214145573449a73007039da0b814642
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/6.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/7.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/7.png
new file mode 100644
index 0000000000000000000000000000000000000000..87c6ced602600d61d156b7063d0047836ef1a95e
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/7.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/8.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/8.png
new file mode 100644
index 0000000000000000000000000000000000000000..ee06a5b52be0ff8c7be82c20d360d9ebd1607526
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/8.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/a.bmp b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/a.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..3f90a4388e08ad82716ced787a23dd47f73e0d7f
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_a/a.bmp differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_st/logo.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_st/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..32add96294778a743a20801a550fe3a8da99afbe
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_st/logo.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_st/mm.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_st/mm.png
new file mode 100644
index 0000000000000000000000000000000000000000..74b0ec1f98105938f4414387592eb38213a33a64
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_st/mm.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_st/zh.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_st/zh.png
new file mode 100644
index 0000000000000000000000000000000000000000..be418015c1a785734a7735d0146934ae953a2671
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/image_st/zh.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/1.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/1.png
new file mode 100644
index 0000000000000000000000000000000000000000..ea2f033f89f8f10b5a1a4160685592ee8e126f58
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/1.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/10.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/10.png
new file mode 100644
index 0000000000000000000000000000000000000000..38eab2f7e359c64141f19c7d3aff19e8bd631e59
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/10.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/11.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/11.png
new file mode 100644
index 0000000000000000000000000000000000000000..9fc93fd412745a60ed104eb5e1ad49787ca0ea12
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/11.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/2.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/2.png
new file mode 100644
index 0000000000000000000000000000000000000000..d602d513df91d998ee91cc0916b508a92d804c25
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/2.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/3.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/3.png
new file mode 100644
index 0000000000000000000000000000000000000000..97d6d934e5e0920fabe3cc3fdc67378c7e4aef19
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/3.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/4.jpg b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/4.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..1a804d045ce357494dc6c2e54f851491fa9fdfef
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/4.jpg differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/4.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/4.png
new file mode 100644
index 0000000000000000000000000000000000000000..28c9dd2f1f86f0f553fd1406579ece8f42161a37
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/4.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/5.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/5.png
new file mode 100644
index 0000000000000000000000000000000000000000..9443cffe34270319c4ef0d87db0d53bcac42af03
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/5.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/6.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/6.png
new file mode 100644
index 0000000000000000000000000000000000000000..c9a4500dab144ace22e1b75cc64b364121dc8f4a
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/6.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/7.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/7.png
new file mode 100644
index 0000000000000000000000000000000000000000..182c3f317bd3495e300d80d8208181cc22846709
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/7.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/8.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/8.png
new file mode 100644
index 0000000000000000000000000000000000000000..4930c23c8fcd22367238126aeb87205974eb2786
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/8.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/9.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/9.png
new file mode 100644
index 0000000000000000000000000000000000000000..b23ae427c4e3cd8a7ca8bb5c4191f0aced6086ff
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/9.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/QRcode.svg b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/QRcode.svg
new file mode 100644
index 0000000000000000000000000000000000000000..52f22c615946100b05ca0281e5367a85392e6e5e
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/QRcode.svg
@@ -0,0 +1,18 @@
+
+
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/S.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/S.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd58d43b93aea70c0cab5e7813e993a124bbd622
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/S.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/Wallpaper.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/Wallpaper.png
new file mode 100644
index 0000000000000000000000000000000000000000..60d4841a80eb20c63de74306cb7f8350d6a85c48
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/Wallpaper.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/about.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/about.png
new file mode 100644
index 0000000000000000000000000000000000000000..fbad6b550d8ba2d548d34a4d0194cc9d78f02928
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/about.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/bg-history.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/bg-history.png
new file mode 100644
index 0000000000000000000000000000000000000000..dc9aa39553f61ec70b7b527a1a1b6c24f4faa4ff
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/bg-history.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/camera.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/camera.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd06b04856f02d6405ec796e90ce1b776e0f2f04
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/camera.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/close-l.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/close-l.png
new file mode 100644
index 0000000000000000000000000000000000000000..f97e454b7261e3c3b426d22839e0b59db294a751
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/close-l.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei1.webp b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei1.webp
new file mode 100644
index 0000000000000000000000000000000000000000..3d17f4b3efa22c4885dea696df370d9dfc0b62c2
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei1.webp differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei2.webp b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei2.webp
new file mode 100644
index 0000000000000000000000000000000000000000..5bf2353d7a36bcf3da650440711790e8d73ad790
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei2.webp differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei3.jpg b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei3.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..09c7eea37e1a12bf375a35cf66e490db213c10c1
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei3.jpg differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei4.jpg b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei4.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..56fbc1c6d6d13fedc03388af7a06ed71966e5f54
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei4.jpg differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei5.jpg b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei5.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..68ebd1f2098af6ae26280f155d4adcc2b0410bb8
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei5.jpg differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei6.jpg b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei6.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..64f9ce3d10252beb075bab11a0713971815f88bf
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei6.jpg differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei7.jpg b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei7.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..21fcf4412ea3b05a7ac376e5b1cf972580654e0a
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei7.jpg differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei8.jpg b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei8.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..8eb19cd1e61b9f0dfc54720cce0daa8b6c0ab116
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei8.jpg differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei9.jpg b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei9.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..4e5868823ea6bca78f7e5ae87f500377d4426230
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/hei9.jpg differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/icon_app.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/icon_app.png
new file mode 100644
index 0000000000000000000000000000000000000000..c4c992cfa8f22e716e2c9da31d2c530d513b49b5
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/icon_app.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/jiantou.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/jiantou.png
new file mode 100644
index 0000000000000000000000000000000000000000..b9114434699ac35592c38fd0f8413aaf5de24d4f
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/jiantou.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/logo.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..f3861f89645627dfa7e5cb527577e02280deb2a4
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/logo.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/logo_koutu.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/logo_koutu.png
new file mode 100644
index 0000000000000000000000000000000000000000..1a1635146118937bafe2bb87e5c130e65c0154ff
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/logo_koutu.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/message.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/message.png
new file mode 100644
index 0000000000000000000000000000000000000000..c71b797225217409a8eeb6ee001f4975965241e5
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/message.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/mine_about.svg b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/mine_about.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1b4e2a5a17d558fb151af240be2cae1b3800b84e
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/mine_about.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/mine_message.svg b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/mine_message.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4b9a72a3dc5cf39c9f2394eba1b382a93d6e28bd
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/mine_message.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/mine_quit.svg b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/mine_quit.svg
new file mode 100644
index 0000000000000000000000000000000000000000..997ee2c084070dc8d7452d66e82f413a7d532d5a
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/mine_quit.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/mine_set.svg b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/mine_set.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5dca06f2e4069a2f528012712d654574c90e6d8e
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/mine_set.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/p11.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/p11.png
new file mode 100644
index 0000000000000000000000000000000000000000..a0f4409f0e179ac6431807950502fd51f9ad7c1e
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/p11.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/p12.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/p12.png
new file mode 100644
index 0000000000000000000000000000000000000000..c670c3b3913334bda18634b1c2cfcf13912c86b0
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/p12.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/p13.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/p13.png
new file mode 100644
index 0000000000000000000000000000000000000000..561dd917cd0ec473edbb13ca6a4d2131f690609f
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/p13.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/p14.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/p14.png
new file mode 100644
index 0000000000000000000000000000000000000000..d5a4b55f6ccc7fa75e5c785ccbcfb322fb0fd18e
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/p14.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/p15.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/p15.png
new file mode 100644
index 0000000000000000000000000000000000000000..4c743feb644764d4726a3035b0c893297c6084e6
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/p15.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/quit.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/quit.png
new file mode 100644
index 0000000000000000000000000000000000000000..71f89aa3f35a48deef52256b8473228d3733bae6
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/quit.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/return.svg b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/return.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4ae07086479459af73aa226db0b54e3739a57d05
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/return.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/return1.svg b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/return1.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a0cc928fcc7b6234988c8473a56efaee2f5405e7
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/return1.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/set.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/set.png
new file mode 100644
index 0000000000000000000000000000000000000000..c1652d2e7a426df03809196c1bb454df29a17f4b
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/set.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/tx.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/tx.png
new file mode 100644
index 0000000000000000000000000000000000000000..83dd0522f18c3f33fe23c5c3592d42b3235b9acf
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/tx.png differ
diff --git "a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/\345\210\206\346\236\220.png" "b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/\345\210\206\346\236\220.png"
new file mode 100644
index 0000000000000000000000000000000000000000..9441a0c3bacd2a1d902928222ac4fe2fbd18ac83
Binary files /dev/null and "b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/\345\210\206\346\236\220.png" differ
diff --git "a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/\347\254\224\350\256\260\346\234\254.png" "b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/\347\254\224\350\256\260\346\234\254.png"
new file mode 100644
index 0000000000000000000000000000000000000000..6335dfc7598f88cf3a46b026c1205c93dcf4c06e
Binary files /dev/null and "b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/\347\254\224\350\256\260\346\234\254.png" differ
diff --git "a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/\347\264\247\346\200\245.png" "b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/\347\264\247\346\200\245.png"
new file mode 100644
index 0000000000000000000000000000000000000000..1732fc741dc88db191ef4b038173a13c99bde130
Binary files /dev/null and "b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/images/\347\264\247\346\200\245.png" differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/1hhome.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/1hhome.png
new file mode 100644
index 0000000000000000000000000000000000000000..1956c9d10ce319b0172df8b4457bee5888c425bf
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/1hhome.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/1home.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/1home.png
new file mode 100644
index 0000000000000000000000000000000000000000..75106b871c77fbd159d50e7b8e3bee088302b719
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/1home.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/2hserve.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/2hserve.png
new file mode 100644
index 0000000000000000000000000000000000000000..610fc8a7988badd5cd5f7bd3c20d7e9714685c8c
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/2hserve.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/2serve.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/2serve.png
new file mode 100644
index 0000000000000000000000000000000000000000..07c19346a61cf4da32b02664860e2740f133da96
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/2serve.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/3hme.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/3hme.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce483364454f6ad9fbe6ae47143d1d9d9dd97d31
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/3hme.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/3me.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/3me.png
new file mode 100644
index 0000000000000000000000000000000000000000..865fcab3eaaaf7b6ddc89d58ba59fbba1dc575cc
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/3me.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/pt.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/pt.png
new file mode 100644
index 0000000000000000000000000000000000000000..62bf22547066715f18768725d9086284922165b5
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/pt.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/sc.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/sc.png
new file mode 100644
index 0000000000000000000000000000000000000000..8eab1694f7141f8ba30d5a0fb91e2e8515e6c7f4
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/sc.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/ts.png b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/ts.png
new file mode 100644
index 0000000000000000000000000000000000000000..c87bdc8873655ab85ed0be12019f26ce25e36c70
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/common/lcon/ts.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/i18n/en-US.json b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/i18n/en-US.json
new file mode 100644
index 0000000000000000000000000000000000000000..55561b83737c3c31d082fbfa11e5fc987a351104
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/i18n/en-US.json
@@ -0,0 +1,8 @@
+{
+ "strings": {
+ "hello": "Hello",
+ "world": "World"
+ },
+ "Files": {
+ }
+}
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/i18n/zh-CN.json b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/i18n/zh-CN.json
new file mode 100644
index 0000000000000000000000000000000000000000..cce1af06761a42add0cac1a0567aa3237eda8cb4
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/i18n/zh-CN.json
@@ -0,0 +1,8 @@
+{
+ "strings": {
+ "hello": "您好",
+ "world": "世界"
+ },
+ "Files": {
+ }
+}
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/first/first.css b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/first/first.css
new file mode 100644
index 0000000000000000000000000000000000000000..8c320e5b9ad053e08cbe3c035c517ab45c5ed109
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/first/first.css
@@ -0,0 +1,116 @@
+#wrapper {
+ flex-direction: column;
+}
+
+#div7 {
+ width: 100%;
+ height: 50px;
+ background-color: #bb96f3;
+}
+
+.input1{
+ margin-top: 30%;
+ width: 90%;
+ height: 100px;
+ margin-left: 5%;
+}
+
+.containerc{
+ width: 90%;
+/* height: 200fp;*/
+ margin-left: 5%;
+}
+
+.swiper-style {
+/* indicator-color: #8388f8;!*轮播图*!*/
+/* indicator-selected-color: #9ebbde;*/
+/* indicator-size: 5px;*/
+ margin-top: 15px;
+}
+
+.image-mode{
+ object-fit: contain;
+}
+
+.remin{
+ width: 90%;
+ margin-left: 7%;
+ margin-top: 2%;
+ border-color: black;
+ border-width: 2px;
+}
+
+.ld{
+ top: 7px;
+ width: 40px;
+ height: 40px;
+}
+
+.ts{
+ width:80%;
+ text-align: center;
+}
+
+.introduce{
+ font-size: 25px;
+/* font-family: HYQiHei-65S;*/
+ margin-top: 3px;
+ padding: 0px;
+}
+
+.tp{
+ width: 200px;
+ height: 150px;
+ border-radius: 5px 5px 5px 5px;
+ box-shadow: 1px 1px 1px 1px #d6d6d6;
+ margin-right: 10px;
+}
+
+.container {
+ flex-direction: column;
+ width: 100%;
+}
+
+.title{
+ height: 50px;
+ font-size: 25px;
+ color: grey;
+ margin-top: 0px;
+ margin-left: 30px;
+}
+
+.text1{
+ flex-direction: column;
+ margin-left: 12px;
+ width: 70%;
+ text-align: left;
+}
+
+.text2{
+ font-size: 50px;
+ display: grid;
+}
+
+.text3{
+ font-size: 35px;
+ font-weight:500;
+ color: darkgrey;
+/* width:400px;*/
+ display: grid;
+}
+
+.list{
+ width: 96%;
+ margin-left: 5%;
+/* height: 1000px;*/
+/* columns: 1;*/
+}
+
+.listitem{
+ width: 100%;
+ height: 200px;
+ border-bottom: 1px solid #DEDEDE;
+ align-items: center;
+ font-size: 20px;
+}
+
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/first/first.hml b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/first/first.hml
new file mode 100644
index 0000000000000000000000000000000000000000..33532513df2316c51ede739ed2b9dd90eeb434b5
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/first/first.hml
@@ -0,0 +1,57 @@
+
+
+
+
+
/*搜索服务*/
+
+
+
+
/*提示服务*/
+
+ /*轮播图*/
+
+
+
+
+
点击了解相关信息
+
+
+
+
+
+ 什么是黑色素瘤
+ 具体展开谈论
+
+
+
+
+
+
+
+ 黑色素瘤早知道
+ 早发现,早就诊
+
+
+
+
+
+
+
+ 黑色素瘤耐受性
+ 耐受性发生的新机制
+
+
+
+
+
+
+
+ 黑色素瘤的免疫治疗
+ 黑色素瘤患者指南
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/first/first.js b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/first/first.js
new file mode 100644
index 0000000000000000000000000000000000000000..f60ed7539a811c1b6a03970d6b6ce8b96d34bf56
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/first/first.js
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2022 TumorIsKnowledge Device Co., Ltd.
+ * Licensed under the Apache License,Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import router from '@system.router';
+
+export default {
+ launch() {
+ router.push ({
+ uri1:'pages/page2/page2', // 指定要跳转的页面
+ })
+ },
+ by() {
+ router.push ({
+ uri:'pages/page1/page1', // 跳转到注册页面
+ })
+ },
+ text1() {
+ router.push ({
+ uri:'pages/text1/text1', // 跳转到注册页面
+ })
+ },
+ text2() {
+ router.push ({
+ uri:'pages/text2/text2', // 跳转到注册页面
+ })
+ },
+ text3() {
+ router.push ({
+ uri:'pages/text3/text3', // 跳转到注册页面
+ })
+ },
+ text4() {
+ router.push ({
+ uri:'pages/text4/text4', // 跳转到注册页面
+ })
+ },
+ data: {
+ title: "",
+
+ fresh:false,
+ // descriptionFirstParagraph:'右上方进行拍照识别,分级诊疗。\n下方是一下关于黑色素瘤的知识。',
+ //不能大写
+ //轮播图片
+ imageList: ['/common/images/p11.png', '/common/images/p12.png', '/common/images/p13.png', '/common/images/p14.png', '/common/images/p15.png'],
+ scrollAmount: 5,
+ loop: -1,
+ marqueeDir: 'left',
+ // marqueeCustomData: '右上方进行拍照识别,进行分级诊疗。\n下方是一下关于黑色素瘤的知识。',
+ //将["","","","",""...]结构的数据转化为[["","",""],["",""],["","",""]...]结构
+ // ["one","two"],
+ datas:[
+ ["three","four","five"],
+ ["six","seven"],
+ ["eight","nine","ten"]]
+
+ },
+ //输入框内容改变时执行
+ searchChange(e){
+ //将输入框中的值赋给变量 id
+ this.id = e.value;
+ },
+ closeSecond(e) {
+ this.second = false;
+ }
+}
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/login/login.css b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/login/login.css
new file mode 100644
index 0000000000000000000000000000000000000000..b6ec140b1c10a44e288205d89f1f4f67c1159479
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/login/login.css
@@ -0,0 +1,101 @@
+.container {
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: center;
+}
+
+.image-mode{
+ margin-top: 100px;
+ margin-bottom: 30px;
+ width: 80%;
+/* object-fit: cover;*/
+ height: 190px;
+}
+
+.title {
+ margin-top: 10px;
+ font-size: 30px;
+ color: #1216D8;
+}
+
+/* 输入框 */
+.content {
+ margin-left: 10%;
+ margin-right: 10%;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+}
+
+.input {
+/* placeholder-color: gray;*/
+ margin-top: 20px;
+ justify-content: center;
+ align-items: center;
+}
+
+/* 对class#EB0F54n"的组件设置样式 */
+.button {
+ width: 100px;
+ height: 50px;
+ background-color: #4c5cf1;
+ font-size: 20px;
+/* text-color: #FFFFFF;*/
+ margin: 20px;
+ margin-top: 10px;
+}
+
+
+.problemprivacy {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ margin-top: 30%;
+}
+
+.divbutton {
+/* width: 90%;*/
+ flex-direction: column; /* 按照列排 */
+ align-items: center; /* 在X轴方向上居中 */
+ top:50px;
+}
+
+.divloginbuttontext {
+ left: 250px;
+ top: 25px;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+ font-size: 40px;
+ font-weight: normal;
+ color: #FFFFFF;
+}
+
+.divregisterbuttontext {
+ left: 210px;
+ top: 25px;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+ font-size: 40px;
+ font-weight: normal;
+ color: #5868E8;
+}
+
+/* 对class#EB0F54n"的组件设置样式 */
+.loginbutton {
+ border-radius: 50px;
+ width: 100%;
+ height: 100px;
+ background-color: #5868E8;
+ margin-bottom: 16px;
+}
+
+/* 对class#EB0F54n"的组件设置样式 */
+.registerbutton {
+ border-radius: 50px;
+ width: 100%;
+ height: 100px;
+ background-color: #e0dad4;
+}
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/login/login.hml b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/login/login.hml
new file mode 100644
index 0000000000000000000000000000000000000000..0f77629a1af45f5f23d725340b25a461ea1f2d7f
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/login/login.hml
@@ -0,0 +1,38 @@
+
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/login/login.js b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/login/login.js
new file mode 100644
index 0000000000000000000000000000000000000000..d56784611174929933ffbea42770d66bf62417d5
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/login/login.js
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2022 TumorIsKnowledge Device Co., Ltd.
+ * Licensed under the Apache License,Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import router from '@system.router';
+
+export default {
+ login() {
+ router.push ({
+ uri:'pages/first/first', // 跳转到注册页面
+ })
+ },
+ register(){
+ router.push({
+ uri:'pages/register/register',
+ })
+ },
+ data: {
+ title: "",
+ },
+}
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/register/register.css b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/register/register.css
new file mode 100644
index 0000000000000000000000000000000000000000..9e3178ce0babd54f7600c3b7a20bd2fbc3cf06aa
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/register/register.css
@@ -0,0 +1,118 @@
+@import '../../common/css/common.css';
+.container {
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: center;
+}
+
+.page-title-wrap {
+ padding-top: 30px;
+ justify-content: center;
+}
+
+.image-mode{
+ margin-end: 50px;
+ margin-top: 50px;
+ margin-bottom: 30px;
+ width: 80%;
+ object-fit: cover;
+}
+
+.input-container{
+ justify-content: center;
+ margin-bottom: 30px;
+}
+.input-text {
+/* placeholder-color: gray;*/
+ margin-left: 30px;
+ margin-right: 30px;
+ height: 100px;
+}
+.idbtn{
+/* width: 200fp;*/
+ margin-right: 30px;
+ font-size: 15px;
+ background-color: #2d6dea;
+}
+.item-container {
+ margin-left: 30px;
+ margin-bottom: 20px;
+}
+.item-container1 {
+ margin-left: -130px;
+ margin-bottom: 20px;
+}
+.item-container2 {
+ margin-left: -160px;
+ margin-bottom: 20px;
+}
+.item-container3 {
+ margin-left: -190px;
+ margin-bottom: 20px;
+}
+
+
+.item-title {
+ font-size: 40px;
+ padding-left: 30px;
+ padding-right: 20px;
+ color: #aaaaaa;
+ text-align: left;
+}
+
+.item-content {
+ width: 300px;
+ height: 60px;
+ border-radius: 30px;
+ background-color: aliceblue;
+ justify-content: center;
+ text-align: left;
+}
+
+
+.select{
+ text-align: left;
+}
+
+
+/*.content1_1 {*/
+/* margin-top: 10px;*/
+/* justify-content: center;*/
+/* align-items: center;*/
+/*}*/
+
+/* 对class#EB0F54n"的组件设置样式 */
+.button {
+ width: 200px;
+ height: 100px;
+ background-color: #5768e4;
+ font-size: 20px;
+/* text-color: #FFFFFF;*/
+ margin: 10px;
+ border-radius: 50px;
+}
+
+.buttontext {
+ left: 60px;
+ top: 27px;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+ font-size: 40px;
+ font-weight: normal;
+ color: #FFFFFF;
+}
+
+/*.suredialog{*/
+/* height: 30%;*/
+/* width: 80%;*/
+/* align-content: center;*/
+/*}*/
+
+.dialog-div{
+ flex-direction: column;
+ align-items: center;
+ align-content: center;
+ justify-content: center;
+ margin-bottom: 20px;
+}
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/register/register.hml b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/register/register.hml
new file mode 100644
index 0000000000000000000000000000000000000000..1ea1d8128a390159a37253d7cff4674f1e7f1f86
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/register/register.hml
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 地区
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/register/register.js b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/register/register.js
new file mode 100644
index 0000000000000000000000000000000000000000..313bfceca081d0d25865b1e9d03b3e78a5435f96
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/register/register.js
@@ -0,0 +1,198 @@
+/*
+ * Copyright (c) 2022 TumorIsKnowledge Device Co., Ltd.
+ * Licensed under the Apache License,Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import storage from '@system.storage';
+import prompt from '@system.prompt'
+import router from '@system.router'
+import http from '@ohos.net.http'
+export default {
+ data: {
+ phone: '',
+ psw: '',
+ name: '',
+ idNumber: '',
+ date: '1990-01-01',
+ gender: 'male',
+ area: '亚洲',
+ },
+
+ getPhone(e) {
+ this.phone = e.value;
+ console.info("phone=" + this.phone)
+ },
+
+ getPsw(e){
+ this.psw = e.value;
+ },
+
+ getName(e){
+ this.name = e.value;
+ },
+
+ getIdNumber(e){
+ this.idNumber = e.value;
+ },
+
+ getDate(e) {
+ this.date = e.year + '-' + (e.month + 1) + '-' + e.day;
+ console.info("date=" + this.date)
+ },
+
+ getFemaleGender(e) {
+ if (e.checked) {
+ this.gender = 'female'
+ }
+ },
+
+ getMaleGender(e) {
+ if (e.checked) {
+ this.gender = 'male'
+ }
+ },
+
+ getArea(e) {
+ this.area = e.newValue;
+ console.info("area=" + this.area)
+ },
+
+ onRegister() {
+ const reg = /^1(3\d|4[5-9]|5[0-35-9]|6[567]|7[0-8]|8\d|9[0-35-9])\d{8}$/;
+ if(!reg.test(this.phone)){
+ prompt.showToast({ // 提示请求错误
+ message: '手机号非法',
+ duration: 3000,
+ })
+ return;
+ }
+
+ if (this.psw.length < 6) {
+ prompt.showToast({
+ message: this.$t('密码至少为6位')
+ })
+ return;
+ }
+
+ if (this.name.length == 0) {
+ prompt.showToast({
+ message: this.$t('姓名不能为空')
+ })
+ return;
+ }
+
+ if (this.date.length == 0) {
+ prompt.showToast({
+ message: this.$t('日期不能为空')
+ })
+ return;
+ }
+
+ let _IDRe18 = /^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
+ let _IDRe15 = /^([1-6][1-9]|50)\d{4}\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}$/
+
+ if(!_IDRe18.test(this.idNumber) && !_IDRe15.test(this.idNumber)){
+ prompt.showToast({ // 提示请求错误
+ message: '身份证号非法'+this.idNumber,
+ duration: 3000,
+ })
+ return;
+ }
+ this.$element('hintDialog').show()
+ },
+
+ sethintDialog(e) {
+ this.$element('hintDialog').close()
+ // let声明的变量的作用域是块或者子块
+ let httpRequest = http.createHttp();
+ // 创建一个http,里面包括发起请求、中断请求、订阅/取消订阅HTTP Response Header 事件。
+ // 每一个HttpRequest对象对应一个Http请求。如需发起多个Http请求,须为每个Http请求创建对应HttpRequest对象。
+ //返回一个HttpRequest对象,里面包括request、destroy、on和off方法。
+
+ let url = "http://124.70.109.103:8000/userRegister/";
+
+ httpRequest.request(url, {
+ // 注意请求方法:http.POST
+ method: 'POST',
+ extraData: {
+ phone: this.phone,
+ password: this.psw,
+ name: this.name,
+ gender: this.gender,
+ date: this.date,
+ idNumber: this.idNumber,
+ },
+ }, (err, data)=> { // 判断是否请求成功
+ if (!err) { // 请求成功
+ this.returnContent = JSON.parse(data.result); //JSON.parse(字符串)——将字符串转换成json数据格式
+ var code = this.returnContent.code; //使用json将province赋值给code
+ if(code==400){
+ prompt.showToast({ // 提示请求错误
+ message: this.returnContent.errmsg,
+ duration: 3000,
+ })
+ }
+
+ if(code==200){
+
+ storage.set({
+ key: 'id',
+ value: this.phone,
+ });
+
+ storage.set({
+ key: 'psw',
+ value: this.psw,
+ });
+
+ router.push ({
+ uri:'pages/index/index', //跳转到指定页面
+ })
+ prompt.showToast({ // 提示信息
+ message: this.returnContent.message,
+ duration: 3000,
+ })
+ }
+
+ } else { // 请求失败
+ prompt.showToast({
+ message: data.result,
+ duration: 3000,
+ });
+ }
+ })
+ },
+
+ last() {
+ router.push({
+ uri:'pages/login/login', // 指定要跳转的页面
+ })
+ },
+
+
+ // // 生日选择器
+ // chooseBirthday(e) {
+ // let month = (e.month + 1) + "";
+ // if (month.length == 1) {
+ // month = "0" + month;
+ // }
+ // let day = e.day + "";
+ // if (day.length == 1) {
+ // tex day = "0" + day;
+ // }
+ // let birthday = e.year + "-" + month + "-" + day;
+ // this.birthday = birthday;
+ // this.birthdayVal = birthday;
+ // },
+
+}
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/second/second.css b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/second/second.css
new file mode 100644
index 0000000000000000000000000000000000000000..3af25e6d57e80efb4210c000d83dbc58a0d09c5c
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/second/second.css
@@ -0,0 +1,431 @@
+.container {
+ margin-top: 10px;
+ flex-direction: column;
+ margin-left: 3%;
+ margin-right: 3%;
+}
+
+.listdiv{
+ width: 100%;
+/* height: 100%;*/
+ font-size: 25px;
+ margin-top: 20px;
+ margin-bottom: 20px;
+ color: #000000;
+ opacity: 0.9;
+ font-size: 28px;
+}
+
+.list-item{
+ width: 100%;
+ height: 80px;
+ display: flex;
+ justify-content: space-around;
+ align-items: center;
+ margin-bottom: 5px;
+ border-bottom: 1px solid black;
+ border-width: 2px;
+ border-color: black;
+}
+
+.textdiv{
+ font-size: 30px;
+ font-weight: bold;
+}
+
+
+.imputdiv{
+ width: 100%;
+ height: 35%;
+}
+.button1{
+ width: 100%;
+ height: 60%;
+ display: flex;
+ flex-direction: row;
+}
+/*.listG{*/
+/* height: 100px;*/
+/* border-color: black;*/
+/* border-width: 2px;*/
+/* z-index: 1;*/
+/*}*/
+.listitem{
+ width: 100%;
+ height: 60px;
+ line-height: 60px;
+ border-bottom: 1px solid #DEDEDE;
+ align-items: center;
+ font-size: 20px;
+}
+.group{
+ width: 96%;
+ height: 600px;
+ padding-left: 3%;
+ margin-left: 2%;
+ display: flex;
+/* border-bottom: 1px solid #DEDEDE;*/
+ border-width: 1px;
+ border-color: black;
+ border-radius: 15px;
+ box-shadow: 3px 3px 3px 3px #d6d6d6;
+ font-size: 20px;
+ font-weight:500;
+ z-index: 1;
+}
+.group1{
+ width: 96%;
+ height: 60px;
+ padding-left: 3%;
+ margin-left: 6%;
+ z-index:2;
+}
+
+/*.groupvalue{*/
+/* font-size: 16px;*/
+/* width: 95%;*/
+/* height: 60px;*/
+/* margin-left: 15%;*/
+/* border-bottom: 1px solid #DEDEDE;*/
+/*}*/
+
+.head{
+ width: 100%;
+ height: 50px;
+ background-color: #6f7ee9;
+}
+
+/*.head_text{*/
+/* align-items: center;*/
+/* text-align:center;*/
+/* justify-content: center;*/
+/* font-size: 25px;*/
+/* color: #f8f4f4;*/
+/*}*/
+
+.lista{
+ height: 4000px;
+}
+
+.listitem{
+ width: 100%;
+ height: 60px;
+ line-height: 60px;
+ border-bottom: 1px solid #DEDEDE;
+ align-items: center;
+ font-size: 20px;
+ border-width: 1px;
+ border-color: black;
+ border-radius: 15px;
+ box-shadow: 3px 3px 3px 3px #d6d6d6;
+}
+.groupa{
+ width: 96%;
+ height: 150px;
+/* background-color: darkgrey;*/
+ padding-left: 3%;
+ margin-left: 6%;
+ border-bottom: 1px solid #DEDEDE;
+ font-size: 40px;
+ font-weight:500;
+}
+.groupvaluea{
+ font-size: 16px;
+ width: 95%;
+ height: 60px;
+ margin-left: 15%;
+ border-bottom: 1px solid #DEDEDE;
+}
+
+#wrapper {
+ width: 100%;
+ flex-direction: column;
+}
+
+#div1 {
+ width: 100%;
+ height: 200px;
+ background-color: #5768e4;
+}
+
+#divimage2{
+ flex-direction: row-reverse;
+ margin-right: 10px;
+}
+
+#image1 {
+ width: 40px;
+ height: 40px;
+ top: 10px;
+ right: -10px;
+}
+
+#text1 {
+ width: 68.62300154718928px;
+ height: 43.27488396080454px;
+ top: 10px;
+ right: -15px;
+ color: #f8f4f4;
+}
+
+#text2 {
+ width: 180px;
+ height: 50px;
+ top: 10px;
+ margin-left: 90px;
+ right: 80px;
+ font-size: 35px;
+ color: #f8f4f4;
+}
+
+#div3 {
+ width: 89%;
+ height: 200px;
+ border-width: 1px;
+ border-color: #000000;
+ border-radius: 20px;
+ box-shadow: 3px 3px 3px 3px #d6d6d6;
+ background-color: #ffffff;
+/* flex-shrink: -1;*/
+ top: -100px;
+ right: -20px;
+ flex-wrap: wrap;
+ justify-content: center;
+ align-items: center;
+ align-content: center;
+}
+
+#div5 {
+ width: 250px;
+ height: 90px;
+ border-width: 0.05px;
+ border-radius: 50px;
+ background-color: #eeebeb;
+ margin-top: 50px;
+ left: -60px;
+}
+
+#text3 {
+ left: 15px;
+ top:2px;
+ font-size: 35px;
+}
+
+#image2 {
+ margin-top: 20px;
+ width: 200px;
+ height: 150px;
+/* top:-10px;*/
+ left: 5px;
+}
+
+#image3 {
+ width: 30px;
+ height: 28px;
+ top:6px;
+ left: 5px;
+/* margin-top: 10px;*/
+/* border-width: 2px;*/
+/* border-color: black;*/
+}
+
+#text4 {
+ height: 42px;
+ font-size: 40px;
+ left: 7px;
+ margin-end: 20px;
+/* margin-top: 12px;*/
+/* border-width: 2px;*/
+/* border-color: black;*/
+}
+
+#div6 {
+ width: 91%;
+ height: 389px;
+ border-width: 1px;
+ border-color: #000000;
+ border-radius: 30px;
+ box-shadow: 3px 3px 3px 3px #d6d6d6;
+ top: -140px;
+ right: -15px;
+}
+
+#text5 {
+ height: 45.68849922640536px;
+ right: -20px;
+ font-size: 35px;
+}
+
+#textclass{
+ font-size: 20px;
+}
+
+#text6 {
+ width: 180px;
+ height: 200px;
+ font-size: 20px;
+ left: 35px;
+}
+
+#image5 {
+ width: 150px;
+ height: 100px;
+ left: 10px;
+}
+
+#slider1 {
+ width: 150px;
+ height: 44px;
+ left: -25px;
+}
+
+#image7 {
+ width: 35px;
+ height: 33px;
+ top:10px;
+ left: 10px;
+}
+
+#text8 {
+ width: 300px;
+ height: 50px;
+ font-size: 35px;
+ left: 8px;
+}
+
+#text9 {
+ height: 80px;
+ top:-5px;
+ font-size: 20px;
+ left: 8px;
+}
+
+#image8 {
+ width: 40px;
+ height: 20px;
+ top:10px;
+ left: 10px;
+}
+
+#text10 {
+ width: 300px;
+ height: 40px;
+ font-size: 35px;
+ left: 8px;
+}
+
+#text11 {
+ width: 550px;
+ font-size: 20px;
+ left: 8px;
+}
+
+#image9 {
+ width: 35px;
+ height: 33px;
+ top:10px;
+ left: 10px;
+}
+
+#text12 {
+ width: 300px;
+ height: 40px;
+ font-size: 35px;
+ left: 8px;
+}
+
+#text13 {
+ width: 550px;
+ font-size: 20px;
+ left: 8px;
+}
+
+#div7 {
+ width: 100%;
+ height: 50px;
+}
+
+
+.container1{
+ width: 100%;
+ height: 1000px;
+ flex-direction: column;
+}
+
+.z1{
+ width: 100%;
+ height: 40px;
+ top:-100px;
+/* border-width: 1px;*/
+/* border-color: black;*/
+}
+
+.z2{
+ flex-direction: column;
+ width: 91%;
+ height: 500px;
+ border-width: 1px;
+ border-color: #000000;
+ border-radius: 30px;
+ box-shadow: 3px 3px 3px 3px #d6d6d6;
+ top:-95px;
+ right: -15px;
+}
+
+.z3{
+ width: 400px;
+ height: 50px;
+}
+
+.z4{
+ flex-direction: row;
+ width: 300px;
+ height: 150px;
+ top:5px;
+
+}
+
+.z5{
+ flex-direction: column;
+ width: 200px;
+ left: 10px;
+}
+
+.z6{
+ height: 300px;
+ flex-direction: row;
+ height: 90px;
+ top:5px;
+}
+.z61{
+ flex-direction:column;
+ width: 550px;
+ height: 200px;
+ left: 10px;
+}
+
+.z7{
+ flex-direction: row;
+ height: 100px;
+ top:5px;
+}
+.z71{
+ flex-direction:column;
+ height: 100px;
+ left: 10px;
+}
+
+.z8{
+ flex-direction: row;
+ height: 100px;
+ top:5px;
+}
+.z81{
+ flex-direction:column;
+ width: 248px;
+ height: 100px;
+ left: 10px;
+}
+
+
+
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/second/second.hml b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/second/second.hml
new file mode 100644
index 0000000000000000000000000000000000000000..12d631b9e903551a4a2adf1b662e0f4dbc5312c3
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/second/second.hml
@@ -0,0 +1,249 @@
+
+
+
+
+
+ 2022-03-21 09:04:58
+
+
+
+ 结果与分析
+
+
+
+
+ 检测报告
+
+
+
+
+ 类别:色素性皮肤病
+
+
+
+
+
+
+
+ 疾病概括
+
+ 色素性皮肤病由色素减少或增多引起皮肤颜色改变。
+
+
+
+
+
+
+ 病因分析
+
+ 黑素细胞和黑素生成异常造成,可由遗传及环境因素引起,它是皮肤病中的一类常见疾病
+
+
+
+
+
+
+ 定期观察
+ 如情况恶化及时就医
+
+
+
+
+
+
+
+ 2022-03-21 09:12:20
+
+
+
+ 结果与分析
+
+
+
+
+ 检测报告
+
+
+
+
+ 类别:痣
+
+
+
+
+
+
+
+ 疾病概括
+
+ 黑色素痣是一群良性的黑色素细胞,聚集在表皮与真皮的交界产生的。
+
+
+
+
+
+
+ 病因分析
+
+ 紫外线使黑色素瘤形成的一大主因,日常生活做好防晒。新老角质交替过慢也是黑色素形成的原因。
+
+
+
+
+
+
+ 定期观察
+ 如情况恶化及时就医
+
+
+
+
+
+
+
+ 2022-03-21 15:04:42
+
+
+
+ 结果与分析
+
+
+
+
+ 检测报告
+
+
+
+
+ 类别:痣
+
+
+
+
+
+
+
+ 疾病概括
+
+ 黑色素痣是一群良性的黑色素细胞,聚集在表皮与真皮的交界产生的。
+
+
+
+
+
+
+ 病因分析
+
+ 紫外线使黑色素瘤形成的一大主因,日常生活做好防晒。新老角质交替过慢也是黑色素形成的原因。
+
+
+
+
+
+
+ 定期观察
+ 如情况恶化及时就医
+
+
+
+
+
+
+
+ 2022-03-21 14:01:17
+
+
+
+ 结果与分析
+
+
+
+
+ 检测报告
+
+
+
+
+ 类别:痣
+
+
+
+
+
+
+ 疾病概括
+
+ 黑色素痣是一群良性的黑色素细胞,聚集在表皮与真皮的交界产生的。
+
+
+
+
+
+
+ 病因分析
+
+ 紫外线使黑色素瘤形成的一大主因,日常生活做好防晒。新老角质交替过慢也是黑色素形成的原因。
+
+
+
+
+
+
+ 定期观察
+ 如情况恶化及时就医
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/second/second.js b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/second/second.js
new file mode 100644
index 0000000000000000000000000000000000000000..a76bf3f3767d5c6ba11ca3d9ac38df4a21631cde
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/second/second.js
@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) 2022 TumorIsKnowledge Device Co., Ltd.
+ * Licensed under the Apache License,Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text1/text1.css b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text1/text1.css
new file mode 100644
index 0000000000000000000000000000000000000000..c98afc88c9d324a52536f2ea95c8c5b70ab0fc63
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text1/text1.css
@@ -0,0 +1,75 @@
+#wrapper {
+ flex-direction: column;
+ margin-left: 3%;
+ margin-right: 3%;
+ height: 3200px;
+}
+
+#div1 {
+ width: 100px;
+ height: 100px;
+}
+
+#image0 {
+ width: 90px;
+ height: 90px;
+ top: 10px;
+ right: -10px;
+}
+
+#image2 {
+ height: 40px;
+ top: 15px;
+ right: -250px;
+}
+
+#text1 {
+ font-size: 50px;
+ margin-bottom: 10px;
+}
+
+.author {
+ flex-direction: row;
+ justify-content: space-between;
+ margin-bottom: 10px;
+}
+
+#text3 {
+ font-size: 40px;
+ color: rgba(0,0,0,0.56);
+ margin-right: 50px;
+}
+
+#text4 {
+ font-size: 20px;
+ color: rgba(0,0,0,0.56);
+}
+
+#text5 {
+ font-size: 40px;
+}
+
+#image3 {
+ width: 95%;
+ height: 400px;
+/* top: -150px;*/
+}
+
+#div3 {
+ height: 1300px;
+}
+
+#text2 {
+/* width: 335.518308406395px;*/
+/* height: 996.6529138731304px;*/
+/* top: -150px;*/
+ right: -10px;
+ font-size: 40px;
+}
+
+#image1 {
+/* width: 350px;*/
+ width: 95%;
+ height: 400px;
+}
+
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text1/text1.hml b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text1/text1.hml
new file mode 100644
index 0000000000000000000000000000000000000000..1629af4385836be2811ee4a28c0831ba8ba0a31b
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text1/text1.hml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
什么是黑色素瘤?
+
+ 黄园清
+ 2022-03-07-19:56
+
+
+
+ 我们在之前的栏目中,介绍过皮肤癌的相关信息,今天,我们来具体展开谈论一下,皮肤癌中恶性程度很高的一个种类——黑色素瘤。
+ 黑色素瘤,又称恶性黑色素瘤,是一种从黑色素细胞发展而来的癌症,是皮肤癌中罕见的癌症。好发于皮肤但也可能出现在口腔、肠道或眼睛中。女性患者的黑色素瘤最常出现在腿,而男性患者则最常出现在背部。有时黑色素瘤是由痣转变发展而来,有这种转变的痣外观上的改变包括尺寸变大、边缘变得不规则、颜色改变、发痒、或皮肤破坏。
+
+
+
+ 对于肤色较浅的人而言,紫外线暴露是造成黑色素瘤的主因。太阳或日晒床都是可能的紫外线来源。大约有25%的黑色素瘤是从痣发展而来。有很多痣、家中曾有人得过黑色素瘤,以及免疫力低下的人,罹患黑色素瘤的风险都较高。一些罕见的基因缺陷,例如着色性干皮症,也会增加罹患的风险。诊断方法是对可疑的皮肤病变部位进行切片检查。
+ 避免紫外线暴露以及使用防晒油可以预防黑色素瘤的产生。治疗方法通常是手术切除。对于黑色素瘤较大的病患,会检测邻近的淋巴结来判断是否发生转移。若没有转移的话大部分的病患可被治愈。对于黑色素瘤已发生转移的病患,免疫疗法、生物性治疗、放射线治疗或化学治疗可能可以增加存活率在美国,病患在接受治疗后,若只有局部病变五年存活率为98%,若已发生转移,五年存活率则为17%。复发或转移的可能性取决于该黑色素瘤厚度、细胞分裂速度、以及覆盖其上的皮肤是否被破坏,近年发展的免疫疗法对于该病症颇有效果,能够提高治愈率。
+
+
+
+
+
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text1/text1.js b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text1/text1.js
new file mode 100644
index 0000000000000000000000000000000000000000..8f56468b7a24ee4198b20cd2aeb23945d596399b
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text1/text1.js
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2022 TumorIsKnowledge Device Co., Ltd.
+ * Licensed under the Apache License,Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import router from '@system.router';
+// xxx.js
+export default {
+ data: {
+ title: 'World'
+ },
+
+ back(){
+ router.push ({
+ uri:'pages/first/first', // 跳转到注册页面
+ })
+ }
+
+}
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text2/text2.css b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text2/text2.css
new file mode 100644
index 0000000000000000000000000000000000000000..07e5fa1b697f093c5df5cbb38b0df23d33d103df
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text2/text2.css
@@ -0,0 +1,157 @@
+#wrapper {
+ flex-direction: column;
+ margin-left: 3%;
+ margin-right: 3%;
+}
+
+#image0 {
+ width: 90px;
+ height: 90px;
+/* top: 20px;*/
+ right: -10px;
+}
+
+#image3 {
+/* width: 45.69365652398143px;*/
+ height: 36.03919546157813px;
+ top: -15px;
+ right: -280px;
+}
+
+#text1 {
+/* font-size: 25fp;*/
+ height: 120px;
+ top: -10px;
+ right: -10px;
+}
+
+#text2 {
+/* width: 110.8612686952037px;*/
+ height: 36.03403816400206px;
+ top: -10px;
+ right: -10px;
+ font-size: 20px;
+ color: #bbbaba;
+}
+
+#text3 {
+/* width: 194.1309953584322px;*/
+ height: 31.206807632800412px;
+ top: -43px;
+ right: -150px;
+ font-size: 20px;
+ color: #bbbaba;
+}
+
+#image4 {
+ top: -30px;
+ right: -15px;
+ width: 95%;
+ height: 400px;
+}
+
+#text4 {
+/* width: 225.5079938112429px;*/
+ height: 32.413615265600825px;
+ top: -20px;
+ right: -15px;
+ font-size: 20px;
+ color: #bbbaba;
+}
+
+#text5 {
+/* width: 341.55234657039716px;*/
+/* top: -60px;*/
+ right: -10px;
+ font-size: 40px;
+ margin-left: 18px;
+ width: 95%;
+}
+
+.divtext1 {
+ height: 500px;
+ width: 100%;
+}
+
+.divtext2 {
+ top: 120px;
+ height: 1700px;
+ width: 100%;
+}
+
+#text6 {
+/* width: 350px;*/
+/* height: 45.68849922640536px;*/
+/* top: -40px;*/
+ right: -5px;
+ font-size: 40px;
+ margin-left: 18px;
+ width: 95%;
+/* font-weight: bolder;*/
+}
+
+#text7 {
+/* width: 350px;*/
+/* height: 869.9381124290871px;*/
+ top: -110px;
+ right: -10px;
+ text-align: start;
+ font-size: 40px;
+ font-weight: normal;
+ margin-left: 18px;
+ width: 95%;
+}
+
+#text8 {
+/* width: 337.7411036616812px;*/
+ height: 44.48169159360495px;
+/* top: -130px;*/
+ font-size: 40px;
+ margin-left: 18px;
+ width: 95%;
+}
+
+#div0 {
+ width: 100px;
+ height: 100px;
+}
+
+#div1 {
+ height: 1500px;
+ top: 10px;
+ right: -10px;
+}
+
+#text9 {
+/* height: 1528.8550799381126px;*/
+ font-size: 40px;
+ margin-left: 18px;
+ width: 95%;
+}
+
+#image2 {
+ width: 95%;
+ height: 400px;
+}
+
+#text10 {
+ width: 95%;
+ height: 600px;
+/* top: -200px;*/
+ font-size: 40px;
+ font-style: italic;
+ color: #9b9696;
+ margin-left: 18px;
+ width: 95%;
+}
+
+#div2 {
+ height: 573.7545126353791px;
+}
+
+#image1 {
+ width: 80px;
+ height: 29.83878799467304px;
+ top: 20px;
+ right: -10px;
+}
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text2/text2.hml b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text2/text2.hml
new file mode 100644
index 0000000000000000000000000000000000000000..bc0e95daa9855b19c1ea0cfb9a57eecc7db47bbf
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text2/text2.hml
@@ -0,0 +1,47 @@
+
+
+
+
+
对话专家:黑色素瘤早知道——自查与治疗
+
与癌共舞
+
2021-10-19 17:30
+
+
作者:张潇潇
+
+ 黑色素瘤是近年来发病率增长最快的肿瘤之一,且发病年龄逐年降低。黑色素瘤易转移、恶性程度高,在我国的关注度较低,发现时往往已经是晚期,总体来说预后较差。如果能早发现,早治疗,黑色素瘤患者可以预期获得长期生存以及良好的生活质量。与癌共舞论坛荣幸邀请到宁波大学医学院附属医院许素玲教授,为我们进行黑色素瘤疾病的科普分享。
+
+
01 黑色素瘤患者的特点
+
+ 恶性黑色素瘤与胰腺癌、肝癌并称“三大癌王”,形容其恶性程度非常高。在我国,恶性黑色素瘤的发病率远低于欧美等国家,除了人种差异外,还有对恶性黑色素瘤这种疾病认知水平的差距,比如很多未收治的患者面对身上恶变的黑痣不以为意、不去就医,导致整体的疾病发病率可能远低于实际情况,甚至加速了患者的疾病进展并影响治疗效果,最终造成遗憾。
+
+ 随着经济水平和健康意识的提高,我国黑色素瘤的发病率也逐年上升,许教授认为这并不完全是一件坏事,半年来她已经接诊了13位恶性黑色素瘤患者,按照宁波大学医学院附属医院皮肤科接诊病患的比例来粗略估算,发病率大于万分之三。“患者年龄大部分在七十岁以上,而且很多都是农村来的老年人,被子女带过来,”许教授回忆自己接触过的恶性黑色素患者,“还没有出现转移的早期患者,但治疗上却不配合,对这个病不重视,觉得‘一颗痣而已,怎么就要做手术了’,这一点医生也感觉很无奈。”
+
+ 通过许教授的介绍可以总结出我国黑色素瘤患者的特点:
+
+ 1.患者多为老年人;
+
+ 2.肢端多见,如脚后跟、脚底的色素痣恶变,可能与常年摩擦刺激有关;其次是黏膜,如直肠、阴道、口腔等部位;
+
+
+
+
02黑色素瘤如何早发现?
+
+ 许教授提醒每个人应该重视身体的特殊部位的痣,如果在头、面部,手掌,脚底,会阴等黏膜上长的色素痣,要特别注意:
+ A.(Asymmetry)是否不对称?
+ B.(Border irregularity)是否边缘不清晰、不规则?
+ C. (Color variation)是否颜色发生改变?除了其他非正常颜色,痣变得特别黑也需要注意。
+ D. (Diameter > 6 mm)是否突然变大,直径超过6mm?
+ E. (Evolving)是否有异样隆起?
+
+ 这正是患者自诊黑色素瘤的 ABCDE 原则。
+
+ 当黑色素瘤进一步发展,可能会出现肉眼可观察到的皮肤损伤,如溃疡、出血,伴随痛、痒等不适感。加上黑色素瘤极易转移,首先会出现在淋巴结,然后是肺、肝、脑、骨四大部位。出现转移已经属于黑色素瘤的晚期,需要影像学诊断,增强CT、B超等。
+ 许教授特别提醒,痣最好不要随便点。虽然通过激光或冷冻手术等手段将肉眼可见的色素痣组织切除了,但通常点痣不能将痣细胞完全根除,甚至会增加癌变的概率,得不偿失。
+
+
+
声明:
+
+
+ 本文旨在传递医药前沿信息和研究进展,不构成对任何药物的商业推广或对诊疗方案的推荐。本文提及的部分药物和/或适应症尚未在中国获批,相关临床研究可能缺乏中国患者的数据,资料中的相关数据由受访专家提供。本资料中所涉及的信息仅供参考,请遵从医生或其他医疗卫生专业人士的意见与指导。
+
+
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text2/text2.js b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text2/text2.js
new file mode 100644
index 0000000000000000000000000000000000000000..0031a1bc3aa650dfca7f4496b1508c855c9450c7
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text2/text2.js
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2022 TumorIsKnowledge Device Co., Ltd.
+ * Licensed under the Apache License,Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import router from '@system.router';
+export default {
+ data: {
+ title: "Hello HarmonyOS",
+ isHarmonyOS: true
+ },
+
+ switchTitle() {
+ let that = this;
+ that.title = that.isHarmonyOS ? "Hello World" : "Hello HarmonyOS";
+ that.isHarmonyOS = !that.isHarmonyOS;
+ },
+
+ back(){
+ router.push ({
+ uri:'pages/first/first', // 跳转到注册页面
+ })
+ }
+}
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text3/text3.css b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text3/text3.css
new file mode 100644
index 0000000000000000000000000000000000000000..2a26556f1cbfe4e3b697e509685ea94b4af3eeb6
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text3/text3.css
@@ -0,0 +1,70 @@
+/* xxx.css */
+.container {
+ flex-direction: column;
+ margin-left: 3px;
+ margin-right: 3px;
+ height: 4000px;
+}
+
+#div1 {
+ width: 100px;
+ height: 100px;
+ margin-end: 50px;
+}
+
+#image1 {
+ width: 900px;
+ height: 900px;
+ top: 10px;
+ right: -10px;
+}
+
+
+#image3 {
+/* width: 45.69365652398143px;*/
+ height: 36.03919546157813px;
+ top: -20px;
+/* right: -120px;*/
+}
+
+/*.text1{*/
+/*!* font-size: 25fp;*!*/
+/*!* width: 330px;*!*/
+/*!* align-items: center;*!*/
+/*!* max-lines: 3;*!*/
+/*}*/
+
+.text5{
+/* margin-left: -200px;*/
+ font-size:19px;
+ margin-top: 10px;
+ color: #bbbaba;
+}
+.text2{
+/* width: 325px;*/
+ align-items: center;
+ font-size:40px;
+ top:3px;
+ margin-left: 18px;
+ width: 95%;
+}
+.text3{
+/* width: 325px;*/
+ align-items: center;
+ font-size:40px;
+ margin-left: 18px;
+ width: 95%;
+}
+.text4{
+/* width: 325px;*/
+ align-items: center;
+ font-size:40px;
+ margin-left: 18px;
+ width: 95%;
+}
+.images{
+ justify-content: center;
+ margin-left: 18px;
+ width: 95%;
+ height: 400px;
+}
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text3/text3.hml b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text3/text3.hml
new file mode 100644
index 0000000000000000000000000000000000000000..e886d60d5a0538ce890d7c6d7d921a30e1ebad99
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text3/text3.hml
@@ -0,0 +1,36 @@
+
+
+
+
+
+ 科学家揭示黑色素瘤对疗法耐受性发生的新机制!
+
+
+
+ npj Precision Oncology
+
+
+
+ 很多黑色素瘤患者都会使用称之为BRAF或MEK抑制剂的药物进行治疗,这些药物能特异性靶向作用癌变肿瘤中所产生的突变蛋白,同时还能阻断肿瘤生长和扩散的能力。
+ 近日,一篇发表在国际杂志npj Precision Oncology上题为“Proximity of immune and tumor cells underlies response to BRAF/MEK-targeted therapies in metastatic melanoma patients”的研究报告中,来自范德堡大学医学中心等机构的科学家们通过研究揭示了黑色素瘤对疗法产生耐药性的新型机制。
+
+
+
+
+
+
+
+ 研究者表示,由于诸如BRAF和MEK抑制剂等药物能快速有效发挥作用,且能增加患者的生存率,然而大多数患者都会出现疾病复发;为了帮助解决这一问题,文章中,研究人员对组织进行了空间成像分析研究,这些成像技术或能帮助他们调查在患者对BRAF和MEK抑制剂产生耐药性前后机体肿瘤和免疫细胞的特性。
+ 当观察了治疗后的耐药性肿瘤时,研究人员发现,携带有特殊生物标志物SOX10的黑色素瘤细胞或会明显增加,这就提示,这些细胞或许具有一定的疗法耐受性,而SOX10在癌前细胞分化为癌变黑色素瘤细胞的过程中或许扮演着关键角色,SOX10的存在被认为会产生一种特殊环境,从而阻断宿主机体免疫细胞对肿瘤生长的调节,而SOX10的表达缺失也与肿瘤形成的减少有关。
+
+
+
+
+
+
+
+ 目前本文研究强调了一种事实,即尽管免疫细胞与癌细胞接近,但癌症的发生依然会继续,这或许就表明,对疗法耐受性的肿瘤细胞或与能失活免疫细胞的环境有关,从而就会导致机体出现整体的获得性疗法耐受性。后期研究人员还需要进一步研究理解快速分裂的SOX10+的黑色素瘤细胞和邻近的免疫细胞之间的串扰,而肿瘤细胞影响免疫细胞的机制依然是一个非常重要的问题,但这些相互作用似乎可能会导致肿瘤细胞对BRAF/MEK靶向性疗法产生一定的获得性耐受性。
+ 原始出处:
+ Yan, C., Chen, SC., Ayers, G.D. et al. Proximity of immune and tumor cells underlies response to BRAF/MEK-targeted therapies in metastatic melanoma patients. npj Precis. Onc. 6, 6 (2022). doi:10.1038/s41698-021-00249-1
+
+
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text3/text3.js b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text3/text3.js
new file mode 100644
index 0000000000000000000000000000000000000000..5f3e463725c7c7a931864a8d021961d0a3a4c1a4
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text3/text3.js
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2022 TumorIsKnowledge Device Co., Ltd.
+ * Licensed under the Apache License,Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import router from '@system.router';
+// xxx.js
+export default {
+ data: {
+ title: 'World'
+ },
+ back(){
+ router.push ({
+ uri:'pages/first/first', // 跳转到注册页面
+ })
+ }
+}
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text4/text4.css b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text4/text4.css
new file mode 100644
index 0000000000000000000000000000000000000000..debe311da128069ae62c6f72c262d807b85a5408
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text4/text4.css
@@ -0,0 +1,80 @@
+/* xxx.css */
+.container {
+ flex-direction: column;
+ margin-left: 3px;
+ margin-right: 3px;
+ height: 4000px;
+}
+
+#div1 {
+ width: 100px;
+ height: 100px;
+}
+
+.divtitle {
+ height: 170px;
+ margin-left: 18px;
+ width: 95%;
+}
+
+#image1 {
+ width: 90px;
+ height: 90px;
+ top: 10px;
+ right: -10px;
+}
+
+#image3 {
+ width: 45.69365652398143px;
+ height: 36.03919546157813px;
+ top: -15px;
+}
+
+.text1{
+/* align-items: center;*/
+/* max-lines: 3;*/
+/* text-overflow: ellipsis;*/
+/* line-height: 40px;*/
+ top: 20px;
+ font-size: 60px;
+}
+
+.divtext1{
+ height: 200px;
+ width: 100%;
+}
+
+.text5{
+ margin-left: 490px;
+ font-size:25px;
+ color: #bbbaba;
+ height: 40px;
+}
+.text2{
+/* width: 325px;*/
+ align-items: center;
+ font-size:40px;
+ margin-left: 18px;
+ width: 95%;
+}
+.text3{
+/* width: 325px;*/
+ align-items: center;
+ font-size:40px;
+ margin-left: 18px;
+ width: 95%;
+}
+.text4{
+/* width: 325px;*/
+ align-items: center;
+ font-size:40px;
+ margin-left: 18px;
+ width: 95%;
+}
+.images{
+/* width: 325px;*/
+ justify-content: center;
+ margin-left: 18px;
+ width: 95%;
+ height: 400px;
+}
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text4/text4.hml b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text4/text4.hml
new file mode 100644
index 0000000000000000000000000000000000000000..b5bdaebaa46577ebbf6822e1c5a4b11d41e14935
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text4/text4.hml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+ 4个地方出现痣?可能是黑色素瘤来“拜访”了!
+
+
+
+ 皮肤科张医生
+
+
+
+ 痣,几乎人人身上都会长几颗。不少人都听说过痣会恶变为肿瘤,是皮肤癌的先兆。那么身上长了痣,就一定是皮肤癌的前兆吗?
+
+
+
+
+
+
+
+ 首先,我们要明白的是并不是所有的痣都会有癌变的风险。痣是由于黑色素细胞聚集形成的良性肿瘤,可以出现在身体的任何地方,通常为黄色、褐色或者黑色。而黑色素瘤又称为恶性黑色素瘤,是一种高度恶化的皮肤肿瘤,十分容易发生转移,并产生疾病和死亡。在皮肤恶性肿瘤的死亡率中,黑色素瘤占第一位。因此,一旦发现,一定要尽早的进行检查和切除,防治进一步恶变的发生。
+ 普通痣与黑色素瘤的区别在哪里?
+
+
+
+
+
+
+
+ 普通的痣边界、颜色比较平滑,没有异常特征,直径也不会有什么变化。相对于黑色素瘤,不仅其边界不均匀,有缺口、不对称,颜色也有褐色、黑色等不同色调的,而且其直径也会随时间而不停变化。
+ 对于身体来说,如果这几个地方出现痣,那么一定要注意,因为发生癌变的几率会很大。
+ 1.脚底长痣
+ 有些人一段时间会发现自己脚底、或手掌心出现一两颗小痣,其实这两个地方长痣并不像小说中那样“足底北斗七星是大富大贵之兆”,相反的因为手掌心和脚底的摩擦频繁,受到摩擦挤压,细胞很容易发生恶变,不仅是恶性的黑色素瘤,一些良性的痣甚至也会受到影响。
+ 2.黏膜长痣
+ 口唇、生殖器等部分的黏膜有时会出现黑痣,这些地方出现的痣可能存在很大危险性,因为恶性的黑色素瘤也许就长在这些地方,一旦这些地方出现黑痣,就一定要谨慎,可能有很大风险存在恶变。
+ 3.指甲沟
+ 指甲沟处的痣经常长到指甲下面,被遮挡不易发现变化,但是有不少的黑色素瘤就长在这些地方,而通常都被当做普通的痣来看待。
+ 4.肩部和腹股沟
+ 尤其是女性,肩背经常受到内衣肩带的摩擦,在这些地方长色素痣,比较容易受到影响,发生恶变。而,股缝既是视觉死角,不易及时发现痣的变化,同时许多肌肤癌也喜欢在此处生长,因此也要格外注意。
+ 以上这些地方,都是十分容易出现色素痣的地方,一旦发现,一定要提高警惕,尽早进行病理检查,并且进行手术的切除,及早的防治摩擦等因素引发的恶变。
+
+
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text4/text4.js b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text4/text4.js
new file mode 100644
index 0000000000000000000000000000000000000000..5f3e463725c7c7a931864a8d021961d0a3a4c1a4
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/text4/text4.js
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2022 TumorIsKnowledge Device Co., Ltd.
+ * Licensed under the Apache License,Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import router from '@system.router';
+// xxx.js
+export default {
+ data: {
+ title: 'World'
+ },
+ back(){
+ router.push ({
+ uri:'pages/first/first', // 跳转到注册页面
+ })
+ }
+}
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/third/third.css b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/third/third.css
new file mode 100644
index 0000000000000000000000000000000000000000..ea25c6f8b8f8889cca70417a6f8a020893babf87
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/third/third.css
@@ -0,0 +1,615 @@
+#wrapper {
+ width: 100%;
+ flex-direction: column;
+}
+
+#div1 {
+ width: 100%;
+ height: 50px;
+ background-color: #bb96f3;
+}
+
+#text1 {
+ width: 74.65703971119135px;
+ height: 30px;
+ top: 5px;
+ right: -120px;
+ text-align: center;
+ font-size: 25px;
+ color: #fdfdfd;
+}
+
+#div2 {
+ width: 100%;
+ height: 308.2568334192883px;
+ border-width: 0.5px;
+ border-color: #a092fa;
+ border-radius: 0;
+ background-color: #bfb7eb;
+ top: 40px;
+}
+
+#image1 {
+ width: 50.52088705518309px;
+ height: 44.48684889118102px;
+ top: 5px;
+ right: -20px;
+}
+
+#text2 {
+ width: 148.2723053120165px;
+ height: 30px;
+ top: 10px;
+ right: -30px;
+ font-size: 25px;
+ color: #fdfdfd;
+}
+
+#div6 {
+ width: 87.26190146545778%;
+ height: 4.141309953584319px;
+ border-width: 0.05px;
+ border-color: #bab3b3;
+ border-radius: 10px;
+ background-color: #cecbcb;
+ top: 5px;
+ right: -20px;
+}
+
+#div5 {
+ width: 87.26190146545778%;
+ height: 4.141309953584319px;
+ border-width: 0.05px;
+ border-color: #bab3b3;
+ border-radius: 10px;
+ background-color: #cecbcb;
+ top: -135px;
+ right: -20px;
+}
+
+#div4 {
+ width: 87.26190146545778%;
+ height: 4.141309953584319px;
+ border-width: 0.05px;
+ border-color: #bab3b3;
+ border-radius: 10px;
+ background-color: #cecbcb;
+ top: -215px;
+ right: -20px;
+}
+
+#div3 {
+ width: 87.26190146545778%;
+ height: 4.141309953584319px;
+ border-width: 0.05px;
+ border-color: #bab3b3;
+ border-radius: 10px;
+ background-color: #cecbcb;
+ top: -75px;
+ right: -20px;
+}
+
+#image2 {
+ width: 46.23001547189273px;
+ height: 44.486848891181px;
+ top: -200px;
+ right: -20px;
+}
+
+#text3 {
+ width: 100px;
+ height: 30px;
+ top: -240px;
+ right: -80px;
+ font-size: 25px;
+ color: #fdfdfd;
+}
+
+#image3 {
+ width: 49.31407942238267px;
+ height: 49.31407942238268px;
+ top: -210px;
+ right: -20px;
+}
+
+#text4 {
+ width: 182.06291903042805px;
+ height: 30px;
+ top: -250px;
+ right: -80px;
+ font-size: 25px;
+ color: #fdfdfd;
+}
+
+#image4 {
+ width: 44.48684889118102px;
+ height: 39.659618359979376px;
+ top: -220px;
+ right: -25px;
+}
+
+#text5 {
+ width: 127.75657555440948px;
+ height: 30px;
+ top: -255px;
+ right: -85px;
+ font-size: 25px;
+ color: #fdfdfd;
+}
+
+#div9 {
+ width: 100%;
+ height: 50px;
+ background-color: #ffffff;
+ top: 50px;
+}
+
+#div10 {
+ width: 100%;
+ height: 50px;
+ background-color: #ffffff;
+ top: 50px;
+}
+
+#div11 {
+ width: 100%;
+ height: 65.68849922640537px;
+ background-color: #e7dfdf;
+ top: -20px;
+}
+
+#image5 {
+ width: 32.418772563176894px;
+ height: 33.625580195977356px;
+ top: 3px;
+ right: -20px;
+}
+
+#image7 {
+ width: 48.107271789582256px;
+ height: 45.69365652392px;
+ top: -2px;
+ right: -100px;
+}
+
+#text6 {
+ width: 66.20938628158845px;
+ height: 30px;
+ top: 30px;
+ right: 60px;
+ font-size: 15px;
+ font-weight: normal;
+ color: #949494;
+}
+
+#text7 {
+ width: 100px;
+ height: 30px;
+ top: -55px;
+ right: -125px;
+ font-size: 15px;
+ color: #949494;
+}
+
+#image9 {
+ width: 46.90046415678185px;
+ height: 38.452810727178964px;
+ top: -115px;
+ right: -260px;
+}
+
+#text8 {
+ width: 52.934502320783906px;
+ height: 30px;
+ top: -123px;
+ right: -270px;
+ font-size: 15px;
+ color: #5f74ef;
+}
+/*.container{*/
+/* flex-direction: column;!*沿水平主轴让元素从上向下排列*!*/
+/* justify-content: flex-start;!*容器内容从头开始*!*/
+/* align-items: flex-start;!*项目位于容器的中央*!*/
+/* background-color: aliceblue;!*背景颜色*!*/
+/*!* background-color: #fbfbfd;*!*/
+/*}*/
+
+.p{
+ flex-direction: column;/*沿水平主轴让元素从上向下排列*/
+ justify-content: flex-start;/*容器内容从头开始*/
+ align-items: flex-start;/*项目位于容器的中央*/
+ background-color: white;/*背景颜色*/
+ height: 90px;/*高度*/
+
+}
+
+.badge {
+ margin: 13px;
+}
+.b{
+ flex-direction: row;/*沿水平主轴让元素从左向右排列*/
+ justify-content: flex-start;/*容器内容从头开始*/
+ align-items: flex-start;/*项目位于容器的中央*/
+ background-color: white;/*背景颜色*/
+ margin-top: 20px;
+ height: 200px;
+ width: 100%;
+}
+.bb{
+ flex-direction: column;/*沿水平主轴让元素从上向下排列*/
+ justify-content: flex-start;/*容器内容从头开始*/
+ align-items: flex-start;/*从头开始*/
+ background-color: white;
+ margin-right: 200px;
+ margin-top: 10px;
+ height: 150px;
+}
+
+
+.bbb{
+ flex-direction: column;/*沿水平主轴让元素从上向下排列*/
+ justify-content: flex-start;
+ align-items: flex-start;
+ background-color: white;
+ margin-top: 30px;
+ height: 800px;
+
+}
+.text0{/*文字设置*/
+ margin-left: 15px;
+ font-size: 20px;
+ top:10px;
+/*border-color:black;
+ border-width:1px;*/
+}
+
+.photo1{ /*图片设置*/
+ width:40px;
+ height:40px;
+ top:12px;
+ left: 20px;
+ margin-left: 15%;
+/*border-color:black;
+ border-width:1px;*/
+}
+.photo2{
+ width:35px;
+ height:30px;
+ left: 220px;
+ top:10px;
+/*border-color:black;
+ border-width:1px;*/
+}
+.top{
+ width: 100%;
+ height:180px;
+ margin-top: 10px;
+/*border-color:black;
+ border-width:1px;*/
+}
+.photo{
+ width:80px;
+ height:80px;
+ border-radius:10px;
+/* border-color:black;
+ border-width:1px;*/
+ margin-left: 20px;
+ margin-top: 20px;
+}
+.line{
+ width:100%;
+ height:15px;
+/*border-color:black;
+ border-width:1px;*/
+ background-color: gainsboro;
+}
+.text1{
+ font-size: 40px;
+ margin-top: 25px;
+ left: 25px;
+/* margin-left: 10px;*/
+/* display:flex;*/
+ height:50px;
+ padding-bottom:0px;
+/* border-color:black;*/
+/* border-width:1px;*/
+}
+.text2{
+ font-size: 20px;
+ color:gray;
+ left: 25px;
+/* display:flex;*/
+ height:50px;
+ top:10px;
+/* margin-left:10px;*/
+/* border-color:black;*/
+/* border-width:1px;*/
+}
+.todo{
+ width:100%;
+ height:60px;
+ line-height: 50px;
+ border-color:gainsboro;
+ border-width:1px;
+
+}
+.text3{
+ font-size: 20px;
+ color:gray;
+ display:flex;
+ height:50px;
+ margin-left:10px;
+ margin-top:-7px;
+/* border-color:black;*/
+/* border-width:1px;*/
+/*border-color:black;
+ border-width:1px;*/
+}
+.text4{
+ font-size:20px;
+ margin-top:-8px;
+/*border-color:black;
+ border-width:1px;*/
+}
+.photo3{
+ width:100px;
+ height:100px;
+ margin: 5px;
+ border-radius: 20px;
+}
+.photo4{
+ width:40px;
+ height:40px;
+ margin-left:2%;
+ padding: 5px;
+/* border-color:black;*/
+/* border-width:1px;*/
+}
+.photo5{
+ width:40px;
+ height:40px;
+ margin:5px;
+}
+.text5{
+ font-size: 25px;
+ left:220px;
+ top:-9px;
+/*border-color:black;
+ border-width:1px;*/
+}
+.text6{
+ font-size: 25px;
+ left:200px;
+ top:-3px;
+ color:gray;
+/* border-color:black;*/
+/* border-width:1px;*/
+}
+
+.text7{
+ font-size: 25px;
+ left:240px;
+ top:-3px;
+ color:gray;
+}
+
+.footer{
+ width:100%;
+ height:230px;
+ background-color: gainsboro;
+}
+
+
+.container{
+ display: flex;
+ flex-direction: column;/*沿水平主轴让元素从上向下排列*/
+ background-color: #efefef;
+ height: 100%;
+}
+
+.container-top{
+ background-color:white;
+ width: 100%;
+ flex-direction: row;
+ height: 34px;
+ justify-content: space-between;
+}
+.top-text{
+ margin-left: 100px;
+ font-size: 20px;
+/* flex-weight: 800;*/
+}
+.top-img1{
+ margin-left:20px;
+ width: 30px;
+ height: 30px;
+ object-fit:fill;
+}
+.top-img2{
+/* justify-content: flex-end;*/
+ margin-right: 20px;
+ width: 30px;
+ height: 30px;
+ object-fit:fill;
+}
+
+.title {
+/* font-size: 20fp;*/
+}
+
+/*.upDiv{*/
+/* background-color: #5166e5;*/
+/*!* margin-top: 20fp;*!*/
+/* height: 200px;*/
+/* margin-left: 10px;*/
+/* margin-right: 10px;*/
+/* margin-bottom: 10px;*/
+/* border-radius: 20px;*/
+/* flex-direction: column;*/
+/* justify-content: center;*/
+/* align-content: flex-start;*/
+/*}*/
+
+/*.headMsgDiv {*/
+/* height: 140px;*/
+/* margin-left: 2%;*/
+/* flex-direction: row;*/
+/* justify-content: flex-start;*/
+/* align-content: center;*/
+/* margin-top: 30px;*/
+/*}*/
+
+/*.headDiv{*/
+/* width: 75px;*/
+/* height: 100px;*/
+/* background-color: #ffffff;*/
+/* border-top-left-radius: 50px;*/
+/* border-top-right-radius: 50px;*/
+/* border-bottom-left-radius: 50px;*/
+/* border-bottom-right-radius: 50px;*/
+/*}*/
+
+.name {
+ margin-left: 40px;
+/* font-size: 20fp;*/
+ color: white;
+}
+
+/*.messageDiv {*/
+/* margin-top: 50px;*/
+/*!* margin-bottom: 30px;*!*/
+/* display: grid;*/
+/* grid-template-columns: 1fr 0.05fr 1fr;*/
+/* grid-template-rows: 55px 55px;*/
+/*}*/
+
+/*.healthDiv {*/
+/* align-items: center;*/
+/* flex-direction: column;*/
+/*}*/
+
+/*.messageText {*/
+/*!* font-size: 20fp;*!*/
+/* color: white;*/
+/*}*/
+
+/*.separatorText {*/
+/*!* width: 7fp;*!*/
+/*!* font-size: 50fp;*!*/
+/* color: #ffffff;*/
+/*}*/
+
+/*.numDiv {*/
+/* align-items: center;*/
+/* flex-direction: column;*/
+/*}*/
+
+.photo{
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+}
+
+.icon11 {
+ top: 30px;
+ height: 50px;
+ width: 50px;
+ left: 20px;
+ right: 20px;
+/* align-items: center;*/
+ object-fit: contain;
+}
+
+.icon1 {
+ top: 25px;
+ height: 60px;
+ width: 60px;
+ left: 15px;
+ right: 20px;
+/* align-items: center;*/
+ object-fit: contain;
+}
+
+.listtext{
+/* font-size: 16fp;*/
+ margin-left: 40px;
+ top:30px;
+}
+
+.list{
+ width: 100%;
+ height: 800px;
+}
+
+.listitem{
+ width: 100%;
+ height: 100px;
+ border-bottom: 1px solid #d0d0d0;
+ justify-content: flex-start;
+ align-items: center;
+ text-align: center;
+ align-content: center;
+}
+
+.list-item-div {
+/* align-items: center;*/
+ height: 100px;
+}
+
+#container1 {
+ justify-content: center;
+ align-items: center;
+ width: 100%;
+ height: 200px;
+ background-color: white;
+ padding-top: 20px;
+ padding-bottom: 20px;
+ margin-bottom: 10px;
+}
+
+#img1 {
+ border: 1px;
+ border-radius: 15px;
+ height: 150px;
+ width: 150px;
+ object-fit: contain;
+/* filter: blur(1px);*/
+}
+
+/*#avatarEXImg {*/
+/* position: absolute;*/
+/* left: 30px;*/
+/* top: 30px;*/
+/* width: 30px;*/
+/* height: 30px;*/
+/* object-fit: contain;*/
+/*}*/
+
+.tx{
+ left: -40px;
+ top:8px;
+}
+
+label {
+ font-size: 20px;
+ margin-top: -70px;
+ margin-left: -20px;
+ letter-spacing: 2px;
+ font-family: sans-serif;
+}
+
+/*#testImg {*/
+/* width: 200px;*/
+/* height: 100px;*/
+/*}*/
+
+.test {
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+}
+
+.testbutton {
+ width: 100px;
+ height: 40px;
+}
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/third/third.hml b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/third/third.hml
new file mode 100644
index 0000000000000000000000000000000000000000..c50954e98d0f20fa8104550a3e3155f9d77e9d70
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/third/third.hml
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
Harry Potter
+
手机号:15565988801
+
+
+
+
+
+
+
/*服务包括查看诊疗记录、私人医生、系统设置、关于等*/
+
+ Service
+
+
+
+
+
+ 意见反馈
+
+
+
+
+
+
+ 系统设置
+
+
+
+
+
+
+ 退出登录
+
+
+
+
+
+
+ 关于
+
+
+
+
+
+
+
+
diff --git a/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/third/third.js b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/third/third.js
new file mode 100644
index 0000000000000000000000000000000000000000..9f0134b149a82520b1c62a4f9f94d923a6437f6e
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/js/MainAbility/pages/third/third.js
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2022 TumorIsKnowledge Device Co., Ltd.
+ * Licensed under the Apache License,Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import router from '@system.router';
+
+export default {
+ login() {
+ router.push ({
+ uri:'pages/login/login', // 跳转到注册页面
+ })
+ },
+ data: {
+ title: "",
+ },
+}
diff --git a/FA/Malignant_skin_tumor/entry/src/main/resources/base/element/string.json b/FA/Malignant_skin_tumor/entry/src/main/resources/base/element/string.json
new file mode 100644
index 0000000000000000000000000000000000000000..490210a3908f47722dc942d49dacc98b97669a5f
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/main/resources/base/element/string.json
@@ -0,0 +1,16 @@
+{
+ "string": [
+ {
+ "name": "entry_desc",
+ "value": "description"
+ },
+ {
+ "name": "MainAbility_desc",
+ "value": "description"
+ },
+ {
+ "name": "MainAbility_label",
+ "value": "label"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/main/resources/base/media/icon.png b/FA/Malignant_skin_tumor/entry/src/main/resources/base/media/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/main/resources/base/media/icon.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/ohosTest/config.json b/FA/Malignant_skin_tumor/entry/src/ohosTest/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..6ed5422c3b18bd688d07e253bcc18ef885505c03
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/ohosTest/config.json
@@ -0,0 +1,68 @@
+{
+ "app": {
+ "bundleName": "com.example.myapplication2",
+ "vendor": "example",
+ "version": {
+ "code": 1000000,
+ "name": "1.0.0"
+ }
+ },
+ "deviceConfig": {},
+ "module": {
+ "package": "com.example.entry_test",
+ "name": ".entry_test",
+ "mainAbility": ".TestAbility",
+ "srcPath": "",
+ "deviceType": [
+ "default",
+ "tablet"
+ ],
+ "distro": {
+ "deliveryWithInstall": true,
+ "moduleName": "entry_test",
+ "moduleType": "feature",
+ "installationFree": false
+ },
+ "abilities": [
+ {
+ "skills": [
+ {
+ "entities": [
+ "entity.system.home"
+ ],
+ "actions": [
+ "action.system.home"
+ ]
+ }
+ ],
+ "orientation": "unspecified",
+ "formsEnabled": false,
+ "name": ".TestAbility",
+ "srcLanguage": "js",
+ "srcPath": "TestAbility",
+ "icon": "$media:icon",
+ "description": "$string:TestAbility_desc",
+ "label": "$string:TestAbility_label",
+ "type": "page",
+ "visible": true,
+ "launchType": "standard"
+ }
+ ],
+ "js": [
+ {
+ "pages": [
+ "pages/index/index"
+ ],
+ "name": ".TestAbility",
+ "window": {
+ "designWidth": 720,
+ "autoDesignWidth": false
+ }
+ }
+ ],
+ "testRunner": {
+ "name": "OpenHarmonyTestRunner",
+ "srcPath": "TestRunner"
+ }
+ }
+}
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestAbility/app.js b/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestAbility/app.js
new file mode 100644
index 0000000000000000000000000000000000000000..81e029ad4c37219dc0d8f95c331c81d7b9fed7a6
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestAbility/app.js
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2022 TumorIsKnowledge Device Co., Ltd.
+ * Licensed under the Apache License,Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+//import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'
+//import { Hypium } from '@ohos/hypium'
+
+
+export default {
+ onCreate() {
+ console.info("TestApplication onCreate")
+// var abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator()
+// var abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments()
+// console.info('start run testcase!!!')
+// Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite)
+ },
+ onDestroy() {
+ console.info("TestApplication onDestroy");
+ }
+};
diff --git a/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestAbility/i18n/en-US.json b/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestAbility/i18n/en-US.json
new file mode 100644
index 0000000000000000000000000000000000000000..55561b83737c3c31d082fbfa11e5fc987a351104
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestAbility/i18n/en-US.json
@@ -0,0 +1,8 @@
+{
+ "strings": {
+ "hello": "Hello",
+ "world": "World"
+ },
+ "Files": {
+ }
+}
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestAbility/i18n/zh-CN.json b/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestAbility/i18n/zh-CN.json
new file mode 100644
index 0000000000000000000000000000000000000000..cce1af06761a42add0cac1a0567aa3237eda8cb4
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestAbility/i18n/zh-CN.json
@@ -0,0 +1,8 @@
+{
+ "strings": {
+ "hello": "您好",
+ "world": "世界"
+ },
+ "Files": {
+ }
+}
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestAbility/pages/index/index.css b/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestAbility/pages/index/index.css
new file mode 100644
index 0000000000000000000000000000000000000000..9f137638e6b7ab99b947bc88ba9eb5b1f9344480
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestAbility/pages/index/index.css
@@ -0,0 +1,30 @@
+.container {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ left: 0px;
+ top: 0px;
+ width: 100%;
+ height: 100%;
+}
+
+.title {
+ font-size: 60px;
+ text-align: center;
+ width: 100%;
+ height: 40%;
+ margin: 10px;
+}
+
+@media screen and (orientation: landscape) {
+ .title {
+ font-size: 60px;
+ }
+}
+
+@media screen and (device-type: tablet) and (orientation: landscape) {
+ .title {
+ font-size: 100px;
+ }
+}
diff --git a/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestAbility/pages/index/index.hml b/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestAbility/pages/index/index.hml
new file mode 100644
index 0000000000000000000000000000000000000000..f64b040a5ae394dbaa5e185e1ecd4f4556b92184
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestAbility/pages/index/index.hml
@@ -0,0 +1,5 @@
+
+
+ {{ $t('strings.hello') }} {{ title }}
+
+
diff --git a/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestAbility/pages/index/index.js b/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestAbility/pages/index/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..d13991f45eaf734171176e1151a00e0adce37973
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestAbility/pages/index/index.js
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2022 TumorIsKnowledge Device Co., Ltd.
+ * Licensed under the Apache License,Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+export default {
+ data: {
+ title: ""
+ },
+ onInit() {
+ this.title = this.$t('strings.world');
+ }
+}
+
+
+
diff --git a/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestRunner/OpenHarmonyTestRunner.js b/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestRunner/OpenHarmonyTestRunner.js
new file mode 100644
index 0000000000000000000000000000000000000000..2c92f5cb17fac244bd2af5d951adefd74aec7105
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/ohosTest/js/TestRunner/OpenHarmonyTestRunner.js
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2022 TumorIsKnowledge Device Co., Ltd.
+ * Licensed under the Apache License,Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'
+
+function translateParamsToString(parameters) {
+ const keySet = new Set([
+ '-s class', '-s notClass', '-s suite', '-s itName',
+ '-s level', '-s testType', '-s size', '-s timeout',
+ '-s package', '-s dryRun'
+ ])
+ let targetParams = '';
+ for (const key in parameters) {
+ if (keySet.has(key)) {
+ targetParams += ' ' + key + ' ' + parameters[key]
+ }
+ }
+ return targetParams.trim()
+}
+
+ export default {
+ onPrepare() {
+ console.info('OpenHarmonyTestRunner OnPrepare')
+ },
+ onRun() {
+ console.log('OpenHarmonyTestRunner onRun run')
+ var abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments()
+ var abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator()
+
+ var testAbilityName = abilityDelegatorArguments.parameters['-p'] + '.TestAbility'
+ var cmd = 'aa start -d 0 -a ' + testAbilityName + ' -b ' + abilityDelegatorArguments.bundleName
+ cmd += ' ' + translateParamsToString(abilityDelegatorArguments.parameters)
+ var debug = abilityDelegatorArguments.parameters["-D"]
+ console.info('debug value : '+debug)
+ if (debug == 'true')
+ {
+ cmd += ' -D'
+ }
+ console.info('cmd : '+cmd)
+ abilityDelegator.executeShellCommand(cmd, (err, data) => {
+ console.info('executeShellCommand : err : ' + JSON.stringify(err));
+ console.info('executeShellCommand : data : ' + data.stdResult);
+ console.info('executeShellCommand : data : ' + data.exitCode);
+ })
+ }
+};
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/ohosTest/js/test/abilityTest.js b/FA/Malignant_skin_tumor/entry/src/ohosTest/js/test/abilityTest.js
new file mode 100644
index 0000000000000000000000000000000000000000..59d4bd8c21cb2e309dc3a06e989392958f589ef8
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/ohosTest/js/test/abilityTest.js
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2022 TumorIsKnowledge Device Co., Ltd.
+ * Licensed under the Apache License,Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+//
+//import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect, Assert} from '@ohos/hypium';
+//
+//export default function abilityTest() {
+// describe('ActsAbilityTest', function () {
+// it('assertContain',0, function () {
+// console.info("it begin")
+// let a = 'abc'
+// let b = 'b'
+// expect(a).assertContain(b)
+// })
+// })
+//}
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/ohosTest/js/test/testsuite.js b/FA/Malignant_skin_tumor/entry/src/ohosTest/js/test/testsuite.js
new file mode 100644
index 0000000000000000000000000000000000000000..902186cffaf0ab215e43c414a0ecd5ee57b0d099
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/ohosTest/js/test/testsuite.js
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2022 TumorIsKnowledge Device Co., Ltd.
+ * Licensed under the Apache License,Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+import abilityTest from './ability.test'
+
+export default function testsuite() {
+ abilityTest()
+}
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/ohosTest/resources/base/element/string.json b/FA/Malignant_skin_tumor/entry/src/ohosTest/resources/base/element/string.json
new file mode 100644
index 0000000000000000000000000000000000000000..3ddc84b17681377c0656b3b5f306ff4c5e0c3e44
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/ohosTest/resources/base/element/string.json
@@ -0,0 +1,12 @@
+{
+ "string": [
+ {
+ "name": "TestAbility_desc",
+ "value": "the test ability"
+ },
+ {
+ "name": "TestAbility_label",
+ "value": "test label"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/entry/src/ohosTest/resources/base/media/icon.png b/FA/Malignant_skin_tumor/entry/src/ohosTest/resources/base/media/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c
Binary files /dev/null and b/FA/Malignant_skin_tumor/entry/src/ohosTest/resources/base/media/icon.png differ
diff --git a/FA/Malignant_skin_tumor/entry/src/ohosTest/resources/base/profile/test_pages.json b/FA/Malignant_skin_tumor/entry/src/ohosTest/resources/base/profile/test_pages.json
new file mode 100644
index 0000000000000000000000000000000000000000..fcef82b4dfc18e28106ff9ecd1c8b48ec74d18a4
--- /dev/null
+++ b/FA/Malignant_skin_tumor/entry/src/ohosTest/resources/base/profile/test_pages.json
@@ -0,0 +1,5 @@
+{
+ "src": [
+ "TestAbility/pages/index"
+ ]
+}
diff --git a/FA/Malignant_skin_tumor/hvigorfile.js b/FA/Malignant_skin_tumor/hvigorfile.js
new file mode 100644
index 0000000000000000000000000000000000000000..cff9f0dfcf8cb00cca34e7f50d61380cf5496868
--- /dev/null
+++ b/FA/Malignant_skin_tumor/hvigorfile.js
@@ -0,0 +1,2 @@
+// Script for compiling build behavior. It is built in the build plug-in and cannot be modified currently.
+module.exports = require('@ohos/hvigor-ohos-plugin').legacyAppTasks
\ No newline at end of file
diff --git a/FA/Malignant_skin_tumor/package-lock.json b/FA/Malignant_skin_tumor/package-lock.json
new file mode 100644
index 0000000000000000000000000000000000000000..6d8f0e47bb26df69c1a77be2d2962c30ee4231cb
--- /dev/null
+++ b/FA/Malignant_skin_tumor/package-lock.json
@@ -0,0 +1,1683 @@
+{
+ "name": "malignant_skin_tumor",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@ohos/hvigor": {
+ "version": "1.0.6",
+ "resolved": "https://repo.harmonyos.com/npm/@ohos/hvigor/-/@ohos/hvigor-1.0.6.tgz",
+ "integrity": "sha512-jjp7vpvUOMW1Nf7TdyhOtonwWHoSyBJLUiZTQqIx/GJV4UJyIqsiURUOqFwncQ4L7PDdeHuWly4uEelknYeWhg==",
+ "requires": {
+ "@ohos/hvigor-base": "1.0.6",
+ "interpret": "1.4.0",
+ "liftoff": "4.0.0",
+ "mute-stdout": "1.0.0",
+ "pretty-hrtime": "1.0.0",
+ "v8flags": "3.2.0",
+ "yargs": "7.1.0"
+ }
+ },
+ "@ohos/hvigor-base": {
+ "version": "1.0.6",
+ "resolved": "https://repo.harmonyos.com/npm/@ohos/hvigor-base/-/@ohos/hvigor-base-1.0.6.tgz",
+ "integrity": "sha512-cRDnWICTxmpNiFb9clIioqP5Oik1seLCICztXVhZqultrHuxwTheCRUZrHwlpyWdkSB2Al+FFBqmSwzIgZX4IQ==",
+ "requires": {
+ "json5": "2.2.0",
+ "log4js": "6.4.1",
+ "undertaker": "1.2.1"
+ }
+ },
+ "@ohos/hvigor-ohos-plugin": {
+ "version": "1.0.6",
+ "resolved": "https://repo.harmonyos.com/npm/@ohos/hvigor-ohos-plugin/-/@ohos/hvigor-ohos-plugin-1.0.6.tgz",
+ "integrity": "sha512-MAAi8uJxMzODUoSSNfBr+fU4HQ20dfQtkje9I+X4asc7qY2kAplW/q9f5XS8IOvv8zhC8OcSgsAXOAJuLMstOQ==",
+ "requires": {
+ "@ohos/hvigor-base": "1.0.6",
+ "@ohos/sdkmanager-common": "1.1.3",
+ "ajv": "8.10.0",
+ "archiver": "5.3.0",
+ "execa": "5.1.1",
+ "fs-extra": "10.0.0",
+ "glob": "7.2.0",
+ "iconv-lite": "0.6.3",
+ "json5": "2.2.0",
+ "lodash": "4.17.21",
+ "pretty-hrtime": "1.0.3",
+ "resolve-package-path": "4.0.3"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.0.0.tgz",
+ "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==",
+ "requires": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ }
+ },
+ "jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "requires": {
+ "graceful-fs": "^4.1.6",
+ "universalify": "^2.0.0"
+ }
+ },
+ "pretty-hrtime": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmmirror.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
+ "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A=="
+ },
+ "universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
+ }
+ }
+ },
+ "@ohos/sdkmanager-common": {
+ "version": "1.1.3",
+ "resolved": "https://repo.harmonyos.com/npm/@ohos/sdkmanager-common/-/@ohos/sdkmanager-common-1.1.3.tgz",
+ "integrity": "sha512-d2uhVauDDJZIUvyyaWWoavG4N/jLyfF5IH5kEXKV6R8HNf3606H1zDQzA+UZtOfwwJFXhD9djRjnVFNB8xc7aw=="
+ },
+ "ajv": {
+ "version": "8.10.0",
+ "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.10.0.tgz",
+ "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==",
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA=="
+ },
+ "archiver": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmmirror.com/archiver/-/archiver-5.3.0.tgz",
+ "integrity": "sha512-iUw+oDwK0fgNpvveEsdQ0Ase6IIKztBJU2U0E9MzszMfmVVUyv1QJhS2ITW9ZCqx8dktAxVAjWWkKehuZE8OPg==",
+ "requires": {
+ "archiver-utils": "^2.1.0",
+ "async": "^3.2.0",
+ "buffer-crc32": "^0.2.1",
+ "readable-stream": "^3.6.0",
+ "readdir-glob": "^1.0.0",
+ "tar-stream": "^2.2.0",
+ "zip-stream": "^4.1.0"
+ }
+ },
+ "archiver-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/archiver-utils/-/archiver-utils-2.1.0.tgz",
+ "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==",
+ "requires": {
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.2.0",
+ "lazystream": "^1.0.0",
+ "lodash.defaults": "^4.2.0",
+ "lodash.difference": "^4.5.0",
+ "lodash.flatten": "^4.4.0",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.union": "^4.6.0",
+ "normalize-path": "^3.0.0",
+ "readable-stream": "^2.0.0"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ }
+ }
+ },
+ "arr-filter": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmmirror.com/arr-filter/-/arr-filter-1.1.2.tgz",
+ "integrity": "sha512-A2BETWCqhsecSvCkWAeVBFLH6sXEUGASuzkpjL3GR1SlL/PWL6M3J8EAAld2Uubmh39tvkJTqC9LeLHCUKmFXA==",
+ "requires": {
+ "make-iterator": "^1.0.0"
+ }
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
+ },
+ "arr-map": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/arr-map/-/arr-map-2.0.2.tgz",
+ "integrity": "sha512-tVqVTHt+Q5Xb09qRkbu+DidW1yYzz5izWS2Xm2yFm7qJnmUfz4HPzNxbHkdRJbz2lrqI7S+z17xNYdFcBBO8Hw==",
+ "requires": {
+ "make-iterator": "^1.0.0"
+ }
+ },
+ "array-each": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/array-each/-/array-each-1.0.1.tgz",
+ "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA=="
+ },
+ "array-initial": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/array-initial/-/array-initial-1.1.0.tgz",
+ "integrity": "sha512-BC4Yl89vneCYfpLrs5JU2aAu9/a+xWbeKhvISg9PT7eWFB9UlRvI+rKEtk6mgxWr3dSkk9gQ8hCrdqt06NXPdw==",
+ "requires": {
+ "array-slice": "^1.0.0",
+ "is-number": "^4.0.0"
+ }
+ },
+ "array-last": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/array-last/-/array-last-1.3.0.tgz",
+ "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==",
+ "requires": {
+ "is-number": "^4.0.0"
+ }
+ },
+ "array-slice": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/array-slice/-/array-slice-1.1.0.tgz",
+ "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w=="
+ },
+ "async": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmmirror.com/async/-/async-3.2.4.tgz",
+ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
+ },
+ "async-done": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmmirror.com/async-done/-/async-done-1.3.2.tgz",
+ "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==",
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.2",
+ "process-nextick-args": "^2.0.0",
+ "stream-exhaust": "^1.0.1"
+ }
+ },
+ "async-settle": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/async-settle/-/async-settle-1.0.0.tgz",
+ "integrity": "sha512-VPXfB4Vk49z1LHHodrEQ6Xf7W4gg1w0dAPROHngx7qgDjqmIQ+fXmwgGXTW/ITLai0YLSvWepJOP9EVpMnEAcw==",
+ "requires": {
+ "async-done": "^1.2.2"
+ }
+ },
+ "bach": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/bach/-/bach-1.2.0.tgz",
+ "integrity": "sha512-bZOOfCb3gXBXbTFXq3OZtGR88LwGeJvzu6szttaIzymOTS4ZttBNOWSv7aLZja2EMycKtRYV0Oa8SNKH/zkxvg==",
+ "requires": {
+ "arr-filter": "^1.1.1",
+ "arr-flatten": "^1.0.1",
+ "arr-map": "^2.0.0",
+ "array-each": "^1.0.0",
+ "array-initial": "^1.0.0",
+ "array-last": "^1.1.1",
+ "async-done": "^1.2.2",
+ "async-settle": "^1.0.0",
+ "now-and-later": "^2.0.0"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
+ },
+ "bl": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz",
+ "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+ "requires": {
+ "buffer": "^5.5.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.4.0"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "requires": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "buffer-crc32": {
+ "version": "0.2.13",
+ "resolved": "https://registry.npmmirror.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="
+ },
+ "call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "requires": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ }
+ },
+ "camelcase": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-3.0.0.tgz",
+ "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg=="
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmmirror.com/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==",
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wrap-ansi": "^2.0.0"
+ }
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA=="
+ },
+ "collection-map": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/collection-map/-/collection-map-1.0.0.tgz",
+ "integrity": "sha512-5D2XXSpkOnleOI21TG7p3T0bGAsZ/XknZpKBmGYyluO8pw4zA3K8ZlrBIbC4FXg3m6z/RNFiUFfT2sQK01+UHA==",
+ "requires": {
+ "arr-map": "^2.0.2",
+ "for-own": "^1.0.0",
+ "make-iterator": "^1.0.0"
+ }
+ },
+ "compress-commons": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmmirror.com/compress-commons/-/compress-commons-4.1.1.tgz",
+ "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==",
+ "requires": {
+ "buffer-crc32": "^0.2.13",
+ "crc32-stream": "^4.0.2",
+ "normalize-path": "^3.0.0",
+ "readable-stream": "^3.6.0"
+ }
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ },
+ "core-util-is": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
+ },
+ "crc-32": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmmirror.com/crc-32/-/crc-32-1.2.2.tgz",
+ "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ=="
+ },
+ "crc32-stream": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmmirror.com/crc32-stream/-/crc32-stream-4.0.2.tgz",
+ "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==",
+ "requires": {
+ "crc-32": "^1.2.0",
+ "readable-stream": "^3.4.0"
+ }
+ },
+ "cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "dependencies": {
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "d": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/d/-/d-1.0.1.tgz",
+ "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
+ "requires": {
+ "es5-ext": "^0.10.50",
+ "type": "^1.0.1"
+ }
+ },
+ "date-format": {
+ "version": "4.0.13",
+ "resolved": "https://registry.npmmirror.com/date-format/-/date-format-4.0.13.tgz",
+ "integrity": "sha512-bnYCwf8Emc3pTD8pXnre+wfnjGtfi5ncMDKy7+cWZXbmRAsdWkOQHrfC1yz/KiwP5thDp2kCHWYWKBX4HP1hoQ=="
+ },
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA=="
+ },
+ "default-resolution": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/default-resolution/-/default-resolution-2.0.0.tgz",
+ "integrity": "sha512-2xaP6GiwVwOEbXCGoJ4ufgC76m8cj805jrghScewJC2ZDsb9U0b4BIrba+xt/Uytyd0HvQ6+WymSRTfnYj59GQ=="
+ },
+ "define-properties": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.1.4.tgz",
+ "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
+ "requires": {
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
+ }
+ },
+ "detect-file": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/detect-file/-/detect-file-1.0.0.tgz",
+ "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q=="
+ },
+ "end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
+ "error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "es5-ext": {
+ "version": "0.10.61",
+ "resolved": "https://registry.npmmirror.com/es5-ext/-/es5-ext-0.10.61.tgz",
+ "integrity": "sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA==",
+ "requires": {
+ "es6-iterator": "^2.0.3",
+ "es6-symbol": "^3.1.3",
+ "next-tick": "^1.1.0"
+ }
+ },
+ "es6-iterator": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
+ "requires": {
+ "d": "1",
+ "es5-ext": "^0.10.35",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "es6-symbol": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmmirror.com/es6-symbol/-/es6-symbol-3.1.3.tgz",
+ "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
+ "requires": {
+ "d": "^1.0.1",
+ "ext": "^1.1.2"
+ }
+ },
+ "es6-weak-map": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmmirror.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
+ "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
+ "requires": {
+ "d": "1",
+ "es5-ext": "^0.10.46",
+ "es6-iterator": "^2.0.3",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "requires": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ }
+ },
+ "expand-tilde": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/expand-tilde/-/expand-tilde-2.0.2.tgz",
+ "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==",
+ "requires": {
+ "homedir-polyfill": "^1.0.1"
+ }
+ },
+ "ext": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmmirror.com/ext/-/ext-1.6.0.tgz",
+ "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==",
+ "requires": {
+ "type": "^2.5.0"
+ },
+ "dependencies": {
+ "type": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmmirror.com/type/-/type-2.6.0.tgz",
+ "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ=="
+ }
+ }
+ },
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
+ },
+ "fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmmirror.com/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==",
+ "requires": {
+ "path-exists": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "findup-sync": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmmirror.com/findup-sync/-/findup-sync-5.0.0.tgz",
+ "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==",
+ "requires": {
+ "detect-file": "^1.0.0",
+ "is-glob": "^4.0.3",
+ "micromatch": "^4.0.4",
+ "resolve-dir": "^1.0.1"
+ }
+ },
+ "fined": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/fined/-/fined-2.0.0.tgz",
+ "integrity": "sha512-OFRzsL6ZMHz5s0JrsEr+TpdGNCtrVtnuG3x1yzGNiQHT0yaDnXAj8V/lWcpJVrnoDpcwXcASxAZYbuXda2Y82A==",
+ "requires": {
+ "expand-tilde": "^2.0.2",
+ "is-plain-object": "^5.0.0",
+ "object.defaults": "^1.1.0",
+ "object.pick": "^1.3.0",
+ "parse-filepath": "^1.0.2"
+ }
+ },
+ "flagged-respawn": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/flagged-respawn/-/flagged-respawn-2.0.0.tgz",
+ "integrity": "sha512-Gq/a6YCi8zexmGHMuJwahTGzXlAZAOsbCVKduWXC6TlLCjjFRlExMJc4GC2NYPYZ0r/brw9P7CpRgQmlPVeOoA=="
+ },
+ "flatted": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmmirror.com/flatted/-/flatted-3.2.6.tgz",
+ "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ=="
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ=="
+ },
+ "for-own": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/for-own/-/for-own-1.0.0.tgz",
+ "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==",
+ "requires": {
+ "for-in": "^1.0.1"
+ }
+ },
+ "fs-constants": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/fs-constants/-/fs-constants-1.0.0.tgz",
+ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
+ },
+ "fs-extra": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz",
+ "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "requires": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "get-caller-file": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-1.0.3.tgz",
+ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
+ },
+ "get-intrinsic": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz",
+ "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==",
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.3"
+ }
+ },
+ "get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="
+ },
+ "glob": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.0.tgz",
+ "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "global-modules": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/global-modules/-/global-modules-1.0.0.tgz",
+ "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
+ "requires": {
+ "global-prefix": "^1.0.1",
+ "is-windows": "^1.0.1",
+ "resolve-dir": "^1.0.0"
+ }
+ },
+ "global-prefix": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/global-prefix/-/global-prefix-1.0.2.tgz",
+ "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==",
+ "requires": {
+ "expand-tilde": "^2.0.2",
+ "homedir-polyfill": "^1.0.1",
+ "ini": "^1.3.4",
+ "is-windows": "^1.0.1",
+ "which": "^1.2.14"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.2.10",
+ "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz",
+ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-property-descriptors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
+ "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
+ "requires": {
+ "get-intrinsic": "^1.1.1"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
+ },
+ "homedir-polyfill": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmmirror.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
+ "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
+ "requires": {
+ "parse-passwd": "^1.0.0"
+ }
+ },
+ "hosted-git-info": {
+ "version": "2.8.9",
+ "resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw=="
+ },
+ "human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="
+ },
+ "hypium": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/hypium/-/hypium-1.0.0.tgz",
+ "integrity": "sha512-nl+RQVv2AU/5FvFRhsXyWO5wh+2huhdqRZ3bszBWZzW+kpNI3AT4ydvVRYIfaQbYwV4UlX/rSc7BtFjLAezhow=="
+ },
+ "iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ }
+ },
+ "ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
+ },
+ "interpret": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmmirror.com/interpret/-/interpret-1.4.0.tgz",
+ "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA=="
+ },
+ "invert-kv": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/invert-kv/-/invert-kv-1.0.0.tgz",
+ "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ=="
+ },
+ "is-absolute": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/is-absolute/-/is-absolute-1.0.0.tgz",
+ "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
+ "requires": {
+ "is-relative": "^1.0.0",
+ "is-windows": "^1.0.1"
+ }
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
+ },
+ "is-core-module": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.9.0.tgz",
+ "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==",
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-number": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmmirror.com/is-number/-/is-number-4.0.0.tgz",
+ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ=="
+ },
+ "is-plain-object": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz",
+ "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
+ },
+ "is-relative": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/is-relative/-/is-relative-1.0.0.tgz",
+ "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
+ "requires": {
+ "is-unc-path": "^1.0.0"
+ }
+ },
+ "is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
+ },
+ "is-unc-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/is-unc-path/-/is-unc-path-1.0.0.tgz",
+ "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
+ "requires": {
+ "unc-path-regex": "^0.1.2"
+ }
+ },
+ "is-utf8": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmmirror.com/is-utf8/-/is-utf8-0.2.1.tgz",
+ "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q=="
+ },
+ "is-windows": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg=="
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
+ },
+ "json5": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.0.tgz",
+ "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
+ "requires": {
+ "minimist": "^1.2.5"
+ }
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
+ },
+ "last-run": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/last-run/-/last-run-1.1.1.tgz",
+ "integrity": "sha512-U/VxvpX4N/rFvPzr3qG5EtLKEnNI0emvIQB3/ecEwv+8GHaUKbIB8vxv1Oai5FAF0d0r7LXHhLLe5K/yChm5GQ==",
+ "requires": {
+ "default-resolution": "^2.0.0",
+ "es6-weak-map": "^2.0.1"
+ }
+ },
+ "lazystream": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/lazystream/-/lazystream-1.0.1.tgz",
+ "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==",
+ "requires": {
+ "readable-stream": "^2.0.5"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ }
+ }
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/lcid/-/lcid-1.0.0.tgz",
+ "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==",
+ "requires": {
+ "invert-kv": "^1.0.0"
+ }
+ },
+ "liftoff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmmirror.com/liftoff/-/liftoff-4.0.0.tgz",
+ "integrity": "sha512-rMGwYF8q7g2XhG2ulBmmJgWv25qBsqRbDn5gH0+wnuyeFt7QBJlHJmtg5qEdn4pN6WVAUMgXnIxytMFRX9c1aA==",
+ "requires": {
+ "extend": "^3.0.2",
+ "findup-sync": "^5.0.0",
+ "fined": "^2.0.0",
+ "flagged-respawn": "^2.0.0",
+ "is-plain-object": "^5.0.0",
+ "object.map": "^1.0.1",
+ "rechoir": "^0.8.0",
+ "resolve": "^1.20.0"
+ }
+ },
+ "load-json-file": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/load-json-file/-/load-json-file-1.1.0.tgz",
+ "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0",
+ "strip-bom": "^2.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ },
+ "lodash.defaults": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmmirror.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
+ "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ=="
+ },
+ "lodash.difference": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmmirror.com/lodash.difference/-/lodash.difference-4.5.0.tgz",
+ "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA=="
+ },
+ "lodash.flatten": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmmirror.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
+ "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g=="
+ },
+ "lodash.isplainobject": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmmirror.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="
+ },
+ "lodash.union": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmmirror.com/lodash.union/-/lodash.union-4.6.0.tgz",
+ "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw=="
+ },
+ "log4js": {
+ "version": "6.4.1",
+ "resolved": "https://registry.npmmirror.com/log4js/-/log4js-6.4.1.tgz",
+ "integrity": "sha512-iUiYnXqAmNKiIZ1XSAitQ4TmNs8CdZYTAWINARF3LjnsLN8tY5m0vRwd6uuWj/yNY0YHxeZodnbmxKFUOM2rMg==",
+ "requires": {
+ "date-format": "^4.0.3",
+ "debug": "^4.3.3",
+ "flatted": "^3.2.4",
+ "rfdc": "^1.3.0",
+ "streamroller": "^3.0.2"
+ }
+ },
+ "make-iterator": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/make-iterator/-/make-iterator-1.0.1.tgz",
+ "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
+ "requires": {
+ "kind-of": "^6.0.2"
+ }
+ },
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmmirror.com/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg=="
+ },
+ "merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
+ },
+ "micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "requires": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ }
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
+ },
+ "minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.6.tgz",
+ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "mute-stdout": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/mute-stdout/-/mute-stdout-1.0.0.tgz",
+ "integrity": "sha512-MaSQenn0f9oxIjtCufclpV00MuYTiHaXPbdcfPIM+quMqoa8cXywjHHx4LhhIAZlXqPWMdcUpYviajfmHtHRJw=="
+ },
+ "next-tick": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz",
+ "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
+ },
+ "normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
+ },
+ "now-and-later": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmmirror.com/now-and-later/-/now-and-later-2.0.1.tgz",
+ "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==",
+ "requires": {
+ "once": "^1.3.2"
+ }
+ },
+ "npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ=="
+ },
+ "object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
+ },
+ "object.assign": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.2.tgz",
+ "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
+ "requires": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "has-symbols": "^1.0.1",
+ "object-keys": "^1.1.1"
+ }
+ },
+ "object.defaults": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/object.defaults/-/object.defaults-1.1.0.tgz",
+ "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==",
+ "requires": {
+ "array-each": "^1.0.1",
+ "array-slice": "^1.0.0",
+ "for-own": "^1.0.0",
+ "isobject": "^3.0.0"
+ }
+ },
+ "object.map": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/object.map/-/object.map-1.0.1.tgz",
+ "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==",
+ "requires": {
+ "for-own": "^1.0.0",
+ "make-iterator": "^1.0.0"
+ }
+ },
+ "object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==",
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "object.reduce": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/object.reduce/-/object.reduce-1.0.1.tgz",
+ "integrity": "sha512-naLhxxpUESbNkRqc35oQ2scZSJueHGQNUfMW/0U37IgN6tE2dgDWg3whf+NEliy3F/QysrO48XKUz/nGPe+AQw==",
+ "requires": {
+ "for-own": "^1.0.0",
+ "make-iterator": "^1.0.0"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "os-locale": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmmirror.com/os-locale/-/os-locale-1.4.0.tgz",
+ "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==",
+ "requires": {
+ "lcid": "^1.0.0"
+ }
+ },
+ "parse-filepath": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/parse-filepath/-/parse-filepath-1.0.2.tgz",
+ "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==",
+ "requires": {
+ "is-absolute": "^1.0.0",
+ "map-cache": "^0.2.0",
+ "path-root": "^0.1.1"
+ }
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==",
+ "requires": {
+ "error-ex": "^1.2.0"
+ }
+ },
+ "parse-passwd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/parse-passwd/-/parse-passwd-1.0.0.tgz",
+ "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q=="
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==",
+ "requires": {
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
+ },
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
+ },
+ "path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
+ },
+ "path-root": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmmirror.com/path-root/-/path-root-0.1.1.tgz",
+ "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==",
+ "requires": {
+ "path-root-regex": "^0.1.0"
+ }
+ },
+ "path-root-regex": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmmirror.com/path-root-regex/-/path-root-regex-0.1.2.tgz",
+ "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ=="
+ },
+ "path-type": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/path-type/-/path-type-1.1.0.tgz",
+ "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmmirror.com/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg=="
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmmirror.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==",
+ "requires": {
+ "pinkie": "^2.0.0"
+ }
+ },
+ "pretty-hrtime": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/pretty-hrtime/-/pretty-hrtime-1.0.0.tgz",
+ "integrity": "sha512-CU2l5CYUAptUYq/671ajexQfXuxJFwwg0n243Kdkx8bTjeenedsWgu8TGHPm03vLfNtk3aTXgySKPp3Usykudw=="
+ },
+ "process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+ },
+ "read-pkg": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/read-pkg/-/read-pkg-1.1.0.tgz",
+ "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==",
+ "requires": {
+ "load-json-file": "^1.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^1.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==",
+ "requires": {
+ "find-up": "^1.0.0",
+ "read-pkg": "^1.0.0"
+ }
+ },
+ "readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "readdir-glob": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmmirror.com/readdir-glob/-/readdir-glob-1.1.2.tgz",
+ "integrity": "sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA==",
+ "requires": {
+ "minimatch": "^5.1.0"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ }
+ }
+ },
+ "rechoir": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmmirror.com/rechoir/-/rechoir-0.8.0.tgz",
+ "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==",
+ "requires": {
+ "resolve": "^1.20.0"
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
+ },
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug=="
+ },
+ "resolve": {
+ "version": "1.22.1",
+ "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.1.tgz",
+ "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
+ "requires": {
+ "is-core-module": "^2.9.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ }
+ },
+ "resolve-dir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/resolve-dir/-/resolve-dir-1.0.1.tgz",
+ "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==",
+ "requires": {
+ "expand-tilde": "^2.0.0",
+ "global-modules": "^1.0.0"
+ }
+ },
+ "resolve-package-path": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmmirror.com/resolve-package-path/-/resolve-package-path-4.0.3.tgz",
+ "integrity": "sha512-SRpNAPW4kewOaNUt8VPqhJ0UMxawMwzJD8V7m1cJfdSTK9ieZwS6K7Dabsm4bmLFM96Z5Y/UznrpG5kt1im8yA==",
+ "requires": {
+ "path-root": "^0.1.1"
+ }
+ },
+ "rfdc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.3.0.tgz",
+ "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA=="
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
+ },
+ "signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+ },
+ "spdx-correct": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.1.1.tgz",
+ "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-exceptions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
+ "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A=="
+ },
+ "spdx-expression-parse": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz",
+ "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g=="
+ },
+ "stream-exhaust": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/stream-exhaust/-/stream-exhaust-1.0.2.tgz",
+ "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw=="
+ },
+ "streamroller": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmmirror.com/streamroller/-/streamroller-3.1.2.tgz",
+ "integrity": "sha512-wZswqzbgGGsXYIrBYhOE0yP+nQ6XRk7xDcYwuQAGTYXdyAUmvgVFE0YU1g5pvQT0m7GBaQfYcSnlHbapuK0H0A==",
+ "requires": {
+ "date-format": "^4.0.13",
+ "debug": "^4.3.4",
+ "fs-extra": "^8.1.0"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==",
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==",
+ "requires": {
+ "is-utf8": "^0.2.0"
+ }
+ },
+ "strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="
+ },
+ "supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
+ },
+ "tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmmirror.com/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "requires": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ }
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "requires": {
+ "is-number": "^7.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+ }
+ }
+ },
+ "type": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/type/-/type-1.2.0.tgz",
+ "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
+ },
+ "unc-path-regex": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmmirror.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
+ "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg=="
+ },
+ "undertaker": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmmirror.com/undertaker/-/undertaker-1.2.1.tgz",
+ "integrity": "sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA==",
+ "requires": {
+ "arr-flatten": "^1.0.1",
+ "arr-map": "^2.0.0",
+ "bach": "^1.0.0",
+ "collection-map": "^1.0.0",
+ "es6-weak-map": "^2.0.1",
+ "last-run": "^1.1.0",
+ "object.defaults": "^1.0.0",
+ "object.reduce": "^1.0.0",
+ "undertaker-registry": "^1.0.0"
+ }
+ },
+ "undertaker-registry": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz",
+ "integrity": "sha512-UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw=="
+ },
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
+ },
+ "uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ },
+ "v8flags": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmmirror.com/v8flags/-/v8flags-3.2.0.tgz",
+ "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==",
+ "requires": {
+ "homedir-polyfill": "^1.0.1"
+ }
+ },
+ "validate-npm-package-license": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "requires": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmmirror.com/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "which-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/which-module/-/which-module-1.0.0.tgz",
+ "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ=="
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==",
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "y18n": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmmirror.com/y18n/-/y18n-3.2.2.tgz",
+ "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ=="
+ },
+ "yargs": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmmirror.com/yargs/-/yargs-7.1.0.tgz",
+ "integrity": "sha512-JHLTJJ5uqdt0peYp5mHzmSNV4uHXWphgSlKk5jg3sY5XYPTBw0hzw0SDNnYISn7pAXeAv5pKT4CNY+EcCTptBg==",
+ "requires": {
+ "camelcase": "^3.0.0",
+ "cliui": "^3.2.0",
+ "decamelize": "^1.1.1",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^1.4.0",
+ "read-pkg-up": "^1.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^1.0.2",
+ "which-module": "^1.0.0",
+ "y18n": "^3.2.1",
+ "yargs-parser": "^5.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-5.0.1.tgz",
+ "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==",
+ "requires": {
+ "camelcase": "^3.0.0",
+ "object.assign": "^4.1.0"
+ }
+ },
+ "zip-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmmirror.com/zip-stream/-/zip-stream-4.1.0.tgz",
+ "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==",
+ "requires": {
+ "archiver-utils": "^2.1.0",
+ "compress-commons": "^4.1.0",
+ "readable-stream": "^3.6.0"
+ }
+ }
+ }
+}
diff --git a/FA/Malignant_skin_tumor/package.json b/FA/Malignant_skin_tumor/package.json
new file mode 100644
index 0000000000000000000000000000000000000000..f147ca80195f1f923ecb73efe34b22d9e4452134
--- /dev/null
+++ b/FA/Malignant_skin_tumor/package.json
@@ -0,0 +1,17 @@
+{
+ "name": "malignant_skin_tumor",
+ "version": "1.0.0",
+ "ohos": {
+ "org": "huawei",
+ "buildTool": "hvigor",
+ "directoryLevel": "project"
+ },
+ "description": "example description",
+ "repository": {},
+ "license": "ISC",
+ "dependencies": {
+ "hypium": "^1.0.0",
+ "@ohos/hvigor": "1.0.6",
+ "@ohos/hvigor-ohos-plugin": "1.0.6"
+ }
+}
diff --git a/README.md b/README.md
index 0cb0d5bacfa0ed1265c9292070a5a9dfd77e6157..084cae32c0a80d2526dbfe1e438f9d720b052703 100644
--- a/README.md
+++ b/README.md
@@ -19,6 +19,7 @@
+ [OpenHarmony机器狗应用-控制端](docs/robot_dog_FA/readme.md)
+ [基于OpenHarmony的3D姿态解算及展示](docs/3D_attitude/readme.md)
+ [用于自闭症谱系障碍早期筛查的声纹特征滤波识别诊断系统](docs/A_Viceprint_Feature_Filtering_System_Of_Autism_Spectrum_Disorders/README.md)
++ [基于鸿蒙的恶性皮肤肿瘤检测系统](./docs/Malignant_skin_tumor/README.md)
## 快速上手场景
diff --git a/docs/Malignant_skin_tumor/README.md b/docs/Malignant_skin_tumor/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..cd28d53db2b6b211308d8ff9d7918ad71ad66d2f
--- /dev/null
+++ b/docs/Malignant_skin_tumor/README.md
@@ -0,0 +1,1632 @@
+# 基于鸿蒙的恶性皮肤肿瘤检测系统
+**“1+1>2”—DAYU200开发板和恶性皮肤肿瘤检测系统的有效融合**
+## 开发环境
+DevEco Studio for OpenHarmony 3.0.0.900
+## 项目背景
+ 恶性皮肤肿瘤,是一种起源于表皮基底细胞或毛囊外根鞘的低度恶性肿瘤。临床有两种类型,即基底细胞癌、鳞状细胞癌,均来源于角化细胞。常见的恶性皮肤肿瘤有Bowen病、Paget病、基底细胞癌、鳞状细胞癌、恶性黑素瘤等。恶性皮肤肿瘤大部分生长于原发部位,但也有转移和不明方向的肿瘤发生。恶性皮肤肿瘤的发生率和死亡率逐年升高,通常诊断出患有恶性皮肤肿瘤的患者年龄在65-74岁,恶性皮肤肿瘤造成患者死亡的高发年龄为75-84岁。
+ 恶性皮肤肿瘤多发生于皮肤,也可见于黏膜和内脏,如果在患病初期就进行治疗,那么5年之内的存活率可以显著提高7倍。目前医院临床主要依靠皮肤镜或者病理组织切片来确诊恶性皮肤肿瘤。但这种方式存在一定的问题,比如皮肤镜中图像对比度低,肉眼难以区分;人工检查费时费力;专家数量不足,偏远地区医患比达1:70000等。
+## 团队介绍
+ 识瘤者团队是一家专注于恶性皮肤肿瘤识别技术研发的在校创新创业团队,旨在利用我们的设备帮助患者更早的发现病情,为国家的基础医疗做出自己的贡献。
+ 识瘤者团队来自于梅科尔工作室,目前梅科尔工作室已经形成了一个跨多专业深入融合的平台,研究方向覆盖医疗器械、五轴数 控机床装备研发、3D打印、软体机器人、人工智能、机器人、大数据、物联网、新能源等多个领域,目前有10个研发小组和上百个在研项目。并且工作室还多次承担国家级大学生创新创业项目,参加各个级别比赛,至今获得国际奖项27项、国家级奖项158项、省级奖项412项。
+## 应用场景
+ 面向客户分为大三类:医院及医保公司、医疗软件服务商、个人用户。
+1. 针对医院及医保公司提供两种解决方案,一是由Qt应用程序主导的S款售卖模式,二是由DAYU200开发板主导H款售卖模式。两者都使用皮肤镜采集图像,图像展示在设备界面,在端侧对图片进行预处理,调用部署到ESC的模型识别病灶区域,将数据归档至数据库和OBS对象存储服务中,持久化存储;
+2. 针对医疗软件服务商提供API,识瘤者将恶性皮肤肿瘤图像噪声消除、纹理特征提取分割能力作为后端服务,供客户调用模型进行二次开发;
+3. 针对个人用户提供鸿蒙APP自测、查看历史诊疗记录等功能。
+本项目采用MaskRCNN算法,在ModelArts平台对皮肤病图像训练,将训练好的模型部署到华为云ECS服务器中。
+## 设计思路
+本检测系统首先采集病灶区域图像信息,随后对图像进行预处理,即去毛和滤波等处理,接着采用对比度调整、移动裁剪和颜色平衡调整等方法进行数据增强,随后进行模型的训练、封装,模型部署后,通过采集患者的信息,可以检测相应的图片及反馈相应的分级检测结果。
+## **在DAYU200开发板上,也有较好的表现力**
+### 登录界面
+**hml源码**
+```html/xml
+
+
+```
+**CSS源码**
+```html/xml
+.container {
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: center;
+}
+
+.image-mode{
+ margin-top: 100px;
+ margin-bottom: 30px;
+ width: 80%;
+/* object-fit: cover;*/
+ height: 190px;
+}
+
+.title {
+ margin-top: 10px;
+ font-size: 30px;
+ color: #1216D8;
+}
+
+/* 输入框 */
+.content {
+ margin-left: 10%;
+ margin-right: 10%;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+}
+
+.input {
+ placeholder-color: gray;
+ margin-top: 20px;
+ justify-content: center;
+ align-items: center;
+}
+
+/* 对class#EB0F54n"的组件设置样式 */
+.button {
+ width: 100px;
+ height: 50px;
+ background-color: #4c5cf1;
+ font-size: 20px;
+ text-color: #FFFFFF;
+ margin: 20px;
+ margin-top: 10px;
+}
+
+
+.problem_privacy {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ margin-top: 30%;
+}
+
+.div_button {
+/* width: 90%;*/
+ flex-direction: column; /* 按照列排 */
+ align-items: center; /* 在X轴方向上居中 */
+ top:50px;
+}
+
+.div_login_button_text {
+ left: 250px;
+ top: 25px;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+ font-size: 40px;
+ font-weight: normal;
+ color: #FFFFFF;
+}
+
+.div_register_button_text {
+ left: 210px;
+ top: 25px;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+ font-size: 40px;
+ font-weight: normal;
+ color: #5868E8;
+}
+
+/* 对class#EB0F54n"的组件设置样式 */
+.login_button {
+ border-radius: 50px;
+ width: 100%;
+ height: 100px;
+ background-color: #5868E8;
+ margin-bottom: 16px;
+}
+
+/* 对class#EB0F54n"的组件设置样式 */
+.register_button {
+ border-radius: 50px;
+ width: 100%;
+ height: 100px;
+ background-color: #e0dad4;
+}
+
+```
+**js源码**
+```javascript
+import router from '@system.router';
+
+export default {
+ login() {
+ router.push ({
+ uri:'pages/first/first', // 跳转到注册页面
+ })
+ },
+ register(){
+ router.push({
+ uri:'pages/register/register',
+ })
+ },
+ data: {
+ title: "",
+ },
+}
+
+```
+### 注册界面
+**hml源码**
+```html/xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 地区
+
+
+
+
+
+
+
+
+```
+**CSS源码**
+```html/xml
+@import "../../common/css/common.css";
+.container {
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: center;
+}
+
+.page-title-wrap {
+ padding-top: 30px;
+ justify-content: center;
+}
+
+.image-mode{
+ margin-end: 50px;
+ margin-top: 50px;
+ margin-bottom: 30px;
+ width: 80%;
+ object-fit: cover;
+}
+
+.input-container{
+ justify-content: center;
+ margin-bottom: 30px;
+}
+.input-text {
+ placeholder-color: gray;
+ margin-left: 30px;
+ margin-right: 30px;
+ height: 100px;
+}
+.idbtn{
+ width: 200fp;
+ margin-right: 30px;
+ font-size: 15px;
+ background-color: #2d6dea;
+}
+.item-container {
+ margin-left: 30px;
+ margin-bottom: 20px;
+}
+.item-container1 {
+ margin-left: -130px;
+ margin-bottom: 20px;
+}
+.item-container2 {
+ margin-left: -160px;
+ margin-bottom: 20px;
+}
+.item-container3 {
+ margin-left: -190px;
+ margin-bottom: 20px;
+}
+
+
+.item-title {
+ font-size: 40px;
+ padding-left: 30px;
+ padding-right: 20px;
+ color: #aaaaaa;
+ text-align: left;
+}
+
+.item-content {
+ width: 300px;
+ height: 60px;
+ border-radius: 30px;
+ background-color: aliceblue;
+ justify-content: center;
+ text-align: left;
+}
+
+
+.select{
+ text-align: left;
+}
+
+.content1_1 {
+ margin-top: 10px;
+ justify-content: center;
+ align-items: center;
+}
+
+/* 对class#EB0F54n"的组件设置样式 */
+.button {
+ width: 200px;
+ height: 100px;
+ background-color: #5768e4;
+ font-size: 20px;
+ text-color: #FFFFFF;
+ margin: 10px;
+ border-radius: 50px;
+}
+
+.button_text {
+ left: 60px;
+ top: 27px;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+ font-size: 40px;
+ font-weight: normal;
+ color: #FFFFFF;
+}
+
+.sureDialog{
+ height: 30%;
+ width: 80%;
+ align-content: center;
+}
+
+.dialog-div{
+ flex-direction: column;
+ align-items: center;
+ align-content: center;
+ justify-content: center;
+ margin-bottom: 20px;
+}
+
+```
+**js源码**
+```javascript
+import storage from '@system.storage';
+import prompt from '@system.prompt'
+import router from '@system.router'
+import http from '@ohos.net.http'
+export default {
+ data: {
+ phone: '',
+ psw: '',
+ name: '',
+ idNumber: '',
+ date: '1990-01-01',
+ gender: 'male',
+ area: '亚洲',
+ },
+
+ getPhone(e) {
+ this.phone = e.value;
+ console.info("phone=" + this.phone)
+ },
+
+ getPsw(e){
+ this.psw = e.value;
+ },
+
+ getName(e){
+ this.name = e.value;
+ },
+
+ getIdNumber(e){
+ this.idNumber = e.value;
+ },
+
+ getDate(e) {
+ this.date = e.year + '-' + (e.month + 1) + '-' + e.day;
+ console.info("date=" + this.date)
+ },
+
+ getFemaleGender(e) {
+ if (e.checked) {
+ this.gender = 'female'
+ }
+ },
+
+ getMaleGender(e) {
+ if (e.checked) {
+ this.gender = 'male'
+ }
+ },
+
+ getArea(e) {
+ this.area = e.newValue;
+ console.info("area=" + this.area)
+ },
+
+ onRegister() {
+ const reg = /^1(3\d|4[5-9]|5[0-35-9]|6[567]|7[0-8]|8\d|9[0-35-9])\d{8}$/;
+ if(!reg.test(this.phone)){
+ prompt.showToast({ // 提示请求错误
+ message: '手机号非法',
+ duration: 3000,
+ })
+ return;
+ }
+
+ if (this.psw.length < 6) {
+ prompt.showToast({
+ message: this.$t('密码至少为6位')
+ })
+ return;
+ }
+
+ if (this.name.length == 0) {
+ prompt.showToast({
+ message: this.$t('姓名不能为空')
+ })
+ return;
+ }
+
+ if (this.date.length == 0) {
+ prompt.showToast({
+ message: this.$t('日期不能为空')
+ })
+ return;
+ }
+
+ let _IDRe18 = /^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
+ let _IDRe15 = /^([1-6][1-9]|50)\d{4}\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}$/
+
+ if(!_IDRe18.test(this.idNumber) && !_IDRe15.test(this.idNumber)){
+ prompt.showToast({ // 提示请求错误
+ message: '身份证号非法'+this.idNumber,
+ duration: 3000,
+ })
+ return;
+ }
+ this.$element('hintDialog').show()
+ },
+
+ sethintDialog(e) {
+ this.$element('hintDialog').close()
+ // let声明的变量的作用域是块或者子块
+ let httpRequest = http.createHttp();
+ // 创建一个http,里面包括发起请求、中断请求、订阅/取消订阅HTTP Response Header 事件。
+ // 每一个HttpRequest对象对应一个Http请求。如需发起多个Http请求,须为每个Http请求创建对应HttpRequest对象。
+ //返回一个HttpRequest对象,里面包括request、destroy、on和off方法。
+
+ let url = "http://124.70.109.103:8000/userRegister/";
+
+ httpRequest.request(url, {
+ // 注意请求方法:http.POST
+ method: 'POST',
+ extraData: {
+ phone: this.phone,
+ password: this.psw,
+ name: this.name,
+ gender: this.gender,
+ date: this.date,
+ idNumber: this.idNumber,
+ },
+ }, (err, data)=> { // 判断是否请求成功
+ if (!err) { // 请求成功
+ this.returnContent = JSON.parse(data.result); //JSON.parse(字符串)——将字符串转换成json数据格式
+ var code = this.returnContent.code; //使用json将province赋值给code
+ if(code==400){
+ prompt.showToast({ // 提示请求错误
+ message: this.returnContent.errmsg,
+ duration: 3000,
+ })
+ }
+
+ if(code==200){
+
+ storage.set({
+ key: 'id',
+ value: this.phone,
+ });
+
+ storage.set({
+ key: 'psw',
+ value: this.psw,
+ });
+
+ router.push ({
+ uri:'pages/index/index', //跳转到指定页面
+ })
+ prompt.showToast({ // 提示信息
+ message: this.returnContent.message,
+ duration: 3000,
+ })
+ }
+
+ } else { // 请求失败
+ prompt.showToast({
+ message: data.result,
+ duration: 3000,
+ });
+ }
+ })
+ },
+
+ last() {
+ router.push({
+ uri:'pages/login/login', // 指定要跳转的页面
+ })
+ },
+
+
+ // // 生日选择器
+ // chooseBirthday(e) {
+ // let month = (e.month + 1) + "";
+ // if (month.length == 1) {
+ // month = "0" + month;
+ // }
+ // let day = e.day + "";
+ // if (day.length == 1) {
+ // tex day = "0" + day;
+ // }
+ // let birthday = e.year + "-" + month + "-" + day;
+ // this.birthday = birthday;
+ // this.birthdayVal = birthday;
+ // },
+
+}
+
+```
+### 首页界面
+**hml源码**
+```html/xml
+
+
+
+
+
/*搜索服务*/
+
+
+
+
/*提示服务*/
+
+ /*轮播图*/
+
+
+
+
+
点击了解相关信息
+
+
+
+
+
+ 什么是黑色素瘤
+ 具体展开谈论
+
+
+
+
+
+
+
+ 黑色素瘤早知道
+ 早发现,早就诊
+
+
+
+
+
+
+
+ 黑色素瘤耐受性
+ 耐受性发生的新机制
+
+
+
+
+
+
+
+ 黑色素瘤的免疫治疗
+ 黑色素瘤患者指南
+
+
+
+
+
+
+
+
+```
+CSS源码
+```html/xml
+#wrapper {
+ flex-direction: column;
+}
+
+#div7 {
+ width: 100%;
+ height: 50px;
+ background-color: #bb96f3;
+}
+
+.input1{
+ margin-top: 30%;
+ width: 90%;
+ height: 100px;
+ margin-left: 5%;
+}
+
+.containerC{
+ width: 90%;
+ height: 200fp;
+ margin-left: 5%;
+}
+
+.swiper-style {
+ indicator-color: #8388f8;/*轮播图*/
+ indicator-selected-color: #9ebbde;
+ indicator-size: 5px;
+ margin-top: 15px;
+}
+
+.image-mode{
+ object-fit: contain;
+}
+
+.remin{
+ width: 90%;
+ margin-left: 7%;
+ margin-top: 2%;
+ border-color: black;
+ border-width: 2px;
+}
+
+.ld{
+ top: 7px;
+ width: 40px;
+ height: 40px;
+}
+
+.ts{
+ width:80%;
+ text-align: center;
+}
+
+.introduce{
+ font-size: 25px;
+ font-family: HYQiHei-65S;
+ margin-top: 3px;
+ padding: 0px;
+}
+
+.tp{
+ width: 200px;
+ height: 150px;
+ border-radius: 5px 5px 5px 5px;
+ box-shadow: 1px 1px 1px 1px #d6d6d6;
+ margin-right: 10px;
+}
+
+.container {
+ flex-direction: column;
+ width: 100%;
+}
+
+.title{
+ height: 50px;
+ font-size: 25px;
+ color: grey;
+ margin-top: 0px;
+ margin-left: 30px;
+}
+
+.text1{
+ flex-direction: column;
+ margin-left: 12px;
+ width: 70%;
+ text-align: left;
+}
+
+.text2{
+ font-size: 23fp;
+ display: grid;
+}
+
+.text3{
+ font-size: 20fp;
+ font-weight:500;
+ color: darkgrey;
+ width:237px;
+ display: grid;
+}
+
+.list{
+ width: 96%;
+ margin-left: 5%;
+/* height: 1000px;*/
+/* columns: 1;*/
+}
+
+.listItem{
+ width: 100%;
+ height: 200px;
+ border-bottom: 1px solid #DEDEDE;
+ align-items: center;
+ font-size: 20px;
+}
+
+```
+**js源码**
+```javascript
+import router from '@system.router';
+
+export default {
+ launch() {
+ router.push ({
+ uri1:'pages/page2/page2', // 指定要跳转的页面
+ })
+ },
+ by() {
+ router.push ({
+ uri:'pages/page1/page1', // 跳转到注册页面
+ })
+ },
+ text1() {
+ router.push ({
+ uri:'pages/text1/text1', // 跳转到注册页面
+ })
+ },
+ text2() {
+ router.push ({
+ uri:'pages/text2/text2', // 跳转到注册页面
+ })
+ },
+ text3() {
+ router.push ({
+ uri:'pages/text3/text3', // 跳转到注册页面
+ })
+ },
+ text4() {
+ router.push ({
+ uri:'pages/text4/text4', // 跳转到注册页面
+ })
+ },
+ data: {
+ title: "",
+
+ fresh:false,
+ // descriptionFirstParagraph:'右上方进行拍照识别,分级诊疗。\n下方是一下关于黑色素瘤的知识。',
+ //不能大写
+ //轮播图片
+ imageList: ['/common/images/p11.png', '/common/images/p12.png', '/common/images/p13.png', '/common/images/p14.png', '/common/images/p15.png'],
+ scrollAmount: 5,
+ loop: -1,
+ marqueeDir: 'left',
+ // marqueeCustomData: '右上方进行拍照识别,进行分级诊疗。\n下方是一下关于黑色素瘤的知识。',
+ //将["","","","",""...]结构的数据转化为[["","",""],["",""],["","",""]...]结构
+ // ["one","two"],
+ datas:[
+ ["three","four","five"],
+ ["six","seven"],
+ ["eight","nine","ten"]]
+
+ },
+ //输入框内容改变时执行
+ searchChange(e){
+ //将输入框中的值赋给变量 id
+ this.id = e.value;
+ },
+ closeSecond(e) {
+ this.second = false;
+ }
+}
+
+```
+### 科普文章
+#### 部分代码
+**hml源码**
+```html/xml
+
+
+
+
+
+
+
什么是黑色素瘤?
+
+ 黄园清
+ 2022-03-07-19:56
+
+
+
+ 我们在之前的栏目中,介绍过皮肤癌的相关信息,今天,我们来具体展开谈论一下,皮肤癌中恶性程度很高的一个种类——黑色素瘤。
+ 黑色素瘤,又称恶性黑色素瘤,是一种从黑色素细胞发展而来的癌症,是皮肤癌中罕见的癌症。好发于皮肤但也可能出现在口腔、肠道或眼睛中。女性患者的黑色素瘤最常出现在腿,而男性患者则最常出现在背部。有时黑色素瘤是由痣转变发展而来,有这种转变的痣外观上的改变包括尺寸变大、边缘变得不规则、颜色改变、发痒、或皮肤破坏。
+
+
+
+ 对于肤色较浅的人而言,紫外线暴露是造成黑色素瘤的主因。太阳或日晒床都是可能的紫外线来源。大约有25%的黑色素瘤是从痣发展而来。有很多痣、家中曾有人得过黑色素瘤,以及免疫力低下的人,罹患黑色素瘤的风险都较高。一些罕见的基因缺陷,例如着色性干皮症,也会增加罹患的风险。诊断方法是对可疑的皮肤病变部位进行切片检查。
+ 避免紫外线暴露以及使用防晒油可以预防黑色素瘤的产生。治疗方法通常是手术切除。对于黑色素瘤较大的病患,会检测邻近的淋巴结来判断是否发生转移。若没有转移的话大部分的病患可被治愈。对于黑色素瘤已发生转移的病患,免疫疗法、生物性治疗、放射线治疗或化学治疗可能可以增加存活率在美国,病患在接受治疗后,若只有局部病变五年存活率为98%,若已发生转移,五年存活率则为17%。复发或转移的可能性取决于该黑色素瘤厚度、细胞分裂速度、以及覆盖其上的皮肤是否被破坏,近年发展的免疫疗法对于该病症颇有效果,能够提高治愈率。
+
+
+
+
+
+
+```
+**CSS源码**
+```html/xml
+#wrapper {
+ flex-direction: column;
+ margin-left: 3%;
+ margin-right: 3%;
+ height: 3200px;
+}
+
+#div1 {
+ width: 100px;
+ height: 100px;
+}
+
+#image0 {
+ width: 90px;
+ height: 90px;
+ top: 10px;
+ right: -10px;
+}
+
+#image2 {
+ height: 40px;
+ top: 15px;
+ right: -250px;
+}
+
+#text1 {
+ font-size: 25fp;
+ margin-bottom: 10px;
+}
+
+.author {
+ flex-direction: row;
+ justify-content: space-between;
+ margin-bottom: 10px;
+}
+
+#text3 {
+ font-size: 40px;
+ color: rgba(0,0,0,0.56);
+ margin-right: 50px;
+}
+
+#text4 {
+ font-size: 20px;
+ color: rgba(0,0,0,0.56);
+}
+
+#text5 {
+ font-size: 40px;
+}
+
+#image3 {
+ width: 95%;
+ height: 400px;
+/* top: -150px;*/
+}
+
+#div3 {
+ height: 1300px;
+}
+
+#text2 {
+/* width: 335.518308406395px;*/
+/* height: 996.6529138731304px;*/
+/* top: -150px;*/
+ right: -10px;
+ font-size: 40px;
+}
+
+#image1 {
+/* width: 350px;*/
+ width: 95%;
+ height: 400px;
+}
+
+```
+**js源码**
+```javascript
+import router from '@system.router';
+// xxx.js
+export default {
+ data: {
+ title: 'World'
+ },
+
+ back(){
+ router.push ({
+ uri:'pages/first/first', // 跳转到注册页面
+ })
+ }
+
+}
+
+```
+### 历史记录
+**hml源码**
+```html/xml
+
+
+
+
+
+ 2022-03-21 09:04:58
+
+
+
+ 结果与分析
+
+
+
+
+ 检测报告
+
+
+
+
+ 类别:色素性皮肤病
+
+
+
+
+
+
+
+ 疾病概括
+
+ 色素性皮肤病由色素减少或增多引起皮肤颜色改变。
+
+
+
+
+
+
+ 病因分析
+
+ 黑素细胞和黑素生成异常造成,可由遗传及环境因素引起,它是皮肤病中的一类常见疾病
+
+
+
+
+
+
+ 定期观察
+ 如情况恶化及时就医
+
+
+
+
+
+
+
+ 2022-03-21 09:12:20
+
+
+
+ 结果与分析
+
+
+
+
+ 检测报告
+
+
+
+
+ 类别:痣
+
+
+
+
+
+
+
+ 疾病概括
+
+ 黑色素痣是一群良性的黑色素细胞,聚集在表皮与真皮的交界产生的。
+
+
+
+
+
+
+ 病因分析
+
+ 紫外线使黑色素瘤形成的一大主因,日常生活做好防晒。新老角质交替过慢也是黑色素形成的原因。
+
+
+
+
+
+
+ 定期观察
+ 如情况恶化及时就医
+
+
+
+
+
+
+
+ 2022-03-21 15:04:42
+
+
+
+ 结果与分析
+
+
+
+
+ 检测报告
+
+
+
+
+ 类别:痣
+
+
+
+
+
+
+
+ 疾病概括
+
+ 黑色素痣是一群良性的黑色素细胞,聚集在表皮与真皮的交界产生的。
+
+
+
+
+
+
+ 病因分析
+
+ 紫外线使黑色素瘤形成的一大主因,日常生活做好防晒。新老角质交替过慢也是黑色素形成的原因。
+
+
+
+
+
+
+ 定期观察
+ 如情况恶化及时就医
+
+
+
+
+
+
+
+ 2022-03-21 14:01:17
+
+
+
+ 结果与分析
+
+
+
+
+ 检测报告
+
+
+
+
+ 类别:痣
+
+
+
+
+
+
+ 疾病概括
+
+ 黑色素痣是一群良性的黑色素细胞,聚集在表皮与真皮的交界产生的。
+
+
+
+
+
+
+ 病因分析
+
+ 紫外线使黑色素瘤形成的一大主因,日常生活做好防晒。新老角质交替过慢也是黑色素形成的原因。
+
+
+
+
+
+
+ 定期观察
+ 如情况恶化及时就医
+
+
+
+
+
+
+
+
+
+
+```
+**CSS源码**
+```html/xml
+.container {
+ margin-top: 10px;
+ flex-direction: column;
+ margin-left: 3%;
+ margin-right: 3%;
+}
+
+.listdiv{
+ width: 100%;
+/* height: 100%;*/
+ font-size: 25px;
+ margin-top: 20px;
+ margin-bottom: 20px;
+ color: #000000;
+ opacity: 0.9;
+ font-size: 28px;
+}
+
+.list-item{
+ width: 100%;
+ height: 80px;
+ display: flex;
+ justify-content: space-around;
+ align-items: center;
+ margin-bottom: 5px;
+ border-bottom: 1px solid black;
+ border-width: 2px;
+ border-color: black;
+}
+
+.textdiv{
+ font-size: 30px;
+ font-weight: bold;
+}
+
+
+.imputdiv{
+ width: 100%;
+ height: 35%;
+}
+.button1{
+ width: 100%;
+ height: 60%;
+ display: flex;
+ flex-direction: row;
+}
+.listG{
+ height: 100px;
+ border-color: black;
+ border-width: 2px;
+ z-index: 1;
+}
+.listItem{
+ width: 100%;
+ height: 60px;
+ line-height: 60px;
+ border-bottom: 1px solid #DEDEDE;
+ align-items: center;
+ font-size: 20px;
+}
+.group{
+ width: 96%;
+ height: 600px;
+ padding-left: 3%;
+ margin-left: 2%;
+ display: flex;
+/* border-bottom: 1px solid #DEDEDE;*/
+ border-width: 1px;
+ border-color: black;
+ border-radius: 15px;
+ box-shadow: 3px 3px 3px 3px #d6d6d6;
+ font-size: 20px;
+ font-weight:500;
+ z-index: 1;
+}
+.group1{
+ width: 96%;
+ height: 60px;
+ padding-left: 3%;
+ margin-left: 6%;
+ z-index:2;
+}
+
+.groupValue{
+ font-size: 16px;
+ width: 95%;
+ height: 60px;
+ margin-left: 15%;
+ border-bottom: 1px solid #DEDEDE;
+}
+
+.head{
+ width: 100%;
+ height: 50px;
+ background-color: #6f7ee9;
+}
+
+.head_text{
+ align-items: center;
+ text-align:center;
+ justify-content: center;
+ font-size: 25px;
+ color: #f8f4f4;
+}
+
+.listA{
+ height: 4000px;
+}
+
+.listItem{
+ width: 100%;
+ height: 60px;
+ line-height: 60px;
+ border-bottom: 1px solid #DEDEDE;
+ align-items: center;
+ font-size: 20px;
+ border-width: 1px;
+ border-color: black;
+ border-radius: 15px;
+ box-shadow: 3px 3px 3px 3px #d6d6d6;
+}
+.groupA{
+ width: 96%;
+ height: 150px;
+/* background-color: darkgrey;*/
+ padding-left: 3%;
+ margin-left: 6%;
+ border-bottom: 1px solid #DEDEDE;
+ font-size: 40px;
+ font-weight:500;
+}
+.groupValueA{
+ font-size: 16px;
+ width: 95%;
+ height: 60px;
+ margin-left: 15%;
+ border-bottom: 1px solid #DEDEDE;
+}
+
+#wrapper {
+ width: 100%;
+ flex-direction: column;
+}
+
+#div1 {
+ width: 100%;
+ height: 200px;
+ background-color: #5768e4;
+}
+
+#div_image2{
+ flex-direction: row-reverse;
+ margin-right: 10px;
+}
+
+#image1 {
+ width: 40px;
+ height: 40px;
+ top: 10px;
+ right: -10px;
+}
+
+#text1 {
+ width: 68.62300154718928px;
+ height: 43.27488396080454px;
+ top: 10px;
+ right: -15px;
+ color: #f8f4f4;
+}
+
+#text2 {
+ width: 180px;
+ height: 50px;
+ top: 10px;
+ margin-left: 90px;
+ right: 80px;
+ font-size: 35px;
+ color: #f8f4f4;
+}
+
+#div3 {
+ width: 89%;
+ height: 200px;
+ border-width: 1px;
+ border-color: #000000;
+ border-radius: 20px;
+ box-shadow: 3px 3px 3px 3px #d6d6d6;
+ background-color: #ffffff;
+ flex-shrink: -1;
+ top: -100px;
+ right: -20px;
+ flex-wrap: wrap;
+ justify-content: center;
+ align-items: center;
+ align-content: center;
+}
+
+#div5 {
+ width: 250px;
+ height: 90px;
+ border-width: 0.05px;
+ border-radius: 50px;
+ background-color: #eeebeb;
+ margin-top: 50px;
+ left: -60px;
+}
+
+#text3 {
+ left: 15px;
+ top:2px;
+ font-size: 35px;
+}
+
+#image2 {
+ margin-top: 20px;
+ width: 200px;
+ height: 150px;
+/* top:-10px;*/
+ left: 5px;
+}
+
+#image3 {
+ width: 30px;
+ height: 28px;
+ top:6px;
+ left: 5px;
+/* margin-top: 10px;*/
+/* border-width: 2px;*/
+/* border-color: black;*/
+}
+
+#text4 {
+ height: 42px;
+ font-size: 40px;
+ left: 7px;
+ margin-end: 20px;
+/* margin-top: 12px;*/
+/* border-width: 2px;*/
+/* border-color: black;*/
+}
+
+#div6 {
+ width: 91%;
+ height: 389px;
+ border-width: 1px;
+ border-color: #000000;
+ border-radius: 30px;
+ box-shadow: 3px 3px 3px 3px #d6d6d6;
+ top: -140px;
+ right: -15px;
+}
+
+#text5 {
+ height: 45.68849922640536px;
+ right: -20px;
+ font-size: 35px;
+}
+
+#text_class{
+ font-size: 20px;
+}
+
+#text6 {
+ width: 180px;
+ height: 200px;
+ font-size: 20px;
+ left: 35px;
+}
+
+#image5 {
+ width: 150px;
+ height: 100px;
+ left: 10px;
+}
+
+#slider1 {
+ width: 150px;
+ height: 44px;
+ left: -25px;
+}
+
+#image7 {
+ width: 35px;
+ height: 33px;
+ top:10px;
+ left: 10px;
+}
+
+#text8 {
+ width: 300px;
+ height: 50px;
+ font-size: 35px;
+ left: 8px;
+}
+
+#text9 {
+ height: 80px;
+ top:-5px;
+ font-size: 20px;
+ left: 8px;
+}
+
+#image8 {
+ width: 40px;
+ height: 20px;
+ top:10px;
+ left: 10px;
+}
+
+#text10 {
+ width: 300px;
+ height: 40px;
+ font-size: 35px;
+ left: 8px;
+}
+
+#text11 {
+ width: 550px;
+ font-size: 20px;
+ left: 8px;
+}
+
+#image9 {
+ width: 35px;
+ height: 33px;
+ top:10px;
+ left: 10px;
+}
+
+#text12 {
+ width: 300px;
+ height: 40px;
+ font-size: 35px;
+ left: 8px;
+}
+
+#text13 {
+ width: 550px;
+ font-size: 20px;
+ left: 8px;
+}
+
+#div7 {
+ width: 100%;
+ height: 50px;
+}
+
+
+.container_1{
+ width: 100%;
+ height: 1000px;
+ flex-direction: column;
+}
+
+.z1{
+ width: 100%;
+ height: 40px;
+ top:-100px;
+/* border-width: 1px;*/
+/* border-color: black;*/
+}
+
+.z2{
+ flex-direction: column;
+ width: 91%;
+ height: 500px;
+ border-width: 1px;
+ border-color: #000000;
+ border-radius: 30px;
+ box-shadow: 3px 3px 3px 3px #d6d6d6;
+ top:-95px;
+ right: -15px;
+}
+
+.z3{
+ width: 400px;
+ height: 50px;
+}
+
+.z4{
+ flex-direction: row;
+ width: 300px;
+ height: 150px;
+ top:5px;
+
+}
+
+.z5{
+ flex-direction: column;
+ width: 200px;
+ left: 10px;
+}
+
+.z6{
+ height: 300px;
+ flex-direction: row;
+ height: 90px;
+ top:5px;
+}
+.z6_1{
+ flex-direction:column;
+ width: 550px;
+ height: 200px;
+ left: 10px;
+}
+
+.z7{
+ flex-direction: row;
+ height: 100px;
+ top:5px;
+}
+.z7_1{
+ flex-direction:column;
+ height: 100px;
+ left: 10px;
+}
+
+.z8{
+ flex-direction: row;
+ height: 100px;
+ top:5px;
+}
+.z8_1{
+ flex-direction:column;
+ width: 248px;
+ height: 100px;
+ left: 10px;
+}
+
+```
+还有部分源码,如果感兴趣的话可以私聊我。
+[视频链接](https://744534.ma3you.cn/articles/b3EewrR)