From 6b795c48f7ff43fbae5a53e8b8cfa3b12e51f483 Mon Sep 17 00:00:00 2001 From: zy7y <13271962515@163.com> Date: Tue, 13 Sep 2022 21:59:01 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8A=A8=E6=80=81=E8=B7=AF=E7=94=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/mini.db | Bin 45056 -> 4096 bytes backend/mini.db-shm | Bin 0 -> 32768 bytes backend/mini.db-wal | Bin 0 -> 412032 bytes backend/tests/test_case.py | 8 +-- frontend/src/assets/img/fastapi.svg | 39 ++++++++++++++ frontend/src/assets/img/logo.png | Bin 20894 -> 0 bytes frontend/src/assets/img/vite.svg | 15 ++++++ frontend/src/components/layout/sider-menu.vue | 14 +++-- frontend/src/main.js | 4 ++ frontend/src/router/index.js | 10 +++- frontend/src/stores/user.js | 48 +++++++++--------- frontend/src/utils/loadCpn.js | 33 +++++++++++- frontend/src/views/error/404.vue | 21 ++++++++ frontend/src/views/{ => login}/login.vue | 0 frontend/src/views/{ => main}/main.vue | 2 +- .../src/views/main/setting/about/about.vue | 7 +++ frontend/src/views/main/system/menu/menu.vue | 7 +++ .../{system => main/system/role}/role.vue | 0 frontend/src/views/main/system/user/user.vue | 7 +++ frontend/src/views/setting/about.vue | 11 ---- frontend/src/views/system/menu.vue | 11 ---- frontend/src/views/system/user.vue | 11 ---- 22 files changed, 180 insertions(+), 68 deletions(-) create mode 100644 backend/mini.db-shm create mode 100644 backend/mini.db-wal create mode 100644 frontend/src/assets/img/fastapi.svg delete mode 100644 frontend/src/assets/img/logo.png create mode 100644 frontend/src/assets/img/vite.svg create mode 100644 frontend/src/views/error/404.vue rename frontend/src/views/{ => login}/login.vue (100%) rename frontend/src/views/{ => main}/main.vue (96%) create mode 100644 frontend/src/views/main/setting/about/about.vue create mode 100644 frontend/src/views/main/system/menu/menu.vue rename frontend/src/views/{system => main/system/role}/role.vue (100%) create mode 100644 frontend/src/views/main/system/user/user.vue delete mode 100644 frontend/src/views/setting/about.vue delete mode 100644 frontend/src/views/system/menu.vue delete mode 100644 frontend/src/views/system/user.vue diff --git a/backend/mini.db b/backend/mini.db index 75196f15862b6767516838e76bd42a2a62b4ead7..e2a2455a104f1cf6a5d6b143f3ac8831aaaf3ab5 100644 GIT binary patch delta 33 ncmZp8z|^2HL7J73fq{W>Vxv7bBZHoQEiaJAAh21mVH!UGfVc+| literal 45056 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 Y2mpbv76JP7L7vCY|07QyWY7QmFI$3TCjbBd diff --git a/backend/mini.db-shm b/backend/mini.db-shm new file mode 100644 index 0000000000000000000000000000000000000000..cd21bd97f7bf1e1417f1cc7affacc37610437fa9 GIT binary patch literal 32768 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%0DxTqTxLk7_zBx{} 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 literal 0 HcmV?d00001 diff --git a/backend/tests/test_case.py b/backend/tests/test_case.py index bdd84e8..b676cb2 100644 --- a/backend/tests/test_case.py +++ b/backend/tests/test_case.py @@ -75,7 +75,7 @@ params = [ meta={"icon": "TeamOutlined"}, path="/system/user", type=1, - component="/system/user.vue", + component="/system/user/user.vue", pid=1, identifier=None, api="/user", @@ -89,7 +89,7 @@ params = [ meta={"icon": "UserOutlined"}, path="/system/role", type=1, - component="/system/role.vue", + component="/system/role/role.vue", pid=1, identifier=None, api="/role", @@ -103,7 +103,7 @@ params = [ meta={"icon": "MenuOutlined"}, path="/system/menu", type=1, - component="/system/menu.vue", + component="/system/menu/menu.vue", pid=1, identifier=None, api="/menu", @@ -117,7 +117,7 @@ params = [ meta={"icon": "DashboardOutlined"}, path="/setting/about", type=1, - component="/setting/about.vue", + component="/setting/about/about.vue", pid=2, identifier=None, api="/about", diff --git a/frontend/src/assets/img/fastapi.svg b/frontend/src/assets/img/fastapi.svg new file mode 100644 index 0000000..cf7c0c7 --- /dev/null +++ b/frontend/src/assets/img/fastapi.svg @@ -0,0 +1,39 @@ + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/frontend/src/assets/img/logo.png b/frontend/src/assets/img/logo.png deleted file mode 100644 index d22b489a8c55d8241aa0b74d01b024268c3d022c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20894 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 diff --git a/frontend/src/assets/img/vite.svg b/frontend/src/assets/img/vite.svg new file mode 100644 index 0000000..de4aedd --- /dev/null +++ b/frontend/src/assets/img/vite.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/frontend/src/components/layout/sider-menu.vue b/frontend/src/components/layout/sider-menu.vue index b0e0bf9..854e820 100644 --- a/frontend/src/components/layout/sider-menu.vue +++ b/frontend/src/components/layout/sider-menu.vue @@ -2,25 +2,32 @@ import { useRouter } from "vue-router"; import { userStore } from "@/stores/user"; import { loadIconCpn } from "@/utils/loadCpn"; +import { ref } from "vue"; const store = userStore(); +const router = useRouter(); + +// 菜单点击事件 +const menuClick = (menu) => { + router.push(menu.path); +};