From 1075c8ae4f542bf363f2f19c3b2e358648ddfe7b Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Tue, 5 Sep 2023 14:38:23 +0800 Subject: [PATCH] =?UTF-8?q?init:=20=E5=88=9D=E5=A7=8B=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .editorconfig | 11 + .env.development | 17 + .env.production | 19 + .gitignore | 33 + .prettierrc.json | 11 + README.md | 18 + index.html | 15 + init.md | 1 - package.json | 42 + public/favicon.ico | Bin 0 -> 4286 bytes public/font_8d5l8fzk5b87iudi.js | 1 + public/loading.js | 205 +++ src/App.vue | 80 + src/api/login.ts | 59 + src/api/monitor/cache.ts | 86 + src/api/monitor/job.ts | 121 ++ src/api/monitor/jobLog.ts | 53 + src/api/monitor/logininfor.ts | 67 + src/api/monitor/online.ts | 26 + src/api/monitor/operlog.ts | 55 + src/api/monitor/server.ts | 9 + src/api/profile.ts | 56 + src/api/router.ts | 12 + src/api/system/config.ts | 103 ++ src/api/system/dept.ts | 99 ++ src/api/system/dict/data.ts | 90 ++ src/api/system/dict/type.ts | 102 ++ src/api/system/menu.ts | 87 + src/api/system/notice.ts | 64 + src/api/system/post.ts | 78 + src/api/system/role.ts | 134 ++ src/api/system/user.ts | 141 ++ src/api/tool/file.ts | 195 +++ src/assets/background.svg | 69 + src/assets/donate.jpg | Bin 0 -> 494083 bytes src/assets/images/default_avatar.png | Bin 0 -> 8428 bytes src/assets/js/icon_font_8d5l8fzk5b87iudi.ts | 130 ++ src/assets/logo.png | Bin 0 -> 8428 bytes src/components/CronModal/components/Day.vue | 141 ++ src/components/CronModal/components/Hour.vue | 137 ++ .../CronModal/components/Minute.vue | 139 ++ src/components/CronModal/components/Month.vue | 141 ++ .../CronModal/components/Second.vue | 138 ++ src/components/CronModal/index.vue | 112 ++ src/components/DictTag/index.vue | 48 + src/components/IconFont/index.vue | 30 + src/components/LinkiFrame/index.vue | 40 + src/constants/admin-constants.ts | 5 + src/constants/app-constants.ts | 5 + src/constants/cache-keys-constants.ts | 11 + src/constants/menu-constants.ts | 20 + src/constants/token-constants.ts | 11 + src/directive/index.ts | 10 + src/directive/perms-directive.ts | 38 + src/directive/roles-directive.ts | 38 + src/hooks/useI18n.ts | 26 + src/hooks/useLoading.ts | 16 + src/hooks/useTheme.ts | 58 + src/i18n/index.ts | 16 + src/i18n/locales/en-US.ts | 62 + src/i18n/locales/zh-CN.ts | 60 + src/layouts/BasicLayout.vue | 212 +++ src/layouts/BlankLayout.vue | 7 + src/layouts/LinkLayout.vue | 47 + src/layouts/components/RightContent.vue | 155 ++ src/layouts/components/Tabs.vue | 187 +++ src/main.ts | 16 + src/plugins/auth-token.ts | 17 + src/plugins/auth-user.ts | 54 + src/plugins/http-fetch.ts | 270 ++++ src/router/index.ts | 289 ++++ src/store/index.ts | 5 + src/store/modules/app.ts | 31 + src/store/modules/dict.ts | 63 + src/store/modules/layout.ts | 91 ++ src/store/modules/router.ts | 152 ++ src/store/modules/tabs.ts | 189 +++ src/store/modules/user.ts | 171 ++ src/typings/components.d.ts | 54 + src/typings/dict.d.ts | 7 + src/typings/router.d.ts | 13 + src/typings/vite-env.d.ts | 8 + src/utils/cache-local-utils.ts | 40 + src/utils/cache-session-utils.ts | 40 + src/utils/date-utils.ts | 72 + src/utils/parse-tree-utils.ts | 188 +++ src/utils/regular-utils.ts | 67 + src/views/account/components/base-info.vue | 248 +++ src/views/account/components/reset-passwd.vue | 158 ++ src/views/account/components/style-layout.vue | 165 ++ src/views/account/profile.vue | 198 +++ src/views/account/settings.vue | 30 + src/views/dome/dome1.vue | 27 + src/views/dome/dome2.vue | 61 + src/views/dome/dome3.vue | 30 + src/views/domes/dynamic-match.vue | 87 + src/views/domes/page-info.vue | 58 + src/views/domes/page-typography.vue | 102 ++ src/views/error/403.vue | 21 + src/views/error/404.vue | 26 + src/views/index.vue | 123 ++ src/views/login.vue | 469 ++++++ src/views/monitor/cache/index.vue | 498 ++++++ src/views/monitor/cache/info.vue | 222 +++ src/views/monitor/job/index.vue | 1087 +++++++++++++ src/views/monitor/job/log.vue | 682 ++++++++ src/views/monitor/logininfor/index.vue | 546 +++++++ src/views/monitor/online/index.vue | 338 ++++ src/views/monitor/operlog/index.vue | 692 ++++++++ src/views/monitor/server/info.vue | 329 ++++ src/views/redirect/index.vue | 11 + src/views/register.vue | 313 ++++ src/views/system/config/index.vue | 809 ++++++++++ src/views/system/dept/index.vue | 800 +++++++++ src/views/system/dict/data.vue | 883 ++++++++++ src/views/system/dict/index.vue | 809 ++++++++++ src/views/system/menu/index.vue | 1103 +++++++++++++ src/views/system/notice/index.vue | 734 +++++++++ src/views/system/post/index.vue | 759 +++++++++ src/views/system/role/auth-user.vue | 508 ++++++ .../role/components/auth-user-select.vue | 301 ++++ src/views/system/role/index.vue | 1281 +++++++++++++++ .../user/components/UploadXlsxImport.vue | 185 +++ src/views/system/user/index.vue | 1433 +++++++++++++++++ src/views/tool/build/index.vue | 11 + src/views/tool/swagger/index.vue | 14 + src/views/tool/upload/index.vue | 236 +++ tsconfig.json | 24 + tsconfig.node.json | 9 + vite.config.ts | 76 + 130 files changed, 22531 insertions(+), 1 deletion(-) create mode 100644 .editorconfig create mode 100644 .env.development create mode 100644 .env.production create mode 100644 .gitignore create mode 100644 .prettierrc.json create mode 100644 README.md create mode 100644 index.html delete mode 100644 init.md create mode 100644 package.json create mode 100644 public/favicon.ico create mode 100644 public/font_8d5l8fzk5b87iudi.js create mode 100644 public/loading.js create mode 100644 src/App.vue create mode 100644 src/api/login.ts create mode 100644 src/api/monitor/cache.ts create mode 100644 src/api/monitor/job.ts create mode 100644 src/api/monitor/jobLog.ts create mode 100644 src/api/monitor/logininfor.ts create mode 100644 src/api/monitor/online.ts create mode 100644 src/api/monitor/operlog.ts create mode 100644 src/api/monitor/server.ts create mode 100644 src/api/profile.ts create mode 100644 src/api/router.ts create mode 100644 src/api/system/config.ts create mode 100644 src/api/system/dept.ts create mode 100644 src/api/system/dict/data.ts create mode 100644 src/api/system/dict/type.ts create mode 100644 src/api/system/menu.ts create mode 100644 src/api/system/notice.ts create mode 100644 src/api/system/post.ts create mode 100644 src/api/system/role.ts create mode 100644 src/api/system/user.ts create mode 100644 src/api/tool/file.ts create mode 100644 src/assets/background.svg create mode 100644 src/assets/donate.jpg create mode 100644 src/assets/images/default_avatar.png create mode 100644 src/assets/js/icon_font_8d5l8fzk5b87iudi.ts create mode 100644 src/assets/logo.png create mode 100644 src/components/CronModal/components/Day.vue create mode 100644 src/components/CronModal/components/Hour.vue create mode 100644 src/components/CronModal/components/Minute.vue create mode 100644 src/components/CronModal/components/Month.vue create mode 100644 src/components/CronModal/components/Second.vue create mode 100644 src/components/CronModal/index.vue create mode 100644 src/components/DictTag/index.vue create mode 100644 src/components/IconFont/index.vue create mode 100644 src/components/LinkiFrame/index.vue create mode 100644 src/constants/admin-constants.ts create mode 100644 src/constants/app-constants.ts create mode 100644 src/constants/cache-keys-constants.ts create mode 100644 src/constants/menu-constants.ts create mode 100644 src/constants/token-constants.ts create mode 100644 src/directive/index.ts create mode 100644 src/directive/perms-directive.ts create mode 100644 src/directive/roles-directive.ts create mode 100644 src/hooks/useI18n.ts create mode 100644 src/hooks/useLoading.ts create mode 100644 src/hooks/useTheme.ts create mode 100644 src/i18n/index.ts create mode 100644 src/i18n/locales/en-US.ts create mode 100644 src/i18n/locales/zh-CN.ts create mode 100644 src/layouts/BasicLayout.vue create mode 100644 src/layouts/BlankLayout.vue create mode 100644 src/layouts/LinkLayout.vue create mode 100644 src/layouts/components/RightContent.vue create mode 100644 src/layouts/components/Tabs.vue create mode 100644 src/main.ts create mode 100644 src/plugins/auth-token.ts create mode 100644 src/plugins/auth-user.ts create mode 100644 src/plugins/http-fetch.ts create mode 100644 src/router/index.ts create mode 100644 src/store/index.ts create mode 100644 src/store/modules/app.ts create mode 100644 src/store/modules/dict.ts create mode 100644 src/store/modules/layout.ts create mode 100644 src/store/modules/router.ts create mode 100644 src/store/modules/tabs.ts create mode 100644 src/store/modules/user.ts create mode 100644 src/typings/components.d.ts create mode 100644 src/typings/dict.d.ts create mode 100644 src/typings/router.d.ts create mode 100644 src/typings/vite-env.d.ts create mode 100644 src/utils/cache-local-utils.ts create mode 100644 src/utils/cache-session-utils.ts create mode 100644 src/utils/date-utils.ts create mode 100644 src/utils/parse-tree-utils.ts create mode 100644 src/utils/regular-utils.ts create mode 100644 src/views/account/components/base-info.vue create mode 100644 src/views/account/components/reset-passwd.vue create mode 100644 src/views/account/components/style-layout.vue create mode 100644 src/views/account/profile.vue create mode 100644 src/views/account/settings.vue create mode 100644 src/views/dome/dome1.vue create mode 100644 src/views/dome/dome2.vue create mode 100644 src/views/dome/dome3.vue create mode 100644 src/views/domes/dynamic-match.vue create mode 100644 src/views/domes/page-info.vue create mode 100644 src/views/domes/page-typography.vue create mode 100644 src/views/error/403.vue create mode 100644 src/views/error/404.vue create mode 100644 src/views/index.vue create mode 100644 src/views/login.vue create mode 100644 src/views/monitor/cache/index.vue create mode 100644 src/views/monitor/cache/info.vue create mode 100644 src/views/monitor/job/index.vue create mode 100644 src/views/monitor/job/log.vue create mode 100644 src/views/monitor/logininfor/index.vue create mode 100644 src/views/monitor/online/index.vue create mode 100644 src/views/monitor/operlog/index.vue create mode 100644 src/views/monitor/server/info.vue create mode 100644 src/views/redirect/index.vue create mode 100644 src/views/register.vue create mode 100644 src/views/system/config/index.vue create mode 100644 src/views/system/dept/index.vue create mode 100644 src/views/system/dict/data.vue create mode 100644 src/views/system/dict/index.vue create mode 100644 src/views/system/menu/index.vue create mode 100644 src/views/system/notice/index.vue create mode 100644 src/views/system/post/index.vue create mode 100644 src/views/system/role/auth-user.vue create mode 100644 src/views/system/role/components/auth-user-select.vue create mode 100644 src/views/system/role/index.vue create mode 100644 src/views/system/user/components/UploadXlsxImport.vue create mode 100644 src/views/system/user/index.vue create mode 100644 src/views/tool/build/index.vue create mode 100644 src/views/tool/swagger/index.vue create mode 100644 src/views/tool/upload/index.vue create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..4c7f8a8e --- /dev/null +++ b/.editorconfig @@ -0,0 +1,11 @@ +# 🎨 editorconfig.org + +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true +insert_final_newline = true \ No newline at end of file diff --git a/.env.development b/.env.development new file mode 100644 index 00000000..e4a07bd0 --- /dev/null +++ b/.env.development @@ -0,0 +1,17 @@ +# 历史路径-哈希带井号标识 +VITE_HISTORY_HASH = false + +# 历史路径-前缀URL如:/h5 +VITE_HISTORY_BASE_URL = / + +# 应用名称 +VITE_APP_NAME = Mask管理系统 + +# 应用标识 +VITE_APP_CODE = maskAntd + +# 应用版本 +VITE_APP_VERSION = '0.2.1' + +# 接口基础URL地址-不带/后缀 +VITE_API_BASE_URL = /dev-api diff --git a/.env.production b/.env.production new file mode 100644 index 00000000..cb4095cd --- /dev/null +++ b/.env.production @@ -0,0 +1,19 @@ +# 历史路径-哈希带井号标识 +VITE_HISTORY_HASH = true + +# 历史路径-前缀URL如:/h5 +VITE_HISTORY_BASE_URL = /mask-antd + +# 应用名称 +VITE_APP_NAME = Mask管理系统 + +# 应用标识 +VITE_APP_CODE = maskAntd + +# 应用版本 +VITE_APP_VERSION = '0.2.1' + +# 接口基础URL地址-不带/后缀 +# VITE_API_BASE_URL = https://mock.apifox.cn/m1/1551143-0-default +VITE_API_BASE_URL = http://124.223.91.248:8102/prod-api +# VITE_API_BASE_URL = http://192.168.56.1:6275 diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..a2583a80 --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +.DS_Store +node_modules/ +dist/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +**/*.log + +tests/**/coverage/ +tests/e2e/reports +selenium-debug.log + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.local + +package-lock.json +yarn.lock diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 00000000..41e79eac --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,11 @@ +{ + "printWidth": 80, + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "semi": true, + "trailingComma": "es5", + "bracketSpacing": true, + "jsxBracketSameLine": false, + "arrowParens": "avoid" +} diff --git a/README.md b/README.md new file mode 100644 index 00000000..59631a78 --- /dev/null +++ b/README.md @@ -0,0 +1,18 @@ +# 基于 Ant-Design-Vue + Vue3 的管理系统 + +[![star](https://gitee.com/TsMask/mask_antd_vue3/badge/star.svg?theme=dark)](https://gitee.com/TsMask/mask_antd_vue3/stargazers) +![Build Vite](https://img.shields.io/badge/Build-Vite-green.svg) +![Build Vue3](https://img.shields.io/badge/Build-Vue3-green.svg) +![Build MaskApi](https://img.shields.io/badge/Build-MaskApi-orange.svg) +![Release V0.2.1](https://img.shields.io/badge/Release-V0.2.1-orange.svg) + +## 简介 + +该项目选择 [RuoYi-Vue3](https://github.com/yangzongzhuan/RuoYi-Vue3) 进行功能适配。 + +- 系统布局使用 [@ant-design-vue/pro-layout](https://github.com/vueComponent/pro-components) +- 图标来源 [@ant-design/icons-vue](https://ant.design/components/icon) +- 菜单图标使用自定义iconfont `font_8d5l8fzk5b87iudi.js`图标文件 + +> 有任何问题或者建议,可以在 [_Issues_](https://gitee.com/TsMask/mask_api_midwayjs/issues) 或通过QQ群:[_57242844_](https://jq.qq.com/?_wv=1027&k=z6Y4YQcB) 提出想法。 +> 如果觉得项目对您有帮助,可以来个Star ⭐ diff --git a/index.html b/index.html new file mode 100644 index 00000000..1369a698 --- /dev/null +++ b/index.html @@ -0,0 +1,15 @@ + + + + + + + + + + + +
+ + + diff --git a/init.md b/init.md deleted file mode 100644 index b5754e20..00000000 --- a/init.md +++ /dev/null @@ -1 +0,0 @@ -ok \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 00000000..28145b4b --- /dev/null +++ b/package.json @@ -0,0 +1,42 @@ +{ + "name": "ems_frontend_vue3", + "type": "module", + "description": "核心网管理系统", + "author": "TsMask", + "engines": { + "node": ">=18.0.0" + }, + "scripts": { + "dev": "vite", + "build": "vue-tsc && vite build", + "preview": "vite preview" + }, + "dependencies": { + "@ant-design-vue/pro-layout": "^3.2.4", + "@ant-design/icons-vue": "^6.1.0", + "ant-design-vue": "^3.2.20", + "dayjs": "^1.11.8", + "echarts": "^5.4.2", + "file-saver": "^2.0.5", + "js-base64": "^3.7.5", + "js-cookie": "^3.0.5", + "nprogress": "^0.2.0", + "pinia": "^2.1.4", + "vue": "^3.3.4", + "vue-router": "^4.2.2" + }, + "devDependencies": { + "@types/file-saver": "^2.0.5", + "@types/js-cookie": "^3.0.3", + "@types/node": "^18.0.0", + "@types/nprogress": "^0.2.0", + "@vitejs/plugin-vue": "^4.2.3", + "less": "^4.1.3", + "typescript": "^5.1.3", + "unplugin-vue-components": "^0.25.1", + "vite": "^4.3.9", + "vite-plugin-compression": "^0.5.1", + "vue-i18n": "^9.3.0-beta.27", + "vue-tsc": "^1.8.0" + } +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..4814a3f3bef6ed876beefba949d3ee42bbde2c1d GIT binary patch literal 4286 zcmeI0e@v8h9LK-UJ%6Q#d~Ton-aXIV zz2Ber=l%J7pPf>MJmTY(epdA}l!{bJ&5@8(>JbTj-gn5g+mB=w%>B5p!9VeUTRh`7 z{u|9ScDzK4=HLsL_}6()Je(ppNyL78$c=wIicbB#4DLX?e?h#*cb zR%EGcp0eH$9){q%L=UY)V6{jwoWu!ko;iynAuHKv%V4pZf!kD+sxsa)f8!bZ4l=D} zq#5xfiXLt?EnxLXlzd`D-vug^u9yuBEUct+(c8Q_x0H3!hu9t3O{Ka>x$30Ic$oy7 zl6p+&aaUT1zY|6C`Qbr4l;9*vDNf~=bLA_zbY`6XFQNN0FV&4>yjecL;m2>X>%m^~ z)fVZEM3M}LXrRNtKGFRZFE!1IbaG;kjr?@QcJ(m*)!lRocGst)44n1SC$DSH!p;j` zj$MG)JziFsuuvVH;syUaksw}6lDtc&Pa`8NnkUr~uH`h))hfB47VOVqP~wLcFFQ`c zf%9H=UK*q9Iam=jEcl5e8@4Gt{;n3f&n)H{ndI5llWSB`Xw*?;Z{&-RHhR}z=f@5h z5Zt~qFeDs~e*)#lVe{8sBHAE+_0NJmQ?TuR;Jc*u1`CWl9y6QqSVt+b>c}^1dBJSr zdRPb7_6%}Eym0+A49nUge71`ITfZ5{`4fb1Y$rv}1>ch7R7ucTd*4_wwfq5 z-e+k>JKI z%cEuu9@~eMxLe8Gbd%>R;oMtZE}w^vtI*m5dnJ#f?!4D%nb53-=d*Hu*H8;94i~6z7#&lg~nyjun!Jy@N%FCa+dTG8x$im*b;32bf3i6tLBhu zXfGOM8;f|y>Y>&?LajN%VKv0TgkPvCkjT8j8V|%KR>*gB?jd)T`&14o;=^e9%{Ar* z_Bk%I%ih7>pl_*iU17h~%~tgh%NGw5ll`4|Zo1&=xqJ7yPvr0P?P=*Mn%(w`R6Ba8 z6b{?WR?5_Vic}$U!g7d`IwVJw2(HdOaQmNI_5j_31x5kutaoL$Kg|-A$Gp%8R^^(c z$$l3b`wGcvbpgkoS_9q3nn#@A%@8kaTwyS{%_P(2Aa3?cxE&7&eqcQJXWT#b46Q|~ zcp*-r&=rKoX_p=i!ENa|AGn(T75?OT-@TahMYMR#t>>FB0^_$yj61FR{y@*DiO=0z W>^pJ0e|@qp|Nr&&{{!yz``-Z^D#F14 literal 0 HcmV?d00001 diff --git a/public/font_8d5l8fzk5b87iudi.js b/public/font_8d5l8fzk5b87iudi.js new file mode 100644 index 00000000..699f245c --- /dev/null +++ b/public/font_8d5l8fzk5b87iudi.js @@ -0,0 +1 @@ +(function(window){var svgSprite=""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+"";var script=function(){var scripts=document.getElementsByTagName("script");return scripts[scripts.length-1]}();var shouldInjectCss=script.getAttribute("data-injectcss");var ready=function(fn){if(document.addEventListener){if(~["complete","loaded","interactive"].indexOf(document.readyState)){setTimeout(fn,0)}else{var loadFn=function(){document.removeEventListener("DOMContentLoaded",loadFn,false);fn()};document.addEventListener("DOMContentLoaded",loadFn,false)}}else if(document.attachEvent){IEContentLoaded(window,fn)}function IEContentLoaded(w,fn){var d=w.document,done=false,init=function(){if(!done){done=true;fn()}};var polling=function(){try{d.documentElement.doScroll("left")}catch(e){setTimeout(polling,50);return}init()};polling();d.onreadystatechange=function(){if(d.readyState=="complete"){d.onreadystatechange=null;init()}}}};var before=function(el,target){target.parentNode.insertBefore(el,target)};var prepend=function(el,target){if(target.firstChild){before(el,target.firstChild)}else{target.appendChild(el)}};function appendSvg(){var div,svg;div=document.createElement("div");div.innerHTML=svgSprite;svgSprite=null;svg=div.getElementsByTagName("svg")[0];if(svg){svg.setAttribute("aria-hidden","true");svg.style.position="absolute";svg.style.width=0;svg.style.height=0;svg.style.overflow="hidden";prepend(svg,document.body)}}if(shouldInjectCss&&!window.__iconfont__svg__cssinject__){window.__iconfont__svg__cssinject__=true;try{document.write("")}catch(e){console&&console.log(e)}}ready(appendSvg)})(window) \ No newline at end of file diff --git a/public/loading.js b/public/loading.js new file mode 100644 index 00000000..36664037 --- /dev/null +++ b/public/loading.js @@ -0,0 +1,205 @@ +/** + * loading 占位 + * 解决首次加载时白屏的问题 + */ +(function () { + const _app = document.querySelector('#app'); + if (_app && _app.innerHTML === '') { + const styleStr = ` + `; + + let loadInfo = { + title: '正在加载资源', + titleSub: '初次加载资源可能需要较多时间', + msg: '请耐心等待', + }; + document.title = "管理系统"; + + // 判断选择语言 + const lang = localStorage.getItem('cache:local:i18n') || 'zh_CN'; + if (lang === 'en_US') { + loadInfo = { + title: 'Loading Resources', + titleSub: 'Loading resources for the first time may take a lot of time', + msg: 'Please be patient', + }; + document.title = "Managerial System"; + } + + const divStr = ` +
+
+
+ + + + + + +
+
+
+ ${loadInfo.title} +
+
+ ${loadInfo.titleSub}
${loadInfo.msg} +
+
`; + + _app.innerHTML = styleStr + divStr; + } +})(); diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 00000000..98d5fd18 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/src/api/login.ts b/src/api/login.ts new file mode 100644 index 00000000..225c9327 --- /dev/null +++ b/src/api/login.ts @@ -0,0 +1,59 @@ +import { request } from '@/plugins/http-fetch'; + +// 登录方法 +export function login(data: Record) { + return request({ + url: '/login', + method: 'post', + data: data, + whithToken: false, + }); +} + +/** + * 注册方法 + * @param data 注册对象 + * @returns object + */ +export function register(data: Record) { + return request({ + url: '/register', + method: 'post', + data: data, + whithToken: false, + }); +} + +/** + * 获取用户详细信息 + * @returns object + */ +export function getInfo() { + return request({ + url: '/getInfo', + method: 'get', + }); +} + +/** + * 退出方法 + * @returns object + */ +export function logout() { + return request({ + url: '/logout', + method: 'post', + }); +} + +/** + * 获取验证码 + * @returns object + */ +export function getCaptchaImage() { + return request({ + url: '/captchaImage', + method: 'get', + whithToken: false, + }); +} diff --git a/src/api/monitor/cache.ts b/src/api/monitor/cache.ts new file mode 100644 index 00000000..b5fc7479 --- /dev/null +++ b/src/api/monitor/cache.ts @@ -0,0 +1,86 @@ +import { request } from '@/plugins/http-fetch'; + +/** + * 查询缓存详细 + * @returns object + */ +export function getCache() { + return request({ + url: '/monitor/cache', + method: 'get', + }); +} + +/** + * 查询缓存名称列表 + * @returns object + */ +export function listCacheName() { + return request({ + url: '/monitor/cache/getNames', + method: 'get', + }); +} + +/** + * 查询缓存名称下键名列表 + * @param cacheName 缓存名称列表中得到的缓存名称 + * @returns object + */ +export function listCacheKey(cacheName: string) { + return request({ + url: `/monitor/cache/getKeys/${cacheName}`, + method: 'get', + }); +} + +/** + * 查询缓存内容 + * @param cacheName 键名列表中得到的缓存名称 + * @param cacheKey 键名列表中得到的缓存键名 + * @returns object + */ +export function getCacheValue(cacheName: string, cacheKey: string) { + return request({ + url: `/monitor/cache/getValue/${cacheName}/${cacheKey}`, + method: 'get', + }); +} + +/** + * 删除缓存名称下键名列表 + * @param cacheName 缓存名称列表中得到的缓存名称 + * @returns object + */ +export function clearCacheName(cacheName: string) { + return request({ + url: `/monitor/cache/clearCacheName/${cacheName}`, + method: 'delete', + }); +} + +/** + * 删除缓存键名 + * @param cacheName 键名列表中得到的缓存名称 + * @param cacheKey 键名列表中得到的缓存键名 + * @returns object + */ +export function clearCacheKey(cacheName: string, cacheKey: string) { + return request({ + url: `/monitor/cache/clearCacheKey/${cacheName}/${cacheKey}`, + method: 'delete', + }); +} + +/** + * 安全清理缓存名称 + * + * 指定可清理的缓存key + * @returns object + */ +export function clearCacheSafe() { + return request({ + url: '/monitor/cache/clearCacheSafe', + method: 'delete', + }); +} diff --git a/src/api/monitor/job.ts b/src/api/monitor/job.ts new file mode 100644 index 00000000..09ec7d5b --- /dev/null +++ b/src/api/monitor/job.ts @@ -0,0 +1,121 @@ +import { request } from '@/plugins/http-fetch'; + +/** + * 定时任务调度列表导出 + * @param query 查询参数 + * @returns bolb + */ +export function exportJob(query: Record) { + return request({ + url: '/monitor/job/export', + method: 'post', + data: query, + responseType: 'blob', + }); +} + +/** + * 查询定时任务调度列表 + * @param query 查询参数 + * @returns object + */ +export function listJob(query: Record) { + return request({ + url: '/monitor/job/list', + method: 'get', + params: query, + }); +} + +/** + * 查询定时任务调度详细 + * @param jobId 任务ID + * @returns object + */ +export function getJob(jobId: string | number) { + return request({ + url: `/monitor/job/${jobId}`, + method: 'get', + }); +} + +/** + * 新增定时任务调度 + * @param data 任务对象 + * @returns object + */ +export function addJob(data: Record) { + return request({ + url: '/monitor/job', + method: 'post', + data: data, + }); +} + +/** + * 修改定时任务调度 + * @param data 任务对象 + * @returns object + */ +export function updateJob(data: Record) { + return request({ + url: '/monitor/job', + method: 'put', + data: data, + }); +} + +/** + * 删除定时任务调度 + * @param jobId 任务ID + * @returns object + */ +export function delJob(jobId: string | number) { + return request({ + url: `/monitor/job/${jobId}`, + method: 'delete', + }); +} + +/** + * 任务状态修改 + * @param jobId 任务ID + * @param status 变更状态值 + * @returns + */ +export function changeJobStatus( + jobId: string | number, + status: string | number +) { + return request({ + url: '/monitor/job/changeStatus', + method: 'put', + data: { + jobId, + status, + }, + }); +} + +/** + * 定时任务立即执行一次 + * @param jobId 任务ID + * @returns object + */ +export function runJob(jobId: string) { + return request({ + url: `/monitor/job/run/${jobId}`, + method: 'put', + }); +} + +/** + * 重置刷新队列 + * @returns object + */ +export function resetQueueJob() { + return request({ + url: '/monitor/job/resetQueueJob', + method: 'put', + }); +} diff --git a/src/api/monitor/jobLog.ts b/src/api/monitor/jobLog.ts new file mode 100644 index 00000000..ade7b771 --- /dev/null +++ b/src/api/monitor/jobLog.ts @@ -0,0 +1,53 @@ +import { request } from '@/plugins/http-fetch'; + +/** + * 定时任务调度日志列表导出 + * @param query 查询参数 + * @returns bolb + */ +export function exportJobLog( + query: Record +) { + return request({ + url: '/monitor/jobLog/export', + method: 'post', + data: query, + responseType: 'blob', + }); +} + +/** + * 查询调度日志列表 + * @param query 查询参数 + * @returns object + */ +export function listJobLog(query: Record) { + return request({ + url: '/monitor/jobLog/list', + method: 'get', + params: query, + }); +} + +/** + * 删除调度日志 + * @param jobLogId 任务日志Id + * @returns object + */ +export function delJobLog(jobLogId: string) { + return request({ + url: `/monitor/jobLog/${jobLogId}`, + method: 'delete', + }); +} + +/** + * 清空调度日志 + * @returns object + */ +export function cleanJobLog() { + return request({ + url: '/monitor/jobLog/clean', + method: 'delete', + }); +} diff --git a/src/api/monitor/logininfor.ts b/src/api/monitor/logininfor.ts new file mode 100644 index 00000000..8e0388e5 --- /dev/null +++ b/src/api/monitor/logininfor.ts @@ -0,0 +1,67 @@ +import { request } from '@/plugins/http-fetch'; + +/** + * 登录日志列表导出 + * @param query 查询参数 + * @returns bolb + */ +export function exportLogininfor( + query: Record +) { + return request({ + url: '/monitor/logininfor/export', + method: 'post', + data: query, + responseType: 'blob', + }); +} + +/** + * 查询登录日志列表 + * @param query 查询参数 + * @returns object + */ +export function listLogininfor( + query: Record +) { + return request({ + url: '/monitor/logininfor/list', + method: 'get', + params: query, + }); +} + +/** + * 删除登录日志 + * @param infoId 登录日志Id + * @returns object + */ +export function delLogininfor(infoId: string) { + return request({ + url: `/monitor/logininfor/${infoId}`, + method: 'delete', + }); +} + +/** + * 清空登录日志 + * @returns object + */ +export function cleanLogininfor() { + return request({ + url: '/monitor/logininfor/clean', + method: 'delete', + }); +} + +/** + * 解锁用户登录状态 + * @param userName 登录账号 + * @returns object + */ +export function unlockLogininfor(userName: string) { + return request({ + url: `/monitor/logininfor/unlock/${userName}`, + method: 'put', + }); +} diff --git a/src/api/monitor/online.ts b/src/api/monitor/online.ts new file mode 100644 index 00000000..4faa13ea --- /dev/null +++ b/src/api/monitor/online.ts @@ -0,0 +1,26 @@ +import { request } from '@/plugins/http-fetch'; + +/** + * 查询在线用户列表 + * @param query 查询参数 + * @returns object + */ +export function listOnline(query: Record) { + return request({ + url: '/monitor/online/list', + method: 'get', + params: query, + }); +} + +/** + * 强退用户 + * @param tokenId 授权标识 + * @returns object + */ +export function forceLogout(tokenId: string) { + return request({ + url: `/monitor/online/${tokenId}`, + method: 'delete', + }); +} diff --git a/src/api/monitor/operlog.ts b/src/api/monitor/operlog.ts new file mode 100644 index 00000000..04bfb101 --- /dev/null +++ b/src/api/monitor/operlog.ts @@ -0,0 +1,55 @@ +import { request } from '@/plugins/http-fetch'; + +/** + * 操作日志列表导出 + * @param query 查询参数 + * @returns bolb + */ +export function exportOperlog( + query: Record +) { + return request({ + url: '/monitor/operlog/export', + method: 'post', + data: query, + responseType: 'blob', + }); +} + +/** + * 查询操作日志列表 + * @param query 查询参数 + * @returns object + */ +export function listOperlog( + query: Record +) { + return request({ + url: '/monitor/operlog/list', + method: 'get', + params: query, + }); +} + +/** + * 删除操作日志 + * @param operId 操作日志ID + * @returns object + */ +export function delOperlog(operId: string) { + return request({ + url: `/monitor/operlog/${operId}`, + method: 'delete', + }); +} + +/** + * 清空操作日志 + * @returns object + */ +export function cleanOperlog() { + return request({ + url: '/monitor/operlog/clean', + method: 'delete', + }); +} diff --git a/src/api/monitor/server.ts b/src/api/monitor/server.ts new file mode 100644 index 00000000..eea90e35 --- /dev/null +++ b/src/api/monitor/server.ts @@ -0,0 +1,9 @@ +import { request } from '@/plugins/http-fetch'; + +/**获取服务信息 */ +export function getServer() { + return request({ + url: '/monitor/server', + method: 'get', + }); +} diff --git a/src/api/profile.ts b/src/api/profile.ts new file mode 100644 index 00000000..be793283 --- /dev/null +++ b/src/api/profile.ts @@ -0,0 +1,56 @@ +import { request } from '@/plugins/http-fetch'; + +/** + * 查询用户个人信息 + * @returns object + */ +export function getUserProfile() { + return request({ + url: '/system/user/profile', + method: 'get', + }); +} + +/** + * 修改用户个人信息 + * @param data 用户对象 + * @returns object + */ +export function updateUserProfile(data: Record) { + return request({ + url: '/system/user/profile', + method: 'put', + data: data, + }); +} + +/** + * 用户密码重置 + * @param userId 用户ID + * @param status 变更状态值 + * @returns object + */ +export function updateUserPwd(oldPassword: string, newPassword: string) { + return request({ + url: '/system/user/profile/updatePwd', + method: 'put', + data: { + oldPassword, + newPassword, + }, + }); +} + +/** + * 用户头像上传 + * @param data 表单数据对象 + * @returns object + */ +export function uploadAvatar(data: FormData) { + return request({ + url: '/system/user/profile/avatar', + method: 'post', + data, + dataType: 'form-data', + }); +} diff --git a/src/api/router.ts b/src/api/router.ts new file mode 100644 index 00000000..a0b810cf --- /dev/null +++ b/src/api/router.ts @@ -0,0 +1,12 @@ +import { request } from '@/plugins/http-fetch'; + +/** + * 获取路由 + * @returns object + */ +export const getRouters = () => { + return request({ + url: '/getRouters', + method: 'get', + }); +}; diff --git a/src/api/system/config.ts b/src/api/system/config.ts new file mode 100644 index 00000000..2358eb7c --- /dev/null +++ b/src/api/system/config.ts @@ -0,0 +1,103 @@ +import { request } from '@/plugins/http-fetch'; + +/** + * 参数配置列表导出 + * @param query 查询参数 + * @returns bolb + */ +export function exportConfig( + query: Record +) { + return request({ + url: '/system/config/export', + method: 'post', + data: query, + responseType: 'blob', + }); +} + +/** + * 查询参数配置列表 + * @param query 查询参数 + * @returns object + */ +export function listConfig(query: Record) { + return request({ + url: '/system/config/list', + method: 'get', + params: query, + }); +} + +/** + * 查询参数详细 + * @param configId 参数配置ID + * @returns object + */ +export function getConfig(configId: string | number) { + return request({ + url: `/system/config/${configId}`, + method: 'get', + }); +} + +/** + * 根据参数键名查询参数值 + * @param configKey 参数键名 + * @returns object + */ +export function getConfigKey(configKey: string) { + return request({ + url: `/system/config/configKey/${configKey}`, + method: 'get', + }); +} + +/** + * 新增参数配置 + * @param data 参数配置对象 + * @returns object + */ +export function addConfig(data: Record) { + return request({ + url: '/system/config', + method: 'post', + data: data, + }); +} + +/** + * 修改参数配置 + * @param data 参数配置对象 + * @returns object + */ +export function updateConfig(data: Record) { + return request({ + url: '/system/config', + method: 'put', + data: data, + }); +} + +/** + * 删除参数配置 + * @param configId 参数配置ID + * @returns object + */ +export function delConfig(configId: string | number) { + return request({ + url: `/system/config/${configId}`, + method: 'delete', + }); +} + +/** + * 刷新参数缓存 + * @returns object + */ +export function refreshCache() { + return request({ + url: '/system/config/refreshCache', + method: 'put', + }); +} diff --git a/src/api/system/dept.ts b/src/api/system/dept.ts new file mode 100644 index 00000000..288a16ef --- /dev/null +++ b/src/api/system/dept.ts @@ -0,0 +1,99 @@ +import { request } from '@/plugins/http-fetch'; + +/** + * 查询部门列表 + * @param query 查询参数 + * @returns object + */ +export function listDept(query: Record) { + return request({ + url: '/system/dept/list', + method: 'get', + params: query, + }); +} + +/** + * 查询部门列表(排除节点) + * @param deptId 部门ID + * @returns object + */ +export function listDeptExcludeChild(deptId: string | number) { + return request({ + url: `/system/dept/list/exclude/${deptId}`, + method: 'get', + }); +} + +/** + * 查询部门详细 + * @param deptId 部门ID + * @returns object + */ +export function getDept(deptId: string | number) { + return request({ + url: `/system/dept/${deptId}`, + method: 'get', + }); +} + +/** + * 新增部门 + * @param data 部门对象 + * @returns object + */ +export function addDept(data: Record) { + return request({ + url: '/system/dept', + method: 'post', + data: data, + }); +} + +/** + * 修改部门 + * @param data 部门对象 + * @returns object + */ +export function updateDept(data: Record) { + return request({ + url: '/system/dept', + method: 'put', + data: data, + }); +} + +/** + * 删除部门 + * @param deptId 部门ID + * @returns object + */ +export function delDept(deptId: string | number) { + return request({ + url: `/system/dept/${deptId}`, + method: 'delete', + }); +} + +/** + * 查询部门下拉树结构 + * @returns object + */ +export function deptTreeSelect() { + return request({ + url: '/system/dept/treeSelect', + method: 'get', + }); +} + +/** + * 部门树结构列表(指定角色) + * @param roleId 角色ID + * @returns object + */ +export function roleDeptTreeSelect(roleId: string | number) { + return request({ + url: `/system/dept/roleDeptTreeSelect/${roleId}`, + method: 'get', + }); +} diff --git a/src/api/system/dict/data.ts b/src/api/system/dict/data.ts new file mode 100644 index 00000000..f4fc8df4 --- /dev/null +++ b/src/api/system/dict/data.ts @@ -0,0 +1,90 @@ +import { request } from '@/plugins/http-fetch'; + +/** + * 字典数据列表导出 + * @param query 查询参数 + * @returns bolb + */ +export function exportData(query: Record) { + return request({ + url: '/system/dict/data/export', + method: 'post', + data: query, + responseType: 'blob', + }); +} + +/** + * 查询字典数据列表 + * @param query 查询值 + * @returns + */ +export function listData(query: Record) { + return request({ + url: '/system/dict/data/list', + method: 'get', + params: query, + }); +} + +/** + * 查询字典数据详细 + * @param dictCode 字典代码值 + * @returns object + */ +export function getData(dictCode: string | number) { + return request({ + url: `/system/dict/data/${dictCode}`, + method: 'get', + }); +} + +/** + * 新增字典数据 + * @param data 字典数据对象 + * @returns object + */ +export function addData(data: Record) { + return request({ + url: '/system/dict/data', + method: 'post', + data: data, + }); +} + +/** + * 修改字典数据 + * @param data 字典数据对象 + * @returns object + */ +export function updateData(data: Record) { + return request({ + url: '/system/dict/data', + method: 'put', + data: data, + }); +} + +/** + * 删除字典数据 + * @param dictCode 字典代码值 + * @returns object + */ +export function delData(dictCode: string | number) { + return request({ + url: `/system/dict/data/${dictCode}`, + method: 'delete', + }); +} + +/** + * 字典数据列表(指定字典类型) + * @param dictType 字典类型 + * @returns object + */ +export function getDictDataType(dictType: string) { + return request({ + url: `/system/dict/data/type/${dictType}`, + method: 'get', + }); +} diff --git a/src/api/system/dict/type.ts b/src/api/system/dict/type.ts new file mode 100644 index 00000000..040b0329 --- /dev/null +++ b/src/api/system/dict/type.ts @@ -0,0 +1,102 @@ +import { request } from '@/plugins/http-fetch'; + +/** + * 字典类型列表导出 + * @param query 查询参数 + * @returns bolb + */ +export function exportType(query: Record) { + return request({ + url: '/system/dict/type/export', + method: 'post', + data: query, + responseType: 'blob', + }); +} + +/** + * 查询字典类型列表 + * @param query 查询值 + * @returns + */ +export function listType(query: Record) { + return request({ + url: '/system/dict/type/list', + method: 'get', + params: query, + }); +} + +/** + * 查询字典类型详细 + * @param dictId 字典编号 + * @returns object + */ +export function getType(dictId: string | number) { + return request({ + url: `/system/dict/type/${dictId}`, + method: 'get', + }); +} + +/** + * 新增字典类型 + * @param data 字典数据对象 + * @returns object + */ +export function addType(data: Record) { + return request({ + url: '/system/dict/type', + method: 'post', + data: data, + }); +} + +/** + * 修改字典类型 + * @param data 字典数据对象 + * @returns object + */ +export function updateType(data: Record) { + return request({ + url: '/system/dict/type', + method: 'put', + data: data, + }); +} + +/** + * 删除字典类型 + * @param dictCode 字典代码值 + * @returns object + */ +export function delType(dictId: string | number) { + return request({ + url: `/system/dict/type/${dictId}`, + method: 'delete', + }); +} + +/** + * 刷新字典缓存 + * @param data 字典数据对象 + * @returns object + */ +export function refreshCache() { + return request({ + url: '/system/dict/type/refreshCache', + method: 'put', + }); +} + +/** + * 获取字典选择框列表 + * @param data 字典数据对象 + * @returns object + */ +export function getDictOptionselect() { + return request({ + url: '/system/dict/type/getDictOptionselect', + method: 'get', + }); +} diff --git a/src/api/system/menu.ts b/src/api/system/menu.ts new file mode 100644 index 00000000..4827d770 --- /dev/null +++ b/src/api/system/menu.ts @@ -0,0 +1,87 @@ +import { request } from '@/plugins/http-fetch'; + +/** + * 查询菜单列表 + * @param query 查询参数 + * @returns object + */ +export function listMenu(query?: Record) { + return request({ + url: '/system/menu/list', + method: 'get', + params: query, + }); +} + +/** + * 查询菜单详细 + * @param menuId 菜单ID + * @returns object + */ +export function getMenu(menuId: string | number) { + return request({ + url: `/system/menu/${menuId}`, + method: 'get', + }); +} + +/** + * 查询菜单下拉树结构 + * @returns object + */ +export function menuTreeSelect() { + return request({ + url: '/system/menu/treeSelect', + method: 'get', + }); +} + +/** + * 根据角色ID查询菜单下拉树结构 + * @param roleId 角色ID + * @returns object + */ +export function roleMenuTreeSelect(roleId: string | number) { + return request({ + url: `/system/menu/roleMenuTreeSelect/${roleId}`, + method: 'get', + }); +} + +/** + * 新增菜单 + * @param data 菜单对象 + * @returns object + */ +export function addMenu(data: Record) { + return request({ + url: '/system/menu', + method: 'post', + data: data, + }); +} + +/** + * 修改菜单 + * @param data 菜单对象 + * @returns object + */ +export function updateMenu(data: Record) { + return request({ + url: '/system/menu', + method: 'put', + data: data, + }); +} + +/** + * 删除菜单 + * @param menuId 菜单ID + * @returns object + */ +export function delMenu(menuId: string | number) { + return request({ + url: `/system/menu/${menuId}`, + method: 'delete', + }); +} diff --git a/src/api/system/notice.ts b/src/api/system/notice.ts new file mode 100644 index 00000000..d3046fce --- /dev/null +++ b/src/api/system/notice.ts @@ -0,0 +1,64 @@ +import { request } from '@/plugins/http-fetch'; + +/** + * 查询公告列表 + * @param query 查询参数 + * @returns object + */ +export function listNotice(query: Record) { + return request({ + url: '/system/notice/list', + method: 'get', + params: query, + }); +} + +/** + * 查询公告详细 + * @param menuId 公告ID + * @returns object + */ +export function getNotice(noticeId: string | number) { + return request({ + url: `/system/notice/${noticeId}`, + method: 'get', + }); +} + +/** + * 新增公告 + * @param data 公告对象 + * @returns object + */ +export function addNotice(data: Record) { + return request({ + url: '/system/notice', + method: 'post', + data: data, + }); +} + +/** + * 修改公告 + * @param data 公告对象 + * @returns object + */ +export function updateNotice(data: Record) { + return request({ + url: '/system/notice', + method: 'put', + data: data, + }); +} + +/** + * 删除公告 + * @param noticeId 公告ID + * @returns object + */ +export function delNotice(noticeId: string | number) { + return request({ + url: `/system/notice/${noticeId}`, + method: 'delete', + }); +} diff --git a/src/api/system/post.ts b/src/api/system/post.ts new file mode 100644 index 00000000..da63bc92 --- /dev/null +++ b/src/api/system/post.ts @@ -0,0 +1,78 @@ +import { request } from '@/plugins/http-fetch'; + +/** + * 岗位列表导出 + * @param query 查询参数 + * @returns bolb + */ +export function exportPost(query: Record) { + return request({ + url: '/system/post/export', + method: 'post', + data: query, + responseType: 'blob', + }); +} + +/** + * 查询岗位列表 + * @param query 查询参数 + * @returns object + */ +export function listPost(query: Record) { + return request({ + url: '/system/post/list', + method: 'get', + params: query, + }); +} + +/** + * 查询岗位详细 + * @param postId 岗位ID + * @returns object + */ +export function getPost(postId: string | number) { + return request({ + url: `/system/post/${postId}`, + method: 'get', + }); +} + +/** + * 新增岗位 + * @param data 岗位对象 + * @returns object + */ +export function addPost(data: Record) { + return request({ + url: '/system/post', + method: 'post', + data: data, + }); +} + +/** + * 修改岗位 + * @param data 岗位对象 + * @returns object + */ +export function updatePost(data: Record) { + return request({ + url: '/system/post', + method: 'put', + data: data, + }); +} + +/** + * 删除岗位 + * @param postId 岗位ID + * @returns object + */ +export function delPost(postId: string | number) { + return request({ + url: `/system/post/${postId}`, + method: 'delete', + }); +} diff --git a/src/api/system/role.ts b/src/api/system/role.ts new file mode 100644 index 00000000..2f426836 --- /dev/null +++ b/src/api/system/role.ts @@ -0,0 +1,134 @@ +import { request } from '@/plugins/http-fetch'; + +/** + * 角色列表导出 + * @param query 查询参数 + * @returns bolb + */ +export function exportRole(query: Record) { + return request({ + url: '/system/role/export', + method: 'post', + data: query, + responseType: 'blob', + }); +} + +/** + * 查询角色列表 + * @param query 查询参数 + * @returns object + */ +export function listRole(query: Record) { + return request({ + url: '/system/role/list', + method: 'get', + params: query, + }); +} + +/** + * 查询角色详细 + * @param roleId 角色ID + * @returns object + */ +export function getRole(roleId: string | number) { + return request({ + url: `/system/role/${roleId}`, + method: 'get', + }); +} + +/** + * 新增角色 + * @param data 角色对象 + * @returns object + */ +export function addRole(data: Record) { + return request({ + url: '/system/role', + method: 'post', + data: data, + }); +} + +/** + * 修改角色 + * @param data 角色对象 + * @returns object + */ +export function updateRole(data: Record) { + return request({ + url: '/system/role', + method: 'put', + data: data, + }); +} + +/** + * 删除角色 + * @param roleId 角色ID + * @returns object + */ +export function delRole(roleId: string | number) { + return request({ + url: `/system/role/${roleId}`, + method: 'delete', + }); +} + +/** + * 角色状态修改 + * @param roleId 角色ID + * @param status 角色状态 + * @returns object + */ +export function changeRoleStatus(roleId: string, status: string | number) { + return request({ + url: '/system/role/changeStatus', + method: 'put', + data: { + roleId, + status, + }, + }); +} + +/** + * 修改角色数据权限 + * @param data 角色对象 + * @returns object + */ +export function dataScope(data: Record) { + return request({ + url: '/system/role/dataScope', + method: 'put', + data: data, + }); +} + +/** + * 角色分配用户列表 + * @param query 查询参数 + * @returns object + */ +export function authUserAllocatedList(query: Record) { + return request({ + url: '/system/role/authUser/allocatedList', + method: 'get', + params: query, + }); +} + +/** + * 角色分配选择授权 + * @param data 角色对象 + * @returns object + */ +export function authUserChecked(data: Record) { + return request({ + url: '/system/role/authUser/checked', + method: 'put', + data: data, + }); +} diff --git a/src/api/system/user.ts b/src/api/system/user.ts new file mode 100644 index 00000000..febcce9e --- /dev/null +++ b/src/api/system/user.ts @@ -0,0 +1,141 @@ +import { request } from '@/plugins/http-fetch'; + +/** + * 导入用户模板数据 + * @param data 表单数据对象 + * @returns object + */ +export function importData(data: FormData) { + return request({ + url: '/system/user/importData', + method: 'post', + data, + dataType: 'form-data', + }); +} + +/** + * 导入用户模板下载 + * @returns bolb + */ +export function importTemplate() { + return request({ + url: '/system/user/importTemplate', + method: 'get', + responseType: 'blob', + }); +} + +/** + * 用户列表导出 + * @param query 查询参数 + * @returns bolb + */ +export function exportUser(query: Record) { + return request({ + url: '/system/user/export', + method: 'post', + data: query, + responseType: 'blob', + }); +} + +/** + * 查询用户列表 + * @param query 查询参数 + * @returns object + */ +export function listUser(query: Record) { + return request({ + url: '/system/user/list', + method: 'get', + params: query, + }); +} + +/** + * 查询用户详细 + * @param userId 用户ID,新增0 + * @returns object + */ +export function getUser(userId: string | number = '0') { + return request({ + url: `/system/user/${userId}`, + method: 'get', + }); +} + +/** + * 新增用户 + * @param data 用户对象 + * @returns object + */ +export function addUser(data: Record) { + return request({ + url: '/system/user', + method: 'post', + data: data, + }); +} + +/** + * 修改用户 + * @param data 用户对象 + * @returns object + */ +export function updateUser(data: Record) { + return request({ + url: '/system/user', + method: 'put', + data: data, + }); +} + +/** + * 删除用户 + * @param userId 用户ID + * @returns object + */ +export function delUser(userId: string | number) { + return request({ + url: `/system/user/${userId}`, + method: 'delete', + }); +} + +/** + * 用户密码重置 + * @param userId 用户ID + * @param password 密码 + * @returns object + */ +export function resetUserPwd(userId: string | number, password: string) { + return request({ + url: '/system/user/resetPwd', + method: 'put', + data: { + userId, + password, + }, + }); +} + +/** + * 用户状态修改 + * @param userId 用户ID + * @param status 变更状态值 + * @returns object + */ +export function changeUserStatus( + userId: string | number, + status: string | number +) { + return request({ + url: '/system/user/changeStatus', + method: 'put', + data: { + userId, + status, + }, + }); +} diff --git a/src/api/tool/file.ts b/src/api/tool/file.ts new file mode 100644 index 00000000..6d454b17 --- /dev/null +++ b/src/api/tool/file.ts @@ -0,0 +1,195 @@ +import { request } from '@/plugins/http-fetch'; +import { encode } from 'js-base64'; + +/** + * 下载文件 + * @param filePath 文件路径带/,如:/upload/default/2023/06/xx.png + * @param range 断点续传标识,填入字符串 `bytes=${startByte}-${endByte}` + * @returns object + */ +export async function downloadFile(filePath: string, range?: string) { + return request({ + url: `/file/download/${encode(filePath)}`, + method: 'get', + headers: range ? { range } : {}, + responseType: 'blob', + }); +} + +/** + * 下载文件切片 + * @param filePath 文件路径带/,如:/upload/default/2023/06/xx.png + * @param chunkSize 数据块大小MB,默认1MB + * @returns bolb + */ +export async function downloadFileChunk( + filePath: string, + chunkSize: number = 1 +): Promise { + chunkSize = chunkSize * 1024 * 1024; + let start = 0; // 文件块的起始字节 + let end = chunkSize - 1; // 文件块的结束字节 + let totalSize = 0; // 文件总大小 + let downloadedSize = 0; // 已下载的文件大小 + let filePart: Blob[] = []; // 文件数据块内容 + + // 发送带有 Range 请求头的 HTTP 请求 + async function sendRequest() { + const range = `bytes=${start}-${end}`; + const res = await downloadFile(filePath, range); + if (res.code === 200 && res.status === 206) { + // 总大小 + const contentRange = res.headers.get('content-range') || '0/0'; + totalSize = parseInt(contentRange.split('/')[1]); + // 已下载大小 + const contentLength = res.headers.get('content-length') || '0'; + const chunkSize = parseInt(contentLength); + // 下一段数据块区间 + start += chunkSize; + end = Math.min(start + chunkSize - 1, totalSize - 1); + // 记录下载结果 + filePart.push(res.data); + downloadedSize += chunkSize; + // 小于总大小继续下载后续数据 + if (downloadedSize < totalSize) { + await sendRequest(); + } + } else { + return res; + } + } + + await sendRequest(); + return new Blob(filePart, { type: 'application/octet-stream' }); +} + +/** + * 上传文件 + * @param data 表单数据对象 + * @returns object + */ +export function uploadFile(data: FormData) { + return request({ + url: '/file/upload', + method: 'post', + data, + dataType: 'form-data', + }); +} + +/** + * 上传切片文件 + * @param file 文件对象 + * @param chunkSize 数据块大小MB,默认1MB + * @param subPath 归属子路径, 默认default + * @returns + */ +export async function uploadFileChunk( + fileData: File, + chunkSize: number = 1, + subPath: string = 'default' +) { + const { name, size } = fileData; + const chunkSizeInBytes = chunkSize * 1024 * 1024; + // 文件标识使用唯一编码 MD5(文件名+文件大小) + const fileIdentifier = `${name}-${size}`; + // 文件切分为多少份进行上传 + const chunksCount = Math.ceil(size / chunkSizeInBytes); + // 切块的数据数据用于上传 + const fileChunks: { index: number; chunk: Blob }[] = []; + + for (let i = 0; i < chunksCount; i++) { + const start = i * chunkSizeInBytes; + const end = Math.min(start + chunkSizeInBytes, size); + fileChunks.push({ + index: i, + chunk: fileData.slice(start, end), + }); + } + + // 检查是否已上传部分数据块 + const resCheck = await chunkCheck(fileIdentifier, name); + if (resCheck.code !== 200) { + return resCheck; + } + + let uploadedSize = 0; + let uploadProgress = 0; + + for (const { index, chunk } of fileChunks) { + const chunksIndex = `${index}`; + // 跳过已上传块 + if (resCheck.data.includes(chunksIndex)) { + continue; + } + + // 上传数据块 + const formData = new FormData(); + formData.append('file', chunk, name); + formData.append('index', chunksIndex); + formData.append('identifier', fileIdentifier); + + const resUpload = await chunkUpload(formData); + if (resUpload.code === 200) { + uploadedSize += chunk.size; + uploadProgress = (uploadedSize / size) * 100; + console.log(`上传进度:${uploadProgress}%`); + } else { + // 上传失败处理 + break; + } + } + + // 上传数据完整后合并数据块 + if (uploadedSize === size) { + return await chunkMerge(fileIdentifier, name, subPath); + } + return { code: 500, msg: '上传出错,请重试' }; +} + +/** + * 切片文件检查 + * @param identifier 文件标识 + * @param fileName 原文件名称 + * @returns object + */ +export function chunkCheck(identifier: string, fileName: string) { + return request({ + url: '/file/chunkCheck', + method: 'post', + data: { identifier, fileName }, + }); +} + +/** + * 切片文件合并 + * @param identifier 文件标识 + * @param fileName 原文件名称 + * @param subPath 文件归属 + * @returns object + */ +export function chunkMerge( + identifier: string, + fileName: string, + subPath: string = 'default' +) { + return request({ + url: '/file/chunkMerge', + method: 'post', + data: { identifier, fileName, subPath }, + }); +} + +/** + * 切片文件上传 + * @param data 表单数据对象 + * @returns object + */ +export function chunkUpload(data: FormData) { + return request({ + url: '/file/chunkUpload', + method: 'post', + data, + dataType: 'form-data', + }); +} diff --git a/src/assets/background.svg b/src/assets/background.svg new file mode 100644 index 00000000..43adc8a6 --- /dev/null +++ b/src/assets/background.svg @@ -0,0 +1,69 @@ + + + + Ant-Design-Pro + mask-and-vue3 By TsMask + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/donate.jpg b/src/assets/donate.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6d62f6c45a2c062fee3922494ce49ced295891eb GIT binary patch literal 494083 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 z

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 _js$DoWRm%K(z`2*2O6 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

  • =vO5T@xM~n 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
    1u8+c9)7{(NU5#OYaVx#{lfE?8V6W+2x* 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/default_avatar.png b/src/assets/images/default_avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..89ae8d75c696007a44fe34c4ba86c36e7945b4c5 GIT binary patch literal 8428 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 literal 0 HcmV?d00001 diff --git a/src/assets/js/icon_font_8d5l8fzk5b87iudi.ts b/src/assets/js/icon_font_8d5l8fzk5b87iudi.ts new file mode 100644 index 00000000..794233df --- /dev/null +++ b/src/assets/js/icon_font_8d5l8fzk5b87iudi.ts @@ -0,0 +1,130 @@ +/** + * 字体图标文件-静态资源文件路径 + */ +const baseUrl = import.meta.env.VITE_HISTORY_BASE_URL; +export const scriptUrl = `${ + baseUrl.length === 1 && baseUrl.indexOf('/') === 0 + ? '' + : baseUrl.indexOf('/') === -1 + ? '/' + baseUrl + : baseUrl +}/font_8d5l8fzk5b87iudi.js`; + +/** + * 读取 font_8d5l8fzk5b87iudi.js 文件内svg图标名称 + * + * JSON.stringify(txt.match(/icon-(\S*)"/gi).map(i=>i.slice(0,-1))) + */ +export const iconFonts = [ + '#', + 'icon-alibaba', + 'icon-alimama', + 'icon-aliyun', + 'icon-anzhuo', + 'icon-biaoqing', + 'icon-chexiao', + 'icon-chexiao2', + 'icon-daimayingyong', + 'icon-daishenhe', + 'icon-dashang', + 'icon-dianzan', + 'icon-dianzan1', + 'icon-facebook', + 'icon-fangda', + 'icon-fangda2', + 'icon-fanhui', + 'icon-fanhui1', + 'icon-fankui1', + 'icon-fenxiang', + 'icon-fuzhichenggong', + 'icon-fuzhidaima', + 'icon-fuzhidaima1', + 'icon-gengduo', + 'icon-gerenzhanghu', + 'icon-github', + 'icon-gonggao', + 'icon-gonggaodayi', + 'icon-gongnengjieshao', + 'icon-gouwuche', + 'icon-gouwuche2', + 'icon-guanbi', + 'icon-huidingbu', + 'icon-huifu', + 'icon-huizhiguize', + 'icon-iconfont1', + 'icon-ios', + 'icon-jieshi', + 'icon-jinggao', + 'icon-lishi', + 'icon-morentouxiang', + 'icon-paixu', + 'icon-pcduan', + 'icon-piliang', + 'icon-qingchu', + 'icon-qq', + 'icon-qunzhu', + 'icon-right', + 'icon-saoyisao', + 'icon-shanchu', + 'icon-shang', + 'icon-shang1', + 'icon-shang2', + 'icon-shangchuan', + 'icon-shenhejujue', + 'icon-shenhetongguo', + 'icon-shijian', + 'icon-shuoming', + 'icon-souren', + 'icon-sousuo', + 'icon-soutubiao', + 'icon-suofang', + 'icon-suoxiao', + 'icon-suoxiao2', + 'icon-taobaowang', + 'icon-tengxunwang', + 'icon-tianjiachengyuan', + 'icon-tianmao', + 'icon-tubiaohuizhi', + 'icon-tubiaoku', + 'icon-tuichu', + 'icon-twitter', + 'icon-weibo', + 'icon-weibo1', + 'icon-weibo2', + 'icon-weijiaru', + 'icon-weitijiao', + 'icon-weixin', + 'icon-wenjian', + 'icon-wocanyu', + 'icon-wofaqi', + 'icon-xia', + 'icon-xia2', + 'icon-xiangmu', + 'icon-xiangmuchengyuan', + 'icon-xiangxia', + 'icon-xiangxia1', + 'icon-xiangxia2', + 'icon-xiangyou', + 'icon-xiaomi', + 'icon-xiazai', + 'icon-xinjiantubiaoku', + 'icon-yingwen', + 'icon-you', + 'icon-you1', + 'icon-you2', + 'icon-youxiang', + 'icon-youxuan', + 'icon-youxuan2', + 'icon-yuzhanghao', + 'icon-yuzhanghao1', + 'icon-zhifubao', + 'icon-zhizuoliucheng', + 'icon-zhongguodianxin', + 'icon-zhuanrang', + 'icon-zhubajie', + 'icon-zuo', + 'icon-zuo1', + 'icon-zuo2', + 'icon-zuoxuan', + 'icon-zuoxuan2', +]; diff --git a/src/assets/logo.png b/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..89ae8d75c696007a44fe34c4ba86c36e7945b4c5 GIT binary patch literal 8428 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 literal 0 HcmV?d00001 diff --git a/src/components/CronModal/components/Day.vue b/src/components/CronModal/components/Day.vue new file mode 100644 index 00000000..c176ad25 --- /dev/null +++ b/src/components/CronModal/components/Day.vue @@ -0,0 +1,141 @@ + + + + + diff --git a/src/components/CronModal/components/Hour.vue b/src/components/CronModal/components/Hour.vue new file mode 100644 index 00000000..9555d3d2 --- /dev/null +++ b/src/components/CronModal/components/Hour.vue @@ -0,0 +1,137 @@ + + + + + diff --git a/src/components/CronModal/components/Minute.vue b/src/components/CronModal/components/Minute.vue new file mode 100644 index 00000000..17a6e8c9 --- /dev/null +++ b/src/components/CronModal/components/Minute.vue @@ -0,0 +1,139 @@ + + + + + diff --git a/src/components/CronModal/components/Month.vue b/src/components/CronModal/components/Month.vue new file mode 100644 index 00000000..9a782bf3 --- /dev/null +++ b/src/components/CronModal/components/Month.vue @@ -0,0 +1,141 @@ + + + + + diff --git a/src/components/CronModal/components/Second.vue b/src/components/CronModal/components/Second.vue new file mode 100644 index 00000000..e4efdf3b --- /dev/null +++ b/src/components/CronModal/components/Second.vue @@ -0,0 +1,138 @@ + + + + + diff --git a/src/components/CronModal/index.vue b/src/components/CronModal/index.vue new file mode 100644 index 00000000..8d6a723e --- /dev/null +++ b/src/components/CronModal/index.vue @@ -0,0 +1,112 @@ + + + + diff --git a/src/components/DictTag/index.vue b/src/components/DictTag/index.vue new file mode 100644 index 00000000..a8e8ae03 --- /dev/null +++ b/src/components/DictTag/index.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/src/components/IconFont/index.vue b/src/components/IconFont/index.vue new file mode 100644 index 00000000..912cd286 --- /dev/null +++ b/src/components/IconFont/index.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/LinkiFrame/index.vue b/src/components/LinkiFrame/index.vue new file mode 100644 index 00000000..483d1cce --- /dev/null +++ b/src/components/LinkiFrame/index.vue @@ -0,0 +1,40 @@ + + + + + diff --git a/src/constants/admin-constants.ts b/src/constants/admin-constants.ts new file mode 100644 index 00000000..eeca5ec2 --- /dev/null +++ b/src/constants/admin-constants.ts @@ -0,0 +1,5 @@ +/**管理员-系统指定角色KEY */ +export const ADMIN_ROLE_KEY = 'admin'; + +/**管理员-系统指定权限 */ +export const ADMIN_PERMISSION = '*:*:*'; diff --git a/src/constants/app-constants.ts b/src/constants/app-constants.ts new file mode 100644 index 00000000..cea6637a --- /dev/null +++ b/src/constants/app-constants.ts @@ -0,0 +1,5 @@ +/**应用-请求头-系统标识 */ +export const APP_REQUEST_HEADER_CODE = 'X-App-Code'; + +/**应用-请求头-系统版本 */ +export const APP_REQUEST_HEADER_VERSION = 'X-App-Version'; diff --git a/src/constants/cache-keys-constants.ts b/src/constants/cache-keys-constants.ts new file mode 100644 index 00000000..22d7e9a5 --- /dev/null +++ b/src/constants/cache-keys-constants.ts @@ -0,0 +1,11 @@ +/**会话缓存-网络请求 */ +export const CACHE_SESSION_FATCH = 'cache:session:fatch'; + +/**本地缓存-布局设置 */ +export const CACHE_LOCAL_PROCONFIG = 'cache:local:proConfig'; + +/**本地缓存-主题色 */ +export const CACHE_LOCAL_PRIMARY_COLOR = 'cache:local:primaryColor'; + +/**本地缓存-多语言 */ +export const CACHE_LOCAL_I18N = 'cache:local:i18n'; diff --git a/src/constants/menu-constants.ts b/src/constants/menu-constants.ts new file mode 100644 index 00000000..a753ef18 --- /dev/null +++ b/src/constants/menu-constants.ts @@ -0,0 +1,20 @@ +/**组件布局类型-基础布局组件标识 */ +export const MENU_COMPONENT_LAYOUT_BASIC = 'BasicLayout'; + +/**组件布局类型-空白布局组件标识 */ +export const MENU_COMPONENT_LAYOUT_BLANK = 'BlankLayout'; + +/**组件布局类型-内链接布局组件标识 */ +export const MENU_COMPONENT_LAYOUT_LINK = 'LinkLayout'; + +/**菜单类型-目录 */ +export const MENU_TYPE_DIR = 'D'; + +/**菜单类型-菜单 */ +export const MENU_TYPE_MENU = 'M'; + +/**菜单类型-按钮 */ +export const MENU_TYPE_BUTTON = 'B'; + +/**菜单内嵌地址标识-带/前缀 */ +export const MENU_PATH_INLINE = '/inline'; diff --git a/src/constants/token-constants.ts b/src/constants/token-constants.ts new file mode 100644 index 00000000..043273ff --- /dev/null +++ b/src/constants/token-constants.ts @@ -0,0 +1,11 @@ +/**令牌-数据响应字段 */ +export const TOKEN_RESPONSE_FIELD = 'access_token'; + +/**令牌-请求头标识前缀 */ +export const TOKEN_KEY_PREFIX = 'Bearer '; + +/**令牌-请求头标识 */ +export const TOKEN_KEY = 'Authorization'; + +/**令牌-存放Cookie标识 */ +export const TOKEN_COOKIE = 'AuthAntdv'; diff --git a/src/directive/index.ts b/src/directive/index.ts new file mode 100644 index 00000000..37c3d042 --- /dev/null +++ b/src/directive/index.ts @@ -0,0 +1,10 @@ +import { App } from 'vue'; +import permsDirective from './perms-directive'; +import rolesDirective from './roles-directive'; + +export default { + install: (app: App) => { + app.directive('perms', permsDirective); + app.directive('roles', rolesDirective); + }, +}; diff --git a/src/directive/perms-directive.ts b/src/directive/perms-directive.ts new file mode 100644 index 00000000..04a00384 --- /dev/null +++ b/src/directive/perms-directive.ts @@ -0,0 +1,38 @@ +import { hasPermissions, matchPermissions } from '@/plugins/auth-user'; +import { DirectiveBinding } from 'vue'; + +/** + * perms-权限标识 + * + * 指令值:字符串数组 + * + * 指令的参数:has/math,默认has + * + * v-perms="['monitor:server:query']" + * 等同 + * v-perms:has="['monitor:server:query']" + * + * v-perms:math="['style:user:query', 'style:user:edit']" + * + * @param el 指令绑定到的元素 + * @param binding 一个对象 + */ +export default function (el: any, binding: DirectiveBinding) { + const value = binding.value; + let arg = binding.arg; + let ok: boolean = false; + if (Array.isArray(value) && value.length > 0) { + // 匹配 + if (arg === 'math') { + ok = matchPermissions(value); + } + // 含有 + if (!arg || arg === 'has') { + ok = hasPermissions(value); + } + } + // 没有权限就移除节点 + if (!ok) { + el.parentNode && el.parentNode.removeChild(el); + } +} diff --git a/src/directive/roles-directive.ts b/src/directive/roles-directive.ts new file mode 100644 index 00000000..8ee00980 --- /dev/null +++ b/src/directive/roles-directive.ts @@ -0,0 +1,38 @@ +import { hasRoles, matchRoles } from '@/plugins/auth-user'; +import { DirectiveBinding } from 'vue'; + +/** + * roles-权限标识 + * + * 指令值:字符串数组 + * + * 指令的参数:has/math,默认has + * + * v-roles="['admin']" + * 等同 + * v-roles:has="['admin']" + * + * v-roles:math="['common', 'user']" + * + * @param el 指令绑定到的元素 + * @param binding 一个对象 + */ +export default function (el: any, binding: DirectiveBinding) { + const value = binding.value; + let arg = binding.arg; + let ok: boolean = false; + if (Array.isArray(value) && value.length > 0) { + // 匹配 + if (arg === 'math') { + ok = matchRoles(value); + } + // 含有 + if (!arg || arg === 'has') { + ok = hasRoles(value); + } + } + // 没有权限就移除节点 + if (!ok) { + el.parentNode && el.parentNode.removeChild(el); + } +} diff --git a/src/hooks/useI18n.ts b/src/hooks/useI18n.ts new file mode 100644 index 00000000..fc76eba4 --- /dev/null +++ b/src/hooks/useI18n.ts @@ -0,0 +1,26 @@ +import { computed } from 'vue'; +import { useI18n } from 'vue-i18n'; +import { localSet } from '@/utils/cache-local-utils'; +import { CACHE_LOCAL_I18N } from '@/constants/cache-keys-constants'; + +export default function useLocale() { + //实例化i18n + const i18n = useI18n(); + + // 获取当前语言设置 + const currentLocale = computed(() => { + return i18n.locale.value; + }); + + // 切换语言 + const changeLocale = (value: string) => { + i18n.locale.value = value; + localSet(CACHE_LOCAL_I18N, value); + }; + + return { + currentLocale, + changeLocale, + t: i18n.t, + }; +} diff --git a/src/hooks/useLoading.ts b/src/hooks/useLoading.ts new file mode 100644 index 00000000..3750f69f --- /dev/null +++ b/src/hooks/useLoading.ts @@ -0,0 +1,16 @@ +import { ref, inject, provide } from 'vue'; + +const INJECT_LOADING_KEY = Symbol('loading_store'); + +export const createLoading = (v = false) => { + const loading = ref(v); + const change = (bool: boolean) => { + loading.value = bool; + }; + provide(INJECT_LOADING_KEY, loading); + return [loading, change]; +}; + +export const useLoading = () => { + return inject(INJECT_LOADING_KEY); +}; diff --git a/src/hooks/useTheme.ts b/src/hooks/useTheme.ts new file mode 100644 index 00000000..8745b805 --- /dev/null +++ b/src/hooks/useTheme.ts @@ -0,0 +1,58 @@ +import { onBeforeMount } from 'vue'; +import { ConfigProvider } from 'ant-design-vue/lib'; +import { CACHE_LOCAL_PRIMARY_COLOR } from '@/constants/cache-keys-constants'; +import { localGet, localSet } from '@/utils/cache-local-utils'; + +/** + * 初始主题色 + */ +export const usePrimaryColor = () => { + onBeforeMount(() => { + changePrimaryColor(getLocalColor()); + }); +}; + +/** + * 改变主题色 + * @param color 颜色 + */ +export function changePrimaryColor(color?: string) { + if (!color) { + color = getRandomColor(); + } + ConfigProvider.config({ + theme: { + primaryColor: color, + }, + }); + localSet(CACHE_LOCAL_PRIMARY_COLOR, color); +} + +/** + * 获取主题色-本地缓存 + * @returns 颜色 + */ +export function getLocalColor() { + return localGet(CACHE_LOCAL_PRIMARY_COLOR) || '#1890ff'; +} + +/** + * 获取随机颜色范围 + * @returns 颜色 + */ +function getRandomColor(): string { + const colors: string[] = [ + '#f5222d', + '#fa541c', + '#fa8c16', + '#a0d911', + '#13c2c2', + '#1890ff', + '#722ed1', + '#eb2f96', + '#faad14', + '#52c41a', + ]; + const i = Math.floor(Math.random() * 10); + return colors[i]; +} diff --git a/src/i18n/index.ts b/src/i18n/index.ts new file mode 100644 index 00000000..aa344943 --- /dev/null +++ b/src/i18n/index.ts @@ -0,0 +1,16 @@ +import { createI18n } from 'vue-i18n'; +import { localGet } from '@/utils/cache-local-utils'; +import { CACHE_LOCAL_I18N } from '@/constants/cache-keys-constants'; +import zhCN from './locales/zh-CN'; +import enUS from './locales/en-US'; + +const i18n = createI18n({ + legacy: false, // 使用 Composition API 的方式创建 i18n 实例 + locale: localGet(CACHE_LOCAL_I18N) || 'zh_CN', // 默认显示语言 + messages: { + zh_CN: zhCN, + en_US: enUS, + }, +}); + +export default i18n; diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts new file mode 100644 index 00000000..0df53e9c --- /dev/null +++ b/src/i18n/locales/en-US.ts @@ -0,0 +1,62 @@ +export default { + // 语言 + i18n: 'English', + hello: 'Hello', + + // 通用 + common: { + title: 'Mask Antd Vue3', + desc: 'Management system based on ant design vue+vue3', + loading: 'Please wait...', + tipTitle: 'Prompt', + }, + + // 全局页脚 + globalFooter: { + help: 'Help', + privacy: 'Privacy', + term: 'Term', + }, + + // 校验 + valid: { + userNameReg: + 'The account cannot start with a number and can contain uppercase and lowercase letters, numbers, and no less than 5 digits.', + userNamePlease: 'Please enter the correct login account', + userNameHit: 'Login account', + passwordReg: + 'The password should contain at least uppercase and lowercase letters, numbers, special symbols, and no less than 6 digits.', + passwordPlease: 'Please enter the correct login password', + passwordHit: 'Login password', + passwordConfirmHit: 'Confirm login password', + phoneReg: 'Incorrect phone number', + phonePlease: 'Please enter the correct phone number', + phoneHit: 'Mobile number', + codePlease: 'Please enter the correct verification code', + codeHit: 'Verification code', + codeText: 'Obtain verification code', + codeSmsSend: 'Successfully sent, please pay attention to checking the SMS', + }, + + // 页面 + views: { + login: { + tabPane1: 'Account password login', + tabPane2: 'Login with phone number', + registerBtn: 'Register an account', + loginBtn: 'Login', + loginSuccess: 'Login successful', + loginMethod: 'Other login methods:', + loginMethodWX: 'WeChat Scan Login', + loginMethodQQ: 'QQ Scan Code Login', + }, + register: { + registerBtn: 'Register', + loginBtn: 'Log in with an existing account', + passwordErr: 'Please enter the correct confirmation password', + passwordConfirmErr: 'The two passwords entered do not match', + tipContent: 'Congratulations, {username} account registration succeeded!', + tipBtn: 'Go to login', + }, + }, +}; diff --git a/src/i18n/locales/zh-CN.ts b/src/i18n/locales/zh-CN.ts new file mode 100644 index 00000000..86d95237 --- /dev/null +++ b/src/i18n/locales/zh-CN.ts @@ -0,0 +1,60 @@ +export default { + // 语言 + i18n: '中文', + hello: '你好', + + // 通用 + common: { + title: 'Mask Antd Vue3', + desc: '基于 ant-design-vue + vue3 的管理系统', + loading: '请稍等...', + tipTitle: '提示', + }, + + // 全局页脚 + globalFooter: { + help: '帮助', + privacy: '隐私', + term: '条款', + }, + + // 校验 + valid: { + userNameReg: '账号不能以数字开头,可包含大写小写字母,数字,且不少于5位', + userNamePlease: '请输入正确登录账号', + userNameHit: '登录账号', + passwordReg: '密码至少包含大小写字母、数字、特殊符号,且不少于6位', + passwordPlease: '请输入正确登录密码', + passwordHit: '登录密码', + passwordConfirmHit: '确认登录密码', + phoneReg: '手机号码不正确', + phonePlease: '请输入正确的手机号码', + phoneHit: '手机号码', + codePlease: '请输入正确的验证码', + codeHit: '验证码', + codeText: '获取验证码', + codeSmsSend: '发送成功,请注意查看短信', + }, + + // 页面 + views: { + login: { + tabPane1: '账号密码登录', + tabPane2: '手机号登录', + registerBtn: '注册账号', + loginBtn: '登录', + loginSuccess: '登录成功', + loginMethod: '其他登录方式:', + loginMethodWX: '微信扫一扫登录', + loginMethodQQ: 'QQ扫码登录', + }, + register: { + registerBtn: '注册', + loginBtn: '使用已有账号登录', + passwordErr: '请正确输入确认密码', + passwordConfirmErr: '两次输入的密码不一致', + tipContent: '恭喜您,{username} 账号注册成功!', + tipBtn: '前往登录', + }, + }, +}; diff --git a/src/layouts/BasicLayout.vue b/src/layouts/BasicLayout.vue new file mode 100644 index 00000000..2b290f03 --- /dev/null +++ b/src/layouts/BasicLayout.vue @@ -0,0 +1,212 @@ + + + + + diff --git a/src/layouts/BlankLayout.vue b/src/layouts/BlankLayout.vue new file mode 100644 index 00000000..0c0d640e --- /dev/null +++ b/src/layouts/BlankLayout.vue @@ -0,0 +1,7 @@ + + + diff --git a/src/layouts/LinkLayout.vue b/src/layouts/LinkLayout.vue new file mode 100644 index 00000000..7c322a81 --- /dev/null +++ b/src/layouts/LinkLayout.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/src/layouts/components/RightContent.vue b/src/layouts/components/RightContent.vue new file mode 100644 index 00000000..e0a1decd --- /dev/null +++ b/src/layouts/components/RightContent.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/src/layouts/components/Tabs.vue b/src/layouts/components/Tabs.vue new file mode 100644 index 00000000..4c2507c4 --- /dev/null +++ b/src/layouts/components/Tabs.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 00000000..de1255a8 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,16 @@ +import { createApp } from 'vue'; +import store from './store'; +import App from './App.vue'; +import router from './router'; +import directive from './directive'; +import i18n from './i18n'; +import '@ant-design-vue/pro-layout/dist/style.css'; +import 'ant-design-vue/dist/antd.variable.min.css'; + +const app = createApp(App); +app.use(store); +app.use(router); +app.use(directive); +app.use(i18n); + +app.mount('#app'); diff --git a/src/plugins/auth-token.ts b/src/plugins/auth-token.ts new file mode 100644 index 00000000..2c5bd953 --- /dev/null +++ b/src/plugins/auth-token.ts @@ -0,0 +1,17 @@ +import Cookies from 'js-cookie'; +import { TOKEN_COOKIE } from '@/constants/token-constants'; + +/**获取cookis中Token字符串 */ +export function getToken(): string { + return Cookies.get(TOKEN_COOKIE) || ''; +} + +/**设置cookis中Token字符串 */ +export function setToken(token: string): void { + Cookies.set(TOKEN_COOKIE, token); +} + +/**移除cookis中Token字符串 */ +export function removeToken(): void { + Cookies.remove(TOKEN_COOKIE); +} diff --git a/src/plugins/auth-user.ts b/src/plugins/auth-user.ts new file mode 100644 index 00000000..f736c6d3 --- /dev/null +++ b/src/plugins/auth-user.ts @@ -0,0 +1,54 @@ +import { ADMIN_PERMISSION, ADMIN_ROLE_KEY } from '@/constants/admin-constants'; +import useUserStore from '@/store/modules/user'; + +/** + * 只需含有其中权限 + * @param role 权限字符数组 + * @returns true | false + */ +export function hasPermissions(permissions: string[]): boolean { + if (!permissions || permissions.length === 0) return false; + const userPermissions = useUserStore().permissions; + if (!userPermissions || userPermissions.length === 0) return false; + if (userPermissions.includes(ADMIN_PERMISSION)) return true; + return permissions.some(p => userPermissions.some(up => up === p)); +} + +/** + * 同时匹配其中权限 + * @param role 权限字符数组 + * @returns true | false + */ +export function matchPermissions(permissions: string[]): boolean { + if (!permissions || permissions.length === 0) return false; + const userPermissions = useUserStore().permissions; + if (!userPermissions || userPermissions.length === 0) return false; + if (userPermissions.includes(ADMIN_PERMISSION)) return true; + return permissions.every(p => userPermissions.some(up => up === p)); +} + +/** + * 只需含有其中角色 + * @param role 角色字符数组 + * @returns true | false + */ +export function hasRoles(roles: string[]): boolean { + if (!roles || roles.length === 0) return false; + const userRoles = useUserStore().roles; + if (!userRoles || userRoles.length === 0) return false; + if (userRoles.includes(ADMIN_ROLE_KEY)) return true; + return roles.some(r => userRoles.some(ur => ur === r)); +} + +/** + * 同时匹配其中角色 + * @param role 角色字符数组 + * @returns true | false + */ +export function matchRoles(roles: string[]): boolean { + if (!roles || roles.length === 0) return false; + const userRoles = useUserStore().roles; + if (!userRoles || userRoles.length === 0) return false; + if (userRoles.includes(ADMIN_ROLE_KEY)) return true; + return roles.every(r => userRoles.some(ur => ur === r)); +} diff --git a/src/plugins/http-fetch.ts b/src/plugins/http-fetch.ts new file mode 100644 index 00000000..24985d4d --- /dev/null +++ b/src/plugins/http-fetch.ts @@ -0,0 +1,270 @@ +import { getToken, removeToken } from '@/plugins/auth-token'; +import { sessionGetJSON, sessionSetJSON } from '@/utils/cache-session-utils'; +import { TOKEN_KEY, TOKEN_KEY_PREFIX } from '@/constants/token-constants'; +import { CACHE_SESSION_FATCH } from '@/constants/cache-keys-constants'; +import { + APP_REQUEST_HEADER_CODE, + APP_REQUEST_HEADER_VERSION, +} from '@/constants/app-constants'; + +/**响应结果类型 */ +export type ResultType = { + /**响应码 */ + code: number | 200 | 500; + /**信息 */ + msg: string; + /**数据 */ + data?: any; + /**未知属性 */ + [key: string]: any; +}; + +/**防止重复提交类型 */ +type RepeatSubmitType = { + /**请求地址 */ + url: string; + /**请求数据 */ + data: string; + /**请求时间 */ + time: number; +}; + +/**请求参数类型 */ +type OptionsType = { + /**请求地址 */ + url: string; + /**请求方法 */ + method: 'get' | 'post' | 'put' | 'delete'; + /**请求头 */ + headers?: HeadersInit; + /**地址栏参数 */ + params?: Record; + /**发送数据 */ + data?: Record | FormData | object; + /**请求数据类型 */ + dataType?: 'form-data' | 'json'; + /**响应数据类型 */ + responseType?: 'text' | 'json' | 'blob' | 'arrayBuffer'; + /**请求缓存策略 */ + cache?: RequestCache; + /**请求的凭证,如 omit、same-origin、include */ + credentials?: RequestCredentials; + /**请求体 */ + body?: BodyInit; + /**防止数据重复提交 */ + repeatSubmit?: boolean; + /**携带授权Token请求头 */ + whithToken?: boolean; +}; + +/**全局配置类型 */ +type ConfigType = { + /**请求的根域名地址-不带/后缀 */ + baseUrl: string; + /**超时时间,毫秒 */ + timeout: number; +}; + +/**默认配置 */ +const FATCH_CONFIG: ConfigType = { + baseUrl: import.meta.env.VITE_API_BASE_URL, + timeout: 10 * 1000, +}; + +/**默认请求参数 */ +const FATCH_OPTIONS: OptionsType = { + url: '', + method: 'get', + headers: { + [APP_REQUEST_HEADER_CODE]: import.meta.env.VITE_APP_CODE, + [APP_REQUEST_HEADER_VERSION]: import.meta.env.VITE_APP_VERSION, + // 使用mock.apifox.cn时开启 + // apifoxToken: '8zCzh3vipdEwd1ukv9lQEuTekdWIH7xN', + }, + dataType: 'json', + responseType: 'json', + cache: 'no-cache', + credentials: undefined, + repeatSubmit: true, + whithToken: true, +}; + +/**请求前的拦截 */ +function beforeRequest(options: OptionsType): OptionsType | Promise { + options.headers = Object.assign({}, options.headers); + //console.log('请求前的拦截', options); + + // 给发送数据类型设置请求头 + if (options.dataType === 'json') { + Reflect.set( + options.headers, + 'content-type', + 'application/json;charset=utf-8' + ); + } + + // 是否需要设置 token + const token = getToken(); + if (options.whithToken && token) { + Reflect.set(options.headers, TOKEN_KEY, TOKEN_KEY_PREFIX + token); + } + // 是否需要防止数据重复提交 + if ( + options.repeatSubmit && + options.dataType === 'json' && + ['post', 'put'].includes(options.method) + ) { + const requestObj: RepeatSubmitType = { + url: options.url, + data: JSON.stringify(options.data), + time: Date.now(), + }; + const sessionObj: RepeatSubmitType = sessionGetJSON(CACHE_SESSION_FATCH); + if (sessionObj) { + const { url, data, time } = sessionObj; + const interval = 1000; // 间隔时间(ms),小于此时间视为重复提交 + if ( + requestObj.url === url && + requestObj.data === data && + requestObj.time - time < interval + ) { + const message = '数据正在处理,请勿重复提交'; + console.warn(`[${url}]: ${message}`); + return Promise.reject(message); + } else { + sessionSetJSON(CACHE_SESSION_FATCH, requestObj); + } + } else { + sessionSetJSON(CACHE_SESSION_FATCH, requestObj); + } + } + + // get请求拼接地址栏参数 + if (options.method === 'get' && options.params) { + let paramStr = ''; + const params = options.params; + for (const key in params) { + const value = params[key]; + // 空字符或未定义的值不作为参数发送 + if (value === '' || value === undefined) continue; + paramStr += `&${encodeURIComponent(key)}=${encodeURIComponent(value)}`; + } + if (paramStr && paramStr.startsWith('&')) { + options.url = `${options.url}?${paramStr.substring(1)}`; + } + } + + // 非get参数提交 + if (options.data instanceof FormData) { + options.body = options.data; + } else { + options.body = JSON.stringify(options.data); + } + return options; +} + +/**请求后的拦截 */ +function interceptorResponse(res: ResultType): ResultType | Promise { + //console.log('请求后的拦截', res); + // 登录失效时,移除授权令牌并重新刷新页面 + if (res.code === 401) { + removeToken(); + window.location.reload(); + } + return res; +} + +/** + * 请求http + * + * @param options 请求参数 + * + * responseType改变响应结果类型 + * @returns 返回 Promise + */ +export async function request(options: OptionsType): Promise { + // 请求超时控制请求终止 + const controller = new AbortController(); + const { signal } = controller; + const timeoutId = setTimeout(() => { + controller.abort(); // 终止请求 + }, FATCH_CONFIG.timeout); + + options = Object.assign({ signal }, FATCH_OPTIONS, options); + + // 检查请求拦截 + const beforeReq = beforeRequest(options); + if (beforeReq instanceof Promise) { + return await beforeReq; + } + options = beforeReq; + + // 判断用户传递的URL是否http或/开头 + if (!options.url.startsWith('http')) { + const uri = options.url.startsWith('/') ? options.url : `/${options.url}`; + options.url = FATCH_CONFIG.baseUrl + uri; + } + + try { + const res = await fetch(options.url, options); + // console.log('请求结果:', res); + if (res.status === 500) { + return { + code: 500, + msg: '服务器连接出错!', + }; + } + + // 根据响应数据类型返回 + switch (options.responseType) { + case 'text': // 文本数据 + const str = await res.text(); + return { + code: 200, + msg: str, + }; + case 'json': // json格式数据 + const result = await res.json(); + // 请求后的拦截 + const beforeRes = interceptorResponse(result); + if (beforeRes instanceof Promise) { + return await beforeRes; + } + return result; + case 'blob': // 二进制数据则直接返回 + case 'arrayBuffer': + const contentType = res.headers.get('content-type') || ''; + if (contentType.startsWith('application/json')) { + const result = await res.json(); + return result as ResultType; + } + const data = + options.responseType === 'blob' + ? await res.blob() + : await res.arrayBuffer(); + return { + code: 200, + msg: '成功', + data: data, + status: res.status, + headers: res.headers, + }; + default: + return { + code: 500, + msg: '未知响应数据类型', + }; + } + } catch (error: any) { + // 请求被终止时 + if (error.name === 'AbortError') { + return { + code: 500, + msg: '网络连接超时!', + }; + } + throw error; + } finally { + clearTimeout(timeoutId); // 请求成功,清除超时计时器 + } +} diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 00000000..0915ead7 --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,289 @@ +import { + createRouter, + createWebHistory, + createWebHashHistory, + RouteRecordRaw, +} from 'vue-router'; +import NProgress from 'nprogress'; +import 'nprogress/nprogress.css'; +import BasicLayout from '../layouts/BasicLayout.vue'; +import BlankLayout from '../layouts/BlankLayout.vue'; +import LinkLayout from '../layouts/LinkLayout.vue'; +import { encode } from 'js-base64'; +import { getToken } from '@/plugins/auth-token'; +import { validHttp } from '@/utils/regular-utils'; +import useUserStore from '@/store/modules/user'; +import useAppStore from '@/store/modules/app'; +import useRouterStore from '@/store/modules/router'; + +// NProgress Configuration +NProgress.configure({ showSpinner: false }); + +// import { MetaRecord, MenuDataItem } from '@ant-design-vue/pro-layout'; +// mate数据类型 MetaRecord +// 根据/路径构建菜单列表,列表项类型 MenuDataItem +// https://github.com/vueComponent/pro-components/blob/a19279f3a28190bf11e8c36f316c92dbd3387a6d/packages/pro-layout/src/typings.ts#L16 +// 菜单图标来源 https://ant.design/components/icon 自定义iconfont + +/**公共路由 */ +const constantRoutes: RouteRecordRaw[] = [ + { + path: '/', + name: 'Root', + meta: { title: '根节点' }, + component: BasicLayout, + redirect: '/index', + children: [ + { + path: '/index', + name: 'Index', + meta: { title: '首页', icon: 'icon-pcduan', cache: true }, + component: () => import('@/views/index.vue'), + }, + { + path: '/dome1', + name: 'Dome1', + meta: { title: '示例一', icon: 'icon-ios' }, + component: () => import('@/views/dome/dome1.vue'), + }, + { + path: '/dome2', + name: 'Dome2', + meta: { title: '示例二', icon: 'icon-anzhuo' }, + component: () => import('@/views/dome/dome2.vue'), + }, + { + path: '/dome3', + name: 'Dome3', + meta: { title: '示例三', icon: 'icon-qunzhu' }, + component: () => import('@/views/dome/dome3.vue'), + }, + { + path: '/domes', + name: 'Domes', + meta: { + title: '示例目录', + icon: 'icon-zhizuoliucheng', + }, + component: BlankLayout, + redirect: () => ({ name: 'PageInfo' }), + children: [ + { + path: 'page-info', + name: 'PageInfo', + meta: { title: '页面信息', icon: 'icon-huifu' }, + component: () => import('../views/domes/page-info.vue'), + }, + { + path: 'page-typography', + name: 'PageTypography', + meta: { title: '文本信息', icon: 'icon-huizhiguize' }, + component: () => import('../views/domes/page-typography.vue'), + }, + { + path: 'dynamic-match/:id(\\d+)', + name: 'DynamicMatch', + // 路由 path 默认参数再 meta.params 里 + meta: { title: '动态参数页面', params: { id: 1 }, cache: true }, + component: () => import('../views/domes/dynamic-match.vue'), + }, + { + path: 'disabled', + name: 'Disabled', + meta: { title: '禁止点击', disabled: true }, + component: () => {}, + }, + { + path: 'https://github.com/TsMask', + name: 'BlankGithubTsMask', + meta: { + title: 'TsMask-打开新窗', + icon: 'icon-github', + target: '_blank', + }, + component: () => {}, + }, + { + path: encode('https://www.antdv.com/components/comment-cn'), + name: 'HttpsAntDesignVue', + meta: { + title: 'Antdv-内嵌窗口', + icon: 'icon-morentouxiang', + target: null, + }, + component: LinkLayout, + }, + ], + }, + { + path: 'https://github.com/', + name: 'BlankGithub', + meta: { + title: 'Github-打开新窗', + icon: 'icon-github', + target: '_blank', + }, + component: () => {}, + }, + { + path: 'https://www.antdv.com/components/comment-cn?sdf=12321&id=12&sdnf', + name: 'SelfAnt Design Vue', + meta: { + title: 'Antdv-当前窗口', + icon: 'icon-morentouxiang', + target: '_self', + }, + component: LinkLayout, + }, + { + path: '/account', + name: 'Account', + meta: { + title: '个人中心', + }, + component: BlankLayout, + redirect: '/account/profile', + children: [ + { + path: 'profile', + name: 'Profile', + meta: { title: '个人信息', cache: true }, + component: () => import('@/views/account/profile.vue'), + }, + { + path: 'settings', + name: 'Settings', + meta: { title: '个人设置', cache: true }, + component: () => import('@/views/account/settings.vue'), + }, + ], + }, + ], + }, + { + path: '/login', + name: 'Login', + meta: { title: '登录' }, + component: () => import('@/views/login.vue'), + }, + { + path: '/register', + name: 'Register', + meta: { title: '注册' }, + component: () => import('@/views/register.vue'), + }, + { + path: '/403', + name: 'NotPermission', + meta: { title: '没有访问权限' }, + component: () => import('@/views/error/403.vue'), + }, + { + path: '/redirect', + name: 'Redirect', + meta: { title: '重定向' }, + component: BasicLayout, + children: [ + { + path: '/redirect/:path(.*)', + component: () => import('@/views/redirect/index.vue'), + }, + ], + }, + { + path: '/:pathMatch(.*)*', + meta: { title: '找不到匹配页面' }, + component: () => import('@/views/error/404.vue'), + }, +]; + +// 根据.env配置获取是否带井号和基础路径 +const hasHash = import.meta.env.VITE_HISTORY_HASH; +const bashUrl = import.meta.env.VITE_HISTORY_BASE_URL; + +/**全局路由 */ +const router = createRouter({ + history: + hasHash === 'true' + ? createWebHashHistory(bashUrl) + : createWebHistory(bashUrl), + routes: constantRoutes, + scrollBehavior(to, from, savedPosition) { + if (savedPosition) { + return savedPosition; + } else { + return { top: 0 }; + } + }, +}); + +/**全局路由-后置守卫 */ +router.afterEach((to, from, failure) => { + NProgress.done(); + // 设置标题 + if (to.meta?.title) { + useAppStore().setTitle(to.meta.title); + } +}); + +/**无Token可访问页面地址白名单 */ +const WHITE_LIST: string[] = ['/login', '/auth-redirect', '/bind', '/register']; + +/**全局路由-前置守卫 */ +router.beforeEach((to, from, next) => { + NProgress.start(); + const token = getToken(); + + // 没有token + if (!token) { + if (WHITE_LIST.includes(to.path)) { + // 在免登录白名单,直接进入 + next(); + } else { + // 否则全部重定向到登录页 + next(`/login?redirect=${to.fullPath}`); + } + } + + // 有Token + if (token) { + // 防止重复访问登录页面 + if (to.path === '/login') { + next({ name: 'Index' }); + } else { + // 判断当前用户是否有角色信息 + const user = useUserStore(); + if (user.roles && user.roles.length === 0) { + // 获取用户信息 + user + .fnGetInfo() + .then(() => { + return useRouterStore().generateRoutes(); + }) + .then(accessRoutes => { + // 根据后台配置生成可访问的路由表 + if (accessRoutes && accessRoutes.length !== 0) { + for (const route of accessRoutes) { + // 动态添加可访问路由表,http开头会异常 + if (!validHttp(route.path)) { + router.addRoute(route); + } + } + } + // 刷新替换原先路由,确保addRoutes已完成 + next({ ...to, replace: true }); + }) + .catch(e => { + console.error(`[${to.path}]: ${e.message}`); + user.fnLogOut().finally(() => { + next({ name: 'Login' }); + }); + }); + } else { + next(); + } + } + } +}); + +export default router; diff --git a/src/store/index.ts b/src/store/index.ts new file mode 100644 index 00000000..02ae96a9 --- /dev/null +++ b/src/store/index.ts @@ -0,0 +1,5 @@ +import { createPinia } from 'pinia'; + +const store = createPinia(); + +export default store; diff --git a/src/store/modules/app.ts b/src/store/modules/app.ts new file mode 100644 index 00000000..eb6d7b2a --- /dev/null +++ b/src/store/modules/app.ts @@ -0,0 +1,31 @@ +import { defineStore } from 'pinia'; + +/**应用参数类型 */ +type AppStore = { + /**应用名称 */ + appName: string; + /**应用标识 */ + appCode: string; + /**应用版本 */ + appVersion: string; +}; + +const useAppStore = defineStore('app', { + state: (): AppStore => ({ + appName: import.meta.env.VITE_APP_NAME, + appCode: import.meta.env.VITE_APP_CODE, + appVersion: import.meta.env.VITE_APP_VERSION, + }), + actions: { + /**设置网页标题 */ + setTitle(title?: string) { + if (title) { + document.title = `${title} - ${this.appName}`; + } else { + document.title = this.appName; + } + }, + }, +}); + +export default useAppStore; diff --git a/src/store/modules/dict.ts b/src/store/modules/dict.ts new file mode 100644 index 00000000..ec183b09 --- /dev/null +++ b/src/store/modules/dict.ts @@ -0,0 +1,63 @@ +import { defineStore } from 'pinia'; +import { getDictDataType } from '@/api/system/dict/data'; + +/**字典参数类型 */ +type DictStore = { + /**字典数据 */ + dicts: Map; +}; + +const useDictStore = defineStore('dict', { + state: (): DictStore => ({ + dicts: new Map(), + }), + actions: { + /**清空字典 */ + clearDict() { + this.dicts.clear(); + }, + /**删除字典 */ + removeDict(key: string) { + if (!key) return; + return this.dicts.delete(key); + }, + /** + * 处理字典数据对象用于回显标签 + * @param data 字典数据项 + * @returns + */ + parseDataDict(data: Record) { + return [ + { + label: data.dictLabel, + value: data.dictValue, + elTagType: data.tagType, + elTagClass: data.tagClass, + }, + ]; + }, + /**获取字典 */ + async getDict(key: string) { + if (!key) return []; + let disct = this.dicts.get(key); + if (disct === undefined || disct.length === 0) { + const res = await getDictDataType(key); + if (res.code === 200 && Array.isArray(res.data)) { + const dictData: DictType[] = res.data.map(d => ({ + label: d.dictLabel, + value: d.dictValue, + elTagType: d.tagType, + elTagClass: d.tagClass, + })); + this.dicts.set(key, dictData); + disct = dictData; + } else { + disct = []; + } + } + return disct; + }, + }, +}); + +export default useDictStore; diff --git a/src/store/modules/layout.ts b/src/store/modules/layout.ts new file mode 100644 index 00000000..0fb8fa0f --- /dev/null +++ b/src/store/modules/layout.ts @@ -0,0 +1,91 @@ +import { CACHE_LOCAL_PROCONFIG } from '@/constants/cache-keys-constants'; +import { localGetJSON, localSetJSON } from '@/utils/cache-local-utils'; +import { defineStore } from 'pinia'; + +/**布局参数类型 */ +type LayoutStore = { + /**布局设置抽屉显示 */ + visible: boolean; + /**布局配置 */ + proConfig: { + /**导航布局 */ + layout: 'side' | 'top' | 'mix'; + /**导航菜单主题色 */ + navTheme: 'dark' | 'light'; + /**顶部导航主题,仅导航布局为mix时生效 */ + headerTheme: 'dark' | 'light'; + /**固定顶部栏 */ + fixedHeader: boolean; + /**固定菜单栏 */ + fixSiderbar: boolean; + /**自动分割菜单 */ + splitMenus: boolean; + /**内容区域-顶栏 */ + headerRender: any | boolean | undefined; + /**内容区域-页脚 */ + footerRender: any | boolean | undefined; + /**内容区域-菜单头 */ + menuHeaderRender: any | boolean | undefined; + /**内容区域-导航标签项 */ + tabRender: any | boolean | undefined; + }; + /**水印内容 */ + waterMarkContent: string; +}; + +/**判断是否关闭内容区域 */ +const proRender = (render: any) => (render === false ? false : undefined); + +/**本地缓存-布局配置设置 */ +const proConfigLocal: LayoutStore['proConfig'] = localGetJSON( + CACHE_LOCAL_PROCONFIG +) || { + layout: 'side', + headerTheme: 'light', + navTheme: 'light', + fixSiderbar: true, + fixedHeader: true, + splitMenus: true, +}; + +const useLayoutStore = defineStore('layout', { + state: (): LayoutStore => ({ + visible: false, + proConfig: { + layout: proConfigLocal.layout, + navTheme: proConfigLocal.navTheme, + headerTheme: proConfigLocal.headerTheme, + fixedHeader: Boolean(proConfigLocal.fixedHeader), + fixSiderbar: Boolean(proConfigLocal.fixSiderbar), + splitMenus: Boolean(proConfigLocal.splitMenus), + headerRender: proRender(proConfigLocal.headerRender), + footerRender: proRender(proConfigLocal.footerRender), + menuHeaderRender: proRender(proConfigLocal.menuHeaderRender), + tabRender: proRender(proConfigLocal.tabRender), + }, + waterMarkContent: import.meta.env.VITE_APP_NAME, + }), + actions: { + /**改变显示状态 */ + changeVisibleLayoutSetting() { + this.visible = !this.visible; + }, + /**修改水印文字 */ + changeWaterMark(text: string) { + this.waterMarkContent = text; + }, + /**修改布局设置 */ + changeConf(key: string, value: boolean | string | number | undefined) { + if (Reflect.has(this.proConfig, key)) { + // 同时修改mix混合菜单的导航主题 + if (key === 'navTheme') { + Reflect.set(this.proConfig, 'headerTheme', value); + } + Reflect.set(this.proConfig, key, value); + localSetJSON(CACHE_LOCAL_PROCONFIG, this.proConfig); + } + }, + }, +}); + +export default useLayoutStore; diff --git a/src/store/modules/router.ts b/src/store/modules/router.ts new file mode 100644 index 00000000..41f9ff87 --- /dev/null +++ b/src/store/modules/router.ts @@ -0,0 +1,152 @@ +import { defineStore } from 'pinia'; +import { + RouteComponent, + RouteLocationRaw, + RouteMeta, + RouteRecordRaw, +} from 'vue-router'; +import { getRouters } from '@/api/router'; +import BasicLayout from '@/layouts/BasicLayout.vue'; +import BlankLayout from '@/layouts/BlankLayout.vue'; +import LinkLayout from '@/layouts/LinkLayout.vue'; +import { + MENU_COMPONENT_LAYOUT_BASIC, + MENU_COMPONENT_LAYOUT_BLANK, + MENU_COMPONENT_LAYOUT_LINK, +} from '@/constants/menu-constants'; + +/**路由构建参数类型 */ +type RouterStore = { + /**初始的根路由数据 */ + rootRouterData: RouteRecordRaw[]; + /**动态路由数据 */ + buildRouterData: RouteRecordRaw[]; +}; + +const useRouterStore = defineStore('router', { + state: (): RouterStore => ({ + rootRouterData: [], + buildRouterData: [], + }), + actions: { + /** + * 记录初始根节点菜单数据 + * @param data 初始数据 + * @returns 初始数据 + */ + setRootRouterData(data: RouteRecordRaw[]) { + if (this.rootRouterData.length <= 0) { + this.rootRouterData = data; + } + return this.rootRouterData; + }, + /** + * 动态路由列表数据生成 + * @returns 生成的路由菜单 + */ + async generateRoutes() { + const res = await getRouters(); + if (res.code === 200 && Array.isArray(res.data)) { + const buildRoutes = buildRouters(res.data.concat()); + this.buildRouterData = buildRoutes; + return buildRoutes; + } + return []; + }, + }, +}); + +/**异步路由类型 */ +type RecordRaws = { + path: string; + name: string; + meta: RouteMeta; + redirect: RouteLocationRaw; + component: string; + children: RecordRaws[]; +}; + +/** + * 构建动态路由 + * + * 遍历后台配置的路由菜单,转换为组件路由菜单 + * + * @param recordRaws 异步路由列表 + * @returns 可添加的路由列表 + */ +function buildRouters(recordRaws: RecordRaws[]): RouteRecordRaw[] { + const routers: RouteRecordRaw[] = []; + for (const item of recordRaws) { + // 路由页面组件 + let component: RouteComponent = {}; + if (item.component) { + const comp = item.component; + if (comp === MENU_COMPONENT_LAYOUT_BASIC) { + component = BasicLayout; + } else if (comp === MENU_COMPONENT_LAYOUT_BLANK) { + component = BlankLayout; + } else if (comp === MENU_COMPONENT_LAYOUT_LINK) { + component = LinkLayout; + } else { + // 指定页面视图,一般用于显示子菜单 + component = findView(comp); + } + } + + // 有子菜单进行递归 + let children: RouteRecordRaw[] = []; + if (item.children && item.children.length > 0) { + children = buildRouters(item.children); + } + + // 对元数据特殊参数进行处理 + let metaIcon = (item.meta?.icon as string) || ''; + if (!metaIcon.startsWith('icon-')) { + metaIcon = ''; + } + item.meta = Object.assign(item.meta, { + icon: metaIcon, + }); + + // 构建路由 + const router: RouteRecordRaw = { + path: item.path, + name: item.name, + meta: item.meta, + redirect: item.redirect, + component: component, + children: children, + }; + routers.push(router); + } + return routers; +} + +/**匹配views里面所有的.vue或.tsx文件 */ +const views = import.meta.glob('./../../views/**/*.{vue,tsx}'); + +/** + * 查找页面模块 + * + * 查找 `/views/system/menu/index.vue` 或 `/views/system/menu/index.tsx` + * + * 参数值为 `system/menu/index` + * + * @param dirName 组件路径 + * @returns 路由懒加载函数 + */ +function findView(dirName: string) { + for (const dir in views) { + let viewDirName = ''; + const component = dir.match(/views\/(.+)\.(vue|tsx)/); + if (component && component.length === 3) { + viewDirName = component[1]; + } + if (viewDirName === dirName) { + return () => views[dir](); + } + } + return () => import('@/views/error/404.vue'); +} + +export default useRouterStore; diff --git a/src/store/modules/tabs.ts b/src/store/modules/tabs.ts new file mode 100644 index 00000000..3ab22d82 --- /dev/null +++ b/src/store/modules/tabs.ts @@ -0,0 +1,189 @@ +import { defineStore } from 'pinia'; +import type { LocationQuery, RouteLocationNormalizedLoaded } from 'vue-router'; + +/**导航标签栏类型 */ +type TabsStore = { + /**标签列表 */ + tabs: TabType[]; + /**激活标签项 */ + activePath: string; + /**缓存页面路由名称 */ + caches: Set; +}; + +/**标签信息类型 */ +type TabType = { + path: string; + query: LocationQuery; + name: string; + title: string; + icon?: any; + cache?: boolean; +}; + +const useTabsStore = defineStore('tabs', { + state: (): TabsStore => ({ + tabs: [], + activePath: '', + caches: new Set(), + }), + getters: { + /**获取导航标签栏列表 */ + getTabs(state) { + return state.tabs; + }, + /**获取缓存页面名 */ + getCaches(state) { + return [...state.caches]; + }, + }, + actions: { + /**清空标签项和缓存项列表 */ + clear() { + this.tabs = []; + this.caches.clear(); + }, + /** + * 删除标签项 + * @param path 当期标签路由地址 + * @returns 布尔 true/false + */ + remove(path: string) { + if (!path) return false; + const tabIndex = this.tabs.findIndex(tab => tab.path === path); + if (tabIndex === -1) return false; + // 同名称标签只剩一个时,才移除缓存 + const name = this.tabs[tabIndex].name; + const tabs = this.tabs.filter(tab => tab.name === name); + if (tabs.length <= 1) { + this.cacheDelete(name); + } + this.tabs.splice(tabIndex, 1); + return true; + }, + /** + * 添加标签项 + * @param tab 标签信息对象 + * @param index 插入指定位置,默认加到最后 + * @returns 布尔 true/false + */ + add(tab: TabType, index?: number) { + const { path, query, name, title, icon, cache } = tab; + // 是否缓存 + if (cache) { + this.cacheAdd(name); + } + // 获取没有才添加 + let tabIndex = this.tabs.findIndex(tab => tab.path === path); + if (tabIndex >= 0) return false; + const idx = index ? index : this.tabs.length; + this.tabs.splice(idx, 0, { path, query, name, title, icon }); + return true; + }, + /**添加缓存项 + * @param name 路由名称 + * @returns 布尔 true/false + */ + cacheAdd(name: string) { + if (!name) return; + const has = this.caches.has(name); + if (has) return; + this.caches.add(name); + }, + /** + * 删除缓存项 + * @param name 路由名称 + * @returns 布尔 true/false + */ + cacheDelete(name: string) { + if (!name) return false; + const has = this.caches.has(name); + if (!has) return false; + return this.caches.delete(name); + }, + + /** + * 打开标签 + * + * 动态参数会开新标签,这是考虑多信息查看才没用同一个标签打开。 + * @param raw 跳转的路由信息 + * @returns 无 + */ + tabOpen(raw: RouteLocationNormalizedLoaded) { + // 刷新是重定向不记录 + if (raw.path.startsWith('/redirect')) return; + // 标签缓存使用路由名称 + const name = (raw.name && raw.name.toString()) || '-'; + // 新增到当期标签后面打开,获取当期标签下标 + const tabIndex = this.tabs.findIndex(tab => tab.path === this.activePath); + this.add( + { + path: raw.path, + query: raw.query, + name: name, + title: raw.meta.title || '-', + icon: raw.meta.icon || '#', + cache: Boolean(raw.meta.cache), + }, + tabIndex + 1 + ); + // 设置激活项 + this.activePath = raw.path; + }, + /** + * 关闭标签 + * @param path 当期标签路由地址 + * @returns 新跳转push路由参数 + */ + tabClose(path: string) { + if (!path) return null; + // 获取当前项和最后项下标 + const tabIndex = this.tabs.findIndex(tab => tab.path === path); + if (tabIndex === -1) return null; + const lastIndex = this.tabs.length - 1; + let to = null; + // 只有一项默认跳首页 + if (lastIndex === 0) { + to = { + path: '/index', + query: {}, + }; + } + // 关闭当期标签,操作第一项跳后一项 + else if (path === this.activePath && tabIndex === 0) { + const tab = this.tabs[tabIndex + 1]; + to = { + path: tab.path, + query: tab.query, + }; + } + // 关闭当期标签,默认跳前一项 + else if (path === this.activePath && tabIndex <= lastIndex) { + const tab = this.tabs[tabIndex - 1]; + to = { + path: tab.path, + query: tab.query, + }; + } + // 移除标签 + this.remove(path); + return to; + }, + /** + * 跳转标签 + * @param path 当期标签路由地址 + * @returns 新跳转push路由参数 + */ + tabGoto(path: string) { + if (!path) return null; + const tab = this.tabs.find(tab => tab.path === path); + if (!tab) return null; + return { + path: tab.path, + query: tab.query, + }; + }, + }, +}); + +export default useTabsStore; diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts new file mode 100644 index 00000000..6930cf58 --- /dev/null +++ b/src/store/modules/user.ts @@ -0,0 +1,171 @@ +import defaultAvatar from '@/assets/images/default_avatar.png'; +import useLayoutStore from './layout'; +import { login, logout, getInfo } from '@/api/login'; +import { getToken, setToken, removeToken } from '@/plugins/auth-token'; +import { defineStore } from 'pinia'; +import { TOKEN_RESPONSE_FIELD } from '@/constants/token-constants'; +import { validHttp } from '@/utils/regular-utils'; + +/**用户信息类型 */ +type UserInfo = { + /**授权凭证 */ + token: string; + /**登录账号 */ + userName: string; + /**用户角色 字符串数组 */ + roles: string[]; + /**用户权限 字符串数组 */ + permissions: string[]; + /**用户头像 */ + avatar: string; + /**用户昵称 */ + nickName: string; + /**用户手机号 */ + phonenumber: string; + /**用户邮箱 */ + email: string; + /**用户性别 */ + sex: string | undefined; +}; + +/** + * 格式解析头像地址 + * @param avatar 头像路径 + * @returns url地址 + */ +function parseAvatar(avatar: string): string { + if (!avatar) { + return defaultAvatar; + } + if (validHttp(avatar)) { + return avatar; + } + const baseApi = import.meta.env.VITE_API_BASE_URL; + return `${baseApi}${avatar}`; +} + +const useUserStore = defineStore('user', { + state: (): UserInfo => ({ + token: getToken(), + userName: '', + roles: [], + permissions: [], + avatar: '', + nickName: '', + phonenumber: '', + email: '', + sex: undefined, + }), + getters: { + /** + * 获取正确头像地址 + * @param state 内部属性不用传入 + * @returns 头像地址url + */ + getAvatar(state) { + return parseAvatar(state.avatar); + }, + /** + * 获取基础信息属性 + * @param state 内部属性不用传入 + * @returns 基础信息 + */ + getBaseInfo(state) { + return { + nickName: state.nickName, + phonenumber: state.phonenumber, + email: state.email, + sex: state.sex, + }; + }, + }, + actions: { + /** + * 更新基础信息属性 + * @param data 变更信息 + */ + setBaseInfo(data: Record) { + this.nickName = data.nickName; + this.phonenumber = data.phonenumber; + this.email = data.email; + this.sex = data.sex; + }, + /** + * 更新头像 + * @param avatar 上传后的地址 + */ + setAvatar(avatar: string) { + this.avatar = avatar; + }, + /** + * 获取正确头像地址 + * @param avatar + */ + fnAvatar(avatar: string) { + return parseAvatar(avatar); + }, + // 登录 + async fnLogin(loginBody: Record) { + const res = await login(loginBody); + if (res.code === 200 && res.data) { + const token = res.data[TOKEN_RESPONSE_FIELD]; + setToken(token); + this.token = token; + } + return res; + }, + // 获取用户信息 + async fnGetInfo() { + const res = await getInfo(); + if (res.code === 200 && res.data) { + const { user, roles, permissions } = res.data; + // 登录账号 + this.userName = user.userName; + // 用户头像 + this.avatar = user.avatar; + // 基础信息 + this.nickName = user.nickName; + this.phonenumber = user.phonenumber; + this.email = user.email; + this.sex = user.sex; + + // 验证返回的roles是否是一个非空数组 + if (Array.isArray(roles) && roles.length > 0) { + this.roles = roles; + this.permissions = permissions; + } else { + this.roles = ['ROLE_DEFAULT']; + this.permissions = []; + } + + // 水印文字信息=用户昵称 手机号 + let waterMarkContent = this.nickName; + if (this.phonenumber) { + waterMarkContent = `${this.nickName} ${this.phonenumber}`; + } + useLayoutStore().changeWaterMark(waterMarkContent); + } + // 网络错误时退出登录状态 + if (res.code === 500) { + removeToken(); + window.location.reload(); + } + return res; + }, + // 退出系统 + async fnLogOut() { + try { + await logout(); + } catch (error) { + throw error; + } finally { + this.token = ''; + this.roles = []; + this.permissions = []; + removeToken(); + } + }, + }, +}); + +export default useUserStore; diff --git a/src/typings/components.d.ts b/src/typings/components.d.ts new file mode 100644 index 00000000..9c949291 --- /dev/null +++ b/src/typings/components.d.ts @@ -0,0 +1,54 @@ +/* eslint-disable */ +/* prettier-ignore */ +// @ts-nocheck +// Generated by unplugin-vue-components +// Read more: https://github.com/vuejs/core/pull/3399 +export {} + +declare module 'vue' { + export interface GlobalComponents { + AAvatar: typeof import('ant-design-vue/lib')['Avatar'] + ABadge: typeof import('ant-design-vue/lib')['Badge'] + AButton: typeof import('ant-design-vue/lib')['Button'] + ACol: typeof import('ant-design-vue/lib')['Col'] + ADropdown: typeof import('ant-design-vue/lib')['Dropdown'] + AForm: typeof import('ant-design-vue/lib')['Form'] + AFormItem: typeof import('ant-design-vue/lib')['FormItem'] + AImage: typeof import('ant-design-vue/lib')['Image'] + AInput: typeof import('ant-design-vue/lib')['Input'] + AInputPassword: typeof import('ant-design-vue/lib')['InputPassword'] + AMenu: typeof import('ant-design-vue/lib')['Menu'] + AMenuDivider: typeof import('ant-design-vue/lib')['MenuDivider'] + AMenuItem: typeof import('ant-design-vue/lib')['MenuItem'] + APopover: typeof import('ant-design-vue/lib')['Popover'] + ARow: typeof import('ant-design-vue/lib')['Row'] + ASpace: typeof import('ant-design-vue/lib')['Space'] + ATabPane: typeof import('ant-design-vue/lib')['TabPane'] + ATabs: typeof import('ant-design-vue/lib')['Tabs'] + ATooltip: typeof import('ant-design-vue/lib')['Tooltip'] + BellOutlined: typeof import('@ant-design/icons-vue')['BellOutlined'] + CronModal: typeof import('./../components/CronModal/index.vue')['default'] + Day: typeof import('./../components/CronModal/components/Day.vue')['default'] + DictTag: typeof import('./../components/DictTag/index.vue')['default'] + DownOutlined: typeof import('@ant-design/icons-vue')['DownOutlined'] + GithubOutlined: typeof import('@ant-design/icons-vue')['GithubOutlined'] + Hour: typeof import('./../components/CronModal/components/Hour.vue')['default'] + IconFont: typeof import('./../components/IconFont/index.vue')['default'] + LinkiFrame: typeof import('./../components/LinkiFrame/index.vue')['default'] + LockOutlined: typeof import('@ant-design/icons-vue')['LockOutlined'] + LogoutOutlined: typeof import('@ant-design/icons-vue')['LogoutOutlined'] + Minute: typeof import('./../components/CronModal/components/Minute.vue')['default'] + MobileOutlined: typeof import('@ant-design/icons-vue')['MobileOutlined'] + Month: typeof import('./../components/CronModal/components/Month.vue')['default'] + QqOutlined: typeof import('@ant-design/icons-vue')['QqOutlined'] + QuestionCircleOutlined: typeof import('@ant-design/icons-vue')['QuestionCircleOutlined'] + ReloadOutlined: typeof import('@ant-design/icons-vue')['ReloadOutlined'] + RobotOutlined: typeof import('@ant-design/icons-vue')['RobotOutlined'] + RouterLink: typeof import('vue-router')['RouterLink'] + RouterView: typeof import('vue-router')['RouterView'] + Second: typeof import('./../components/CronModal/components/Second.vue')['default'] + SettingOutlined: typeof import('@ant-design/icons-vue')['SettingOutlined'] + UserOutlined: typeof import('@ant-design/icons-vue')['UserOutlined'] + WechatOutlined: typeof import('@ant-design/icons-vue')['WechatOutlined'] + } +} diff --git a/src/typings/dict.d.ts b/src/typings/dict.d.ts new file mode 100644 index 00000000..38e52f7d --- /dev/null +++ b/src/typings/dict.d.ts @@ -0,0 +1,7 @@ +/**字段类型 */ +type DictType = { + label: string; + value: string; + elTagType: string; + elTagClass: string; +}; diff --git a/src/typings/router.d.ts b/src/typings/router.d.ts new file mode 100644 index 00000000..69983d0d --- /dev/null +++ b/src/typings/router.d.ts @@ -0,0 +1,13 @@ +import 'vue-router'; +import { MetaRecord, MenuDataItem } from '@ant-design-vue/pro-layout'; + +declare module 'vue-router' { + interface RouteMeta extends MetaRecord { + /**请求授权 */ + requiresAuth?: boolean; + /**权限 */ + permissions?: string[]; + /**角色 */ + roles?: string[]; + } +} diff --git a/src/typings/vite-env.d.ts b/src/typings/vite-env.d.ts new file mode 100644 index 00000000..a735ff23 --- /dev/null +++ b/src/typings/vite-env.d.ts @@ -0,0 +1,8 @@ +/// + +declare module '*.vue' { + import { DefineComponent } from 'vue'; + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types + const component: DefineComponent<{}, {}, any>; + export default component; +} diff --git a/src/utils/cache-local-utils.ts b/src/utils/cache-local-utils.ts new file mode 100644 index 00000000..f3d51906 --- /dev/null +++ b/src/utils/cache-local-utils.ts @@ -0,0 +1,40 @@ +/**长期级缓存设置 */ +export function localSet(key: string, value: string) { + if (!localStorage || key == null || value == null) { + return; + } + localStorage.setItem(key, value); +} + +/**长期级缓存获取 */ +export function localGet(key: string) { + if (!localStorage || key == null) { + return null; + } + return localStorage.getItem(key); +} + +/**长期级缓存移除 */ +export function localRemove(key: string) { + if (!localStorage || key == null) { + return null; + } + return localStorage.removeItem(key); +} + +/**长期级缓存设置JSON */ +export function localSetJSON(key: string, jsonValue: object) { + if (key == null || jsonValue == null) { + return null; + } + localSet(key, JSON.stringify(jsonValue)); +} + +/**长期级缓存获取JSON */ +export function localGetJSON(key: string) { + const value = localGet(key); + if (value == null) { + return null; + } + return JSON.parse(value); +} diff --git a/src/utils/cache-session-utils.ts b/src/utils/cache-session-utils.ts new file mode 100644 index 00000000..f3fe5022 --- /dev/null +++ b/src/utils/cache-session-utils.ts @@ -0,0 +1,40 @@ +/**会话级缓存设置 */ +export function sessionSet(key: string, value: string) { + if (!sessionStorage || key == null || value == null) { + return; + } + sessionStorage.setItem(key, value); +} + +/**会话级缓存获取 */ +export function sessionGet(key: string) { + if (!sessionStorage || key == null) { + return null; + } + return sessionStorage.getItem(key); +} + +/**会话级缓存移除 */ +export function sessionRemove(key: string) { + if (!sessionStorage || key == null) { + return null; + } + return sessionStorage.removeItem(key); +} + +/**会话级缓存设置JSON */ +export function sessionSetJSON(key: string, jsonValue: object) { + if (key == null || jsonValue == null) { + return null; + } + sessionSet(key, JSON.stringify(jsonValue)); +} + +/**会话级缓存获取JSON */ +export function sessionGetJSON(key: string) { + const value = sessionGet(key); + if (value == null) { + return null; + } + return JSON.parse(value); +} diff --git a/src/utils/date-utils.ts b/src/utils/date-utils.ts new file mode 100644 index 00000000..166669e2 --- /dev/null +++ b/src/utils/date-utils.ts @@ -0,0 +1,72 @@ +// 依赖来源 https://github.com/iamkun/dayjs +import dayjs from 'dayjs'; + +// 导入本地化语言并设为默认使用 +import('dayjs/locale/zh-cn'); +dayjs.locale('zh-cn'); + +/**年 列如:2022 */ +export const YYYY = 'YYYY'; + +/**年-月 列如:2022-12 */ +export const YYYY_MM = 'YYYY-MM'; + +/**年-月-日 列如:2022-12-30 */ +export const YYYY_MM_DD = 'YYYY-MM-DD'; + +/**年月日时分秒 列如:20221230010159 */ +export const YYYYMMDDHHMMSS = 'YYYYMMDDHHmmss'; + +/**年-月-日 时:分:秒 列如:2022-12-30 01:01:59 */ +export const YYYY_MM_DD_HH_MM_SS = 'YYYY-MM-DD HH:mm:ss'; + +/** + * 格式时间字符串 + * @param dateStr 时间字符串 + * @param formatStr 时间格式 默认YYYY-MM-DD HH:mm:ss + * @returns Date对象 + */ +export function parseStrToDate( + dateStr: string, + formatStr: string = YYYY_MM_DD_HH_MM_SS +): Date { + return dayjs(dateStr, formatStr).toDate(); +} + +/** + * 格式时间 + * @param date 可转的Date对象 + * @param formatStr 时间格式 默认YYYY-MM-DD HH:mm:ss + * @returns 时间格式字符串 + */ +export function parseDateToStr( + date: string | number | Date, + formatStr: string = YYYY_MM_DD_HH_MM_SS +): string { + return dayjs(date).format(formatStr); +} + +/** + * 格式时间成日期路径 + * + * 年/月 列如:2022/12 + * @returns 时间格式字符串 YYYY/MM + */ +export function parseDatePath(date: number | Date = Date.now()): string { + return dayjs(date).format('YYYY/MM'); +} + +/** + * 判断两次时间差 + * @param endDate 结束时间 + * @param startDate 开始时间 + * @returns 单位秒 + */ +export function diffSeconds( + endDate: number | Date, + startDate: number | Date +): number { + const value = Math.ceil(dayjs(endDate).diff(startDate, 'seconds')); + if (Number.isNaN(value)) return 0; + return value; +} diff --git a/src/utils/parse-tree-utils.ts b/src/utils/parse-tree-utils.ts new file mode 100644 index 00000000..50866442 --- /dev/null +++ b/src/utils/parse-tree-utils.ts @@ -0,0 +1,188 @@ +/** + * 解析数据层级转树结构 + * + * @param data 数组数据 + * @param fieldId 读取节点字段 默认 'id' + * @param fieldParentId 读取节点父节点字段 默认 'parentId' + * @param fieldChildren 设置子节点字段 默认 'children' + * @returns 层级数组 + */ +export function parseDataToTree( + data: Record[], + fieldId: string = 'id', + fieldParentId: string = 'parentId', + fieldChildren: string = 'children' +) { + // 节点分组 + let map: Map[]> = new Map(); + // 节点id + let treeIds: string[] = []; + // 树节点 + let tree: Record[] = []; + + for (const item of data) { + let parentId = item[fieldParentId]; + // 分组 + let mapItem = map.get(parentId) ?? []; + mapItem.push(item); + map.set(parentId, mapItem); + // 记录节点id + treeIds.push(item[fieldId]); + } + + for (const [key, value] of map) { + // 选择不是节点id的作为树节点 + if (!treeIds.includes(key)) { + tree.push(...value); + } + } + + for (const iterator of tree) { + componet(iterator); + } + + /**闭包递归函数 */ + function componet(iterator: Record) { + let id = iterator[fieldId]; + let item = map.get(id); + if (item) { + iterator[fieldChildren] = item; + } + if (iterator[fieldChildren]) { + for (let i of iterator[fieldChildren]) { + componet(i); + } + } + } + return tree; +} + +/** + * 解析数据层级转树结构-排除节点 + * + * @param data 数组数据 + * @param excludeField 排除节点字段 默认 'type' + * @param excludeValue 排除节点值 默认 '0' + * @param fieldId 读取节点字段 默认 'id' + * @param fieldParentId 读取节点父节点字段 默认 'parentId' + * @param fieldChildren 设置子节点字段 默认 'children' + * @returns 层级数组 + */ +export function parseDataToTreeExclude( + data: Record[], + excludeField = 'type', + excludeValue = '0', + fieldId: string = 'id', + fieldParentId: string = 'parentId', + fieldChildren: string = 'children' +) { + // 节点分组 + let map: Map[]> = new Map(); + // 节点id + let treeIds: string[] = []; + // 树节点 + let tree: Record[] = []; + + for (const item of data) { + // 排除值跳过 + let exclude = item[excludeField]; + if (exclude && exclude === excludeValue) { + continue; + } + let parentId = item[fieldParentId]; + // 分组 + let mapItem = map.get(parentId) ?? []; + mapItem.push(item); + map.set(parentId, mapItem); + // 记录节点id + treeIds.push(item[fieldId]); + } + + for (const [key, value] of map) { + // 选择不是节点id的作为树节点 + if (!treeIds.includes(key)) { + tree.push(...value); + } + } + + for (const iterator of tree) { + componet(iterator); + } + + /**闭包递归函数 */ + function componet(iterator: Record) { + let id = iterator[fieldId]; + let item = map.get(id); + if (item) { + iterator[fieldChildren] = item; + } + if (iterator[fieldChildren]) { + for (let i of iterator[fieldChildren]) { + componet(i); + } + } + } + return tree; +} + +/** + * 解析树结构数据转出一维id数组 + * + * @param data 数组数据 + * @param fieldId 读取节点字段 默认 'id' + * @param fieldChildren 读取子节点字段 默认 'children' + * @returns 层级数组 + */ +export function parseTreeKeys( + data: Record[], + fieldId: string = 'id', + fieldChildren: string = 'children' +) { + // 节点id + let treeIds: string[] | number[] = []; + componet(data); + /**闭包递归函数 */ + function componet(data: Record[]) { + if (data.length <= 0) return; + for (const iterator of data) { + let id = iterator[fieldId]; + if (id) { + treeIds.push(id as never); + } + if (Array.isArray(iterator[fieldChildren])) { + componet(iterator[fieldChildren]); + } + } + } + return treeIds; +} + +/** + * 解析树结构数据转出含子节点的一维id数组 + * + * @param data 数组数据 + * @param fieldId 读取节点字段 默认 'id' + * @param fieldChildren 读取子节点字段 默认 'children' + * @returns 层级数组 + */ +export function parseTreeNodeKeys( + data: Record[], + fieldId: string = 'id', + fieldChildren: string = 'children' +) { + // 节点id + let treeIds: string[] | number[] = []; + componet(data); + /**闭包递归函数 */ + function componet(data: Record[]) { + if (data.length <= 0) return; + for (const iterator of data) { + let nodes = iterator[fieldChildren]; + if (Array.isArray(nodes) && nodes.length > 0) { + treeIds.push(iterator[fieldId] as never); + componet(iterator[fieldChildren]); + } + } + } + return treeIds; +} diff --git a/src/utils/regular-utils.ts b/src/utils/regular-utils.ts new file mode 100644 index 00000000..a7463473 --- /dev/null +++ b/src/utils/regular-utils.ts @@ -0,0 +1,67 @@ +/** + * 有效账号格式 + * + * 账号不能以数字开头,可包含大写小写字母,数字,且不少于5位 + */ +export const regExpUserName = /^[a-zA-Z][a-z0-9A-Z]{5,}$/; + +/** + * 有效密码格式 + * + * 密码至少包含大小写字母、数字、特殊符号,且不少于6位 + */ +export const regExpPasswd = + /^(?![A-Za-z0-9]+$)(?![a-z0-9\W]+$)(?![A-Za-z\W]+$)(?![A-Z0-9\W]+$)[a-zA-Z0-9\W]{6,}$/; + +/** + * 有效手机号格式 + */ +export const regExpMobile = /^1[3|4|5|6|7|8|9][0-9]\d{8}$/; + +/** + * 有效邮箱格式 + */ +export const regExpEmail = + /^(([^<>()\\.,;:\s@"]+(\.[^<>()\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/; + +/** + * 有效用户昵称格式 + * + * 用户昵称只能包含字母、数字、中文和下划线,且不少于2位 + */ +export const regExpNick = /^[\w\u4e00-\u9fa5-]{2,}$/; + +/** + * 是否为http(s)://开头 + */ +export const regExpHttp = /^http(s)?:\/\/+/; + +/** + * 判断是否为http(s)://开头 + * @param link 网络链接 + * @returns true | false + */ +export function validHttp(link: string): boolean { + if (!link) return false; + return regExpHttp.test(link); +} + +/** + * 判断是否为有效手机号格式 + * @param mobile 手机号字符串 + * @returns true | false + */ +export function validMobile(mobile: string): boolean { + if (!mobile) return false; + return regExpMobile.test(mobile); +} + +/** + * 判断是否为有效邮箱格式 + * @param email 邮箱字符串 + * @returns true | false + */ +export function validEmail(email: string): boolean { + if (!email) return false; + return regExpEmail.test(email); +} diff --git a/src/views/account/components/base-info.vue b/src/views/account/components/base-info.vue new file mode 100644 index 00000000..5a282759 --- /dev/null +++ b/src/views/account/components/base-info.vue @@ -0,0 +1,248 @@ + + + + + diff --git a/src/views/account/components/reset-passwd.vue b/src/views/account/components/reset-passwd.vue new file mode 100644 index 00000000..a4657735 --- /dev/null +++ b/src/views/account/components/reset-passwd.vue @@ -0,0 +1,158 @@ + + + + + diff --git a/src/views/account/components/style-layout.vue b/src/views/account/components/style-layout.vue new file mode 100644 index 00000000..c159050d --- /dev/null +++ b/src/views/account/components/style-layout.vue @@ -0,0 +1,165 @@ + + + + + diff --git a/src/views/account/profile.vue b/src/views/account/profile.vue new file mode 100644 index 00000000..cc2696ce --- /dev/null +++ b/src/views/account/profile.vue @@ -0,0 +1,198 @@ + + + + + diff --git a/src/views/account/settings.vue b/src/views/account/settings.vue new file mode 100644 index 00000000..6b12f7c2 --- /dev/null +++ b/src/views/account/settings.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/views/dome/dome1.vue b/src/views/dome/dome1.vue new file mode 100644 index 00000000..09380429 --- /dev/null +++ b/src/views/dome/dome1.vue @@ -0,0 +1,27 @@ + + + diff --git a/src/views/dome/dome2.vue b/src/views/dome/dome2.vue new file mode 100644 index 00000000..f3fdd5c9 --- /dev/null +++ b/src/views/dome/dome2.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/views/dome/dome3.vue b/src/views/dome/dome3.vue new file mode 100644 index 00000000..3174c70d --- /dev/null +++ b/src/views/dome/dome3.vue @@ -0,0 +1,30 @@ + + + diff --git a/src/views/domes/dynamic-match.vue b/src/views/domes/dynamic-match.vue new file mode 100644 index 00000000..5249bdca --- /dev/null +++ b/src/views/domes/dynamic-match.vue @@ -0,0 +1,87 @@ + + + diff --git a/src/views/domes/page-info.vue b/src/views/domes/page-info.vue new file mode 100644 index 00000000..82119502 --- /dev/null +++ b/src/views/domes/page-info.vue @@ -0,0 +1,58 @@ + + + diff --git a/src/views/domes/page-typography.vue b/src/views/domes/page-typography.vue new file mode 100644 index 00000000..89f895aa --- /dev/null +++ b/src/views/domes/page-typography.vue @@ -0,0 +1,102 @@ + + diff --git a/src/views/error/403.vue b/src/views/error/403.vue new file mode 100644 index 00000000..13c215c4 --- /dev/null +++ b/src/views/error/403.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/src/views/error/404.vue b/src/views/error/404.vue new file mode 100644 index 00000000..14b1e60e --- /dev/null +++ b/src/views/error/404.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/src/views/index.vue b/src/views/index.vue new file mode 100644 index 00000000..a2ed7b40 --- /dev/null +++ b/src/views/index.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/src/views/login.vue b/src/views/login.vue new file mode 100644 index 00000000..307f8921 --- /dev/null +++ b/src/views/login.vue @@ -0,0 +1,469 @@ + + + + + diff --git a/src/views/monitor/cache/index.vue b/src/views/monitor/cache/index.vue new file mode 100644 index 00000000..4421250d --- /dev/null +++ b/src/views/monitor/cache/index.vue @@ -0,0 +1,498 @@ + + + + + diff --git a/src/views/monitor/cache/info.vue b/src/views/monitor/cache/info.vue new file mode 100644 index 00000000..18c78a34 --- /dev/null +++ b/src/views/monitor/cache/info.vue @@ -0,0 +1,222 @@ + + + + + diff --git a/src/views/monitor/job/index.vue b/src/views/monitor/job/index.vue new file mode 100644 index 00000000..aa4c5094 --- /dev/null +++ b/src/views/monitor/job/index.vue @@ -0,0 +1,1087 @@ + + + + + diff --git a/src/views/monitor/job/log.vue b/src/views/monitor/job/log.vue new file mode 100644 index 00000000..15481346 --- /dev/null +++ b/src/views/monitor/job/log.vue @@ -0,0 +1,682 @@ + + + + + diff --git a/src/views/monitor/logininfor/index.vue b/src/views/monitor/logininfor/index.vue new file mode 100644 index 00000000..69b0a303 --- /dev/null +++ b/src/views/monitor/logininfor/index.vue @@ -0,0 +1,546 @@ + + + + + diff --git a/src/views/monitor/online/index.vue b/src/views/monitor/online/index.vue new file mode 100644 index 00000000..e151ff27 --- /dev/null +++ b/src/views/monitor/online/index.vue @@ -0,0 +1,338 @@ + + + + + diff --git a/src/views/monitor/operlog/index.vue b/src/views/monitor/operlog/index.vue new file mode 100644 index 00000000..faf3e0e0 --- /dev/null +++ b/src/views/monitor/operlog/index.vue @@ -0,0 +1,692 @@ + + + + + diff --git a/src/views/monitor/server/info.vue b/src/views/monitor/server/info.vue new file mode 100644 index 00000000..16aa9721 --- /dev/null +++ b/src/views/monitor/server/info.vue @@ -0,0 +1,329 @@ + + + + + diff --git a/src/views/redirect/index.vue b/src/views/redirect/index.vue new file mode 100644 index 00000000..0eaf77c1 --- /dev/null +++ b/src/views/redirect/index.vue @@ -0,0 +1,11 @@ + + + diff --git a/src/views/register.vue b/src/views/register.vue new file mode 100644 index 00000000..fb66e29e --- /dev/null +++ b/src/views/register.vue @@ -0,0 +1,313 @@ + + + + + diff --git a/src/views/system/config/index.vue b/src/views/system/config/index.vue new file mode 100644 index 00000000..5b72c333 --- /dev/null +++ b/src/views/system/config/index.vue @@ -0,0 +1,809 @@ + + + + + diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue new file mode 100644 index 00000000..da6fa754 --- /dev/null +++ b/src/views/system/dept/index.vue @@ -0,0 +1,800 @@ + + + + + diff --git a/src/views/system/dict/data.vue b/src/views/system/dict/data.vue new file mode 100644 index 00000000..4085c4e7 --- /dev/null +++ b/src/views/system/dict/data.vue @@ -0,0 +1,883 @@ + + + + + diff --git a/src/views/system/dict/index.vue b/src/views/system/dict/index.vue new file mode 100644 index 00000000..a895ba30 --- /dev/null +++ b/src/views/system/dict/index.vue @@ -0,0 +1,809 @@ + + + + + diff --git a/src/views/system/menu/index.vue b/src/views/system/menu/index.vue new file mode 100644 index 00000000..7d29d392 --- /dev/null +++ b/src/views/system/menu/index.vue @@ -0,0 +1,1103 @@ + + + + + diff --git a/src/views/system/notice/index.vue b/src/views/system/notice/index.vue new file mode 100644 index 00000000..da1372ee --- /dev/null +++ b/src/views/system/notice/index.vue @@ -0,0 +1,734 @@ + + + + + diff --git a/src/views/system/post/index.vue b/src/views/system/post/index.vue new file mode 100644 index 00000000..92e93a35 --- /dev/null +++ b/src/views/system/post/index.vue @@ -0,0 +1,759 @@ + + + + + diff --git a/src/views/system/role/auth-user.vue b/src/views/system/role/auth-user.vue new file mode 100644 index 00000000..722872f0 --- /dev/null +++ b/src/views/system/role/auth-user.vue @@ -0,0 +1,508 @@ + + + + + diff --git a/src/views/system/role/components/auth-user-select.vue b/src/views/system/role/components/auth-user-select.vue new file mode 100644 index 00000000..19746b36 --- /dev/null +++ b/src/views/system/role/components/auth-user-select.vue @@ -0,0 +1,301 @@ + + + + + diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue new file mode 100644 index 00000000..25a1e796 --- /dev/null +++ b/src/views/system/role/index.vue @@ -0,0 +1,1281 @@ + + + + + diff --git a/src/views/system/user/components/UploadXlsxImport.vue b/src/views/system/user/components/UploadXlsxImport.vue new file mode 100644 index 00000000..66164491 --- /dev/null +++ b/src/views/system/user/components/UploadXlsxImport.vue @@ -0,0 +1,185 @@ + + + + + diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue new file mode 100644 index 00000000..9d58f15a --- /dev/null +++ b/src/views/system/user/index.vue @@ -0,0 +1,1433 @@ + + + + + diff --git a/src/views/tool/build/index.vue b/src/views/tool/build/index.vue new file mode 100644 index 00000000..a66e68de --- /dev/null +++ b/src/views/tool/build/index.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/src/views/tool/swagger/index.vue b/src/views/tool/swagger/index.vue new file mode 100644 index 00000000..c7703370 --- /dev/null +++ b/src/views/tool/swagger/index.vue @@ -0,0 +1,14 @@ + + + + + diff --git a/src/views/tool/upload/index.vue b/src/views/tool/upload/index.vue new file mode 100644 index 00000000..edd1ed9c --- /dev/null +++ b/src/views/tool/upload/index.vue @@ -0,0 +1,236 @@ + + + + + diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..11702116 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "module": "ESNext", + "moduleResolution": "Node", + "strict": true, + "jsx": "preserve", + "resolveJsonModule": true, + "isolatedModules": true, + "esModuleInterop": true, + "lib": ["ESNext", "DOM"], + "skipLibCheck": true, + "noEmit": true, + "typeRoots": ["src/typings", "./node_modules/@types"], + "baseUrl": ".", + "paths": { + "@/*": ["src/*"] + } + }, + "exclude": ["dist", "node_modules", "test", "script"], + "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 00000000..9d31e2ae --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 00000000..ac6c2a93 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,76 @@ +import vue from '@vitejs/plugin-vue'; +import { defineConfig, loadEnv } from 'vite'; +import Components from 'unplugin-vue-components/vite'; +import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers'; +import Compression from 'vite-plugin-compression'; +import path from 'path'; + +// https://vitejs.dev/config/ +export default defineConfig(({ mode }) => { + // 读取环境配置变量,指定前缀 + const env = loadEnv(mode, process.cwd(), 'VITE_'); + return { + // 访问基础路径 + base: env.VITE_HISTORY_BASE_URL, + // 本地开发服务配置 + server: { + port: 6269, // 端口 + host: true, // 暴露到网络地址 + open: false, // 完成后自动跳转浏览器打开 + proxy: { + // https://cn.vitejs.dev/config/#server-proxy + [env.VITE_API_BASE_URL]: { + target: 'http://192.168.56.1:6275', + changeOrigin: true, + rewrite: p => p.replace(/^\/dev-api/, ''), + }, + }, + }, + resolve: { + // 资源别名 + alias: { + '@': path.resolve(__dirname, './src'), + }, + extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'], + }, + css: { + preprocessorOptions: { + less: { + // DO NOT REMOVE THIS LINE + javascriptEnabled: true, + modifyVars: { + // hack: `true; @import 'ant-design-vue/dist/antd.variable.less'`, + // '@primary-color': '#eb2f96', // 全局主色 + }, + }, + }, + }, + optimizeDeps: { + include: ['@ant-design/icons-vue', 'ant-design-vue'], + }, + plugins: [ + vue(), + // Vue文件中自动导入组件,dirs目录和antd库 + Components({ + dts: 'src/typings/components.d.ts', + deep: true, + dirs: ['src/components'], + extensions: ['vue', 'tsx'], + resolvers: [ + AntDesignVueResolver({ + importStyle: false, + resolveIcons: true, + cjs: true, // 避免es模块打包缺失 + }), + ], + }), + // gzip静态压缩文件 + Compression({ + verbose: false, + algorithm: 'gzip', + ext: '.gz', + disable: false, // 是否禁用 + }), + ], + }; +});