feat: 工作台轮播图、消息通知、告警状态完成

dev-deviceSetting
donghao 2 years ago
parent 014d995868
commit 1ec0a64903

@ -1,3 +1,11 @@
/*
* @Author: donghao donghao@supervision.ltd
* @Date: 2024-01-12 14:35:28
* @LastEditors: donghao donghao@supervision.ltd
* @LastEditTime: 2024-01-12 17:25:12
* @FilePath: \general-work-web\General-AI-Platform-Web-Client\mock\asyncRoutes.ts
* @Description: ,`customMade`, koroFileHeader : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
// 模拟后端动态生成路由 // 模拟后端动态生成路由
import { MockMethod } from "vite-plugin-mock"; import { MockMethod } from "vite-plugin-mock";
@ -7,33 +15,33 @@ import { MockMethod } from "vite-plugin-mock";
* common * common
*/ */
const permissionRouter = { // const permissionRouter = {
path: "/permission", // path: "/permission",
meta: { // meta: {
title: "menus.permission", // title: "menus.permission",
icon: "lollipop", // icon: "lollipop",
rank: 10 // rank: 10
}, // },
children: [ // children: [
{ // {
path: "/permission/page/index", // path: "/permission/page/index",
name: "PermissionPage", // name: "PermissionPage",
meta: { // meta: {
title: "menus.permissionPage", // title: "menus.permissionPage",
roles: ["admin", "common"] // roles: ["admin", "common"]
} // }
}, // },
{ // {
path: "/permission/button/index", // path: "/permission/button/index",
name: "PermissionButton", // name: "PermissionButton",
meta: { // meta: {
title: "menus.permissionButton", // title: "menus.permissionButton",
roles: ["admin", "common"], // roles: ["admin", "common"],
auths: ["btn_add", "btn_edit", "btn_delete"] // auths: ["btn_add", "btn_edit", "btn_delete"]
} // }
} // }
] // ]
}; // };
export default [ export default [
{ {
@ -42,7 +50,7 @@ export default [
response: () => { response: () => {
return { return {
success: true, success: true,
data: [permissionRouter] data: []
}; };
} }
} }

@ -50,6 +50,7 @@
"qs": "^6.11.2", "qs": "^6.11.2",
"responsive-storage": "^2.2.0", "responsive-storage": "^2.2.0",
"sortablejs": "^1.15.0", "sortablejs": "^1.15.0",
"swiper": "^11.0.5",
"vue": "^3.3.4", "vue": "^3.3.4",
"vue-i18n": "^9.2.2", "vue-i18n": "^9.2.2",
"vue-router": "^4.2.2", "vue-router": "^4.2.2",

@ -68,6 +68,9 @@ dependencies:
sortablejs: sortablejs:
specifier: ^1.15.0 specifier: ^1.15.0
version: 1.15.0 version: 1.15.0
swiper:
specifier: ^11.0.5
version: 11.0.5
vue: vue:
specifier: ^3.3.4 specifier: ^3.3.4
version: 3.3.4 version: 3.3.4
@ -961,7 +964,8 @@ packages:
/@esbuild/android-arm64@0.17.19: /@esbuild/android-arm64@0.17.19:
resolution: resolution:
{ {
integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA== integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==,
tarball: https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [arm64] cpu: [arm64]
@ -973,7 +977,8 @@ packages:
/@esbuild/android-arm@0.17.19: /@esbuild/android-arm@0.17.19:
resolution: resolution:
{ {
integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A== integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==,
tarball: https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [arm] cpu: [arm]
@ -985,7 +990,8 @@ packages:
/@esbuild/android-x64@0.17.19: /@esbuild/android-x64@0.17.19:
resolution: resolution:
{ {
integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww== integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==,
tarball: https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [x64] cpu: [x64]
@ -997,7 +1003,8 @@ packages:
/@esbuild/darwin-arm64@0.17.19: /@esbuild/darwin-arm64@0.17.19:
resolution: resolution:
{ {
integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg== integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==,
tarball: https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [arm64] cpu: [arm64]
@ -1009,7 +1016,8 @@ packages:
/@esbuild/darwin-x64@0.17.19: /@esbuild/darwin-x64@0.17.19:
resolution: resolution:
{ {
integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw== integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==,
tarball: https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [x64] cpu: [x64]
@ -1021,7 +1029,8 @@ packages:
/@esbuild/freebsd-arm64@0.17.19: /@esbuild/freebsd-arm64@0.17.19:
resolution: resolution:
{ {
integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ== integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==,
tarball: https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [arm64] cpu: [arm64]
@ -1033,7 +1042,8 @@ packages:
/@esbuild/freebsd-x64@0.17.19: /@esbuild/freebsd-x64@0.17.19:
resolution: resolution:
{ {
integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ== integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==,
tarball: https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [x64] cpu: [x64]
@ -1045,7 +1055,8 @@ packages:
/@esbuild/linux-arm64@0.17.19: /@esbuild/linux-arm64@0.17.19:
resolution: resolution:
{ {
integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg== integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==,
tarball: https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [arm64] cpu: [arm64]
@ -1057,7 +1068,8 @@ packages:
/@esbuild/linux-arm@0.17.19: /@esbuild/linux-arm@0.17.19:
resolution: resolution:
{ {
integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA== integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==,
tarball: https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [arm] cpu: [arm]
@ -1069,7 +1081,8 @@ packages:
/@esbuild/linux-ia32@0.17.19: /@esbuild/linux-ia32@0.17.19:
resolution: resolution:
{ {
integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ== integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==,
tarball: https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [ia32] cpu: [ia32]
@ -1081,7 +1094,8 @@ packages:
/@esbuild/linux-loong64@0.17.19: /@esbuild/linux-loong64@0.17.19:
resolution: resolution:
{ {
integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ== integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==,
tarball: https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [loong64] cpu: [loong64]
@ -1093,7 +1107,8 @@ packages:
/@esbuild/linux-mips64el@0.17.19: /@esbuild/linux-mips64el@0.17.19:
resolution: resolution:
{ {
integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A== integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==,
tarball: https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [mips64el] cpu: [mips64el]
@ -1105,7 +1120,8 @@ packages:
/@esbuild/linux-ppc64@0.17.19: /@esbuild/linux-ppc64@0.17.19:
resolution: resolution:
{ {
integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg== integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==,
tarball: https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [ppc64] cpu: [ppc64]
@ -1117,7 +1133,8 @@ packages:
/@esbuild/linux-riscv64@0.17.19: /@esbuild/linux-riscv64@0.17.19:
resolution: resolution:
{ {
integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA== integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==,
tarball: https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [riscv64] cpu: [riscv64]
@ -1129,7 +1146,8 @@ packages:
/@esbuild/linux-s390x@0.17.19: /@esbuild/linux-s390x@0.17.19:
resolution: resolution:
{ {
integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q== integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==,
tarball: https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [s390x] cpu: [s390x]
@ -1141,7 +1159,8 @@ packages:
/@esbuild/linux-x64@0.17.19: /@esbuild/linux-x64@0.17.19:
resolution: resolution:
{ {
integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw== integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==,
tarball: https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [x64] cpu: [x64]
@ -1153,7 +1172,8 @@ packages:
/@esbuild/netbsd-x64@0.17.19: /@esbuild/netbsd-x64@0.17.19:
resolution: resolution:
{ {
integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q== integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==,
tarball: https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [x64] cpu: [x64]
@ -1165,7 +1185,8 @@ packages:
/@esbuild/openbsd-x64@0.17.19: /@esbuild/openbsd-x64@0.17.19:
resolution: resolution:
{ {
integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g== integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==,
tarball: https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [x64] cpu: [x64]
@ -1177,7 +1198,8 @@ packages:
/@esbuild/sunos-x64@0.17.19: /@esbuild/sunos-x64@0.17.19:
resolution: resolution:
{ {
integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg== integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==,
tarball: https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [x64] cpu: [x64]
@ -1189,7 +1211,8 @@ packages:
/@esbuild/win32-arm64@0.17.19: /@esbuild/win32-arm64@0.17.19:
resolution: resolution:
{ {
integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag== integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==,
tarball: https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [arm64] cpu: [arm64]
@ -1201,7 +1224,8 @@ packages:
/@esbuild/win32-ia32@0.17.19: /@esbuild/win32-ia32@0.17.19:
resolution: resolution:
{ {
integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw== integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==,
tarball: https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [ia32] cpu: [ia32]
@ -1213,7 +1237,8 @@ packages:
/@esbuild/win32-x64@0.17.19: /@esbuild/win32-x64@0.17.19:
resolution: resolution:
{ {
integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA== integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==,
tarball: https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz
} }
engines: { node: ">=12" } engines: { node: ">=12" }
cpu: [x64] cpu: [x64]
@ -1603,7 +1628,8 @@ packages:
/@nuxt/kit@3.6.0: /@nuxt/kit@3.6.0:
resolution: resolution:
{ {
integrity: sha512-rqQYyWlhE42oWRQNR58KU1JYhoWryN78x8eYzFTHgalfpMjtPqZv2j9K4+hFRk0XLRUKnut4tE/3+UYyZ7ybVw== integrity: sha512-rqQYyWlhE42oWRQNR58KU1JYhoWryN78x8eYzFTHgalfpMjtPqZv2j9K4+hFRk0XLRUKnut4tE/3+UYyZ7ybVw==,
tarball: https://registry.npmmirror.com/@nuxt/kit/-/kit-3.6.0.tgz
} }
engines: { node: ^14.18.0 || >=16.10.0 } engines: { node: ^14.18.0 || >=16.10.0 }
requiresBuild: true requiresBuild: true
@ -1657,7 +1683,8 @@ packages:
/@pkgjs/parseargs@0.11.0: /@pkgjs/parseargs@0.11.0:
resolution: resolution:
{ {
integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==,
tarball: https://registry.npmmirror.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz
} }
engines: { node: ">=14" } engines: { node: ">=14" }
requiresBuild: true requiresBuild: true
@ -1785,7 +1812,8 @@ packages:
/@sxzz/popperjs-es@2.11.7: /@sxzz/popperjs-es@2.11.7:
resolution: resolution:
{ {
integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ== integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==,
tarball: https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz
} }
dev: false dev: false
@ -4686,7 +4714,8 @@ packages:
/fsevents@2.3.2: /fsevents@2.3.2:
resolution: resolution:
{ {
integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==,
tarball: https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz
} }
engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 }
os: [darwin] os: [darwin]
@ -8798,6 +8827,15 @@ packages:
picocolors: 1.0.0 picocolors: 1.0.0
dev: true dev: true
/swiper@11.0.5:
resolution:
{
integrity: sha512-rhCwupqSyRnWrtNzWzemnBLMoyYuoDgGgspAm/8iBD3jCvAWycPLH4Z3TB0O5520DHLzMx94yUMH/B9Efpa48w==,
tarball: https://registry.npmmirror.com/swiper/-/swiper-11.0.5.tgz
}
engines: { node: ">= 4.7.0" }
dev: false
/table@6.8.1: /table@6.8.1:
resolution: resolution:
{ {

@ -1 +1,49 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" class="icon" viewBox="0 0 1024 1024"><path fill="#386BF3" d="M410.558.109c0 210.974-300.876 361.752-300.876 633.548 0 174.943 134.704 316.787 300.876 316.787s300.877-141.817 300.877-316.787C711.408 361.752 410.558 210.974 410.558.109z"/><path fill="#C3D2FB" d="M613.469 73.665c0 211.055-300.877 361.914-300.877 633.547C312.592 882.156 447.296 1024 613.47 1024s300.876-141.817 300.876-316.788C914.29 435.58 613.469 284.72 613.469 73.665z"/><path fill="#303F5B" d="M312.592 707.212c0-183.713 137.636-312.171 226.723-441.39 81.702 106.112 172.12 218.74 172.12 367.726A309.755 309.755 0 0 1 420.36 950.064a323.114 323.114 0 0 1-107.769-242.852z"/></svg> <svg xmlns="http://www.w3.org/2000/svg" width="56" height="75" viewBox="0 0 56 75" fill="none">
<path
d="M28.0135 2.47754L23.4266 3.45019C23.3191 3.47983 23.2828 3.61536 23.3623 3.69441L26.9788 7.35069C27.057 7.42975 27.1925 7.39446 27.2204 7.28576L28.1908 2.65682C28.2202 2.54812 28.121 2.4493 28.0135 2.47754Z"
fill="#E42F2F" />
<path
d="M30.4977 0.00374687L23.854 1.80365C23.7758 1.82483 23.7507 1.92365 23.8065 1.98153L28.6699 6.89844C28.7272 6.95632 28.8249 6.9295 28.8459 6.85045L30.6262 0.133624C30.6471 0.0545696 30.5759 -0.0174285 30.4977 0.00374687Z"
fill="#FAEC18" />
<path
d="M44.1792 21.7035L36.3682 13.8065L33.3242 10.729C33.1204 10.5229 32.7894 10.5229 32.5842 10.729L19.333 24.126C19.0901 24.3716 18.6949 24.3716 18.452 24.126L14.8383 20.4725C14.5953 20.2269 14.5953 19.8274 14.8383 19.5817L25.9209 8.37715C26.1248 8.17104 26.1248 7.83648 25.9209 7.62896L22.9132 4.58817C22.7094 4.38207 22.3784 4.38207 22.1732 4.58817L7.1529 19.7766C6.94903 19.9827 6.94903 20.3172 7.1529 20.5247L15.0575 28.5163L18.1015 31.5938C18.3053 31.7999 18.6363 31.7999 18.8415 31.5938L32.6526 17.6308C32.8955 17.3851 33.2907 17.3851 33.5337 17.6308L37.1474 21.2842C37.3903 21.5299 37.3903 21.9294 37.1474 22.175L23.3363 36.138C23.1324 36.3442 23.1324 36.6787 23.3363 36.8862L26.2504 39.8324C26.4543 40.0385 26.7852 40.0385 26.9905 39.8324L44.1806 22.4531C44.3831 22.2442 44.3831 21.9096 44.1792 21.7035Z"
fill="white" />
<path
d="M12.3013 52.6768H10.188V51.3184H6.1762V52.4952H4.06293V51.3184H0.463582L0.302002 49.472H4.06293V48.0781H6.1762V49.472H10.188V48.0781H12.3013V49.472H16.295V51.3184H12.3013V52.6768ZM0.302002 60.6253L1.87845 56.5694H3.88435L2.39826 60.6253H0.302002ZM13.2325 61.5485C13.089 62.9424 12.1939 63.8119 10.6897 63.9021C9.81169 63.9741 8.41489 63.8656 7.2509 63.6668L6.7853 61.8742C7.82386 62.073 9.04207 62.1643 9.77555 62.1095C10.6355 62.073 11.0469 61.6753 11.1011 60.8962C11.2266 59.3206 11.2085 57.4012 11.1011 55.8988C11.083 55.7182 11.0299 55.6451 10.8503 55.6451H7.69843C7.46563 60.0085 5.6213 62.1633 1.19706 64.3546L0.642166 62.3094C3.79399 60.6984 5.28008 58.7973 5.54902 55.6462H1.60951L1.466 53.8353H5.58516V52.6403H7.73457V53.8353H11.8537C12.6956 53.8353 13.1612 54.3598 13.2325 55.1755C13.2686 55.5194 13.2856 55.845 13.3037 56.19H15.2554L16.6883 60.6436H14.5219L13.3217 56.5877C13.4291 58.3437 13.393 60.0643 13.2325 61.5485Z"
fill="white" />
<path
d="M22.7426 58.506V58.5962C22.7426 60.334 22.6894 62.0181 22.1335 64.2814H19.8948C20.7005 61.384 20.7186 59.5377 20.7186 57.4914V49.6332C20.7186 48.8185 21.2023 48.3661 22.0623 48.3661H24.9451C25.8051 48.3661 26.2877 48.8003 26.2877 49.6332V62.4888C26.2877 63.4851 25.6074 64.0998 24.5869 64.1729C24.0671 64.2094 23.5303 64.1363 23.1901 64.0461L22.7426 62.1815C23.0296 62.2535 23.441 62.29 23.745 62.29C24.0852 62.29 24.2648 62.0912 24.2648 61.7827V58.506H22.7426ZM24.2648 50.3941C24.2648 50.2855 24.1936 50.2124 24.0862 50.2124H22.9403C22.8329 50.2124 22.7436 50.2844 22.7436 50.3941V52.6757H24.2659V50.3941H24.2648ZM24.2648 54.3415H22.7426V56.8402H24.2648V54.3415ZM36.2449 61.9644V63.8473H26.9149L26.7363 61.9644H30.6407V58.2889H27.7579L27.5782 56.406H30.6407V53.0196H29.0824C28.9208 53.7622 28.7241 54.4683 28.4733 55.1378H26.5035C27.1838 53.2184 27.5421 51.2087 27.5963 48.8916H29.5129C29.4948 49.6697 29.4417 50.4306 29.3694 51.1367H30.6407V48.0039H32.7359V51.1367H35.6911V53.0196H32.7359V56.406H35.5837V58.2889H32.7359V61.9644H36.2449Z"
fill="white" />
<path
d="M55.9998 62.1802L55.3545 64.4435C51.3969 62.7594 49.0328 61.3838 47.7795 58.7766C46.5262 61.2204 44.0547 63.0131 40.0429 64.4252L39.47 62.2522C43.9474 60.4778 45.7736 58.9571 46.3827 56.2768H39.9717L39.7751 54.3574H46.5985C46.6166 54.122 46.6166 53.8684 46.6166 53.6147V50.7721H41.0826L40.904 48.9258H54.6933V50.7721H48.8V54.0489V54.3563H55.6586V56.2757H48.9244C49.947 59.4461 52.579 60.8948 55.9998 62.1802Z"
fill="white" />
<path
d="M0 72.9407L1.18951 72.8257C1.26073 73.2212 1.40636 73.5124 1.62534 73.6973C1.84432 73.8832 2.13984 73.9756 2.51083 73.9756C2.90414 73.9756 3.20179 73.8929 3.40057 73.7284C3.60041 73.5629 3.70034 73.3705 3.70034 73.1492C3.70034 73.0073 3.65782 72.8869 3.57384 72.787C3.48986 72.687 3.34317 72.6011 3.13375 72.5269C2.99025 72.4775 2.6639 72.3904 2.15472 72.2647C1.49884 72.1035 1.03962 71.9057 0.774935 71.6714C0.402882 71.3415 0.216855 70.9385 0.216855 70.4635C0.216855 70.1582 0.304022 69.8724 0.479419 69.6058C0.654815 69.3393 0.905684 69.1373 1.23522 68.9976C1.56475 68.8589 1.96126 68.7891 2.42685 68.7891C3.18691 68.7891 3.7588 68.9546 4.14361 69.2845C4.52842 69.6144 4.72933 70.0551 4.74847 70.6064L3.52601 70.6601C3.47392 70.3517 3.36124 70.1303 3.18903 69.9949C3.01682 69.8595 2.75851 69.7928 2.41409 69.7928C2.05905 69.7928 1.78054 69.8648 1.57963 70.0099C1.44995 70.1024 1.3851 70.227 1.3851 70.3829C1.3851 70.5247 1.44569 70.6462 1.56688 70.7472C1.72101 70.8751 2.09519 71.0094 2.69048 71.148C3.28576 71.2867 3.72479 71.4307 4.01074 71.5801C4.29669 71.7295 4.51885 71.9326 4.67937 72.1894C4.84095 72.4474 4.92067 72.7655 4.92067 73.1449C4.92067 73.4888 4.82394 73.8112 4.63154 74.111C4.43913 74.4109 4.16594 74.6344 3.81408 74.7806C3.46116 74.9267 3.02214 74.9998 2.49595 74.9998C1.73058 74.9998 1.14274 74.8246 0.732415 74.4743C0.325283 74.1228 0.0807888 73.6124 0 72.9407Z"
fill="white" />
<path
d="M5.77539 68.8906H6.99785V72.1405C6.99785 72.6564 7.01273 72.9906 7.04356 73.1432C7.09565 73.3894 7.22002 73.586 7.41774 73.7343C7.6144 73.8826 7.88334 73.9579 8.22563 73.9579C8.57217 73.9579 8.83367 73.888 9.01013 73.7472C9.18659 73.6064 9.29289 73.4345 9.32797 73.2292C9.36411 73.025 9.38218 72.6843 9.38218 72.2104V68.8906H10.6046V72.0427C10.6046 72.7628 10.5717 73.2722 10.5058 73.5699C10.4399 73.8676 10.3176 74.118 10.1401 74.3233C9.96259 74.5285 9.72447 74.6908 9.42789 74.8123C9.13025 74.9337 8.74225 74.9939 8.26283 74.9939C7.68456 74.9939 7.24553 74.9273 6.94683 74.7951C6.64812 74.6629 6.41213 74.4909 6.23886 74.2792C6.06559 74.0675 5.95078 73.8461 5.89551 73.614C5.81578 73.2701 5.77539 72.7628 5.77539 72.0911V68.8906Z"
fill="white" />
<path
d="M11.7246 74.8946V68.8945H13.6869C14.43 68.8945 14.9147 68.9246 15.1411 68.9848C15.4877 69.0751 15.7789 69.2707 16.0128 69.5716C16.2467 69.8736 16.3636 70.2626 16.3636 70.7398C16.3636 71.1084 16.2966 71.4179 16.1616 71.6694C16.0266 71.9209 15.8555 72.1176 15.6471 72.2605C15.4388 72.4034 15.2283 72.498 15.0136 72.5453C14.7212 72.6023 14.2992 72.6313 13.7454 72.6313H12.9481V74.8946H11.7246ZM12.9481 69.909V71.6114H13.6168C14.0983 71.6114 14.4204 71.5802 14.583 71.5168C14.7457 71.4545 14.8732 71.3556 14.9647 71.2223C15.0571 71.0891 15.1029 70.9332 15.1029 70.7559C15.1029 70.5378 15.038 70.3572 14.9083 70.2153C14.7786 70.0735 14.6149 69.9843 14.4172 69.9488C14.2716 69.922 13.9782 69.908 13.537 69.908H12.9481V69.909Z"
fill="white" />
<path
d="M17.1973 74.8946V68.8945H21.6874V69.9101H18.4197V71.2406H21.4599V72.2519H18.4197V73.8855H21.8033V74.8968H17.1973V74.8946Z"
fill="white" />
<path
d="M22.6758 74.8946V68.8945H25.2493C25.8967 68.8945 26.3666 68.9483 26.6599 69.0557C26.9533 69.1632 27.1883 69.3556 27.3637 69.6307C27.539 69.9058 27.6283 70.2218 27.6283 70.5764C27.6283 71.0267 27.4944 71.3986 27.2276 71.692C26.9608 71.9854 26.5611 72.1702 26.0296 72.2465C26.2943 72.3991 26.5122 72.5668 26.6844 72.7495C26.8566 72.9322 27.0883 73.2568 27.3807 73.7232L28.1205 74.8935H26.6578L25.7734 73.5878C25.4598 73.1214 25.2451 72.8269 25.1292 72.7054C25.0133 72.584 24.8911 72.5012 24.7614 72.4561C24.6317 72.411 24.4266 72.3884 24.1459 72.3884H23.8982V74.8935H22.6758V74.8946ZM23.8993 71.4319H24.8039C25.3907 71.4319 25.7564 71.4072 25.9031 71.3578C26.0498 71.3083 26.1635 71.2245 26.2454 71.1041C26.3272 70.9838 26.3697 70.8344 26.3697 70.6538C26.3697 70.4518 26.3155 70.2884 26.206 70.1648C26.0965 70.0412 25.9435 69.9617 25.7458 69.9295C25.6469 69.9155 25.3493 69.909 24.8539 69.909H23.8993V71.4319Z"
fill="white" />
<path
d="M30.0041 74.8946L27.8398 68.8945H29.1654L30.6983 73.3352L32.1812 68.8945H33.4781L31.3095 74.8946H30.0041Z"
fill="white" />
<path d="M33.8945 74.8946V68.8945H35.117V74.8946H33.8945Z" fill="white" />
<path
d="M35.8047 72.9407L36.9942 72.8257C37.0654 73.2212 37.2111 73.5124 37.43 73.6973C37.649 73.8832 37.9445 73.9756 38.3166 73.9756C38.7099 73.9756 39.0065 73.8929 39.2063 73.7284C39.4062 73.5629 39.5061 73.3705 39.5061 73.1492C39.5061 73.0073 39.4636 72.8869 39.3796 72.787C39.2956 72.687 39.1489 72.6011 38.9395 72.5269C38.796 72.4775 38.4697 72.3904 37.9605 72.2647C37.3046 72.1035 36.8454 71.9057 36.5807 71.6714C36.2086 71.3415 36.0226 70.9385 36.0226 70.4635C36.0226 70.1582 36.1098 69.8724 36.2852 69.6058C36.4595 69.3393 36.7114 69.1373 37.041 68.9976C37.3694 68.8589 37.767 68.7891 38.2326 68.7891C38.9927 68.7891 39.5646 68.9546 39.9494 69.2845C40.3331 69.6144 40.5351 70.0551 40.5542 70.6064L39.3318 70.6601C39.2797 70.3517 39.167 70.1303 38.9948 69.9949C38.8226 69.8595 38.5643 69.7928 38.2198 69.7928C37.8648 69.7928 37.5863 69.8648 37.3854 70.0099C37.2557 70.1024 37.1909 70.227 37.1909 70.3829C37.1909 70.5247 37.2514 70.6462 37.3726 70.7472C37.5268 70.8751 37.9009 71.0094 38.4962 71.148C39.0915 71.2867 39.5305 71.4307 39.8165 71.5801C40.1024 71.7295 40.3246 71.9326 40.4851 72.1894C40.6467 72.4474 40.7264 72.7655 40.7264 73.1449C40.7264 73.4888 40.6297 73.8112 40.4373 74.111C40.2449 74.4109 39.9717 74.6344 39.6198 74.7806C39.2669 74.9267 38.8279 74.9998 38.3017 74.9998C37.5363 74.9998 36.9485 74.8246 36.5382 74.4743C36.1289 74.1228 35.8844 73.6124 35.8047 72.9407Z"
fill="white" />
<path d="M41.5488 74.8946V68.8945H42.7713V74.8946H41.5488Z" fill="white" />
<path
d="M43.5205 71.9294C43.5205 71.3179 43.613 70.8052 43.7969 70.3904C43.934 70.0852 44.1222 69.81 44.3603 69.5672C44.5984 69.3243 44.8599 69.1437 45.1427 69.0266C45.52 68.8686 45.9548 68.7891 46.448 68.7891C47.3399 68.7891 48.0542 69.0631 48.59 69.6123C49.1258 70.1604 49.3936 70.9234 49.3936 71.9003C49.3936 72.8687 49.1279 73.6274 48.5964 74.1744C48.0649 74.7214 47.3537 74.9955 46.465 74.9955C45.5647 74.9955 44.8482 74.7236 44.3167 74.1787C43.7863 73.6349 43.5205 72.8848 43.5205 71.9294ZM44.7802 71.8885C44.7802 72.5677 44.9386 73.0836 45.2553 73.434C45.5721 73.7843 45.9739 73.9595 46.4619 73.9595C46.9498 73.9595 47.3495 73.7854 47.662 73.4372C47.9745 73.089 48.1308 72.5677 48.1308 71.8713C48.1308 71.1835 47.9788 70.6709 47.6748 70.3323C47.3707 69.9938 46.9668 69.8251 46.4619 69.8251C45.958 69.8251 45.5519 69.996 45.2436 70.3388C44.9343 70.6816 44.7802 71.1986 44.7802 71.8885Z"
fill="white" />
<path
d="M50.1924 74.8946V68.8945H51.3819L53.8608 72.9021V68.8945H54.9972V74.8946H53.7705L51.3287 70.9816V74.8946H50.1924Z"
fill="white" />
</svg>

Before

Width:  |  Height:  |  Size: 712 B

After

Width:  |  Height:  |  Size: 11 KiB

@ -0,0 +1,362 @@
<svg xmlns="http://www.w3.org/2000/svg" width="110" height="117" viewBox="0 0 110 117" fill="none">
<g opacity="0.3">
<g filter="url(#filter0_d_6675_80046)">
<path d="M52.9534 49.9701C54.1877 49.2606 55.706 49.2606 56.9403 49.9701L87.2779 67.4088C89.9534 68.9467 89.9534 72.8067 87.2779 74.3446L56.9403 91.7833C55.706 92.4928 54.1877 92.4928 52.9534 91.7833L22.6158 74.3446C19.9403 72.8067 19.9403 68.9467 22.6158 67.4088L52.9534 49.9701Z" fill="#D9D9D9"/>
<path d="M92.3977 66.1524L57.6753 46.1933C56.4614 45.4955 54.947 46.3717 54.947 47.7719C54.947 48.4237 55.2954 49.0257 55.8604 49.3505L90.5828 69.3097C91.7967 70.0074 93.3111 69.1312 93.3111 67.731C93.3111 67.0793 92.9627 66.4772 92.3977 66.1524Z" fill="#D9D9D9"/>
<path d="M54.9468 44.625L16.5828 66.6775V70.8779L54.9468 48.8255V44.625Z" fill="#D9D9D9"/>
<path d="M55.447 92.0646V89.0176L92.8111 67.5399V70.5869L55.447 92.0646Z" fill="url(#paint0_linear_6675_80046)" stroke="url(#paint1_linear_6675_80046)" stroke-linejoin="round"/>
<path d="M17.0828 70.5869V67.5399L54.4468 89.0176V92.0646L17.0828 70.5869Z" fill="url(#paint2_linear_6675_80046)" stroke="url(#paint3_linear_6675_80046)" stroke-linejoin="round"/>
<rect x="-2.98023e-08" y="0.498415" width="43.2505" height="43.2505" rx="0.5" transform="matrix(0.866939 0.498415 -0.866939 0.498415 55.3791 44.875)" fill="url(#paint4_linear_6675_80046)" stroke="url(#paint5_linear_6675_80046)"/>
</g>
<rect width="33.7147" height="33.7147" transform="matrix(0.866973 0.498354 -0.866973 0.498354 54.8835 49.875)" fill="url(#paint6_linear_6675_80046)"/>
<path d="M53.9549 48.3464C54.572 47.9916 55.3312 47.9916 55.9483 48.3464L84.8186 64.9416C86.1563 65.7106 86.1563 67.6406 84.8186 68.4095L55.9483 85.0048C55.3312 85.3595 54.572 85.3595 53.9549 85.0048L25.0846 68.4095C23.7469 67.6406 23.7469 65.7106 25.0846 64.9416L53.9549 48.3464Z" fill="url(#paint7_linear_6675_80046)"/>
<g filter="url(#filter1_d_6675_80046)">
<path d="M87.8364 56.8045L54.9529 37.9023V42.1028L87.8364 61.0049V56.8045Z" fill="#7BACFE"/>
<path d="M54.9526 37.9023L22.0691 56.8045V61.0049L54.9526 42.1028V37.9023Z" fill="url(#paint8_linear_6675_80046)"/>
<path d="M55.4529 79.0432V75.9961L87.3364 57.6688V60.7159L55.4529 79.0432Z" fill="url(#paint9_linear_6675_80046)" stroke="url(#paint10_linear_6675_80046)" stroke-linejoin="round"/>
<path d="M22.5691 60.7159V57.6688L54.4526 75.9961V79.0432L22.5691 60.7159Z" fill="url(#paint11_linear_6675_80046)" stroke="url(#paint12_linear_6675_80046)" stroke-linejoin="round"/>
<rect x="-2.98023e-08" y="0.498415" width="36.929" height="36.929" transform="matrix(0.866939 0.498415 -0.866939 0.498415 55.385 38.1523)" fill="url(#paint13_linear_6675_80046)" stroke="url(#paint14_linear_6675_80046)"/>
</g>
<rect x="-2.98023e-08" y="0.498647" width="36.929" height="36.929" transform="matrix(0.866805 0.498647 -0.866805 0.498647 55.3832 38.1523)" fill="url(#paint15_linear_6675_80046)" stroke="url(#paint16_linear_6675_80046)"/>
<path d="M55.032 18.8959L87.8439 0V56.6877L55.032 75.5836V18.8959Z" fill="url(#paint17_linear_6675_80046)"/>
<path d="M22.2195 0L55.0314 18.8959V75.5836L22.2195 56.6877V0Z" fill="url(#paint18_linear_6675_80046)"/>
<g filter="url(#filter2_f_6675_80046)">
<ellipse cx="55.0812" cy="57.1203" rx="7.91054" ry="5.56563" fill="#5493FF"/>
</g>
<path d="M38.7332 16.1094L52.8734 19.485L67.0002 32.3578V42.1041C67.0001 47.2933 65.5395 51.3479 63.001 53.8762C60.5283 56.339 57.0328 57.3536 52.8687 56.5579C43.22 48.7815 38.7332 36.0977 38.7332 25.8512L38.7332 16.1094Z" fill="url(#paint19_linear_6675_80046)" stroke="url(#paint20_linear_6675_80046)" stroke-linejoin="round"/>
<path d="M62.2877 26.1062C61.7136 28.2395 62.9786 30.4304 65.113 30.9998C67.2475 31.5693 69.4433 30.3015 70.0174 28.1683C70.5915 26.0351 69.3266 23.8441 67.1921 23.2747C65.0576 22.7053 62.8618 23.973 62.2877 26.1062ZM54.6661 48.5865C54.092 50.7197 55.3569 52.9106 57.4914 53.4801C59.6259 54.0495 61.8217 52.7818 62.3958 50.6486C62.9699 48.5153 61.7049 46.3244 59.5705 45.7549C57.436 45.1855 55.2402 46.4532 54.6661 48.5865ZM65.8232 27.8114C69.8089 29.7489 72.9706 32.1887 74.956 34.7385C76.9449 37.2927 77.6977 39.8743 77.079 42.1731L78.5283 42.5598C79.3122 39.6471 78.2989 36.5875 76.1414 33.8167C73.9804 31.0414 70.6153 28.4724 66.482 26.4631L65.8232 27.8114ZM77.079 42.1731C76.4257 44.6006 74.2873 46.5415 70.9934 47.7535C67.709 48.962 63.3833 49.3975 58.6146 48.8724L58.4473 50.3626C63.3848 50.9062 67.9548 50.4683 71.5099 49.1602C75.0554 47.8555 77.7003 45.6366 78.5283 42.5598L77.079 42.1731Z" fill="url(#paint21_linear_6675_80046)"/>
<path d="M52.4029 48.4614C40.1591 45.1951 31.6804 37.1707 33.4654 30.5385C34.1103 28.1419 36.0072 26.2551 38.7447 24.9766" stroke="url(#paint22_linear_6675_80046)" stroke-width="1.5"/>
<path d="M42.4382 21.2812L52.9077 23.7928L63.3672 33.3705V40.622C63.3672 44.4829 62.2857 47.4996 60.4062 49.3807C58.5754 51.2131 55.9874 51.968 52.9042 51.3759C45.7603 45.5901 42.4382 36.1531 42.4382 28.5294L42.4382 21.2812Z" fill="url(#paint23_linear_6675_80046)"/>
<path d="M71.4754 27.9002L57.3487 15.0273L52.8738 19.4826L67.0005 32.3555L71.4754 27.9002Z" fill="url(#paint24_linear_6675_80046)"/>
<path d="M57.3483 15.0279L43.208 11.6523L38.7332 16.1076L52.8734 19.4832L57.3483 15.0279Z" fill="url(#paint25_linear_6675_80046)" stroke="url(#paint26_linear_6675_80046)" stroke-linejoin="round"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M71.4756 27.9023V37.6486L67.0007 42.1039V32.3576L71.4756 27.9023ZM71.4757 37.6492C71.4757 42.8384 70.015 46.8929 67.4766 49.4212L63.0017 53.8765C65.5402 51.3482 67.0009 47.2936 67.0009 42.1044L71.4757 37.6492Z" fill="url(#paint27_linear_6675_80046)"/>
<g filter="url(#filter3_d_6675_80046)">
<path d="M53.0333 40.4006L52.4588 37.9007L49.57 36.2402L48.9955 38.0796L47.1853 37.039L49.982 29.4943L52.0361 30.675L54.8436 41.4412L53.0333 40.4006ZM52.0578 36.0492L51.4833 33.5992C51.4471 33.4371 51.3983 33.2283 51.3369 32.9727C51.2791 32.715 51.2195 32.4542 51.1581 32.1903C51.1002 31.9243 51.0533 31.6958 51.0171 31.5046C50.981 31.6542 50.9304 31.8371 50.8654 32.0533C50.804 32.2673 50.7443 32.47 50.6865 32.6612C50.6287 32.8524 50.5872 32.9886 50.5619 33.0696L49.9928 34.8622L52.0578 36.0492Z" fill="#023FDB"/>
<path d="M55.8462 42.0175L55.8462 32.9026L57.5264 33.8684L57.5264 42.9833L55.8462 42.0175Z" fill="#023FDB"/>
</g>
<path d="M17.8147 43.2422L20.6287 44.869L17.8147 46.4957L15.0007 44.869L17.8147 43.2422Z" fill="#D9D9D9"/>
<path d="M20.6282 41.8182L17.8142 40.1914V43.2416L20.6282 44.8683V41.8182Z" fill="#D9D9D9"/>
<path d="M17.8147 40.1914L15.0007 41.8182V44.8683L17.8147 43.2416V40.1914Z" fill="#D9D9D9"/>
<path d="M18.0642 46.064V43.5913L20.3782 42.2536V44.7262L18.0642 46.064Z" fill="url(#paint28_linear_6675_80046)" stroke="url(#paint29_linear_6675_80046)" stroke-width="0.5" stroke-linejoin="round"/>
<path d="M15.2507 44.7262V42.2536L17.5647 43.5913V46.064L15.2507 44.7262Z" fill="url(#paint30_linear_6675_80046)" stroke="url(#paint31_linear_6675_80046)" stroke-width="0.5" stroke-linejoin="round"/>
<rect width="3.25086" height="3.25086" transform="matrix(0.865708 0.500549 -0.865709 0.500549 17.8142 40.1914)" fill="url(#paint32_linear_6675_80046)"/>
<path d="M92.1868 26.707L95.0007 28.3338L92.1868 29.9606L89.3728 28.3338L92.1868 26.707Z" fill="#D9D9D9"/>
<path d="M95.0003 25.283L92.1863 23.6562V26.7064L95.0003 28.3332V25.283Z" fill="#D9D9D9"/>
<path d="M92.1868 23.6562L89.3728 25.283V28.3332L92.1868 26.7064V23.6562Z" fill="#D9D9D9"/>
<path d="M92.4363 29.5249V27.0523L94.7503 25.7145V28.1872L92.4363 29.5249Z" fill="url(#paint33_linear_6675_80046)" stroke="url(#paint34_linear_6675_80046)" stroke-width="0.5" stroke-linejoin="round"/>
<path d="M89.6228 28.1872V25.7145L91.9368 27.0523V29.5249L89.6228 28.1872Z" fill="url(#paint35_linear_6675_80046)" stroke="url(#paint36_linear_6675_80046)" stroke-width="0.5" stroke-linejoin="round"/>
<rect width="3.25086" height="3.25086" transform="matrix(0.865708 0.500549 -0.865709 0.500549 92.1863 23.6562)" fill="url(#paint37_linear_6675_80046)"/>
<g opacity="0.4">
<path d="M72.511 86.4922L75.325 88.119L72.511 89.7457L69.697 88.119L72.511 86.4922Z" fill="#D9D9D9"/>
<path d="M75.3245 85.0682L72.5105 83.4414V86.4916L75.3245 88.1183V85.0682Z" fill="#D9D9D9"/>
<path d="M72.511 83.4414L69.697 85.0682V88.1183L72.511 86.4916V83.4414Z" fill="#D9D9D9"/>
<path d="M72.7605 89.3101V86.8374L75.0745 85.4997V87.9723L72.7605 89.3101Z" fill="url(#paint38_linear_6675_80046)" stroke="url(#paint39_linear_6675_80046)" stroke-width="0.5" stroke-linejoin="round"/>
<path d="M69.947 87.9723V85.4997L72.261 86.8374V89.3101L69.947 87.9723Z" fill="url(#paint40_linear_6675_80046)" stroke="url(#paint41_linear_6675_80046)" stroke-width="0.5" stroke-linejoin="round"/>
<rect width="3.25086" height="3.25086" transform="matrix(0.865708 0.500549 -0.865709 0.500549 72.5105 83.4414)" fill="url(#paint42_linear_6675_80046)"/>
</g>
<g opacity="0.4">
<path d="M68.4661 89.1172L71.28 90.744L68.4661 92.3707L65.6521 90.744L68.4661 89.1172Z" fill="#D9D9D9"/>
<path d="M71.2795 87.6932L68.4656 86.0664V89.1166L71.2795 90.7433V87.6932Z" fill="#D9D9D9"/>
<path d="M68.4661 86.0664L65.6521 87.6932V90.7433L68.4661 89.1166V86.0664Z" fill="#D9D9D9"/>
<path d="M68.7156 91.9351V89.4624L71.0295 88.1247V90.5973L68.7156 91.9351Z" fill="url(#paint43_linear_6675_80046)" stroke="url(#paint44_linear_6675_80046)" stroke-width="0.5" stroke-linejoin="round"/>
<path d="M65.9021 90.6012V88.1286L68.2161 89.4663V91.939L65.9021 90.6012Z" fill="url(#paint45_linear_6675_80046)" stroke="url(#paint46_linear_6675_80046)" stroke-width="0.5" stroke-linejoin="round"/>
<rect width="3.25086" height="3.25086" transform="matrix(0.865708 0.500549 -0.865709 0.500549 68.4656 86.0664)" fill="url(#paint47_linear_6675_80046)"/>
</g>
<g opacity="0.4">
<path d="M64.2454 91.7461L67.0593 93.3729L64.2454 94.9996L61.4314 93.3729L64.2454 91.7461Z" fill="#D9D9D9"/>
<path d="M67.0588 90.3221L64.2449 88.6953V91.7455L67.0588 93.3723V90.3221Z" fill="#D9D9D9"/>
<path d="M64.2454 88.6953L61.4314 90.3221V93.3723L64.2454 91.7455V88.6953Z" fill="#D9D9D9"/>
<path d="M64.4949 94.5679V92.0952L66.8088 90.7575V93.2302L64.4949 94.5679Z" fill="url(#paint48_linear_6675_80046)" stroke="url(#paint49_linear_6675_80046)" stroke-width="0.5" stroke-linejoin="round"/>
<path d="M61.6814 93.2302V90.7575L63.9954 92.0952V94.5679L61.6814 93.2302Z" fill="url(#paint50_linear_6675_80046)" stroke="url(#paint51_linear_6675_80046)" stroke-width="0.5" stroke-linejoin="round"/>
<rect width="3.25086" height="3.25086" transform="matrix(0.865573 0.500784 -0.865573 0.500784 64.2461 88.6953)" fill="url(#paint52_linear_6675_80046)"/>
</g>
<g filter="url(#filter4_ii_6675_80046)">
<ellipse cx="34.25" cy="37.1039" rx="1.60182" ry="1.59604" fill="#0055FF"/>
</g>
<g filter="url(#filter5_ii_6675_80046)">
<ellipse cx="77.7793" cy="42.0414" rx="1.60182" ry="1.59604" fill="#0055FF"/>
</g>
</g>
<defs>
<filter id="filter0_d_6675_80046" x="0.582764" y="36.625" width="108.728" height="80.3047" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="8"/>
<feGaussianBlur stdDeviation="8"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.00655093 0 0 0 0 0.032475 0 0 0 0 0.393056 0 0 0 1 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_6675_80046"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_6675_80046" result="shape"/>
</filter>
<filter id="filter1_d_6675_80046" x="10.0691" y="33.9023" width="89.7673" height="66.0039" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="8"/>
<feGaussianBlur stdDeviation="6"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.133333 0 0 0 0 0.460377 0 0 0 0 1 0 0 0 0.2 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_6675_80046"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_6675_80046" result="shape"/>
</filter>
<filter id="filter2_f_6675_80046" x="7.17065" y="11.5547" width="95.821" height="91.1328" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="20" result="effect1_foregroundBlur_6675_80046"/>
</filter>
<filter id="filter3_d_6675_80046" x="47.1853" y="29.4961" width="12.3411" height="15.4883" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dx="2" dy="2"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.435294 0 0 0 0 0.690196 0 0 0 0 1 0 0 0 0.3 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_6675_80046"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_6675_80046" result="shape"/>
</filter>
<filter id="filter4_ii_6675_80046" x="32.6482" y="34.5078" width="3.20361" height="4.19141" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feMorphology radius="2" operator="erode" in="SourceAlpha" result="effect1_innerShadow_6675_80046"/>
<feOffset dy="-1"/>
<feGaussianBlur stdDeviation="2"/>
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 0.995833 0 0 0 0 0.995833 0 0 0 0.4 0"/>
<feBlend mode="normal" in2="shape" result="effect1_innerShadow_6675_80046"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="-1"/>
<feGaussianBlur stdDeviation="1"/>
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.4 0"/>
<feBlend mode="normal" in2="effect1_innerShadow_6675_80046" result="effect2_innerShadow_6675_80046"/>
</filter>
<filter id="filter5_ii_6675_80046" x="76.1775" y="39.9453" width="3.20361" height="3.69141" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feMorphology radius="2" operator="erode" in="SourceAlpha" result="effect1_innerShadow_6675_80046"/>
<feOffset dy="-0.5"/>
<feGaussianBlur stdDeviation="2"/>
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 0.995833 0 0 0 0 0.995833 0 0 0 0.4 0"/>
<feBlend mode="normal" in2="shape" result="effect1_innerShadow_6675_80046"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="-0.5"/>
<feGaussianBlur stdDeviation="0.5"/>
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.4 0"/>
<feBlend mode="normal" in2="effect1_innerShadow_6675_80046" result="effect2_innerShadow_6675_80046"/>
</filter>
<linearGradient id="paint0_linear_6675_80046" x1="93.3111" y1="67.8515" x2="54.3326" y2="92.1261" gradientUnits="userSpaceOnUse">
<stop stop-color="#0667DA"/>
<stop offset="1" stop-color="#0894E9"/>
</linearGradient>
<linearGradient id="paint1_linear_6675_80046" x1="93.3111" y1="67.2452" x2="54.9534" y2="92.9985" gradientUnits="userSpaceOnUse">
<stop stop-color="white" stop-opacity="0"/>
<stop offset="1" stop-color="white" stop-opacity="0.6"/>
</linearGradient>
<linearGradient id="paint2_linear_6675_80046" x1="35.7648" y1="66.6758" x2="35.7648" y2="92.9287" gradientUnits="userSpaceOnUse">
<stop stop-color="#055DD7"/>
<stop offset="1" stop-color="#0899EA"/>
</linearGradient>
<linearGradient id="paint3_linear_6675_80046" x1="35.8235" y1="82.5849" x2="38.2138" y2="78.7644" gradientUnits="userSpaceOnUse">
<stop stop-color="white" stop-opacity="0.6"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint4_linear_6675_80046" x1="43.5366" y1="0.791537" x2="17.8499" y2="52.1649" gradientUnits="userSpaceOnUse">
<stop stop-color="#3AD9FD"/>
<stop offset="1" stop-color="#1279F0"/>
</linearGradient>
<linearGradient id="paint5_linear_6675_80046" x1="44.4991" y1="44.0775" x2="-2.76894" y2="42.4857" gradientUnits="userSpaceOnUse">
<stop stop-color="white" stop-opacity="0"/>
<stop offset="1" stop-color="white" stop-opacity="0.6"/>
</linearGradient>
<linearGradient id="paint6_linear_6675_80046" x1="16.8574" y1="0" x2="16.8574" y2="33.7147" gradientUnits="userSpaceOnUse">
<stop stop-color="#DEEAFF"/>
<stop offset="1" stop-color="#ACC8FE"/>
</linearGradient>
<linearGradient id="paint7_linear_6675_80046" x1="86.9345" y1="66.6756" x2="23.5447" y2="66.6756" gradientUnits="userSpaceOnUse">
<stop stop-color="#0367FA"/>
<stop offset="1" stop-color="#3CE7FE"/>
</linearGradient>
<linearGradient id="paint8_linear_6675_80046" x1="38.6706" y1="37.9023" x2="38.6706" y2="61.0049" gradientUnits="userSpaceOnUse">
<stop stop-color="#051126"/>
<stop offset="1" stop-color="#051126" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint9_linear_6675_80046" x1="71.5544" y1="56.8047" x2="71.5544" y2="79.9073" gradientUnits="userSpaceOnUse">
<stop stop-color="#154EE6"/>
<stop offset="1" stop-color="#6CACFE"/>
</linearGradient>
<linearGradient id="paint10_linear_6675_80046" x1="71.3946" y1="56.8047" x2="71.3946" y2="79.9073" gradientUnits="userSpaceOnUse">
<stop stop-color="#00F2FF" stop-opacity="0.8"/>
<stop offset="1" stop-color="#00A4F9" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint11_linear_6675_80046" x1="38.6706" y1="56.8047" x2="38.6706" y2="79.9073" gradientUnits="userSpaceOnUse">
<stop stop-color="#6CACFE"/>
<stop offset="1" stop-color="#154EE6"/>
</linearGradient>
<linearGradient id="paint12_linear_6675_80046" x1="38.5108" y1="56.8047" x2="38.5108" y2="79.9073" gradientUnits="userSpaceOnUse">
<stop stop-color="#00F2FF" stop-opacity="0.8"/>
<stop offset="1" stop-color="#00A4F9" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint13_linear_6675_80046" x1="37.9367" y1="-0.00882876" x2="15.1658" y2="45.5696" gradientUnits="userSpaceOnUse">
<stop stop-color="#2185F8"/>
<stop offset="1" stop-color="#3291FF"/>
</linearGradient>
<linearGradient id="paint14_linear_6675_80046" x1="18.9645" y1="0" x2="18.9645" y2="37.929" gradientUnits="userSpaceOnUse">
<stop stop-color="#00F2FF" stop-opacity="0.8"/>
<stop offset="1" stop-color="#00A4F9" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint15_linear_6675_80046" x1="37.9367" y1="-0.00882875" x2="15.1658" y2="45.5696" gradientUnits="userSpaceOnUse">
<stop stop-color="#0034EB"/>
<stop offset="1" stop-color="#0278FF"/>
</linearGradient>
<linearGradient id="paint16_linear_6675_80046" x1="18.9645" y1="0" x2="18.9645" y2="37.929" gradientUnits="userSpaceOnUse">
<stop stop-color="#00F2FF" stop-opacity="0.8"/>
<stop offset="1" stop-color="#00A4F9" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint17_linear_6675_80046" x1="71.4674" y1="75.5014" x2="71.3954" y2="8.73562" gradientUnits="userSpaceOnUse">
<stop stop-color="#0C8AFF" stop-opacity="0.5"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint18_linear_6675_80046" x1="38.6549" y1="75.5014" x2="38.6549" y2="9.71838" gradientUnits="userSpaceOnUse">
<stop stop-color="#0C8AFF" stop-opacity="0.5"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint19_linear_6675_80046" x1="52.8667" y1="16.1094" x2="52.8667" y2="56.8242" gradientUnits="userSpaceOnUse">
<stop stop-color="#089CFF"/>
<stop offset="1" stop-color="#071EBC"/>
</linearGradient>
<linearGradient id="paint20_linear_6675_80046" x1="46.7942" y1="49.3444" x2="62.2105" y2="28.2775" gradientUnits="userSpaceOnUse">
<stop stop-color="white" stop-opacity="0"/>
<stop offset="1" stop-color="white" stop-opacity="0.6"/>
</linearGradient>
<linearGradient id="paint21_linear_6675_80046" x1="73.0016" y1="31.3918" x2="58.5764" y2="49.6517" gradientUnits="userSpaceOnUse">
<stop offset="0.00174181" stop-color="#00A4F9" stop-opacity="0.6"/>
<stop offset="1" stop-color="#00F2FF"/>
</linearGradient>
<linearGradient id="paint22_linear_6675_80046" x1="36.1784" y1="26.5718" x2="52.9131" y2="49.007" gradientUnits="userSpaceOnUse">
<stop stop-color="#00F2FF"/>
<stop offset="1" stop-color="#00A4F9" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint23_linear_6675_80046" x1="52.9027" y1="21.2812" x2="52.9027" y2="51.5741" gradientUnits="userSpaceOnUse">
<stop stop-color="#D7E5FD"/>
<stop offset="1" stop-color="#ACCAFF"/>
</linearGradient>
<linearGradient id="paint24_linear_6675_80046" x1="62.1746" y1="15.0273" x2="62.1746" y2="32.3555" gradientUnits="userSpaceOnUse">
<stop stop-color="#065DEC"/>
<stop offset="1" stop-color="#40E8FF"/>
</linearGradient>
<linearGradient id="paint25_linear_6675_80046" x1="38.7781" y1="15.6339" x2="57.3415" y2="15.6339" gradientUnits="userSpaceOnUse">
<stop stop-color="#249FF6"/>
<stop offset="1" stop-color="#43FCFF"/>
</linearGradient>
<linearGradient id="paint26_linear_6675_80046" x1="38.7781" y1="15.9489" x2="56.4972" y2="14.8896" gradientUnits="userSpaceOnUse">
<stop stop-color="white" stop-opacity="0.53"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint27_linear_6675_80046" x1="67.2387" y1="27.9023" x2="67.2387" y2="53.8765" gradientUnits="userSpaceOnUse">
<stop stop-color="#127AF0"/>
<stop offset="1" stop-color="#3DC3FD"/>
</linearGradient>
<linearGradient id="paint28_linear_6675_80046" x1="19.2212" y1="41.8203" x2="19.2212" y2="46.4973" gradientUnits="userSpaceOnUse">
<stop stop-color="#307CFF"/>
<stop offset="1" stop-color="#5F98FF"/>
</linearGradient>
<linearGradient id="paint29_linear_6675_80046" x1="20.4543" y1="42.0237" x2="17.8091" y2="46.4942" gradientUnits="userSpaceOnUse">
<stop stop-color="white" stop-opacity="0.6"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint30_linear_6675_80046" x1="16.4077" y1="41.8203" x2="16.4077" y2="46.4973" gradientUnits="userSpaceOnUse">
<stop stop-color="#398FFF"/>
<stop offset="1" stop-color="#004ED1"/>
</linearGradient>
<linearGradient id="paint31_linear_6675_80046" x1="15.1239" y1="41.922" x2="17.515" y2="46.4947" gradientUnits="userSpaceOnUse">
<stop stop-color="white" stop-opacity="0.6"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint32_linear_6675_80046" x1="1.62543" y1="0" x2="1.62543" y2="3.25086" gradientUnits="userSpaceOnUse">
<stop stop-color="#278BF5"/>
<stop offset="1" stop-color="#0267D9"/>
</linearGradient>
<linearGradient id="paint33_linear_6675_80046" x1="93.5933" y1="25.2812" x2="93.5933" y2="29.9582" gradientUnits="userSpaceOnUse">
<stop stop-color="#003DA6"/>
<stop offset="1" stop-color="#055DFC"/>
</linearGradient>
<linearGradient id="paint34_linear_6675_80046" x1="94.8263" y1="25.4846" x2="92.1812" y2="29.9552" gradientUnits="userSpaceOnUse">
<stop stop-color="white" stop-opacity="0.6"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint35_linear_6675_80046" x1="90.7798" y1="25.2812" x2="90.7798" y2="29.9582" gradientUnits="userSpaceOnUse">
<stop stop-color="#569FFF"/>
<stop offset="1" stop-color="#0651D0"/>
</linearGradient>
<linearGradient id="paint36_linear_6675_80046" x1="89.4959" y1="25.3829" x2="91.887" y2="29.9556" gradientUnits="userSpaceOnUse">
<stop stop-color="white" stop-opacity="0.6"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint37_linear_6675_80046" x1="1.62543" y1="0" x2="1.62543" y2="3.25086" gradientUnits="userSpaceOnUse">
<stop stop-color="#2589F3"/>
<stop offset="1" stop-color="#066BDC"/>
</linearGradient>
<linearGradient id="paint38_linear_6675_80046" x1="73.9175" y1="85.0664" x2="73.9175" y2="89.7433" gradientUnits="userSpaceOnUse">
<stop stop-color="#307CFF"/>
<stop offset="1" stop-color="#5F98FF"/>
</linearGradient>
<linearGradient id="paint39_linear_6675_80046" x1="75.1505" y1="85.2698" x2="72.5054" y2="89.7403" gradientUnits="userSpaceOnUse">
<stop stop-color="white" stop-opacity="0.6"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint40_linear_6675_80046" x1="71.104" y1="85.0664" x2="71.104" y2="89.7433" gradientUnits="userSpaceOnUse">
<stop stop-color="#ADD0FF"/>
<stop offset="1" stop-color="#4588FB"/>
</linearGradient>
<linearGradient id="paint41_linear_6675_80046" x1="69.8202" y1="85.1681" x2="72.2113" y2="89.7408" gradientUnits="userSpaceOnUse">
<stop stop-color="white" stop-opacity="0.6"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint42_linear_6675_80046" x1="1.62543" y1="0" x2="1.62543" y2="3.25086" gradientUnits="userSpaceOnUse">
<stop stop-color="#DDEDFF"/>
<stop offset="1" stop-color="#B2D6FF"/>
</linearGradient>
<linearGradient id="paint43_linear_6675_80046" x1="69.8726" y1="87.6914" x2="69.8726" y2="92.3683" gradientUnits="userSpaceOnUse">
<stop stop-color="#307CFF"/>
<stop offset="1" stop-color="#5F98FF"/>
</linearGradient>
<linearGradient id="paint44_linear_6675_80046" x1="71.1056" y1="87.8948" x2="68.4605" y2="92.3653" gradientUnits="userSpaceOnUse">
<stop stop-color="white" stop-opacity="0.6"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint45_linear_6675_80046" x1="67.0591" y1="87.6953" x2="67.0591" y2="92.3723" gradientUnits="userSpaceOnUse">
<stop stop-color="#ADD0FF"/>
<stop offset="1" stop-color="#4588FB"/>
</linearGradient>
<linearGradient id="paint46_linear_6675_80046" x1="65.7752" y1="87.797" x2="68.1663" y2="92.3697" gradientUnits="userSpaceOnUse">
<stop stop-color="white" stop-opacity="0.6"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint47_linear_6675_80046" x1="1.62543" y1="0" x2="1.62543" y2="3.25086" gradientUnits="userSpaceOnUse">
<stop stop-color="#DDEDFF"/>
<stop offset="1" stop-color="#B2D6FF"/>
</linearGradient>
<linearGradient id="paint48_linear_6675_80046" x1="65.6519" y1="90.3242" x2="65.6519" y2="95.0012" gradientUnits="userSpaceOnUse">
<stop stop-color="#307CFF"/>
<stop offset="1" stop-color="#5F98FF"/>
</linearGradient>
<linearGradient id="paint49_linear_6675_80046" x1="66.8849" y1="90.5276" x2="64.2398" y2="94.9981" gradientUnits="userSpaceOnUse">
<stop stop-color="white" stop-opacity="0.6"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint50_linear_6675_80046" x1="62.8384" y1="90.3242" x2="62.8384" y2="95.0012" gradientUnits="userSpaceOnUse">
<stop stop-color="#ADD0FF"/>
<stop offset="1" stop-color="#4588FB"/>
</linearGradient>
<linearGradient id="paint51_linear_6675_80046" x1="61.5545" y1="90.4259" x2="63.9456" y2="94.9986" gradientUnits="userSpaceOnUse">
<stop stop-color="white" stop-opacity="0.6"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<linearGradient id="paint52_linear_6675_80046" x1="1.62543" y1="0" x2="1.62543" y2="3.25086" gradientUnits="userSpaceOnUse">
<stop stop-color="#DDEDFF"/>
<stop offset="1" stop-color="#B2D6FF"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 30 KiB

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<path
d="M12 22C14.7614 22 17.2614 20.8807 19.0711 19.0711C20.8807 17.2614 22 14.7614 22 12C22 9.2386 20.8807 6.7386 19.0711 4.92893C17.2614 3.11929 14.7614 2 12 2C9.2386 2 6.7386 3.11929 4.92893 4.92893C3.11929 6.7386 2 9.2386 2 12C2 14.7614 3.11929 17.2614 4.92893 19.0711C6.7386 20.8807 9.2386 22 12 22Z"
fill="#E80D0D" />
<path fill-rule="evenodd" clip-rule="evenodd"
d="M12 18.5C12.6904 18.5 13.25 17.9404 13.25 17.25C13.25 16.5597 12.6904 16 12 16C11.3097 16 10.75 16.5597 10.75 17.25C10.75 17.9404 11.3097 18.5 12 18.5Z"
fill="white" />
<path d="M12 6V14" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
</svg>

After

Width:  |  Height:  |  Size: 785 B

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<path d="M12 22C14.7614 22 17.2614 20.8807 19.0711 19.0711C20.8807 17.2614 22 14.7614 22 12C22 9.2386 20.8807 6.7386 19.0711 4.92893C17.2614 3.11929 14.7614 2 12 2C9.2386 2 6.7386 3.11929 4.92893 4.92893C3.11929 6.7386 2 9.2386 2 12C2 14.7614 3.11929 17.2614 4.92893 19.0711C6.7386 20.8807 9.2386 22 12 22Z" fill="#52C41A"/>
<path d="M8 12L11 15L17 9" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 545 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<path d="M12 2C6.47713 2 2 6.47715 2 12C2 17.5229 6.47713 22 12 22C17.5229 22 22 17.5229 22 12C22 6.47715 17.5229 2 12 2ZM17.3891 16.2784L16.2784 17.3891L12 13.1106L7.72156 17.3891L6.61094 16.2784L10.8894 12L6.61094 7.72156L7.72156 6.61094L12 10.8894L16.2785 6.61094L17.3891 7.72156L13.1106 12L17.3891 16.2784Z" fill="#CCCCCC"/>
</svg>

After

Width:  |  Height:  |  Size: 437 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<path d="M13.2671 2.06558C6.51398 1.30608 0.907637 7.25549 2.18181 14.091C2.94631 18.015 6.13173 21.053 10.0816 21.8125C16.9622 23.0784 22.6959 17.7619 21.9314 11.053C21.5492 6.3694 17.8541 2.57191 13.2671 2.06558ZM11.4832 15.8631H8.9349V8.26815H11.4832V15.8631ZM15.3057 15.8631H12.7574V8.26815H15.3057V15.8631Z" fill="#FAAD14"/>
</svg>

After

Width:  |  Height:  |  Size: 438 B

@ -86,7 +86,7 @@ const transitionMain = defineComponent({
<el-backtop title="回到顶部" target=".app-main .el-scrollbar__wrap"> <el-backtop title="回到顶部" target=".app-main .el-scrollbar__wrap">
<backTop /> <backTop />
</el-backtop> </el-backtop>
<transitionMain :route="route"> <transitionMain :route="route" style="margin: 0">
<keep-alive <keep-alive
v-if="keepAlive" v-if="keepAlive"
:include="usePermissionStoreHook().cachePageList" :include="usePermissionStoreHook().cachePageList"

@ -1,5 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import Search from "./search/index.vue"; // import Search from "./search/index.vue";
import Notice from "./notice/index.vue"; import Notice from "./notice/index.vue";
import mixNav from "./sidebar/mixNav.vue"; import mixNav from "./sidebar/mixNav.vue";
import { useNav } from "@/layout/hooks/useNav"; import { useNav } from "@/layout/hooks/useNav";
@ -48,7 +48,7 @@ const { t, locale, translationCh, translationEn } = useTranslationLang();
<div v-if="layout === 'vertical'" class="vertical-header-right"> <div v-if="layout === 'vertical'" class="vertical-header-right">
<!-- 菜单搜索 --> <!-- 菜单搜索 -->
<Search /> <!-- <Search /> -->
<!-- 通知 --> <!-- 通知 -->
<Notice id="header-notice" /> <Notice id="header-notice" />
<!-- 国际化 --> <!-- 国际化 -->

@ -1,157 +0,0 @@
<script setup lang="ts">
import Search from "../search/index.vue";
import Notice from "../notice/index.vue";
import SidebarItem from "./sidebarItem.vue";
import { isAllEmpty } from "@pureadmin/utils";
import { ref, nextTick, computed } from "vue";
import { useNav } from "@/layout/hooks/useNav";
import { useTranslationLang } from "../../hooks/useTranslationLang";
import { usePermissionStoreHook } from "@/store/modules/permission";
import globalization from "@/assets/svg/globalization.svg?component";
import LogoutCircleRLine from "@iconify-icons/ri/logout-circle-r-line";
import Setting from "@iconify-icons/ri/settings-3-line";
import Check from "@iconify-icons/ep/check";
const menuRef = ref();
const { t, route, locale, translationCh, translationEn } =
useTranslationLang(menuRef);
const {
title,
logout,
backTopMenu,
onPanel,
username,
userAvatar,
avatarsStyle,
getDropdownItemStyle,
getDropdownItemClass
} = useNav();
const defaultActive = computed(() =>
!isAllEmpty(route.meta?.activePath) ? route.meta.activePath : route.path
);
nextTick(() => {
menuRef.value?.handleResize();
});
</script>
<template>
<div
v-loading="usePermissionStoreHook().wholeMenus.length === 0"
class="horizontal-header"
>
<div class="horizontal-header-left" @click="backTopMenu">
<img src="/logo.svg" alt="logo" />
<span>{{ title }}</span>
</div>
<el-menu
router
ref="menuRef"
mode="horizontal"
class="horizontal-header-menu"
:default-active="defaultActive"
>
<sidebar-item
v-for="route in usePermissionStoreHook().wholeMenus"
:key="route.path"
:item="route"
:base-path="route.path"
/>
</el-menu>
<div class="horizontal-header-right">
<!-- 菜单搜索 -->
<Search />
<!-- 通知 -->
<Notice id="header-notice" />
<!-- 国际化 -->
<el-dropdown id="header-translation" trigger="click">
<globalization
class="navbar-bg-hover w-[40px] h-[48px] p-[11px] cursor-pointer outline-none"
/>
<template #dropdown>
<el-dropdown-menu class="translation">
<el-dropdown-item
:style="getDropdownItemStyle(locale, 'zh')"
:class="['dark:!text-white', getDropdownItemClass(locale, 'zh')]"
@click="translationCh"
>
<span class="check-zh" v-show="locale === 'zh'">
<IconifyIconOffline :icon="Check" />
</span>
简体中文
</el-dropdown-item>
<el-dropdown-item
:style="getDropdownItemStyle(locale, 'en')"
:class="['dark:!text-white', getDropdownItemClass(locale, 'en')]"
@click="translationEn"
>
<span class="check-en" v-show="locale === 'en'">
<IconifyIconOffline :icon="Check" />
</span>
English
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
<!-- 退出登录 -->
<el-dropdown trigger="click">
<span class="el-dropdown-link navbar-bg-hover">
<img :src="userAvatar" :style="avatarsStyle" />
<p v-if="username" class="dark:text-white">{{ username }}</p>
</span>
<template #dropdown>
<el-dropdown-menu class="logout">
<el-dropdown-item @click="logout">
<IconifyIconOffline
:icon="LogoutCircleRLine"
style="margin: 5px"
/>
{{ t("buttons.hsLoginOut") }}
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
<span
class="set-icon navbar-bg-hover"
:title="t('buttons.hssystemSet')"
@click="onPanel"
>
<IconifyIconOffline :icon="Setting" />
</span>
</div>
</div>
</template>
<style lang="scss" scoped>
:deep(.el-loading-mask) {
opacity: 0.45;
}
.translation {
::v-deep(.el-dropdown-menu__item) {
padding: 5px 40px;
}
.check-zh {
position: absolute;
left: 20px;
}
.check-en {
position: absolute;
left: 20px;
}
}
.logout {
max-width: 120px;
::v-deep(.el-dropdown-menu__item) {
display: inline-flex;
flex-wrap: wrap;
min-width: 100%;
}
}
</style>

@ -1,3 +1,11 @@
<!--
* @Author: donghao donghao@supervision.ltd
* @Date: 2024-01-10 10:15:50
* @LastEditors: donghao donghao@supervision.ltd
* @LastEditTime: 2024-01-12 16:57:26
* @FilePath: \General-AI-Platform-Web-Client\src\layout\components\sidebar\logo.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<script setup lang="ts"> <script setup lang="ts">
import { getTopMenu } from "@/router/utils"; import { getTopMenu } from "@/router/utils";
import { useNav } from "@/layout/hooks/useNav"; import { useNav } from "@/layout/hooks/useNav";
@ -10,7 +18,7 @@ const { title } = useNav();
</script> </script>
<template> <template>
<div class="sidebar-logo-container" :class="{ collapses: props.collapse }"> <div class="sidebar-logo-box" :class="{ collapses: props.collapse }">
<transition name="sidebarLogoFade"> <transition name="sidebarLogoFade">
<router-link <router-link
v-if="props.collapse" v-if="props.collapse"
@ -20,51 +28,38 @@ const { title } = useNav();
:to="getTopMenu()?.path ?? '/'" :to="getTopMenu()?.path ?? '/'"
> >
<img src="/logo.svg" alt="logo" /> <img src="/logo.svg" alt="logo" />
<span class="sidebar-title">{{ title }}</span>
</router-link> </router-link>
<router-link <router-link
v-else v-else
key="expand" key="expand"
:title="title" :title="title"
class="sidebar-logo-link" class="text-center sidebar-logo-link"
:to="getTopMenu()?.path ?? '/'" :to="getTopMenu()?.path ?? '/'"
> >
<img src="/logo.svg" alt="logo" /> <img src="/logo.svg" alt="logo" />
<span class="sidebar-title">{{ title }}</span>
</router-link> </router-link>
</transition> </transition>
</div> </div>
</template> </template>
<style lang="scss" scoped> <style lang="scss" scoped>
.sidebar-logo-container { .sidebar-logo-box {
position: relative; padding: 24px 0 16px;
width: 100%; margin: 0 20px;
height: 48px;
overflow: hidden; overflow: hidden;
border-bottom: 1px solid #fff3;
.sidebar-logo-link { .sidebar-logo-link {
display: flex; display: flex;
flex-wrap: nowrap; flex-wrap: nowrap;
align-items: center; align-items: center;
justify-content: center;
height: 100%; height: 100%;
padding: 0;
img { img {
display: inline-block; display: inline-block;
height: 32px; width: 56px;
}
.sidebar-title {
display: inline-block;
height: 32px;
margin: 2px 0 0 12px;
overflow: hidden;
font-size: 18px;
font-weight: 600;
line-height: 32px;
color: $subMenuActiveText;
text-overflow: ellipsis;
white-space: nowrap;
} }
} }
} }

@ -85,11 +85,8 @@ onBeforeUnmount(() => {
</script> </script>
<template> <template>
<div <div v-loading="loading" :class="['sidebar-vertical-container']">
v-loading="loading" <Logo :collapse="isCollapse" />
:class="['sidebar-container', showLogo ? 'has-logo' : '']"
>
<Logo v-if="showLogo" :collapse="isCollapse" />
<el-scrollbar <el-scrollbar
wrap-class="scrollbar-wrapper" wrap-class="scrollbar-wrapper"
:class="[device === 'mobile' ? 'mobile' : 'pc']" :class="[device === 'mobile' ? 'mobile' : 'pc']"
@ -111,6 +108,12 @@ onBeforeUnmount(() => {
class="select-none outer-most" class="select-none outer-most"
/> />
</el-menu> </el-menu>
<!-- <ul class="menu_box">
<li v-for="routes in menuData" :key="routes.path" >
<p>{{routes.meta.title}}</p>
</li>
</ul> -->
</el-scrollbar> </el-scrollbar>
<!-- <leftCollapse <!-- <leftCollapse
v-if="device !== 'mobile'" v-if="device !== 'mobile'"
@ -120,8 +123,30 @@ onBeforeUnmount(() => {
</div> </div>
</template> </template>
<style scoped> <style lang="scss" scoped>
:deep(.el-loading-mask) { :deep(.el-loading-mask) {
opacity: 0.45; opacity: 0.45;
} }
.sidebar-vertical-container {
width: 96px;
background-color: #05102f;
background-image: url("@/assets/svg/bgFooter.svg");
background-repeat: no-repeat;
background-position: center bottom;
background-size: contain;
border-radius: 12px;
.menu_box {
color: #fff;
text-align: center;
/* background: red; */
/* z-index: 10001; */
& > li {
background-color: red;
}
}
}
</style> </style>

@ -24,7 +24,7 @@ import navbar from "./components/navbar.vue";
import appMain from "./components/appMain.vue"; import appMain from "./components/appMain.vue";
import setting from "./components/setting/index.vue"; import setting from "./components/setting/index.vue";
import Vertical from "./components/sidebar/vertical.vue"; import Vertical from "./components/sidebar/vertical.vue";
import Horizontal from "./components/sidebar/horizontal.vue"; // import Horizontal from "./components/sidebar/horizontal.vue";
import backTop from "@/assets/svg/back_top.svg?component"; import backTop from "@/assets/svg/back_top.svg?component";
const appWrapperRef = ref(); const appWrapperRef = ref();
@ -137,39 +137,12 @@ const layoutHeader = defineComponent({
(layout.value.includes("vertical") || layout.value.includes("mix")) (layout.value.includes("vertical") || layout.value.includes("mix"))
? h(navbar) ? h(navbar)
: null, : null,
!pureSetting.hiddenSideBar && layout.value.includes("horizontal") !pureSetting.hiddenSideBar
? h(Horizontal)
: null
] ]
} }
); );
} }
}); });
/**
* <div
:class="[
'main-container',
pureSetting.hiddenSideBar ? 'main-hidden' : ''
]"
>
<div v-if="set.fixedHeader">
<layout-header />
<!-- 主体内容 -->
<app-main :fixed-header="set.fixedHeader" />
</div>
<el-scrollbar v-else>
<el-backtop
title="回到顶部"
target=".main-container .el-scrollbar__wrap"
>
<backTop />
</el-backtop>
<layout-header />
<!-- 主体内容 -->
<app-main :fixed-header="set.fixedHeader" />
</el-scrollbar>
</div>
*/
</script> </script>
<template> <template>
@ -183,12 +156,7 @@ const layoutHeader = defineComponent({
class="flex app-mask" class="flex app-mask"
@click="useAppStoreHook().toggleSideBar()" @click="useAppStoreHook().toggleSideBar()"
/> --> /> -->
<Vertical <Vertical />
v-show="
!pureSetting.hiddenSideBar &&
(layout.includes('vertical') || layout.includes('mix'))
"
/>
<div <div
:class="[ :class="[
'main-container', 'main-container',

@ -1,3 +1,11 @@
/*
* @Author: donghao donghao@supervision.ltd
* @Date: 2024-01-12 14:35:28
* @LastEditors: donghao donghao@supervision.ltd
* @LastEditTime: 2024-01-12 16:51:41
* @FilePath: \general-work-web\General-AI-Platform-Web-Client\src\router\modules\error.ts
* @Description: ,`customMade`, koroFileHeader : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
import { $t } from "@/plugins/i18n"; import { $t } from "@/plugins/i18n";
export default { export default {
@ -6,7 +14,7 @@ export default {
meta: { meta: {
icon: "informationLine", icon: "informationLine",
title: $t("menus.hsabnormal"), title: $t("menus.hsabnormal"),
// showLink: false, showLink: false,
rank: 9 rank: 9
}, },
children: [ children: [

@ -1,4 +1,4 @@
import { $t } from "@/plugins/i18n"; // import { $t } from "@/plugins/i18n";
const { VITE_HIDE_HOME } = import.meta.env; const { VITE_HIDE_HOME } = import.meta.env;
const Layout = () => import("@/layout/index.vue"); const Layout = () => import("@/layout/index.vue");
@ -9,7 +9,7 @@ export default {
redirect: "/welcome", redirect: "/welcome",
meta: { meta: {
icon: "homeFilled", icon: "homeFilled",
title: $t("menus.hshome"), title: "首页",
rank: 0 rank: 0
}, },
children: [ children: [
@ -18,7 +18,7 @@ export default {
name: "Welcome", name: "Welcome",
component: () => import("@/views/welcome/index.vue"), component: () => import("@/views/welcome/index.vue"),
meta: { meta: {
title: $t("menus.hshome"), title: "首页",
showLink: VITE_HIDE_HOME === "true" ? false : true showLink: VITE_HIDE_HOME === "true" ? false : true
} }
} }

@ -36,12 +36,13 @@
} }
.main-container { .main-container {
position: relative; // position: relative;
width: 100%; width: calc(100% - 96px - 20px);
height: 100%; height: 100%;
min-height: 100%; min-height: 100%;
padding: 0;
margin-left: 20px; margin-left: 20px;
background: #f0f2f5; background: transparent;
/* main-content 属性动画 */ /* main-content 属性动画 */
transition: margin-left var(--pure-transition-duration); transition: margin-left var(--pure-transition-duration);

@ -0,0 +1,95 @@
<!--
* @Author: donghao donghao@supervision.ltd
* @Date: 2024-01-12 13:27:07
* @LastEditors: donghao donghao@supervision.ltd
* @LastEditTime: 2024-01-12 13:59:09
* @FilePath: \General-AI-Platform-Web-Client\src\views\workbench\components\DeviceStatus.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<script setup lang="ts">
import { ref } from "vue";
import deviceStatusOnline from "@/assets/svg/deviceStatus/online.svg?component";
import deviceStatusProcess from "@/assets/svg/deviceStatus/process.svg?component";
import deviceStatusError from "@/assets/svg/deviceStatus/error.svg?component";
import deviceStatusOutline from "@/assets/svg/deviceStatus/outline.svg?component";
defineOptions({
name: "DeviceStatus"
});
const deviceStatusData = ref<Record<string, any>>({
onlineCount: 618,
errorCount: 55,
processCount: 118,
outlineCount: 195
});
const deviceStatusOptions = ref<Record<string, any>[]>([
{
label: "在线",
color: "#52C41A",
bgColor: "rgba(82, 196, 26, 0.10)",
valueKey: "onlineCount" // 线
},
{
label: "进行中",
color: "#FAAD14",
bgColor: "rgba(250, 173, 20, 0.10)",
valueKey: "processCount" //
},
{
label: "故障",
color: "#E80D0D",
bgColor: "rgba(232, 13, 13, 0.10)",
valueKey: "errorCount" //
},
{
label: "离线",
color: "#ccc",
bgColor: "#F0F0F0",
valueKey: "outlineCount" //
}
]);
</script>
<template>
<ul class="w-full text-sm deviceStatus_box">
<li
class="flex items-center justify-between w-full"
:style="{
marginBottom: '16px'
}"
v-for="(v, k) in deviceStatusOptions"
:key="k"
>
<div
class="flex items-center justify-center"
:style="{
backgroundColor: v.bgColor,
width: '40px',
height: '40px',
borderRadius: '4px',
marginRight: '12px'
}"
>
<deviceStatusOnline v-if="v.valueKey === 'onlineCount'" />
<deviceStatusProcess v-if="v.valueKey === 'processCount'" />
<deviceStatusError v-if="v.valueKey === 'errorCount'" />
<deviceStatusOutline v-if="v.valueKey === 'outlineCount'" />
</div>
<div class="flex flex-col flex-1">
<div class="flex justify-between" style="margin-bottom: 4px">
<span>{{ v.label }}</span>
<span>{{ deviceStatusData[v.valueKey] }}</span>
</div>
<div class="w-full">
<el-progress
:show-text="false"
:stroke-width="8"
:percentage="deviceStatusData[v.valueKey] / 10"
:color="v.color"
/>
</div>
</div>
</li>
</ul>
</template>

@ -0,0 +1,103 @@
<!--
* @Author: donghao donghao@supervision.ltd
* @Date: 2024-01-11 14:27:58
* @LastEditors: donghao donghao@supervision.ltd
* @LastEditTime: 2024-01-12 17:44:57
* @FilePath: \General-AI-Platform-Web-Client\src\views\workbench\components\Notify.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<script setup lang="ts">
import { ref } from "vue";
// import type { TabsPaneContext } from "element-plus";
defineOptions({
name: "Notify"
});
//TODO
const urgencyStatus = [
{
label: "紧急",
value: 0,
color: "#E80D0D",
bgColor: "rgba(232, 13, 13, 0.10)"
},
{
label: "优先",
value: 0,
color: "#FE9A05",
bgColor: "rgba(254, 154, 5, 0.10)"
},
{
label: "普通",
value: 0,
color: "#52C41A",
bgColor: "rgba(82, 196, 26, 0.10)"
}
];
function fetchNoticeList(readStatus = 1) {
const arr = [];
for (let i = 0; i < 3; i++) {
arr.push({
title: "系统消息" + (readStatus + i),
dateTime: "今天10:03:00",
content: "您的产品使用期限即将截止,如需继续使用产品请前请去买",
status: Math.floor(Math.random(0, 2.9) * 3)
});
}
return arr;
}
const activeName = ref("1");
const noticeData = ref<Record<string, any>[]>([
{
label: "已读10",
list: fetchNoticeList(1)
},
{
label: "未读15",
list: fetchNoticeList(4)
}
]);
</script>
<template>
<div class="w-full text-sm">
<el-tabs v-model="activeName" class="w-full">
<el-tab-pane
v-for="(item, index) in noticeData"
:key="index"
:label="item.label"
:name="index + ''"
>
<ul>
<li v-for="(v, k) in item.list" :key="k" style="margin-bottom: 12px">
<div class="flex items-center justify-between">
<span class="font-bold" style="line-height: 22px">{{
v.title
}}</span>
<span
:style="{
backgroundColor: urgencyStatus[v.status].bgColor,
color: urgencyStatus[v.status].color,
padding: '0px 8px',
borderRadius: '4px',
borderRadius: '2px'
}"
>{{ urgencyStatus[v.status].label }}</span
>
</div>
<div style="margin: 8px 0">{{ v.content }}</div>
<div style="color: #999">{{ v.dateTime }}</div>
</li>
</ul>
</el-tab-pane>
</el-tabs>
<div class="flex justify-center">
<el-button type="primary">查看更多</el-button>
</div>
</div>
</template>

@ -0,0 +1,89 @@
<!--
* @Author: donghao donghao@supervision.ltd
* @Date: 2024-01-12 15:35:09
* @LastEditors: donghao donghao@supervision.ltd
* @LastEditTime: 2024-01-12 17:45:12
* @FilePath: \general-work-web\General-AI-Platform-Web-Client\src\views\workbench\components\SwiperShow.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<script setup lang="ts">
import { ref } from "vue";
// import Swiper core and required modules
import {
// Loop,
Autoplay,
Navigation,
Pagination,
Scrollbar,
A11y
} from "swiper/modules";
// Import Swiper Vue.js components
import { Swiper, SwiperSlide } from "swiper/vue";
// Import Swiper styles
import "swiper/css";
import "swiper/css/navigation";
import "swiper/css/pagination";
import "swiper/css/scrollbar";
// Import Swiper styles
const onSwiper = swiper => {
console.log(swiper);
};
const onSlideChange = () => {
console.log("slide change");
};
const swiperList = ref([
{
url: "https://cdn.lifeofpix.com/368492/_w1800/368506/lifeofpix-368492368506.webp"
},
{
url: "https://cdn.lifeofpix.com/359864/_AUTOxAUTO_crop_center-center_none/361816/lifeofpix-michaelmercer-361816.webp"
},
{
url: "https://cdn.lifeofpix.com/368492/_AUTOxAUTO_crop_center-center_none/368497/lifeofpix-368492368497.webp"
}
]);
const modules = [Navigation, Pagination, Scrollbar, A11y, Autoplay];
</script>
<template>
<swiper
class="home_swiper_wrap"
:modules="modules"
:loop="true"
:autoplay="{ delay: 2500, disableOnInteraction: false }"
:slides-per-view="1"
:space-between="50"
:pagination="{ clickable: true }"
:scrollbar="{ draggable: true }"
@swiper="onSwiper"
@slideChange="onSlideChange"
>
<swiper-slide v-for="(v, k) in swiperList" :key="k">
<img :src="v.url" alt="" />
</swiper-slide>
</swiper>
</template>
<style lang="scss">
.home_swiper_wrap {
.swiper-scrollbar {
display: none;
}
.swiper-pagination-bullet {
width: 6px;
height: 6px;
background-color: rgb(255 255 255 / 60%);
}
.swiper-pagination-bullet-active {
width: 19px;
background-color: white;
border-radius: 3px;
}
}
</style>

@ -1,6 +1,9 @@
<script setup lang="ts"> <script setup lang="ts">
import ReCol from "@/components/ReCol"; import ReCol from "@/components/ReCol";
import { barChart, pieChart, pie3DChart } from "./components/chart"; import { barChart, pieChart, pie3DChart } from "./components/chart";
import DeviceStatus from "./components/DeviceStatus.vue";
import Notify from "./components/Notify.vue";
import SwiperShow from "./components/SwiperShow.vue";
defineOptions({ defineOptions({
name: "Workbench" name: "Workbench"
@ -48,8 +51,10 @@ const pie3Ddata = {
} }
}" }"
> >
<el-card class="line-card" shadow="never"> <el-card class="line-card" shadow="never" :body-style="{ padding: 0 }">
<div class="flex justify-between h-[140px]">1111</div> <div class="flex justify-between h-[140px]">
<SwiperShow />
</div>
</el-card> </el-card>
</re-col> </re-col>
<re-col <re-col
@ -99,7 +104,9 @@ const pie3Ddata = {
> >
<span>消息通知</span> <span>消息通知</span>
<el-card class="line-card" shadow="never"> <el-card class="line-card" shadow="never">
<div class="flex justify-between h-[422px]" /> <div class="flex justify-between h-[422px]">
<Notify />
</div>
</el-card> </el-card>
</re-col> </re-col>
<re-col <re-col
@ -123,7 +130,7 @@ const pie3Ddata = {
> >
<span>设备状态</span> <span>设备状态</span>
<el-card class="line-card" shadow="never"> <el-card class="line-card" shadow="never">
<div class="flex justify-between h-[282px]">33</div> <div class="flex justify-between h-[282px]"><DeviceStatus /></div>
</el-card> </el-card>
</re-col> </re-col>
<re-col <re-col

Loading…
Cancel
Save