diff --git a/src/assets/img/logo/bg.png b/src/assets/img/logo/bg.png
new file mode 100644
index 00000000..b9414134
Binary files /dev/null and b/src/assets/img/logo/bg.png differ
diff --git a/src/components/common/BannerSvg/components/Banner1.vue b/src/components/common/BannerSvg/components/Banner1.vue
new file mode 100644
index 00000000..072c892e
--- /dev/null
+++ b/src/components/common/BannerSvg/components/Banner1.vue
@@ -0,0 +1,615 @@
+
+
+
+
+
+
diff --git a/src/components/common/BannerSvg/components/Banner2.vue b/src/components/common/BannerSvg/components/Banner2.vue
new file mode 100644
index 00000000..e03e7e64
--- /dev/null
+++ b/src/components/common/BannerSvg/components/Banner2.vue
@@ -0,0 +1,1227 @@
+
+
+
+
+
+
diff --git a/src/components/common/BannerSvg/components/Banner3.vue b/src/components/common/BannerSvg/components/Banner3.vue
new file mode 100644
index 00000000..9b185e94
--- /dev/null
+++ b/src/components/common/BannerSvg/components/Banner3.vue
@@ -0,0 +1,2872 @@
+
+
+
+
+
+
diff --git a/src/components/common/BannerSvg/components/Banner4.vue b/src/components/common/BannerSvg/components/Banner4.vue
new file mode 100644
index 00000000..bc7610db
--- /dev/null
+++ b/src/components/common/BannerSvg/components/Banner4.vue
@@ -0,0 +1,13 @@
+
+
+
+
+
+
diff --git a/src/components/common/BannerSvg/components/index.ts b/src/components/common/BannerSvg/components/index.ts
new file mode 100644
index 00000000..507b24b3
--- /dev/null
+++ b/src/components/common/BannerSvg/components/index.ts
@@ -0,0 +1,6 @@
+import Banner1 from './Banner1.vue';
+import Banner2 from './Banner2.vue';
+import Banner3 from './Banner3.vue';
+import Banner4 from './Banner4.vue';
+
+export { Banner1, Banner2, Banner3, Banner4 };
diff --git a/src/components/common/BannerSvg/index.vue b/src/components/common/BannerSvg/index.vue
new file mode 100644
index 00000000..de7919da
--- /dev/null
+++ b/src/components/common/BannerSvg/index.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/common/CountTo/index.vue b/src/components/common/CountTo/index.vue
new file mode 100644
index 00000000..81a9285a
--- /dev/null
+++ b/src/components/common/CountTo/index.vue
@@ -0,0 +1,124 @@
+
+
+ {{ value }}
+
+
+
diff --git a/src/components/common/ExceptionSvg/components/SvgNoPermission.vue b/src/components/common/ExceptionSvg/components/SvgNoPermission.vue
new file mode 100644
index 00000000..93613130
--- /dev/null
+++ b/src/components/common/ExceptionSvg/components/SvgNoPermission.vue
@@ -0,0 +1,904 @@
+
+
+
+
+
+
diff --git a/src/components/common/ExceptionSvg/components/SvgNotFound.vue b/src/components/common/ExceptionSvg/components/SvgNotFound.vue
new file mode 100644
index 00000000..1ed48c97
--- /dev/null
+++ b/src/components/common/ExceptionSvg/components/SvgNotFound.vue
@@ -0,0 +1,511 @@
+
+
+
+
+
+
diff --git a/src/components/common/ExceptionSvg/components/SvgServiceError.vue b/src/components/common/ExceptionSvg/components/SvgServiceError.vue
new file mode 100644
index 00000000..5dcdc5c6
--- /dev/null
+++ b/src/components/common/ExceptionSvg/components/SvgServiceError.vue
@@ -0,0 +1,1344 @@
+
+
+
+
+
+
diff --git a/src/components/common/ExceptionSvg/components/index.ts b/src/components/common/ExceptionSvg/components/index.ts
new file mode 100644
index 00000000..6f7c538d
--- /dev/null
+++ b/src/components/common/ExceptionSvg/components/index.ts
@@ -0,0 +1,5 @@
+import SvgNoPermission from './SvgNoPermission.vue';
+import SvgNotFound from './SvgNotFound.vue';
+import SvgServiceError from './SvgServiceError.vue';
+
+export { SvgNoPermission, SvgNotFound, SvgServiceError };
diff --git a/src/components/common/ExceptionSvg/index.vue b/src/components/common/ExceptionSvg/index.vue
new file mode 100644
index 00000000..18f18b97
--- /dev/null
+++ b/src/components/common/ExceptionSvg/index.vue
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/common/index.ts b/src/components/common/index.ts
index ff66d87d..5751dc08 100644
--- a/src/components/common/index.ts
+++ b/src/components/common/index.ts
@@ -1,3 +1,6 @@
import AppProviderContent from './AppProviderContent/index.vue';
+import ExceptionSvg from './ExceptionSvg/index.vue';
+import BannerSvg from './BannerSvg/index.vue';
+import CountTo from './CountTo/index.vue';
-export { AppProviderContent };
+export { AppProviderContent, ExceptionSvg, BannerSvg, CountTo };
diff --git a/src/components/index.ts b/src/components/index.ts
index f149c5aa..42cbc0cf 100644
--- a/src/components/index.ts
+++ b/src/components/index.ts
@@ -1 +1 @@
-export { AppProviderContent } from './common';
+export { AppProviderContent, ExceptionSvg, BannerSvg, CountTo } from './common';
diff --git a/src/enum/route.ts b/src/enum/route.ts
index 0128813f..aacc9635 100644
--- a/src/enum/route.ts
+++ b/src/enum/route.ts
@@ -1,6 +1,12 @@
export enum EnumRoutePaths {
'login' = '/login',
- 'not-found' = '/404',
- 'no-permission' = '/403',
- 'service-error' = '/500'
+ 'not-found' = '/exception/404',
+ 'no-permission' = '/exception/403',
+ 'service-error' = '/exception/500',
+ // 自定义路由
+ 'dashboard-analysis' = '/dashboard/analysis',
+ 'dashboard-workbench' = '/dashboard/workbench',
+ 'exception-403' = '/exception/e403',
+ 'exception-404' = '/exception/e404',
+ 'exception-500' = '/exception/e500'
}
diff --git a/src/layouts/BasicLayout/index.vue b/src/layouts/BasicLayout/index.vue
index b72d4bff..982945d4 100644
--- a/src/layouts/BasicLayout/index.vue
+++ b/src/layouts/BasicLayout/index.vue
@@ -4,8 +4,11 @@
-
-
+
+
@@ -20,16 +23,21 @@
diff --git a/src/layouts/BlankLayout/index.vue b/src/layouts/BlankLayout/index.vue
index 790712d0..14f05057 100644
--- a/src/layouts/BlankLayout/index.vue
+++ b/src/layouts/BlankLayout/index.vue
@@ -1,12 +1,18 @@
-
-
+
+
diff --git a/src/layouts/index.ts b/src/layouts/index.ts
index 90c3e369..a52c5971 100644
--- a/src/layouts/index.ts
+++ b/src/layouts/index.ts
@@ -1,4 +1,5 @@
import BasicLayout from './BasicLayout/index.vue';
import BlankLayout from './BlankLayout/index.vue';
+import BlankChildLayout from './BlankChildLayout/index.vue';
-export { BasicLayout, BlankLayout };
+export { BasicLayout, BlankLayout, BlankChildLayout };
diff --git a/src/router/routes.ts b/src/router/routes.ts
index f61e7af0..2391bc70 100644
--- a/src/router/routes.ts
+++ b/src/router/routes.ts
@@ -1,5 +1,5 @@
import type { RouteRecordRaw } from 'vue-router';
-import { BasicLayout, BlankLayout } from '@/layouts';
+import { BasicLayout, BlankLayout, BlankChildLayout } from '@/layouts';
import { EnumRoutePaths } from '@/enum';
type RouteKey = keyof typeof EnumRoutePaths;
@@ -22,25 +22,37 @@ export const constantRoutes: Array
= [
{
name: RouteNameMap.get('login'),
path: EnumRoutePaths.login,
- component: () => import('@/views/system/login/index.vue')
+ component: () => import('@/views/system/login/index.vue'),
+ meta: {
+ fullPage: true
+ }
},
// 404
{
name: RouteNameMap.get('not-found'),
path: EnumRoutePaths['not-found'],
- component: () => import('@/views/system/exception/404.vue')
+ component: () => import('@/views/system/exception/404.vue'),
+ meta: {
+ fullPage: true
+ }
},
// 403
{
name: RouteNameMap.get('no-permission'),
path: EnumRoutePaths['no-permission'],
- component: () => import('@/views/system/exception/403.vue')
+ component: () => import('@/views/system/exception/403.vue'),
+ meta: {
+ fullPage: true
+ }
},
// 500
{
name: RouteNameMap.get('service-error'),
path: EnumRoutePaths['service-error'],
- component: () => import('@/views/system/exception/500.vue')
+ component: () => import('@/views/system/exception/500.vue'),
+ meta: {
+ fullPage: true
+ }
}
]
},
@@ -58,13 +70,47 @@ export const customRoutes: Array = [
{
name: 'root',
path: '/',
- redirect: '/home',
+ redirect: { name: RouteNameMap.get('dashboard-analysis') },
component: BasicLayout,
children: [
{
- name: 'home',
- path: '/home',
- component: () => import('@/views/home/index.vue')
+ name: 'dashboard',
+ path: '/dashboard',
+ component: BlankChildLayout,
+ children: [
+ {
+ name: RouteNameMap.get('dashboard-analysis'),
+ path: EnumRoutePaths['dashboard-analysis'],
+ component: () => import('@/views/dashboard/analysis/index.vue')
+ },
+ {
+ name: RouteNameMap.get('dashboard-workbench'),
+ path: EnumRoutePaths['dashboard-workbench'],
+ component: () => import('@/views/dashboard/workbench/index.vue')
+ }
+ ]
+ },
+ {
+ name: 'exception',
+ path: '/exception',
+ component: BlankChildLayout,
+ children: [
+ {
+ name: RouteNameMap.get('exception-403'),
+ path: EnumRoutePaths['exception-403'],
+ component: () => import('@/views/system/exception/403.vue')
+ },
+ {
+ name: RouteNameMap.get('exception-404'),
+ path: EnumRoutePaths['exception-404'],
+ component: () => import('@/views/system/exception/404.vue')
+ },
+ {
+ name: RouteNameMap.get('exception-500'),
+ path: EnumRoutePaths['exception-500'],
+ component: () => import('@/views/system/exception/500.vue')
+ }
+ ]
}
]
}
diff --git a/src/utils/common/typeof.ts b/src/utils/common/typeof.ts
index e8f4617f..a8542cef 100644
--- a/src/utils/common/typeof.ts
+++ b/src/utils/common/typeof.ts
@@ -1,35 +1,35 @@
import { EnumDataType } from '@/enum';
-export function isNumber(data: any) {
+export function isNumber(data: unknown) {
return Object.prototype.toString.call(data) === EnumDataType.number;
}
-export function isString(data: any) {
+export function isString(data: unknown) {
return Object.prototype.toString.call(data) === EnumDataType.string;
}
-export function isBoolean(data: any) {
+export function isBoolean(data: unknown) {
return Object.prototype.toString.call(data) === EnumDataType.boolean;
}
-export function isNull(data: any) {
+export function isNull(data: unknown) {
return Object.prototype.toString.call(data) === EnumDataType.null;
}
-export function isUndefined(data: any) {
+export function isUndefined(data: unknown) {
return Object.prototype.toString.call(data) === EnumDataType.undefined;
}
-export function isObject(data: any) {
+export function isObject(data: unknown) {
return Object.prototype.toString.call(data) === EnumDataType.object;
}
-export function isArray(data: any) {
+export function isArray(data: unknown) {
return Object.prototype.toString.call(data) === EnumDataType.array;
}
-export function isDate(data: any) {
+export function isDate(data: unknown) {
return Object.prototype.toString.call(data) === EnumDataType.date;
}
-export function isRegExp(data: any) {
+export function isRegExp(data: unknown) {
return Object.prototype.toString.call(data) === EnumDataType.regexp;
}
-export function isSet(data: any) {
+export function isSet(data: unknown) {
return Object.prototype.toString.call(data) === EnumDataType.set;
}
-export function isMap(data: any) {
+export function isMap(data: unknown) {
return Object.prototype.toString.call(data) === EnumDataType.map;
}
diff --git a/src/views/dashboard/analysis/components/DataCard.vue b/src/views/dashboard/analysis/components/DataCard.vue
new file mode 100644
index 00000000..cac5cad1
--- /dev/null
+++ b/src/views/dashboard/analysis/components/DataCard.vue
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/src/views/dashboard/analysis/components/index.ts b/src/views/dashboard/analysis/components/index.ts
new file mode 100644
index 00000000..e69de29b
diff --git a/src/views/dashboard/analysis/index.vue b/src/views/dashboard/analysis/index.vue
new file mode 100644
index 00000000..7053e9cd
--- /dev/null
+++ b/src/views/dashboard/analysis/index.vue
@@ -0,0 +1,55 @@
+
+
+
+
+
+ {{ item.action }}
+
+
+
+
+
+
+
+
diff --git a/src/views/dashboard/workbench/index.vue b/src/views/dashboard/workbench/index.vue
new file mode 100644
index 00000000..cac5cad1
--- /dev/null
+++ b/src/views/dashboard/workbench/index.vue
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/src/views/system/exception/403.vue b/src/views/system/exception/403.vue
index 7a8cef70..59960f11 100644
--- a/src/views/system/exception/403.vue
+++ b/src/views/system/exception/403.vue
@@ -1,6 +1,17 @@
- 403
+
+
+
+ 回到首页
+
+
-
+
diff --git a/src/views/system/exception/404.vue b/src/views/system/exception/404.vue
index bca5b739..95be6511 100644
--- a/src/views/system/exception/404.vue
+++ b/src/views/system/exception/404.vue
@@ -1,6 +1,17 @@
- 404
+
+
+
+ 回到首页
+
+
-
+
diff --git a/src/views/system/exception/500.vue b/src/views/system/exception/500.vue
index d44783f4..012fbac9 100644
--- a/src/views/system/exception/500.vue
+++ b/src/views/system/exception/500.vue
@@ -1,6 +1,17 @@
- 500
+
+
+
+ 回到首页
+
+
-
+
diff --git a/src/views/system/login/index.vue b/src/views/system/login/index.vue
index fab0cd70..6075511f 100644
--- a/src/views/system/login/index.vue
+++ b/src/views/system/login/index.vue
@@ -1,6 +1,18 @@
- 登陆页
+
-
+