From bc6d0f7dd60c95eb6c40336b5c478fe86f05c62a Mon Sep 17 00:00:00 2001 From: xingyu4j Date: Thu, 16 Oct 2025 10:16:45 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E8=BF=98=E5=8E=9Fnaive=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web-naive/.env | 22 +- apps/web-naive/.env.development | 15 +- apps/web-naive/.env.production | 6 +- apps/web-naive/package.json | 5 - apps/web-naive/src/adapter/form.ts | 20 - apps/web-naive/src/adapter/vxe-table.ts | 249 +------ apps/web-naive/src/api/core/auth.ts | 160 +---- apps/web-naive/src/api/core/index.ts | 2 + apps/web-naive/src/api/core/menu.ts | 10 + apps/web-naive/src/api/core/user.ts | 10 + .../src/api/infra/api-access-log/index.ts | 44 -- .../src/api/infra/api-error-log/index.ts | 55 -- apps/web-naive/src/api/infra/codegen/index.ts | 157 ----- apps/web-naive/src/api/infra/config/index.ts | 62 -- .../src/api/infra/data-source-config/index.ts | 46 -- .../src/api/infra/demo/demo01/index.ts | 54 -- .../src/api/infra/demo/demo02/index.ts | 48 -- .../src/api/infra/demo/demo03/erp/index.ts | 139 ---- .../src/api/infra/demo/demo03/inner/index.ts | 87 --- .../src/api/infra/demo/demo03/normal/index.ts | 89 --- .../src/api/infra/file-config/index.ts | 76 --- apps/web-naive/src/api/infra/file/index.ts | 73 -- apps/web-naive/src/api/infra/job-log/index.ts | 41 -- apps/web-naive/src/api/infra/job/index.ts | 70 -- apps/web-naive/src/api/infra/redis/index.ts | 190 ------ apps/web-naive/src/api/request.ts | 44 +- apps/web-naive/src/api/system/area/index.ts | 24 - apps/web-naive/src/api/system/dept/index.ts | 47 -- .../src/api/system/dict/data/index.ts | 54 -- .../src/api/system/dict/type/index.ts | 48 -- .../src/api/system/login-log/index.ts | 33 - .../src/api/system/mail/account/index.ts | 57 -- .../src/api/system/mail/log/index.ts | 46 -- .../src/api/system/mail/template/index.ts | 62 -- apps/web-naive/src/api/system/menu/index.ts | 54 -- apps/web-naive/src/api/system/notice/index.ts | 52 -- .../src/api/system/notify/message/index.ts | 65 -- .../src/api/system/notify/template/index.ts | 72 -- .../src/api/system/oauth2/client/index.ts | 57 -- .../src/api/system/oauth2/open/index.ts | 58 -- .../src/api/system/oauth2/token/index.ts | 34 - .../src/api/system/operate-log/index.ts | 39 -- .../src/api/system/permission/index.ts | 57 -- apps/web-naive/src/api/system/post/index.ts | 58 -- apps/web-naive/src/api/system/role/index.ts | 58 -- .../src/api/system/sms/channel/index.ts | 60 -- .../web-naive/src/api/system/sms/log/index.ts | 45 -- .../src/api/system/sms/template/index.ts | 70 -- .../src/api/system/social/client/index.ts | 48 -- .../src/api/system/social/user/index.ts | 66 -- .../src/api/system/tenant-package/index.ts | 57 -- apps/web-naive/src/api/system/tenant/index.ts | 69 -- apps/web-naive/src/api/system/user/index.ts | 83 --- .../src/api/system/user/profile/index.ts | 56 -- .../src/components/cropper/cropper-avatar.vue | 159 ----- .../src/components/cropper/cropper-modal.vue | 370 ---------- .../src/components/cropper/cropper.vue | 173 ----- .../web-naive/src/components/cropper/index.ts | 3 - .../src/components/cropper/typing.ts | 68 -- .../src/components/dict-tag/dict-tag.vue | 73 -- .../src/components/dict-tag/index.ts | 1 - .../src/components/iframe/iframe.vue | 38 -- apps/web-naive/src/components/iframe/index.ts | 1 - .../src/components/table-toolbar/index.ts | 1 - .../table-toolbar/table-toolbar.vue | 60 -- .../src/components/upload/file-upload.vue | 222 ------ .../web-naive/src/components/upload/helper.ts | 20 - .../src/components/upload/image-upload.vue | 276 -------- apps/web-naive/src/components/upload/index.ts | 2 - .../web-naive/src/components/upload/typing.ts | 8 - .../src/components/upload/use-upload.ts | 165 ----- apps/web-naive/src/layouts/basic.vue | 209 ++---- .../src/locales/langs/en-US/demos.json | 14 + .../src/locales/langs/en-US/page.json | 18 - .../src/locales/langs/en-US/utils.json | 14 - .../src/locales/langs/zh-CN/demos.json | 14 + .../src/locales/langs/zh-CN/page.json | 18 - .../src/locales/langs/zh-CN/utils.json | 14 - apps/web-naive/src/preferences.ts | 12 - apps/web-naive/src/router/access.ts | 15 +- apps/web-naive/src/router/guard.ts | 29 +- apps/web-naive/src/router/index.ts | 3 - apps/web-naive/src/router/routes/core.ts | 17 - apps/web-naive/src/router/routes/index.ts | 12 +- .../src/router/routes/modules/dashboard.ts | 28 +- .../src/router/routes/modules/demos.ts | 44 ++ .../src/router/routes/modules/infra.ts | 39 -- .../src/router/routes/modules/system.ts | 16 - .../src/router/routes/modules/vben.ts | 151 ++--- apps/web-naive/src/router/tongji.ts | 30 - apps/web-naive/src/store/auth.ts | 68 +- apps/web-naive/src/store/dict.ts | 74 -- apps/web-naive/src/store/index.ts | 1 - apps/web-naive/src/utils/constants.ts | 636 ------------------ apps/web-naive/src/utils/dict.ts | 279 -------- apps/web-naive/src/utils/formCreate.ts | 64 -- apps/web-naive/src/utils/formatTime.ts | 31 - apps/web-naive/src/utils/index.ts | 7 - apps/web-naive/src/utils/rangePickerProps.ts | 59 -- apps/web-naive/src/utils/routerHelper.ts | 15 - .../views/_core/authentication/code-login.vue | 113 +--- .../_core/authentication/forget-password.vue | 190 +----- .../src/views/_core/authentication/login.vue | 208 ++---- .../views/_core/authentication/register.vue | 153 +---- .../_core/authentication/social-login.vue | 210 ------ .../views/_core/authentication/sso-login.vue | 221 ------ .../src/views/_core/profile/index.vue | 65 -- .../views/_core/profile/modules/base-info.vue | 106 --- .../_core/profile/modules/profile-user.vue | 147 ---- .../views/_core/profile/modules/reset-pwd.vue | 102 --- .../_core/profile/modules/user-social.vue | 209 ------ apps/web-naive/src/views/demos/form/basic.vue | 169 +++++ .../web-naive/src/views/demos/naive/index.vue | 69 ++ .../web-naive/src/views/demos/table/index.vue | 38 ++ .../src/views/infra/apiAccessLog/data.ts | 173 ----- .../src/views/infra/apiAccessLog/index.vue | 109 --- .../infra/apiAccessLog/modules/detail.vue | 106 --- .../src/views/infra/apiErrorLog/data.ts | 175 ----- .../src/views/infra/apiErrorLog/index.vue | 132 ---- .../infra/apiErrorLog/modules/detail.vue | 104 --- .../web-naive/src/views/infra/build/index.vue | 184 ----- .../web-naive/src/views/infra/codegen/data.ts | 592 ---------------- .../src/views/infra/codegen/edit/index.vue | 170 ----- .../src/views/infra/codegen/index.vue | 232 ------- .../infra/codegen/modules/basic-info.vue | 45 -- .../infra/codegen/modules/column-info.vue | 161 ----- .../infra/codegen/modules/generation-info.vue | 172 ----- .../infra/codegen/modules/import-table.vue | 119 ---- .../infra/codegen/modules/preview-code.vue | 371 ---------- apps/web-naive/src/views/infra/config/data.ts | 210 ------ .../src/views/infra/config/index.vue | 134 ---- .../src/views/infra/config/modules/form.vue | 81 --- .../src/views/infra/dataSourceConfig/data.ts | 119 ---- .../views/infra/dataSourceConfig/index.vue | 123 ---- .../infra/dataSourceConfig/modules/form.vue | 88 --- .../web-naive/src/views/infra/druid/index.vue | 37 - apps/web-naive/src/views/infra/file/data.ts | 140 ---- apps/web-naive/src/views/infra/file/index.vue | 148 ---- .../src/views/infra/file/modules/form.vue | 85 --- .../src/views/infra/fileConfig/data.ts | 367 ---------- .../src/views/infra/fileConfig/index.vue | 174 ----- .../views/infra/fileConfig/modules/form.vue | 87 --- apps/web-naive/src/views/infra/job/data.ts | 221 ------ apps/web-naive/src/views/infra/job/index.vue | 223 ------ .../src/views/infra/job/logger/data.ts | 145 ---- .../src/views/infra/job/logger/index.vue | 111 --- .../views/infra/job/logger/modules/detail.vue | 85 --- .../src/views/infra/job/modules/detail.vue | 106 --- .../src/views/infra/job/modules/form.vue | 81 --- .../web-naive/src/views/infra/redis/index.vue | 53 -- .../views/infra/redis/modules/commands.vue | 103 --- .../src/views/infra/redis/modules/info.vue | 60 -- .../src/views/infra/redis/modules/memory.vue | 137 ---- .../src/views/infra/server/index.vue | 36 - .../src/views/infra/skywalking/index.vue | 33 - .../src/views/infra/swagger/index.vue | 34 - .../src/views/infra/webSocket/index.vue | 322 --------- apps/web-naive/src/views/system/area/data.ts | 46 -- .../web-naive/src/views/system/area/index.vue | 75 --- .../src/views/system/area/modules/form.vue | 49 -- apps/web-naive/src/views/system/dept/data.ts | 192 ------ .../web-naive/src/views/system/dept/index.vue | 154 ----- .../src/views/system/dept/modules/form.vue | 84 --- apps/web-naive/src/views/system/dict/data.ts | 390 ----------- .../web-naive/src/views/system/dict/index.vue | 33 - .../views/system/dict/modules/data-form.vue | 97 --- .../views/system/dict/modules/data-grid.vue | 161 ----- .../views/system/dict/modules/type-form.vue | 87 --- .../views/system/dict/modules/type-grid.vue | 156 ----- .../src/views/system/loginlog/data.ts | 116 ---- .../src/views/system/loginlog/index.vue | 106 --- .../views/system/loginlog/modules/detail.vue | 80 --- .../src/views/system/mail/account/data.ts | 208 ------ .../src/views/system/mail/account/index.vue | 126 ---- .../system/mail/account/modules/form.vue | 88 --- .../src/views/system/mail/log/data.ts | 150 ----- .../src/views/system/mail/log/index.vue | 84 --- .../views/system/mail/log/modules/detail.vue | 93 --- .../src/views/system/mail/template/data.ts | 281 -------- .../src/views/system/mail/template/index.vue | 158 ----- .../system/mail/template/modules/form.vue | 88 --- .../mail/template/modules/send-form.vue | 108 --- apps/web-naive/src/views/system/menu/data.ts | 355 ---------- .../web-naive/src/views/system/menu/index.vue | 166 ----- .../src/views/system/menu/modules/form.vue | 84 --- .../web-naive/src/views/system/notice/data.ts | 165 ----- .../src/views/system/notice/index.vue | 139 ---- .../src/views/system/notice/modules/form.vue | 83 --- .../src/views/system/notify/message/data.ts | 171 ----- .../src/views/system/notify/message/index.vue | 83 --- .../system/notify/message/modules/detail.vue | 88 --- .../src/views/system/notify/my/data.ts | 157 ----- .../src/views/system/notify/my/index.vue | 164 ----- .../views/system/notify/my/modules/detail.vue | 48 -- .../src/views/system/notify/template/data.ts | 324 --------- .../views/system/notify/template/index.vue | 160 ----- .../system/notify/template/modules/form.vue | 88 --- .../notify/template/modules/send-form.vue | 111 --- .../src/views/system/oauth2/client/data.ts | 281 -------- .../src/views/system/oauth2/client/index.vue | 130 ---- .../system/oauth2/client/modules/form.vue | 88 --- .../src/views/system/oauth2/token/data.ts | 111 --- .../src/views/system/oauth2/token/index.vue | 95 --- .../src/views/system/operatelog/data.ts | 146 ---- .../src/views/system/operatelog/index.vue | 106 --- .../system/operatelog/modules/detail.vue | 89 --- apps/web-naive/src/views/system/post/data.ts | 162 ----- .../web-naive/src/views/system/post/index.vue | 133 ---- .../src/views/system/post/modules/form.vue | 81 --- apps/web-naive/src/views/system/role/data.ts | 286 -------- .../web-naive/src/views/system/role/index.vue | 174 ----- .../modules/assign-data-permission-form.vue | 166 ----- .../system/role/modules/assign-menu-form.vue | 152 ----- .../src/views/system/role/modules/form.vue | 81 --- .../src/views/system/sms/channel/data.ts | 223 ------ .../src/views/system/sms/channel/index.vue | 144 ---- .../views/system/sms/channel/modules/form.vue | 87 --- .../src/views/system/sms/log/data.ts | 188 ------ .../src/views/system/sms/log/index.vue | 106 --- .../views/system/sms/log/modules/detail.vue | 110 --- .../src/views/system/sms/template/data.ts | 308 --------- .../src/views/system/sms/template/index.vue | 160 ----- .../system/sms/template/modules/form.vue | 88 --- .../system/sms/template/modules/send-form.vue | 108 --- .../src/views/system/social/client/data.ts | 233 ------- .../src/views/system/social/client/index.vue | 127 ---- .../system/social/client/modules/form.vue | 88 --- .../src/views/system/social/user/data.ts | 121 ---- .../src/views/system/social/user/index.vue | 83 --- .../system/social/user/modules/detail.vue | 79 --- .../web-naive/src/views/system/tenant/data.ts | 257 ------- .../src/views/system/tenant/index.vue | 158 ----- .../src/views/system/tenant/modules/form.vue | 80 --- .../src/views/system/tenantPackage/data.ts | 157 ----- .../src/views/system/tenantPackage/index.vue | 128 ---- .../system/tenantPackage/modules/form.vue | 162 ----- apps/web-naive/src/views/system/user/data.ts | 360 ---------- .../web-naive/src/views/system/user/index.vue | 249 ------- .../system/user/modules/assign-role-form.vue | 77 --- .../views/system/user/modules/dept-tree.vue | 84 --- .../src/views/system/user/modules/form.vue | 81 --- .../views/system/user/modules/import-form.vue | 86 --- .../user/modules/reset-password-form.vue | 65 -- apps/web-naive/vite.config.mts | 6 +- 244 files changed, 669 insertions(+), 26673 deletions(-) create mode 100644 apps/web-naive/src/api/core/menu.ts create mode 100644 apps/web-naive/src/api/core/user.ts delete mode 100644 apps/web-naive/src/api/infra/api-access-log/index.ts delete mode 100644 apps/web-naive/src/api/infra/api-error-log/index.ts delete mode 100644 apps/web-naive/src/api/infra/codegen/index.ts delete mode 100644 apps/web-naive/src/api/infra/config/index.ts delete mode 100644 apps/web-naive/src/api/infra/data-source-config/index.ts delete mode 100644 apps/web-naive/src/api/infra/demo/demo01/index.ts delete mode 100644 apps/web-naive/src/api/infra/demo/demo02/index.ts delete mode 100644 apps/web-naive/src/api/infra/demo/demo03/erp/index.ts delete mode 100644 apps/web-naive/src/api/infra/demo/demo03/inner/index.ts delete mode 100644 apps/web-naive/src/api/infra/demo/demo03/normal/index.ts delete mode 100644 apps/web-naive/src/api/infra/file-config/index.ts delete mode 100644 apps/web-naive/src/api/infra/file/index.ts delete mode 100644 apps/web-naive/src/api/infra/job-log/index.ts delete mode 100644 apps/web-naive/src/api/infra/job/index.ts delete mode 100644 apps/web-naive/src/api/infra/redis/index.ts delete mode 100644 apps/web-naive/src/api/system/area/index.ts delete mode 100644 apps/web-naive/src/api/system/dept/index.ts delete mode 100644 apps/web-naive/src/api/system/dict/data/index.ts delete mode 100644 apps/web-naive/src/api/system/dict/type/index.ts delete mode 100644 apps/web-naive/src/api/system/login-log/index.ts delete mode 100644 apps/web-naive/src/api/system/mail/account/index.ts delete mode 100644 apps/web-naive/src/api/system/mail/log/index.ts delete mode 100644 apps/web-naive/src/api/system/mail/template/index.ts delete mode 100644 apps/web-naive/src/api/system/menu/index.ts delete mode 100644 apps/web-naive/src/api/system/notice/index.ts delete mode 100644 apps/web-naive/src/api/system/notify/message/index.ts delete mode 100644 apps/web-naive/src/api/system/notify/template/index.ts delete mode 100644 apps/web-naive/src/api/system/oauth2/client/index.ts delete mode 100644 apps/web-naive/src/api/system/oauth2/open/index.ts delete mode 100644 apps/web-naive/src/api/system/oauth2/token/index.ts delete mode 100644 apps/web-naive/src/api/system/operate-log/index.ts delete mode 100644 apps/web-naive/src/api/system/permission/index.ts delete mode 100644 apps/web-naive/src/api/system/post/index.ts delete mode 100644 apps/web-naive/src/api/system/role/index.ts delete mode 100644 apps/web-naive/src/api/system/sms/channel/index.ts delete mode 100644 apps/web-naive/src/api/system/sms/log/index.ts delete mode 100644 apps/web-naive/src/api/system/sms/template/index.ts delete mode 100644 apps/web-naive/src/api/system/social/client/index.ts delete mode 100644 apps/web-naive/src/api/system/social/user/index.ts delete mode 100644 apps/web-naive/src/api/system/tenant-package/index.ts delete mode 100644 apps/web-naive/src/api/system/tenant/index.ts delete mode 100644 apps/web-naive/src/api/system/user/index.ts delete mode 100644 apps/web-naive/src/api/system/user/profile/index.ts delete mode 100644 apps/web-naive/src/components/cropper/cropper-avatar.vue delete mode 100644 apps/web-naive/src/components/cropper/cropper-modal.vue delete mode 100644 apps/web-naive/src/components/cropper/cropper.vue delete mode 100644 apps/web-naive/src/components/cropper/index.ts delete mode 100644 apps/web-naive/src/components/cropper/typing.ts delete mode 100644 apps/web-naive/src/components/dict-tag/dict-tag.vue delete mode 100644 apps/web-naive/src/components/dict-tag/index.ts delete mode 100644 apps/web-naive/src/components/iframe/iframe.vue delete mode 100644 apps/web-naive/src/components/iframe/index.ts delete mode 100644 apps/web-naive/src/components/table-toolbar/index.ts delete mode 100644 apps/web-naive/src/components/table-toolbar/table-toolbar.vue delete mode 100644 apps/web-naive/src/components/upload/file-upload.vue delete mode 100644 apps/web-naive/src/components/upload/helper.ts delete mode 100644 apps/web-naive/src/components/upload/image-upload.vue delete mode 100644 apps/web-naive/src/components/upload/index.ts delete mode 100644 apps/web-naive/src/components/upload/typing.ts delete mode 100644 apps/web-naive/src/components/upload/use-upload.ts create mode 100644 apps/web-naive/src/locales/langs/en-US/demos.json delete mode 100644 apps/web-naive/src/locales/langs/en-US/utils.json create mode 100644 apps/web-naive/src/locales/langs/zh-CN/demos.json delete mode 100644 apps/web-naive/src/locales/langs/zh-CN/utils.json create mode 100644 apps/web-naive/src/router/routes/modules/demos.ts delete mode 100644 apps/web-naive/src/router/routes/modules/infra.ts delete mode 100644 apps/web-naive/src/router/routes/modules/system.ts delete mode 100644 apps/web-naive/src/router/tongji.ts delete mode 100644 apps/web-naive/src/store/dict.ts delete mode 100644 apps/web-naive/src/utils/constants.ts delete mode 100644 apps/web-naive/src/utils/dict.ts delete mode 100644 apps/web-naive/src/utils/formCreate.ts delete mode 100644 apps/web-naive/src/utils/formatTime.ts delete mode 100644 apps/web-naive/src/utils/index.ts delete mode 100644 apps/web-naive/src/utils/rangePickerProps.ts delete mode 100644 apps/web-naive/src/utils/routerHelper.ts delete mode 100644 apps/web-naive/src/views/_core/authentication/social-login.vue delete mode 100644 apps/web-naive/src/views/_core/authentication/sso-login.vue delete mode 100644 apps/web-naive/src/views/_core/profile/index.vue delete mode 100644 apps/web-naive/src/views/_core/profile/modules/base-info.vue delete mode 100644 apps/web-naive/src/views/_core/profile/modules/profile-user.vue delete mode 100644 apps/web-naive/src/views/_core/profile/modules/reset-pwd.vue delete mode 100644 apps/web-naive/src/views/_core/profile/modules/user-social.vue create mode 100644 apps/web-naive/src/views/demos/form/basic.vue create mode 100644 apps/web-naive/src/views/demos/naive/index.vue create mode 100644 apps/web-naive/src/views/demos/table/index.vue delete mode 100644 apps/web-naive/src/views/infra/apiAccessLog/data.ts delete mode 100644 apps/web-naive/src/views/infra/apiAccessLog/index.vue delete mode 100644 apps/web-naive/src/views/infra/apiAccessLog/modules/detail.vue delete mode 100644 apps/web-naive/src/views/infra/apiErrorLog/data.ts delete mode 100644 apps/web-naive/src/views/infra/apiErrorLog/index.vue delete mode 100644 apps/web-naive/src/views/infra/apiErrorLog/modules/detail.vue delete mode 100644 apps/web-naive/src/views/infra/build/index.vue delete mode 100644 apps/web-naive/src/views/infra/codegen/data.ts delete mode 100644 apps/web-naive/src/views/infra/codegen/edit/index.vue delete mode 100644 apps/web-naive/src/views/infra/codegen/index.vue delete mode 100644 apps/web-naive/src/views/infra/codegen/modules/basic-info.vue delete mode 100644 apps/web-naive/src/views/infra/codegen/modules/column-info.vue delete mode 100644 apps/web-naive/src/views/infra/codegen/modules/generation-info.vue delete mode 100644 apps/web-naive/src/views/infra/codegen/modules/import-table.vue delete mode 100644 apps/web-naive/src/views/infra/codegen/modules/preview-code.vue delete mode 100644 apps/web-naive/src/views/infra/config/data.ts delete mode 100644 apps/web-naive/src/views/infra/config/index.vue delete mode 100644 apps/web-naive/src/views/infra/config/modules/form.vue delete mode 100644 apps/web-naive/src/views/infra/dataSourceConfig/data.ts delete mode 100644 apps/web-naive/src/views/infra/dataSourceConfig/index.vue delete mode 100644 apps/web-naive/src/views/infra/dataSourceConfig/modules/form.vue delete mode 100644 apps/web-naive/src/views/infra/druid/index.vue delete mode 100644 apps/web-naive/src/views/infra/file/data.ts delete mode 100644 apps/web-naive/src/views/infra/file/index.vue delete mode 100644 apps/web-naive/src/views/infra/file/modules/form.vue delete mode 100644 apps/web-naive/src/views/infra/fileConfig/data.ts delete mode 100644 apps/web-naive/src/views/infra/fileConfig/index.vue delete mode 100644 apps/web-naive/src/views/infra/fileConfig/modules/form.vue delete mode 100644 apps/web-naive/src/views/infra/job/data.ts delete mode 100644 apps/web-naive/src/views/infra/job/index.vue delete mode 100644 apps/web-naive/src/views/infra/job/logger/data.ts delete mode 100644 apps/web-naive/src/views/infra/job/logger/index.vue delete mode 100644 apps/web-naive/src/views/infra/job/logger/modules/detail.vue delete mode 100644 apps/web-naive/src/views/infra/job/modules/detail.vue delete mode 100644 apps/web-naive/src/views/infra/job/modules/form.vue delete mode 100644 apps/web-naive/src/views/infra/redis/index.vue delete mode 100644 apps/web-naive/src/views/infra/redis/modules/commands.vue delete mode 100644 apps/web-naive/src/views/infra/redis/modules/info.vue delete mode 100644 apps/web-naive/src/views/infra/redis/modules/memory.vue delete mode 100644 apps/web-naive/src/views/infra/server/index.vue delete mode 100644 apps/web-naive/src/views/infra/skywalking/index.vue delete mode 100644 apps/web-naive/src/views/infra/swagger/index.vue delete mode 100644 apps/web-naive/src/views/infra/webSocket/index.vue delete mode 100644 apps/web-naive/src/views/system/area/data.ts delete mode 100644 apps/web-naive/src/views/system/area/index.vue delete mode 100644 apps/web-naive/src/views/system/area/modules/form.vue delete mode 100644 apps/web-naive/src/views/system/dept/data.ts delete mode 100644 apps/web-naive/src/views/system/dept/index.vue delete mode 100644 apps/web-naive/src/views/system/dept/modules/form.vue delete mode 100644 apps/web-naive/src/views/system/dict/data.ts delete mode 100644 apps/web-naive/src/views/system/dict/index.vue delete mode 100644 apps/web-naive/src/views/system/dict/modules/data-form.vue delete mode 100644 apps/web-naive/src/views/system/dict/modules/data-grid.vue delete mode 100644 apps/web-naive/src/views/system/dict/modules/type-form.vue delete mode 100644 apps/web-naive/src/views/system/dict/modules/type-grid.vue delete mode 100644 apps/web-naive/src/views/system/loginlog/data.ts delete mode 100644 apps/web-naive/src/views/system/loginlog/index.vue delete mode 100644 apps/web-naive/src/views/system/loginlog/modules/detail.vue delete mode 100644 apps/web-naive/src/views/system/mail/account/data.ts delete mode 100644 apps/web-naive/src/views/system/mail/account/index.vue delete mode 100644 apps/web-naive/src/views/system/mail/account/modules/form.vue delete mode 100644 apps/web-naive/src/views/system/mail/log/data.ts delete mode 100644 apps/web-naive/src/views/system/mail/log/index.vue delete mode 100644 apps/web-naive/src/views/system/mail/log/modules/detail.vue delete mode 100644 apps/web-naive/src/views/system/mail/template/data.ts delete mode 100644 apps/web-naive/src/views/system/mail/template/index.vue delete mode 100644 apps/web-naive/src/views/system/mail/template/modules/form.vue delete mode 100644 apps/web-naive/src/views/system/mail/template/modules/send-form.vue delete mode 100644 apps/web-naive/src/views/system/menu/data.ts delete mode 100644 apps/web-naive/src/views/system/menu/index.vue delete mode 100644 apps/web-naive/src/views/system/menu/modules/form.vue delete mode 100644 apps/web-naive/src/views/system/notice/data.ts delete mode 100644 apps/web-naive/src/views/system/notice/index.vue delete mode 100644 apps/web-naive/src/views/system/notice/modules/form.vue delete mode 100644 apps/web-naive/src/views/system/notify/message/data.ts delete mode 100644 apps/web-naive/src/views/system/notify/message/index.vue delete mode 100644 apps/web-naive/src/views/system/notify/message/modules/detail.vue delete mode 100644 apps/web-naive/src/views/system/notify/my/data.ts delete mode 100644 apps/web-naive/src/views/system/notify/my/index.vue delete mode 100644 apps/web-naive/src/views/system/notify/my/modules/detail.vue delete mode 100644 apps/web-naive/src/views/system/notify/template/data.ts delete mode 100644 apps/web-naive/src/views/system/notify/template/index.vue delete mode 100644 apps/web-naive/src/views/system/notify/template/modules/form.vue delete mode 100644 apps/web-naive/src/views/system/notify/template/modules/send-form.vue delete mode 100644 apps/web-naive/src/views/system/oauth2/client/data.ts delete mode 100644 apps/web-naive/src/views/system/oauth2/client/index.vue delete mode 100644 apps/web-naive/src/views/system/oauth2/client/modules/form.vue delete mode 100644 apps/web-naive/src/views/system/oauth2/token/data.ts delete mode 100644 apps/web-naive/src/views/system/oauth2/token/index.vue delete mode 100644 apps/web-naive/src/views/system/operatelog/data.ts delete mode 100644 apps/web-naive/src/views/system/operatelog/index.vue delete mode 100644 apps/web-naive/src/views/system/operatelog/modules/detail.vue delete mode 100644 apps/web-naive/src/views/system/post/data.ts delete mode 100644 apps/web-naive/src/views/system/post/index.vue delete mode 100644 apps/web-naive/src/views/system/post/modules/form.vue delete mode 100644 apps/web-naive/src/views/system/role/data.ts delete mode 100644 apps/web-naive/src/views/system/role/index.vue delete mode 100644 apps/web-naive/src/views/system/role/modules/assign-data-permission-form.vue delete mode 100644 apps/web-naive/src/views/system/role/modules/assign-menu-form.vue delete mode 100644 apps/web-naive/src/views/system/role/modules/form.vue delete mode 100644 apps/web-naive/src/views/system/sms/channel/data.ts delete mode 100644 apps/web-naive/src/views/system/sms/channel/index.vue delete mode 100644 apps/web-naive/src/views/system/sms/channel/modules/form.vue delete mode 100644 apps/web-naive/src/views/system/sms/log/data.ts delete mode 100644 apps/web-naive/src/views/system/sms/log/index.vue delete mode 100644 apps/web-naive/src/views/system/sms/log/modules/detail.vue delete mode 100644 apps/web-naive/src/views/system/sms/template/data.ts delete mode 100644 apps/web-naive/src/views/system/sms/template/index.vue delete mode 100644 apps/web-naive/src/views/system/sms/template/modules/form.vue delete mode 100644 apps/web-naive/src/views/system/sms/template/modules/send-form.vue delete mode 100644 apps/web-naive/src/views/system/social/client/data.ts delete mode 100644 apps/web-naive/src/views/system/social/client/index.vue delete mode 100644 apps/web-naive/src/views/system/social/client/modules/form.vue delete mode 100644 apps/web-naive/src/views/system/social/user/data.ts delete mode 100644 apps/web-naive/src/views/system/social/user/index.vue delete mode 100644 apps/web-naive/src/views/system/social/user/modules/detail.vue delete mode 100644 apps/web-naive/src/views/system/tenant/data.ts delete mode 100644 apps/web-naive/src/views/system/tenant/index.vue delete mode 100644 apps/web-naive/src/views/system/tenant/modules/form.vue delete mode 100644 apps/web-naive/src/views/system/tenantPackage/data.ts delete mode 100644 apps/web-naive/src/views/system/tenantPackage/index.vue delete mode 100644 apps/web-naive/src/views/system/tenantPackage/modules/form.vue delete mode 100644 apps/web-naive/src/views/system/user/data.ts delete mode 100644 apps/web-naive/src/views/system/user/index.vue delete mode 100644 apps/web-naive/src/views/system/user/modules/assign-role-form.vue delete mode 100644 apps/web-naive/src/views/system/user/modules/dept-tree.vue delete mode 100644 apps/web-naive/src/views/system/user/modules/form.vue delete mode 100644 apps/web-naive/src/views/system/user/modules/import-form.vue delete mode 100644 apps/web-naive/src/views/system/user/modules/reset-password-form.vue diff --git a/apps/web-naive/.env b/apps/web-naive/.env index 96181e2fd..213b52ce9 100644 --- a/apps/web-naive/.env +++ b/apps/web-naive/.env @@ -1,26 +1,8 @@ # 应用标题 -VITE_APP_TITLE=芋道管理系统 +VITE_APP_TITLE=Vben Admin Naive # 应用命名空间,用于缓存、store等功能的前缀,确保隔离 -VITE_APP_NAMESPACE=yudao-vben-naive +VITE_APP_NAMESPACE=vben-web-naive # 对store进行加密的密钥,在将store持久化到localStorage时会使用该密钥进行加密 VITE_APP_STORE_SECURE_KEY=please-replace-me-with-your-own-key - -# 是否开启模拟数据 -VITE_NITRO_MOCK=false - -# 租户开关 -VITE_APP_TENANT_ENABLE=true - -# 验证码的开关 -VITE_APP_CAPTCHA_ENABLE=false - -# 文档地址的开关 -VITE_APP_DOCALERT_ENABLE=true - -# 百度统计 -VITE_APP_BAIDU_CODE = f28027bf427e93ffa2debd327a9407e5 - -# GoView域名 -VITE_GOVIEW_URL='http://127.0.0.1:3000' diff --git a/apps/web-naive/.env.development b/apps/web-naive/.env.development index 0cc341046..11c5254ae 100644 --- a/apps/web-naive/.env.development +++ b/apps/web-naive/.env.development @@ -3,19 +3,14 @@ VITE_PORT=5888 VITE_BASE=/ -# 请求路径 -VITE_BASE_URL=http://127.0.0.1:48080 # 接口地址 -VITE_GLOB_API_URL=/admin-api -# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持S3服务 -VITE_UPLOAD_TYPE=server +VITE_GLOB_API_URL=/api + +# 是否开启 Nitro Mock服务,true 为开启,false 为关闭 +VITE_NITRO_MOCK=true + # 是否打开 devtools,true 为打开,false 为关闭 VITE_DEVTOOLS=false # 是否注入全局loading VITE_INJECT_APP_LOADING=true - -# 默认登录用户名 -VITE_APP_DEFAULT_USERNAME=admin -# 默认登录密码 -VITE_APP_DEFAULT_PASSWORD=admin123 diff --git a/apps/web-naive/.env.production b/apps/web-naive/.env.production index 910fd64cc..5375847a6 100644 --- a/apps/web-naive/.env.production +++ b/apps/web-naive/.env.production @@ -1,11 +1,7 @@ VITE_BASE=/ -# 请求路径 -VITE_BASE_URL=http://127.0.0.1:48080 # 接口地址 -VITE_GLOB_API_URL=http://127.0.0.1:48080/admin-api -# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持S3服务 -VITE_UPLOAD_TYPE=server +VITE_GLOB_API_URL=https://mock-napi.vben.pro/api # 是否开启压缩,可以设置为 none, brotli, gzip VITE_COMPRESS=none diff --git a/apps/web-naive/package.json b/apps/web-naive/package.json index 44b63afb2..ff69374ff 100644 --- a/apps/web-naive/package.json +++ b/apps/web-naive/package.json @@ -26,8 +26,6 @@ "#/*": "./src/*" }, "dependencies": { - "@form-create/antd-designer": "catalog:", - "@form-create/naive-ui": "catalog:", "@vben/access": "workspace:*", "@vben/common-ui": "workspace:*", "@vben/constants": "workspace:*", @@ -43,9 +41,6 @@ "@vben/types": "workspace:*", "@vben/utils": "workspace:*", "@vueuse/core": "catalog:", - "cropperjs": "catalog:", - "dayjs": "catalog:", - "highlight.js": "catalog:", "naive-ui": "catalog:", "pinia": "catalog:", "vue": "catalog:", diff --git a/apps/web-naive/src/adapter/form.ts b/apps/web-naive/src/adapter/form.ts index c782f5f47..9de44a01d 100644 --- a/apps/web-naive/src/adapter/form.ts +++ b/apps/web-naive/src/adapter/form.ts @@ -7,7 +7,6 @@ import type { ComponentType } from './component'; import { setupVbenForm, useVbenForm as useForm, z } from '@vben/common-ui'; import { $t } from '@vben/locales'; -import { isMobile } from '@vben/utils'; async function initSetupVbenForm() { setupVbenForm({ @@ -34,25 +33,6 @@ async function initSetupVbenForm() { } return true; }, - // 手机号非必填 - mobile: (value, _params, ctx) => { - if (value === undefined || value === null || value.length === 0) { - return true; - } else if (!isMobile(value)) { - return $t('ui.formRules.mobile', [ctx.label]); - } - return true; - }, - // 手机号必填 - mobileRequired: (value, _params, ctx) => { - if (value === undefined || value === null || value.length === 0) { - return $t('ui.formRules.required', [ctx.label]); - } - if (!isMobile(value)) { - return $t('ui.formRules.mobile', [ctx.label]); - } - return true; - }, }, }); } diff --git a/apps/web-naive/src/adapter/vxe-table.ts b/apps/web-naive/src/adapter/vxe-table.ts index 175854332..3bad067cd 100644 --- a/apps/web-naive/src/adapter/vxe-table.ts +++ b/apps/web-naive/src/adapter/vxe-table.ts @@ -1,17 +1,10 @@ import type { VxeTableGridOptions } from '@vben/plugins/vxe-table'; -import type { Recordable } from '@vben/types'; import { h } from 'vue'; -import { IconifyIcon } from '@vben/icons'; -import { $te } from '@vben/locales'; import { setupVbenVxeTable, useVbenVxeGrid } from '@vben/plugins/vxe-table'; -import { isFunction, isString } from '@vben/utils'; -import { NButton, NImage, NPopconfirm, NSwitch } from 'naive-ui'; - -import { DictTag } from '#/components/dict-tag'; -import { $t } from '#/locales'; +import { NButton, NImage } from 'naive-ui'; import { useVbenForm } from './form'; @@ -29,32 +22,16 @@ setupVbenVxeTable({ // 全局禁用vxe-table的表单配置,使用formOptions enabled: false, }, - toolbarConfig: { - import: false, // 是否导入 - export: false, // 是否导出 - refresh: true, // 是否刷新 - print: false, // 是否打印 - zoom: true, // 是否缩放 - custom: true, // 是否自定义配置 - }, - customConfig: { - mode: 'modal', - }, proxyConfig: { autoLoad: true, response: { - result: 'list', + result: 'items', total: 'total', + list: 'items', }, showActiveMsg: true, showResponseMsg: false, }, - pagerConfig: { - enabled: true, - }, - sortConfig: { - multiple: true, - }, round: true, showOverflow: true, size: 'small', @@ -81,230 +58,12 @@ setupVbenVxeTable({ }, }); - // 表格配置项可以用 cellRender: { name: 'CellDict', props:{dictType: ''} }, - vxeUI.renderer.add('CellDict', { - renderTableDefault(renderOpts, params) { - const { props } = renderOpts; - const { column, row } = params; - if (!props) { - return ''; - } - // 使用 DictTag 组件替代原来的实现 - return h(DictTag, { - type: props.type, - value: row[column.field]?.toString(), - }); - }, - }); - - // 表格配置项可以用 cellRender: { name: 'CellSwitch', props: { beforeChange: () => {} } }, - // add by 芋艿:from https://github.com/vbenjs/vue-vben-admin/blob/main/playground/src/adapter/vxe-table.ts#L97-L123 - vxeUI.renderer.add('CellSwitch', { - renderTableDefault({ attrs, props }, { column, row }) { - const loadingKey = `__loading_${column.field}`; - const finallyProps = { - checkedChildren: $t('common.enabled'), - checkedValue: 1, - unCheckedChildren: $t('common.disabled'), - unCheckedValue: 0, - ...props, - checked: row[column.field], - loading: row[loadingKey] ?? false, - 'onUpdate:checked': onChange, - }; - async function onChange(newVal: any) { - row[loadingKey] = true; - try { - const result = await attrs?.beforeChange?.(newVal, row); - if (result !== false) { - row[column.field] = newVal; - } - } finally { - row[loadingKey] = false; - } - } - return h(NSwitch, finallyProps); - }, - }); - - // 注册表格的操作按钮渲染器 cellRender: { name: 'CellOperation', options: ['edit', 'delete'] } - // add by 芋艿:from https://github.com/vbenjs/vue-vben-admin/blob/main/playground/src/adapter/vxe-table.ts#L125-L255 - vxeUI.renderer.add('CellOperation', { - renderTableDefault({ attrs, options, props }, { column, row }) { - const defaultProps = { - text: true, - type: 'primary', - ...props, - }; - let align = 'end'; - switch (column.align) { - case 'center': { - align = 'center'; - break; - } - case 'left': { - align = 'start'; - break; - } - default: { - align = 'end'; - break; - } - } - const presets: Recordable> = { - delete: { - type: 'error', - concent: $t('common.delete'), - }, - edit: { - concent: $t('common.edit'), - }, - }; - const operations: Array> = ( - options || ['edit', 'delete'] - ) - .map((opt) => { - if (isString(opt)) { - return presets[opt] - ? { code: opt, ...presets[opt], ...defaultProps } - : { - code: opt, - concent: $te(`common.${opt}`) ? $t(`common.${opt}`) : opt, - ...defaultProps, - }; - } else { - return { ...defaultProps, ...presets[opt.code], ...opt }; - } - }) - .map((opt) => { - const optBtn: Recordable = {}; - Object.keys(opt).forEach((key) => { - optBtn[key] = isFunction(opt[key]) ? opt[key](row) : opt[key]; - }); - return optBtn; - }) - .filter((opt) => opt.show !== false); - - function renderBtn(opt: Recordable, listen = true) { - return h( - NButton, - { - ...props, - ...opt, - icon: undefined, - onClick: listen - ? () => - attrs?.onClick?.({ - code: opt.code, - row, - }) - : undefined, - }, - { - default: () => { - const content = []; - if (opt.icon) { - content.push( - h(IconifyIcon, { class: 'size-5', icon: opt.icon }), - ); - } - content.push(opt.concent); - return content; - }, - }, - ); - } - - function renderConfirm(opt: Recordable) { - return h( - NPopconfirm, - { - ...props, - ...opt, - icon: undefined, - onPositiveClick: () => { - attrs?.onClick?.({ - code: opt.code, - row, - }); - }, - }, - { - trigger: () => { - return h( - NButton, - { - ...props, - ...opt, - icon: undefined, - }, - { - default: () => { - const content = []; - if (opt.icon) { - content.push( - h(IconifyIcon, { class: 'size-5', icon: opt.icon }), - ); - } - content.push(opt.concent); - return content; - }, - }, - ); - }, - default: () => { - return $t('ui.actionMessage.deleteConfirm', [ - row[attrs?.nameField || 'name'], - ]); - }, - }, - ); - } - - const btns = operations.map((opt) => - opt.code === 'delete' ? renderConfirm(opt) : renderBtn(opt), - ); - return h( - 'div', - { - class: 'flex table-operations ml-2', - style: { justifyContent: align }, - }, - btns, - ); - }, - }); - // 这里可以自行扩展 vxe-table 的全局配置,比如自定义格式化 // vxeUI.formats.add - // add by 星语:数量格式化,例如说:金额 - // TODO @xingyu:建议金额,和数量分开哈;原因是,有些团队希望金额,单独控制; - vxeUI.formats.add('formatNumber', { - cellFormatMethod({ cellValue }, digits = 2) { - if (cellValue === null || cellValue === undefined) { - return ''; - } - if (isString(cellValue)) { - cellValue = Number.parseFloat(cellValue); - } - // 如果非 number,则直接返回空串 - if (Number.isNaN(cellValue)) { - return ''; - } - return cellValue.toFixed(digits); - }, - }); }, useVbenForm, }); export { useVbenVxeGrid }; -// add by 芋艿:from https://github.com/vbenjs/vue-vben-admin/blob/main/playground/src/adapter/vxe-table.ts#L264-L270 -export type OnActionClickParams> = { - code: string; - row: T; -}; -export type OnActionClickFn> = ( - params: OnActionClickParams, -) => void; + export type * from '@vben/plugins/vxe-table'; diff --git a/apps/web-naive/src/api/core/auth.ts b/apps/web-naive/src/api/core/auth.ts index ccb6da340..71d9f9943 100644 --- a/apps/web-naive/src/api/core/auth.ts +++ b/apps/web-naive/src/api/core/auth.ts @@ -1,5 +1,3 @@ -import type { AuthPermissionInfo } from '@vben/types'; - import { baseRequestClient, requestClient } from '#/api/request'; export namespace AuthApi { @@ -7,151 +5,47 @@ export namespace AuthApi { export interface LoginParams { password?: string; username?: string; - captchaVerification?: string; - // 绑定社交登录时,需要传递如下参数 - socialType?: number; - socialCode?: string; - socialState?: string; } /** 登录接口返回值 */ export interface LoginResult { accessToken: string; - refreshToken: string; - userId: number; - expiresTime: number; } - /** 租户信息返回值 */ - export interface TenantResult { - id: number; - name: string; - } - - /** 手机验证码获取接口参数 */ - export interface SmsCodeParams { - mobile: string; - scene: number; - } - - /** 手机验证码登录接口参数 */ - export interface SmsLoginParams { - mobile: string; - code: string; - } - - /** 注册接口参数 */ - export interface RegisterParams { - username: string; - password: string; - captchaVerification: string; - } - - /** 重置密码接口参数 */ - export interface ResetPasswordParams { - password: string; - mobile: string; - code: string; - } - - /** 社交快捷登录接口参数 */ - export interface SocialLoginParams { - type: number; - code: string; - state: string; + export interface RefreshTokenResult { + data: string; + status: number; } } -/** 登录 */ +/** + * 登录 + */ export async function loginApi(data: AuthApi.LoginParams) { - return requestClient.post('/system/auth/login', data); + return requestClient.post('/auth/login', data); } -/** 刷新 accessToken */ -export async function refreshTokenApi(refreshToken: string) { - return baseRequestClient.post( - `/system/auth/refresh-token?refreshToken=${refreshToken}`, - ); -} - -/** 退出登录 */ -export async function logoutApi(accessToken: string) { - return baseRequestClient.post( - '/system/auth/logout', - {}, - { - headers: { - Authorization: `Bearer ${accessToken}`, - }, - }, - ); -} - -/** 获取权限信息 */ -export async function getAuthPermissionInfoApi() { - return requestClient.get( - '/system/auth/get-permission-info', - ); -} - -/** 获取租户列表 */ -export async function getTenantSimpleList() { - return requestClient.get( - `/system/tenant/simple-list`, - ); -} - -/** 使用租户域名,获得租户信息 */ -export async function getTenantByWebsite(website: string) { - return requestClient.get( - `/system/tenant/get-by-website?website=${website}`, - ); -} - -/** 获取验证码 */ -export async function getCaptcha(data: any) { - return baseRequestClient.post('/system/captcha/get', data); -} - -/** 校验验证码 */ -export async function checkCaptcha(data: any) { - return baseRequestClient.post('/system/captcha/check', data); -} - -/** 获取登录验证码 */ -export async function sendSmsCode(data: AuthApi.SmsCodeParams) { - return requestClient.post('/system/auth/send-sms-code', data); -} - -/** 短信验证码登录 */ -export async function smsLogin(data: AuthApi.SmsLoginParams) { - return requestClient.post('/system/auth/sms-login', data); -} - -/** 注册 */ -export async function register(data: AuthApi.RegisterParams) { - return requestClient.post('/system/auth/register', data); -} - -/** 通过短信重置密码 */ -export async function smsResetPassword(data: AuthApi.ResetPasswordParams) { - return requestClient.post('/system/auth/reset-password', data); -} - -/** 社交授权的跳转 */ -export async function socialAuthRedirect(type: number, redirectUri: string) { - return requestClient.get('/system/auth/social-auth-redirect', { - params: { - type, - redirectUri, - }, +/** + * 刷新accessToken + */ +export async function refreshTokenApi() { + return baseRequestClient.post('/auth/refresh', { + withCredentials: true, }); } -/** 社交快捷登录 */ -export async function socialLogin(data: AuthApi.SocialLoginParams) { - return requestClient.post( - '/system/auth/social-login', - data, - ); +/** + * 退出登录 + */ +export async function logoutApi() { + return baseRequestClient.post('/auth/logout', { + withCredentials: true, + }); +} + +/** + * 获取用户权限码 + */ +export async function getAccessCodesApi() { + return requestClient.get('/auth/codes'); } diff --git a/apps/web-naive/src/api/core/index.ts b/apps/web-naive/src/api/core/index.ts index 269586ee8..28a5aef47 100644 --- a/apps/web-naive/src/api/core/index.ts +++ b/apps/web-naive/src/api/core/index.ts @@ -1 +1,3 @@ export * from './auth'; +export * from './menu'; +export * from './user'; diff --git a/apps/web-naive/src/api/core/menu.ts b/apps/web-naive/src/api/core/menu.ts new file mode 100644 index 000000000..9ef60b11c --- /dev/null +++ b/apps/web-naive/src/api/core/menu.ts @@ -0,0 +1,10 @@ +import type { RouteRecordStringComponent } from '@vben/types'; + +import { requestClient } from '#/api/request'; + +/** + * 获取用户所有菜单 + */ +export async function getAllMenusApi() { + return requestClient.get('/menu/all'); +} diff --git a/apps/web-naive/src/api/core/user.ts b/apps/web-naive/src/api/core/user.ts new file mode 100644 index 000000000..7e28ea848 --- /dev/null +++ b/apps/web-naive/src/api/core/user.ts @@ -0,0 +1,10 @@ +import type { UserInfo } from '@vben/types'; + +import { requestClient } from '#/api/request'; + +/** + * 获取用户信息 + */ +export async function getUserInfoApi() { + return requestClient.get('/user/info'); +} diff --git a/apps/web-naive/src/api/infra/api-access-log/index.ts b/apps/web-naive/src/api/infra/api-access-log/index.ts deleted file mode 100644 index 656e38084..000000000 --- a/apps/web-naive/src/api/infra/api-access-log/index.ts +++ /dev/null @@ -1,44 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace InfraApiAccessLogApi { - /** API 访问日志信息 */ - export interface ApiAccessLog { - id: number; - traceId: string; - userId: number; - userType: number; - applicationName: string; - requestMethod: string; - requestParams: string; - responseBody: string; - requestUrl: string; - userIp: string; - userAgent: string; - operateModule: string; - operateName: string; - operateType: number; - beginTime: string; - endTime: string; - duration: number; - resultCode: number; - resultMsg: string; - createTime: string; - } -} - -/** 查询 API 访问日志列表 */ -export function getApiAccessLogPage(params: PageParam) { - return requestClient.get>( - '/infra/api-access-log/page', - { params }, - ); -} - -/** 导出 API 访问日志 */ -export function exportApiAccessLog(params: any) { - return requestClient.download('/infra/api-access-log/export-excel', { - params, - }); -} diff --git a/apps/web-naive/src/api/infra/api-error-log/index.ts b/apps/web-naive/src/api/infra/api-error-log/index.ts deleted file mode 100644 index 863f73e9b..000000000 --- a/apps/web-naive/src/api/infra/api-error-log/index.ts +++ /dev/null @@ -1,55 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace InfraApiErrorLogApi { - /** API 错误日志信息 */ - export interface ApiErrorLog { - id: number; - traceId: string; - userId: number; - userType: number; - applicationName: string; - requestMethod: string; - requestParams: string; - requestUrl: string; - userIp: string; - userAgent: string; - exceptionTime: string; - exceptionName: string; - exceptionMessage: string; - exceptionRootCauseMessage: string; - exceptionStackTrace: string; - exceptionClassName: string; - exceptionFileName: string; - exceptionMethodName: string; - exceptionLineNumber: number; - processUserId: number; - processStatus: number; - processTime: string; - resultCode: number; - createTime: string; - } -} - -/** 查询 API 错误日志列表 */ -export function getApiErrorLogPage(params: PageParam) { - return requestClient.get>( - '/infra/api-error-log/page', - { params }, - ); -} - -/** 更新 API 错误日志的处理状态 */ -export function updateApiErrorLogStatus(id: number, processStatus: number) { - return requestClient.put( - `/infra/api-error-log/update-status?id=${id}&processStatus=${processStatus}`, - ); -} - -/** 导出 API 错误日志 */ -export function exportApiErrorLog(params: any) { - return requestClient.download('/infra/api-error-log/export-excel', { - params, - }); -} diff --git a/apps/web-naive/src/api/infra/codegen/index.ts b/apps/web-naive/src/api/infra/codegen/index.ts deleted file mode 100644 index d8fea0453..000000000 --- a/apps/web-naive/src/api/infra/codegen/index.ts +++ /dev/null @@ -1,157 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace InfraCodegenApi { - /** 代码生成表定义 */ - export interface CodegenTable { - id: number; - tableId: number; - isParentMenuIdValid: boolean; - dataSourceConfigId: number; - scene: number; - tableName: string; - tableComment: string; - remark: string; - moduleName: string; - businessName: string; - className: string; - classComment: string; - author: string; - createTime: Date; - updateTime: Date; - templateType: number; - parentMenuId: number; - } - - /** 代码生成字段定义 */ - export interface CodegenColumn { - id: number; - tableId: number; - columnName: string; - dataType: string; - columnComment: string; - nullable: number; - primaryKey: number; - ordinalPosition: number; - javaType: string; - javaField: string; - dictType: string; - example: string; - createOperation: number; - updateOperation: number; - listOperation: number; - listOperationCondition: string; - listOperationResult: number; - htmlType: string; - } - - /** 数据库表定义 */ - export interface DatabaseTable { - name: string; - comment: string; - } - - /** 代码生成详情 */ - export interface CodegenDetail { - table: CodegenTable; - columns: CodegenColumn[]; - } - - /** 代码预览 */ - export interface CodegenPreview { - filePath: string; - code: string; - } - - /** 更新代码生成请求 */ - export interface CodegenUpdateReqVO { - table: any | CodegenTable; - columns: CodegenColumn[]; - } - - /** 创建代码生成请求 */ - export interface CodegenCreateListReqVO { - dataSourceConfigId?: number; - tableNames: string[]; - } -} - -/** 查询列表代码生成表定义 */ -export function getCodegenTableList(dataSourceConfigId: number) { - return requestClient.get( - '/infra/codegen/table/list?', - { - params: { dataSourceConfigId }, - }, - ); -} - -/** 查询列表代码生成表定义 */ -export function getCodegenTablePage(params: PageParam) { - return requestClient.get>( - '/infra/codegen/table/page', - { params }, - ); -} - -/** 查询详情代码生成表定义 */ -export function getCodegenTable(tableId: number) { - return requestClient.get( - '/infra/codegen/detail', - { - params: { tableId }, - }, - ); -} - -/** 修改代码生成表定义 */ -export function updateCodegenTable(data: InfraCodegenApi.CodegenUpdateReqVO) { - return requestClient.put('/infra/codegen/update', data); -} - -/** 基于数据库的表结构,同步数据库的表和字段定义 */ -export function syncCodegenFromDB(tableId: number) { - return requestClient.put('/infra/codegen/sync-from-db', { - params: { tableId }, - }); -} - -/** 预览生成代码 */ -export function previewCodegen(tableId: number) { - return requestClient.get( - '/infra/codegen/preview', - { - params: { tableId }, - }, - ); -} - -/** 下载生成代码 */ -export function downloadCodegen(tableId: number) { - return requestClient.download('/infra/codegen/download', { - params: { tableId }, - }); -} - -/** 获得表定义 */ -export function getSchemaTableList(params: any) { - return requestClient.get( - '/infra/codegen/db/table/list', - { params }, - ); -} - -/** 基于数据库的表结构,创建代码生成器的表定义 */ -export function createCodegenList( - data: InfraCodegenApi.CodegenCreateListReqVO, -) { - return requestClient.post('/infra/codegen/create-list', data); -} - -/** 删除代码生成表定义 */ -export function deleteCodegenTable(tableId: number) { - return requestClient.delete('/infra/codegen/delete', { - params: { tableId }, - }); -} diff --git a/apps/web-naive/src/api/infra/config/index.ts b/apps/web-naive/src/api/infra/config/index.ts deleted file mode 100644 index 3911e01c7..000000000 --- a/apps/web-naive/src/api/infra/config/index.ts +++ /dev/null @@ -1,62 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace InfraConfigApi { - /** 参数配置信息 */ - export interface Config { - id?: number; - category: string; - name: string; - key: string; - value: string; - type: number; - visible: boolean; - remark: string; - createTime?: Date; - } -} - -/** 查询参数列表 */ -export function getConfigPage(params: PageParam) { - return requestClient.get>( - '/infra/config/page', - { - params, - }, - ); -} - -/** 查询参数详情 */ -export function getConfig(id: number) { - return requestClient.get(`/infra/config/get?id=${id}`); -} - -/** 根据参数键名查询参数值 */ -export function getConfigKey(configKey: string) { - return requestClient.get( - `/infra/config/get-value-by-key?key=${configKey}`, - ); -} - -/** 新增参数 */ -export function createConfig(data: InfraConfigApi.Config) { - return requestClient.post('/infra/config/create', data); -} - -/** 修改参数 */ -export function updateConfig(data: InfraConfigApi.Config) { - return requestClient.put('/infra/config/update', data); -} - -/** 删除参数 */ -export function deleteConfig(id: number) { - return requestClient.delete(`/infra/config/delete?id=${id}`); -} - -/** 导出参数 */ -export function exportConfig(params: any) { - return requestClient.download('/infra/config/export', { - params, - }); -} diff --git a/apps/web-naive/src/api/infra/data-source-config/index.ts b/apps/web-naive/src/api/infra/data-source-config/index.ts deleted file mode 100644 index 88641f654..000000000 --- a/apps/web-naive/src/api/infra/data-source-config/index.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { requestClient } from '#/api/request'; - -export namespace InfraDataSourceConfigApi { - /** 数据源配置信息 */ - export interface DataSourceConfig { - id?: number; - name: string; - url: string; - username: string; - password: string; - createTime?: Date; - } -} - -/** 查询数据源配置列表 */ -export function getDataSourceConfigList() { - return requestClient.get( - '/infra/data-source-config/list', - ); -} - -/** 查询数据源配置详情 */ -export function getDataSourceConfig(id: number) { - return requestClient.get( - `/infra/data-source-config/get?id=${id}`, - ); -} - -/** 新增数据源配置 */ -export function createDataSourceConfig( - data: InfraDataSourceConfigApi.DataSourceConfig, -) { - return requestClient.post('/infra/data-source-config/create', data); -} - -/** 修改数据源配置 */ -export function updateDataSourceConfig( - data: InfraDataSourceConfigApi.DataSourceConfig, -) { - return requestClient.put('/infra/data-source-config/update', data); -} - -/** 删除数据源配置 */ -export function deleteDataSourceConfig(id: number) { - return requestClient.delete(`/infra/data-source-config/delete?id=${id}`); -} diff --git a/apps/web-naive/src/api/infra/demo/demo01/index.ts b/apps/web-naive/src/api/infra/demo/demo01/index.ts deleted file mode 100644 index e36a73878..000000000 --- a/apps/web-naive/src/api/infra/demo/demo01/index.ts +++ /dev/null @@ -1,54 +0,0 @@ -import type { Dayjs } from 'dayjs'; - -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace Demo01ContactApi { - /** 示例联系人信息 */ - export interface Demo01Contact { - id: number; // 编号 - name?: string; // 名字 - sex?: boolean; // 性别 - birthday?: Dayjs | string; // 出生年 - description?: string; // 简介 - avatar: string; // 头像 - } -} - -/** 查询示例联系人分页 */ -export function getDemo01ContactPage(params: PageParam) { - return requestClient.get>( - '/infra/demo01-contact/page', - { params }, - ); -} - -/** 查询示例联系人详情 */ -export function getDemo01Contact(id: number) { - return requestClient.get( - `/infra/demo01-contact/get?id=${id}`, - ); -} - -/** 新增示例联系人 */ -export function createDemo01Contact(data: Demo01ContactApi.Demo01Contact) { - return requestClient.post('/infra/demo01-contact/create', data); -} - -/** 修改示例联系人 */ -export function updateDemo01Contact(data: Demo01ContactApi.Demo01Contact) { - return requestClient.put('/infra/demo01-contact/update', data); -} - -/** 删除示例联系人 */ -export function deleteDemo01Contact(id: number) { - return requestClient.delete(`/infra/demo01-contact/delete?id=${id}`); -} - -/** 导出示例联系人 */ -export function exportDemo01Contact(params: any) { - return requestClient.download('/infra/demo01-contact/export-excel', { - params, - }); -} diff --git a/apps/web-naive/src/api/infra/demo/demo02/index.ts b/apps/web-naive/src/api/infra/demo/demo02/index.ts deleted file mode 100644 index b4edd746e..000000000 --- a/apps/web-naive/src/api/infra/demo/demo02/index.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { requestClient } from '#/api/request'; - -export namespace Demo02CategoryApi { - /** 示例分类信息 */ - export interface Demo02Category { - id: number; // 编号 - name?: string; // 名字 - parentId?: number; // 父级编号 - children?: Demo02Category[]; - } -} - -/** 查询示例分类列表 */ -export function getDemo02CategoryList(params: any) { - return requestClient.get( - '/infra/demo02-category/list', - { params }, - ); -} - -/** 查询示例分类详情 */ -export function getDemo02Category(id: number) { - return requestClient.get( - `/infra/demo02-category/get?id=${id}`, - ); -} - -/** 新增示例分类 */ -export function createDemo02Category(data: Demo02CategoryApi.Demo02Category) { - return requestClient.post('/infra/demo02-category/create', data); -} - -/** 修改示例分类 */ -export function updateDemo02Category(data: Demo02CategoryApi.Demo02Category) { - return requestClient.put('/infra/demo02-category/update', data); -} - -/** 删除示例分类 */ -export function deleteDemo02Category(id: number) { - return requestClient.delete(`/infra/demo02-category/delete?id=${id}`); -} - -/** 导出示例分类 */ -export function exportDemo02Category(params: any) { - return requestClient.download('/infra/demo02-category/export-excel', { - params, - }); -} diff --git a/apps/web-naive/src/api/infra/demo/demo03/erp/index.ts b/apps/web-naive/src/api/infra/demo/demo03/erp/index.ts deleted file mode 100644 index 63d8f49f7..000000000 --- a/apps/web-naive/src/api/infra/demo/demo03/erp/index.ts +++ /dev/null @@ -1,139 +0,0 @@ -import type { Dayjs } from 'dayjs'; - -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace Demo03StudentApi { - /** 学生课程信息 */ - export interface Demo03Course { - id: number; // 编号 - studentId?: number; // 学生编号 - name?: string; // 名字 - score?: number; // 分数 - } - - /** 学生班级信息 */ - export interface Demo03Grade { - id: number; // 编号 - studentId?: number; // 学生编号 - name?: string; // 名字 - teacher?: string; // 班主任 - } - - /** 学生信息 */ - export interface Demo03Student { - id: number; // 编号 - name?: string; // 名字 - sex?: number; // 性别 - birthday?: Dayjs | string; // 出生日期 - description?: string; // 简介 - } -} - -/** 查询学生分页 */ -export function getDemo03StudentPage(params: PageParam) { - return requestClient.get>( - '/infra/demo03-student/page', - { params }, - ); -} - -/** 查询学生详情 */ -export function getDemo03Student(id: number) { - return requestClient.get( - `/infra/demo03-student/get?id=${id}`, - ); -} - -/** 新增学生 */ -export function createDemo03Student(data: Demo03StudentApi.Demo03Student) { - return requestClient.post('/infra/demo03-student/create', data); -} - -/** 修改学生 */ -export function updateDemo03Student(data: Demo03StudentApi.Demo03Student) { - return requestClient.put('/infra/demo03-student/update', data); -} - -/** 删除学生 */ -export function deleteDemo03Student(id: number) { - return requestClient.delete(`/infra/demo03-student/delete?id=${id}`); -} - -/** 导出学生 */ -export function exportDemo03Student(params: any) { - return requestClient.download('/infra/demo03-student/export-excel', { - params, - }); -} - -// ==================== 子表(学生课程) ==================== - -/** 获得学生课程分页 */ -export function getDemo03CoursePage(params: PageParam) { - return requestClient.get>( - `/infra/demo03-student/demo03-course/page`, - { - params, - }, - ); -} -/** 新增学生课程 */ -export function createDemo03Course(data: Demo03StudentApi.Demo03Course) { - return requestClient.post(`/infra/demo03-student/demo03-course/create`, data); -} - -/** 修改学生课程 */ -export function updateDemo03Course(data: Demo03StudentApi.Demo03Course) { - return requestClient.put(`/infra/demo03-student/demo03-course/update`, data); -} - -/** 删除学生课程 */ -export function deleteDemo03Course(id: number) { - return requestClient.delete( - `/infra/demo03-student/demo03-course/delete?id=${id}`, - ); -} - -/** 获得学生课程 */ -export function getDemo03Course(id: number) { - return requestClient.get( - `/infra/demo03-student/demo03-course/get?id=${id}`, - ); -} - -// ==================== 子表(学生班级) ==================== - -/** 获得学生班级分页 */ -export function getDemo03GradePage(params: PageParam) { - return requestClient.get>( - `/infra/demo03-student/demo03-grade/page`, - { - params, - }, - ); -} -/** 新增学生班级 */ -export function createDemo03Grade(data: Demo03StudentApi.Demo03Grade) { - return requestClient.post(`/infra/demo03-student/demo03-grade/create`, data); -} - -/** 修改学生班级 */ -export function updateDemo03Grade(data: Demo03StudentApi.Demo03Grade) { - return requestClient.put(`/infra/demo03-student/demo03-grade/update`, data); -} - -/** 删除学生班级 */ -export function deleteDemo03Grade(id: number) { - return requestClient.delete( - `/infra/demo03-student/demo03-grade/delete?id=${id}`, - ); -} - -/** 获得学生班级 */ -export function getDemo03Grade(id: number) { - return requestClient.get( - `/infra/demo03-student/demo03-grade/get?id=${id}`, - ); -} diff --git a/apps/web-naive/src/api/infra/demo/demo03/inner/index.ts b/apps/web-naive/src/api/infra/demo/demo03/inner/index.ts deleted file mode 100644 index f001171a9..000000000 --- a/apps/web-naive/src/api/infra/demo/demo03/inner/index.ts +++ /dev/null @@ -1,87 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace Demo03StudentApi { - /** 学生课程信息 */ - export interface Demo03Course { - id: number; // 编号 - studentId?: number; // 学生编号 - name?: string; // 名字 - score?: number; // 分数 - } - - /** 学生班级信息 */ - export interface Demo03Grade { - id: number; // 编号 - studentId?: number; // 学生编号 - name?: string; // 名字 - teacher?: string; // 班主任 - } - - /** 学生信息 */ - export interface Demo03Student { - id: number; // 编号 - name?: string; // 名字 - sex?: number; // 性别 - birthday?: Date; // 出生日期 - description?: string; // 简介 - demo03courses?: Demo03Course[]; - demo03grade?: Demo03Grade; - } -} - -/** 查询学生分页 */ -export function getDemo03StudentPage(params: PageParam) { - return requestClient.get>( - '/infra/demo03-student/page', - { params }, - ); -} - -/** 查询学生详情 */ -export function getDemo03Student(id: number) { - return requestClient.get( - `/infra/demo03-student/get?id=${id}`, - ); -} - -/** 新增学生 */ -export function createDemo03Student(data: Demo03StudentApi.Demo03Student) { - return requestClient.post('/infra/demo03-student/create', data); -} - -/** 修改学生 */ -export function updateDemo03Student(data: Demo03StudentApi.Demo03Student) { - return requestClient.put('/infra/demo03-student/update', data); -} - -/** 删除学生 */ -export function deleteDemo03Student(id: number) { - return requestClient.delete(`/infra/demo03-student/delete?id=${id}`); -} - -/** 导出学生 */ -export function exportDemo03Student(params: any) { - return requestClient.download('/infra/demo03-student/export-excel', { - params, - }); -} - -// ==================== 子表(学生课程) ==================== - -/** 获得学生课程列表 */ -export function getDemo03CourseListByStudentId(studentId: number) { - return requestClient.get( - `/infra/demo03-student/demo03-course/list-by-student-id?studentId=${studentId}`, - ); -} - -// ==================== 子表(学生班级) ==================== - -/** 获得学生班级 */ -export function getDemo03GradeByStudentId(studentId: number) { - return requestClient.get( - `/infra/demo03-student/demo03-grade/get-by-student-id?studentId=${studentId}`, - ); -} diff --git a/apps/web-naive/src/api/infra/demo/demo03/normal/index.ts b/apps/web-naive/src/api/infra/demo/demo03/normal/index.ts deleted file mode 100644 index 663776590..000000000 --- a/apps/web-naive/src/api/infra/demo/demo03/normal/index.ts +++ /dev/null @@ -1,89 +0,0 @@ -import type { Dayjs } from 'dayjs'; - -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace Demo03StudentApi { - /** 学生课程信息 */ - export interface Demo03Course { - id: number; // 编号 - studentId?: number; // 学生编号 - name?: string; // 名字 - score?: number; // 分数 - } - - /** 学生班级信息 */ - export interface Demo03Grade { - id: number; // 编号 - studentId?: number; // 学生编号 - name?: string; // 名字 - teacher?: string; // 班主任 - } - - /** 学生信息 */ - export interface Demo03Student { - id: number; // 编号 - name?: string; // 名字 - sex?: number; // 性别 - birthday?: Dayjs | string; // 出生日期 - description?: string; // 简介 - demo03courses?: Demo03Course[]; - demo03grade?: Demo03Grade; - } -} - -/** 查询学生分页 */ -export function getDemo03StudentPage(params: PageParam) { - return requestClient.get>( - '/infra/demo03-student/page', - { params }, - ); -} - -/** 查询学生详情 */ -export function getDemo03Student(id: number) { - return requestClient.get( - `/infra/demo03-student/get?id=${id}`, - ); -} - -/** 新增学生 */ -export function createDemo03Student(data: Demo03StudentApi.Demo03Student) { - return requestClient.post('/infra/demo03-student/create', data); -} - -/** 修改学生 */ -export function updateDemo03Student(data: Demo03StudentApi.Demo03Student) { - return requestClient.put('/infra/demo03-student/update', data); -} - -/** 删除学生 */ -export function deleteDemo03Student(id: number) { - return requestClient.delete(`/infra/demo03-student/delete?id=${id}`); -} - -/** 导出学生 */ -export function exportDemo03Student(params: any) { - return requestClient.download('/infra/demo03-student/export-excel', { - params, - }); -} - -// ==================== 子表(学生课程) ==================== - -/** 获得学生课程列表 */ -export function getDemo03CourseListByStudentId(studentId: number) { - return requestClient.get( - `/infra/demo03-student/demo03-course/list-by-student-id?studentId=${studentId}`, - ); -} - -// ==================== 子表(学生班级) ==================== - -/** 获得学生班级 */ -export function getDemo03GradeByStudentId(studentId: number) { - return requestClient.get( - `/infra/demo03-student/demo03-grade/get-by-student-id?studentId=${studentId}`, - ); -} diff --git a/apps/web-naive/src/api/infra/file-config/index.ts b/apps/web-naive/src/api/infra/file-config/index.ts deleted file mode 100644 index e74f6aad9..000000000 --- a/apps/web-naive/src/api/infra/file-config/index.ts +++ /dev/null @@ -1,76 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace InfraFileConfigApi { - /** 文件客户端配置 */ - export interface FileClientConfig { - basePath: string; - host?: string; - port?: number; - username?: string; - password?: string; - mode?: string; - endpoint?: string; - bucket?: string; - accessKey?: string; - accessSecret?: string; - pathStyle?: boolean; - enablePublicAccess?: boolean; - domain: string; - } - - /** 文件配置信息 */ - export interface FileConfig { - id?: number; - name: string; - storage?: number; - master: boolean; - visible: boolean; - config: FileClientConfig; - remark: string; - createTime?: Date; - } -} - -/** 查询文件配置列表 */ -export function getFileConfigPage(params: PageParam) { - return requestClient.get>( - '/infra/file-config/page', - { - params, - }, - ); -} - -/** 查询文件配置详情 */ -export function getFileConfig(id: number) { - return requestClient.get( - `/infra/file-config/get?id=${id}`, - ); -} - -/** 更新文件配置为主配置 */ -export function updateFileConfigMaster(id: number) { - return requestClient.put(`/infra/file-config/update-master?id=${id}`); -} - -/** 新增文件配置 */ -export function createFileConfig(data: InfraFileConfigApi.FileConfig) { - return requestClient.post('/infra/file-config/create', data); -} - -/** 修改文件配置 */ -export function updateFileConfig(data: InfraFileConfigApi.FileConfig) { - return requestClient.put('/infra/file-config/update', data); -} - -/** 删除文件配置 */ -export function deleteFileConfig(id: number) { - return requestClient.delete(`/infra/file-config/delete?id=${id}`); -} - -/** 测试文件配置 */ -export function testFileConfig(id: number) { - return requestClient.get(`/infra/file-config/test?id=${id}`); -} diff --git a/apps/web-naive/src/api/infra/file/index.ts b/apps/web-naive/src/api/infra/file/index.ts deleted file mode 100644 index a399db67d..000000000 --- a/apps/web-naive/src/api/infra/file/index.ts +++ /dev/null @@ -1,73 +0,0 @@ -import type { AxiosRequestConfig, PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -/** Axios 上传进度事件 */ -export type AxiosProgressEvent = AxiosRequestConfig['onUploadProgress']; - -export namespace InfraFileApi { - /** 文件信息 */ - export interface File { - id?: number; - configId?: number; - path: string; - name?: string; - url?: string; - size?: number; - type?: string; - createTime?: Date; - } - - /** 文件预签名地址 */ - export interface FilePresignedUrlRespVO { - configId: number; // 文件配置编号 - uploadUrl: string; // 文件上传 URL - url: string; // 文件 URL - path: string; // 文件路径 - } - - /** 上传文件 */ - export interface FileUploadReqVO { - file: globalThis.File; - directory?: string; - } -} - -/** 查询文件列表 */ -export function getFilePage(params: PageParam) { - return requestClient.get>('/infra/file/page', { - params, - }); -} - -/** 删除文件 */ -export function deleteFile(id: number) { - return requestClient.delete(`/infra/file/delete?id=${id}`); -} - -/** 获取文件预签名地址 */ -export function getFilePresignedUrl(name: string, directory?: string) { - return requestClient.get( - '/infra/file/presigned-url', - { - params: { name, directory }, - }, - ); -} - -/** 创建文件 */ -export function createFile(data: InfraFileApi.File) { - return requestClient.post('/infra/file/create', data); -} - -/** 上传文件 */ -export function uploadFile( - data: InfraFileApi.FileUploadReqVO, - onUploadProgress?: AxiosProgressEvent, -) { - // 特殊:由于 upload 内部封装,即使 directory 为 undefined,也会传递给后端 - if (!data.directory) { - delete data.directory; - } - return requestClient.upload('/infra/file/upload', data, { onUploadProgress }); -} diff --git a/apps/web-naive/src/api/infra/job-log/index.ts b/apps/web-naive/src/api/infra/job-log/index.ts deleted file mode 100644 index e115b9df7..000000000 --- a/apps/web-naive/src/api/infra/job-log/index.ts +++ /dev/null @@ -1,41 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace InfraJobLogApi { - /** 任务日志信息 */ - export interface JobLog { - id?: number; - jobId: number; - handlerName: string; - handlerParam: string; - cronExpression: string; - executeIndex: string; - beginTime: Date; - endTime: Date; - duration: string; - status: number; - createTime?: string; - result: string; - } -} - -/** 查询任务日志列表 */ -export function getJobLogPage(params: PageParam) { - return requestClient.get>( - '/infra/job-log/page', - { params }, - ); -} - -/** 查询任务日志详情 */ -export function getJobLog(id: number) { - return requestClient.get( - `/infra/job-log/get?id=${id}`, - ); -} - -/** 导出定时任务日志 */ -export function exportJobLog(params: any) { - return requestClient.download('/infra/job-log/export-excel', { params }); -} diff --git a/apps/web-naive/src/api/infra/job/index.ts b/apps/web-naive/src/api/infra/job/index.ts deleted file mode 100644 index fcec25c83..000000000 --- a/apps/web-naive/src/api/infra/job/index.ts +++ /dev/null @@ -1,70 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace InfraJobApi { - /** 任务信息 */ - export interface Job { - id?: number; - name: string; - status: number; - handlerName: string; - handlerParam: string; - cronExpression: string; - retryCount: number; - retryInterval: number; - monitorTimeout: number; - createTime?: Date; - } -} - -/** 查询任务列表 */ -export function getJobPage(params: PageParam) { - return requestClient.get>('/infra/job/page', { - params, - }); -} - -/** 查询任务详情 */ -export function getJob(id: number) { - return requestClient.get(`/infra/job/get?id=${id}`); -} - -/** 新增任务 */ -export function createJob(data: InfraJobApi.Job) { - return requestClient.post('/infra/job/create', data); -} - -/** 修改定时任务调度 */ -export function updateJob(data: InfraJobApi.Job) { - return requestClient.put('/infra/job/update', data); -} - -/** 删除定时任务调度 */ -export function deleteJob(id: number) { - return requestClient.delete(`/infra/job/delete?id=${id}`); -} - -/** 导出定时任务调度 */ -export function exportJob(params: any) { - return requestClient.download('/infra/job/export-excel', { params }); -} - -/** 任务状态修改 */ -export function updateJobStatus(id: number, status: number) { - const params = { - id, - status, - }; - return requestClient.put('/infra/job/update-status', { params }); -} - -/** 定时任务立即执行一次 */ -export function runJob(id: number) { - return requestClient.put(`/infra/job/trigger?id=${id}`); -} - -/** 获得定时任务的下 n 次执行时间 */ -export function getJobNextTimes(id: number) { - return requestClient.get(`/infra/job/get_next_times?id=${id}`); -} diff --git a/apps/web-naive/src/api/infra/redis/index.ts b/apps/web-naive/src/api/infra/redis/index.ts deleted file mode 100644 index cb8179da5..000000000 --- a/apps/web-naive/src/api/infra/redis/index.ts +++ /dev/null @@ -1,190 +0,0 @@ -import { requestClient } from '#/api/request'; - -export namespace InfraRedisApi { - /** Redis 信息 */ - export interface RedisInfo { - io_threaded_reads_processed: string; - tracking_clients: string; - uptime_in_seconds: string; - cluster_connections: string; - current_cow_size: string; - maxmemory_human: string; - aof_last_cow_size: string; - master_replid2: string; - mem_replication_backlog: string; - aof_rewrite_scheduled: string; - total_net_input_bytes: string; - rss_overhead_ratio: string; - hz: string; - current_cow_size_age: string; - redis_build_id: string; - errorstat_BUSYGROUP: string; - aof_last_bgrewrite_status: string; - multiplexing_api: string; - client_recent_max_output_buffer: string; - allocator_resident: string; - mem_fragmentation_bytes: string; - aof_current_size: string; - repl_backlog_first_byte_offset: string; - tracking_total_prefixes: string; - redis_mode: string; - redis_git_dirty: string; - aof_delayed_fsync: string; - allocator_rss_bytes: string; - repl_backlog_histlen: string; - io_threads_active: string; - rss_overhead_bytes: string; - total_system_memory: string; - loading: string; - evicted_keys: string; - maxclients: string; - cluster_enabled: string; - redis_version: string; - repl_backlog_active: string; - mem_aof_buffer: string; - allocator_frag_bytes: string; - io_threaded_writes_processed: string; - instantaneous_ops_per_sec: string; - used_memory_human: string; - total_error_replies: string; - role: string; - maxmemory: string; - used_memory_lua: string; - rdb_current_bgsave_time_sec: string; - used_memory_startup: string; - used_cpu_sys_main_thread: string; - lazyfree_pending_objects: string; - aof_pending_bio_fsync: string; - used_memory_dataset_perc: string; - allocator_frag_ratio: string; - arch_bits: string; - used_cpu_user_main_thread: string; - mem_clients_normal: string; - expired_time_cap_reached_count: string; - unexpected_error_replies: string; - mem_fragmentation_ratio: string; - aof_last_rewrite_time_sec: string; - master_replid: string; - aof_rewrite_in_progress: string; - lru_clock: string; - maxmemory_policy: string; - run_id: string; - latest_fork_usec: string; - tracking_total_items: string; - total_commands_processed: string; - expired_keys: string; - errorstat_ERR: string; - used_memory: string; - module_fork_in_progress: string; - errorstat_WRONGPASS: string; - aof_buffer_length: string; - dump_payload_sanitizations: string; - mem_clients_slaves: string; - keyspace_misses: string; - server_time_usec: string; - executable: string; - lazyfreed_objects: string; - db0: string; - used_memory_peak_human: string; - keyspace_hits: string; - rdb_last_cow_size: string; - aof_pending_rewrite: string; - used_memory_overhead: string; - active_defrag_hits: string; - tcp_port: string; - uptime_in_days: string; - used_memory_peak_perc: string; - current_save_keys_processed: string; - blocked_clients: string; - total_reads_processed: string; - expire_cycle_cpu_milliseconds: string; - sync_partial_err: string; - used_memory_scripts_human: string; - aof_current_rewrite_time_sec: string; - aof_enabled: string; - process_supervised: string; - master_repl_offset: string; - used_memory_dataset: string; - used_cpu_user: string; - rdb_last_bgsave_status: string; - tracking_total_keys: string; - atomicvar_api: string; - allocator_rss_ratio: string; - client_recent_max_input_buffer: string; - clients_in_timeout_table: string; - aof_last_write_status: string; - mem_allocator: string; - used_memory_scripts: string; - used_memory_peak: string; - process_id: string; - master_failover_state: string; - errorstat_NOAUTH: string; - used_cpu_sys: string; - repl_backlog_size: string; - connected_slaves: string; - current_save_keys_total: string; - gcc_version: string; - total_system_memory_human: string; - sync_full: string; - connected_clients: string; - module_fork_last_cow_size: string; - total_writes_processed: string; - allocator_active: string; - total_net_output_bytes: string; - pubsub_channels: string; - current_fork_perc: string; - active_defrag_key_hits: string; - rdb_changes_since_last_save: string; - instantaneous_input_kbps: string; - used_memory_rss_human: string; - configured_hz: string; - expired_stale_perc: string; - active_defrag_misses: string; - used_cpu_sys_children: string; - number_of_cached_scripts: string; - sync_partial_ok: string; - used_memory_lua_human: string; - rdb_last_save_time: string; - pubsub_patterns: string; - slave_expires_tracked_keys: string; - redis_git_sha1: string; - used_memory_rss: string; - rdb_last_bgsave_time_sec: string; - os: string; - mem_not_counted_for_evict: string; - active_defrag_running: string; - rejected_connections: string; - aof_rewrite_buffer_length: string; - total_forks: string; - active_defrag_key_misses: string; - allocator_allocated: string; - aof_base_size: string; - instantaneous_output_kbps: string; - second_repl_offset: string; - rdb_bgsave_in_progress: string; - used_cpu_user_children: string; - total_connections_received: string; - migrate_cached_sockets: string; - } - - /** Redis 命令统计 */ - export interface RedisCommandStats { - command: string; - calls: number; - usec: number; - } - - /** Redis 监控信息 */ - export interface RedisMonitorInfo { - info: RedisInfo; - dbSize: number; - commandStats: RedisCommandStats[]; - } -} - -/** 获取 Redis 监控信息 */ -export function getRedisMonitorInfo() { - return requestClient.get( - '/infra/redis/get-monitor-info', - ); -} diff --git a/apps/web-naive/src/api/request.ts b/apps/web-naive/src/api/request.ts index 737344bb9..f8fbacc0b 100644 --- a/apps/web-naive/src/api/request.ts +++ b/apps/web-naive/src/api/request.ts @@ -3,7 +3,7 @@ */ import type { RequestClientOptions } from '@vben/request'; -import { isTenantEnable, useAppConfig } from '@vben/hooks'; +import { useAppConfig } from '@vben/hooks'; import { preferences } from '@vben/preferences'; import { authenticateResponseInterceptor, @@ -19,7 +19,6 @@ import { useAuthStore } from '#/store'; import { refreshTokenApi } from './core'; const { apiURL } = useAppConfig(import.meta.env, import.meta.env.PROD); -const tenantEnable = isTenantEnable(); function createRequestClient(baseURL: string, options?: RequestClientOptions) { const client = new RequestClient({ @@ -50,16 +49,8 @@ function createRequestClient(baseURL: string, options?: RequestClientOptions) { */ async function doRefreshToken() { const accessStore = useAccessStore(); - const refreshToken = accessStore.refreshToken as string; - if (!refreshToken) { - throw new Error('Refresh token is null!'); - } - const resp = await refreshTokenApi(refreshToken); - const newToken = resp?.data?.data?.accessToken; - // add by 芋艿:这里一定要抛出 resp.data,从而触发 authenticateResponseInterceptor 中,刷新令牌失败!!! - if (!newToken) { - throw resp.data; - } + const resp = await refreshTokenApi(); + const newToken = resp.data; accessStore.setAccessToken(newToken); return newToken; } @@ -75,14 +66,6 @@ function createRequestClient(baseURL: string, options?: RequestClientOptions) { config.headers.Authorization = formatToken(accessStore.accessToken); config.headers['Accept-Language'] = preferences.app.locale; - // 添加租户编号 - config.headers['tenant-id'] = tenantEnable - ? accessStore.tenantId - : undefined; - // 只有登录时,才设置 visit-tenant-id 访问租户 - config.headers['visit-tenant-id'] = tenantEnable - ? accessStore.visitTenantId - : undefined; return config; }, }); @@ -113,12 +96,7 @@ function createRequestClient(baseURL: string, options?: RequestClientOptions) { // 这里可以根据业务进行定制,你可以拿到 error 内的信息进行定制化处理,根据不同的 code 做不同的提示,而不是直接使用 message.error 提示 msg // 当前mock接口返回的错误字段是 error 或者 message const responseData = error?.response?.data ?? {}; - const errorMessage = - responseData?.error ?? responseData?.message ?? responseData.msg ?? ''; - // add by 芋艿:特殊:避免 401 “账号未登录”,重复提示。因为,此时会跳转到登录界面,只需提示一次!!! - if (error?.data?.code === 401) { - return; - } + const errorMessage = responseData?.error ?? responseData?.message ?? ''; // 如果没有错误信息,则会根据状态码进行提示 message.error(errorMessage || msg); }), @@ -132,17 +110,3 @@ export const requestClient = createRequestClient(apiURL, { }); export const baseRequestClient = new RequestClient({ baseURL: apiURL }); -baseRequestClient.addRequestInterceptor({ - fulfilled: (config) => { - const accessStore = useAccessStore(); - // 添加租户编号 - config.headers['tenant-id'] = tenantEnable - ? accessStore.tenantId - : undefined; - // 只有登录时,才设置 visit-tenant-id 访问租户 - config.headers['visit-tenant-id'] = tenantEnable - ? accessStore.visitTenantId - : undefined; - return config; - }, -}); diff --git a/apps/web-naive/src/api/system/area/index.ts b/apps/web-naive/src/api/system/area/index.ts deleted file mode 100644 index 8d3361da5..000000000 --- a/apps/web-naive/src/api/system/area/index.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { requestClient } from '#/api/request'; - -export namespace SystemAreaApi { - /** 地区信息 */ - export interface Area { - id?: number; - name: string; - code: string; - parentId?: number; - sort?: number; - status?: number; - createTime?: Date; - } -} - -/** 获得地区树 */ -export function getAreaTree() { - return requestClient.get('/system/area/tree'); -} - -/** 获得 IP 对应的地区名 */ -export function getAreaByIp(ip: string) { - return requestClient.get(`/system/area/get-by-ip?ip=${ip}`); -} diff --git a/apps/web-naive/src/api/system/dept/index.ts b/apps/web-naive/src/api/system/dept/index.ts deleted file mode 100644 index d2677a793..000000000 --- a/apps/web-naive/src/api/system/dept/index.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { requestClient } from '#/api/request'; - -export namespace SystemDeptApi { - /** 部门信息 */ - export interface Dept { - id?: number; - name: string; - parentId?: number; - status: number; - sort: number; - leaderUserId: number; - phone: string; - email: string; - createTime: Date; - children?: Dept[]; - } -} - -/** 查询部门(精简)列表 */ -export async function getSimpleDeptList() { - return requestClient.get('/system/dept/simple-list'); -} - -/** 查询部门列表 */ -export async function getDeptList() { - return requestClient.get('/system/dept/list'); -} - -/** 查询部门详情 */ -export async function getDept(id: number) { - return requestClient.get(`/system/dept/get?id=${id}`); -} - -/** 新增部门 */ -export async function createDept(data: SystemDeptApi.Dept) { - return requestClient.post('/system/dept/create', data); -} - -/** 修改部门 */ -export async function updateDept(data: SystemDeptApi.Dept) { - return requestClient.put('/system/dept/update', data); -} - -/** 删除部门 */ -export async function deleteDept(id: number) { - return requestClient.delete(`/system/dept/delete?id=${id}`); -} diff --git a/apps/web-naive/src/api/system/dict/data/index.ts b/apps/web-naive/src/api/system/dict/data/index.ts deleted file mode 100644 index a64330cda..000000000 --- a/apps/web-naive/src/api/system/dict/data/index.ts +++ /dev/null @@ -1,54 +0,0 @@ -import type { PageParam } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemDictDataApi { - /** 字典数据 */ - export type DictData = { - colorType: string; - createTime: Date; - cssClass: string; - dictType: string; - id?: number; - label: string; - remark: string; - sort?: number; - status: number; - value: string; - }; -} - -// 查询字典数据(精简)列表 -export function getSimpleDictDataList() { - return requestClient.get('/system/dict-data/simple-list'); -} - -// 查询字典数据列表 -export function getDictDataPage(params: PageParam) { - return requestClient.get('/system/dict-data/page', { params }); -} - -// 查询字典数据详情 -export function getDictData(id: number) { - return requestClient.get(`/system/dict-data/get?id=${id}`); -} - -// 新增字典数据 -export function createDictData(data: SystemDictDataApi.DictData) { - return requestClient.post('/system/dict-data/create', data); -} - -// 修改字典数据 -export function updateDictData(data: SystemDictDataApi.DictData) { - return requestClient.put('/system/dict-data/update', data); -} - -// 删除字典数据 -export function deleteDictData(id: number) { - return requestClient.delete(`/system/dict-data/delete?id=${id}`); -} - -// 导出字典类型数据 -export function exportDictData(params: any) { - return requestClient.download('/system/dict-data/export', { params }); -} diff --git a/apps/web-naive/src/api/system/dict/type/index.ts b/apps/web-naive/src/api/system/dict/type/index.ts deleted file mode 100644 index 612fe1052..000000000 --- a/apps/web-naive/src/api/system/dict/type/index.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { requestClient } from '#/api/request'; - -export namespace SystemDictTypeApi { - /** 字典类型 */ - export type DictType = { - createTime: Date; - id?: number; - name: string; - remark: string; - status: number; - type: string; - }; -} - -// 查询字典(精简)列表 -export function getSimpleDictTypeList() { - return requestClient.get('/system/dict-type/list-all-simple'); -} - -// 查询字典列表 -export function getDictTypePage(params: any) { - return requestClient.get('/system/dict-type/page', { params }); -} - -// 查询字典详情 -export function getDictType(id: number) { - return requestClient.get(`/system/dict-type/get?id=${id}`); -} - -// 新增字典 -export function createDictType(data: SystemDictTypeApi.DictType) { - return requestClient.post('/system/dict-type/create', data); -} - -// 修改字典 -export function updateDictType(data: SystemDictTypeApi.DictType) { - return requestClient.put('/system/dict-type/update', data); -} - -// 删除字典 -export function deleteDictType(id: number) { - return requestClient.delete(`/system/dict-type/delete?id=${id}`); -} - -// 导出字典类型 -export function exportDictType(params: any) { - return requestClient.download('/system/dict-type/export', { params }); -} diff --git a/apps/web-naive/src/api/system/login-log/index.ts b/apps/web-naive/src/api/system/login-log/index.ts deleted file mode 100644 index 4be20d9ed..000000000 --- a/apps/web-naive/src/api/system/login-log/index.ts +++ /dev/null @@ -1,33 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemLoginLogApi { - /** 登录日志信息 */ - export interface LoginLog { - id: number; - logType: number; - traceId: number; - userId: number; - userType: number; - username: string; - result: number; - status: number; - userIp: string; - userAgent: string; - createTime: string; - } -} - -/** 查询登录日志列表 */ -export function getLoginLogPage(params: PageParam) { - return requestClient.get>( - '/system/login-log/page', - { params }, - ); -} - -/** 导出登录日志 */ -export function exportLoginLog(params: any) { - return requestClient.download('/system/login-log/export-excel', { params }); -} diff --git a/apps/web-naive/src/api/system/mail/account/index.ts b/apps/web-naive/src/api/system/mail/account/index.ts deleted file mode 100644 index 8a43a3326..000000000 --- a/apps/web-naive/src/api/system/mail/account/index.ts +++ /dev/null @@ -1,57 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemMailAccountApi { - /** 邮箱账号 */ - export interface MailAccount { - id: number; - mail: string; - username: string; - password: string; - host: string; - port: number; - sslEnable: boolean; - starttlsEnable: boolean; - status: number; - createTime: Date; - remark: string; - } -} - -/** 查询邮箱账号列表 */ -export function getMailAccountPage(params: PageParam) { - return requestClient.get>( - '/system/mail-account/page', - { params }, - ); -} - -/** 查询邮箱账号详情 */ -export function getMailAccount(id: number) { - return requestClient.get( - `/system/mail-account/get?id=${id}`, - ); -} - -/** 新增邮箱账号 */ -export function createMailAccount(data: SystemMailAccountApi.MailAccount) { - return requestClient.post('/system/mail-account/create', data); -} - -/** 修改邮箱账号 */ -export function updateMailAccount(data: SystemMailAccountApi.MailAccount) { - return requestClient.put('/system/mail-account/update', data); -} - -/** 删除邮箱账号 */ -export function deleteMailAccount(id: number) { - return requestClient.delete(`/system/mail-account/delete?id=${id}`); -} - -/** 获得邮箱账号精简列表 */ -export function getSimpleMailAccountList() { - return requestClient.get( - '/system/mail-account/simple-list', - ); -} diff --git a/apps/web-naive/src/api/system/mail/log/index.ts b/apps/web-naive/src/api/system/mail/log/index.ts deleted file mode 100644 index 52c9947c5..000000000 --- a/apps/web-naive/src/api/system/mail/log/index.ts +++ /dev/null @@ -1,46 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemMailLogApi { - /** 邮件日志 */ - export interface MailLog { - id: number; - userId: number; - userType: number; - toMail: string; - accountId: number; - fromMail: string; - templateId: number; - templateCode: string; - templateNickname: string; - templateTitle: string; - templateContent: string; - templateParams: string; - sendStatus: number; - sendTime: string; - sendMessageId: string; - sendException: string; - createTime: string; - } -} - -/** 查询邮件日志列表 */ -export function getMailLogPage(params: PageParam) { - return requestClient.get>( - '/system/mail-log/page', - { params }, - ); -} - -/** 查询邮件日志详情 */ -export function getMailLog(id: number) { - return requestClient.get( - `/system/mail-log/get?id=${id}`, - ); -} - -/** 重新发送邮件 */ -export function resendMail(id: number) { - return requestClient.put(`/system/mail-log/resend?id=${id}`); -} diff --git a/apps/web-naive/src/api/system/mail/template/index.ts b/apps/web-naive/src/api/system/mail/template/index.ts deleted file mode 100644 index 34b4a09d0..000000000 --- a/apps/web-naive/src/api/system/mail/template/index.ts +++ /dev/null @@ -1,62 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemMailTemplateApi { - /** 邮件模版信息 */ - export interface MailTemplate { - id: number; - name: string; - code: string; - accountId: number; - nickname: string; - title: string; - content: string; - params: string[]; - status: number; - remark: string; - createTime: Date; - } - - /** 邮件发送信息 */ - export interface MailSendReqVO { - mail: string; - templateCode: string; - templateParams: Record; - } -} - -/** 查询邮件模版列表 */ -export function getMailTemplatePage(params: PageParam) { - return requestClient.get>( - '/system/mail-template/page', - { params }, - ); -} - -/** 查询邮件模版详情 */ -export function getMailTemplate(id: number) { - return requestClient.get( - `/system/mail-template/get?id=${id}`, - ); -} - -/** 新增邮件模版 */ -export function createMailTemplate(data: SystemMailTemplateApi.MailTemplate) { - return requestClient.post('/system/mail-template/create', data); -} - -/** 修改邮件模版 */ -export function updateMailTemplate(data: SystemMailTemplateApi.MailTemplate) { - return requestClient.put('/system/mail-template/update', data); -} - -/** 删除邮件模版 */ -export function deleteMailTemplate(id: number) { - return requestClient.delete(`/system/mail-template/delete?id=${id}`); -} - -/** 发送邮件 */ -export function sendMail(data: SystemMailTemplateApi.MailSendReqVO) { - return requestClient.post('/system/mail-template/send-mail', data); -} diff --git a/apps/web-naive/src/api/system/menu/index.ts b/apps/web-naive/src/api/system/menu/index.ts deleted file mode 100644 index 5d23e5230..000000000 --- a/apps/web-naive/src/api/system/menu/index.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { requestClient } from '#/api/request'; - -export namespace SystemMenuApi { - /** 菜单信息 */ - export interface Menu { - id: number; - name: string; - permission: string; - type: number; - sort: number; - parentId: number; - path: string; - icon: string; - component: string; - componentName?: string; - status: number; - visible: boolean; - keepAlive: boolean; - alwaysShow?: boolean; - createTime: Date; - } -} - -/** 查询菜单(精简)列表 */ -export async function getSimpleMenusList() { - return requestClient.get('/system/menu/simple-list'); -} - -/** 查询菜单列表 */ -export async function getMenuList(params?: Record) { - return requestClient.get('/system/menu/list', { - params, - }); -} - -/** 获取菜单详情 */ -export async function getMenu(id: number) { - return requestClient.get(`/system/menu/get?id=${id}`); -} - -/** 新增菜单 */ -export async function createMenu(data: SystemMenuApi.Menu) { - return requestClient.post('/system/menu/create', data); -} - -/** 修改菜单 */ -export async function updateMenu(data: SystemMenuApi.Menu) { - return requestClient.put('/system/menu/update', data); -} - -/** 删除菜单 */ -export async function deleteMenu(id: number) { - return requestClient.delete(`/system/menu/delete?id=${id}`); -} diff --git a/apps/web-naive/src/api/system/notice/index.ts b/apps/web-naive/src/api/system/notice/index.ts deleted file mode 100644 index dac9ec708..000000000 --- a/apps/web-naive/src/api/system/notice/index.ts +++ /dev/null @@ -1,52 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemNoticeApi { - /** 公告信息 */ - export interface Notice { - id?: number; - title: string; - type: number; - content: string; - status: number; - remark: string; - creator?: string; - createTime?: Date; - } -} - -/** 查询公告列表 */ -export function getNoticePage(params: PageParam) { - return requestClient.get>( - '/system/notice/page', - { params }, - ); -} - -/** 查询公告详情 */ -export function getNotice(id: number) { - return requestClient.get( - `/system/notice/get?id=${id}`, - ); -} - -/** 新增公告 */ -export function createNotice(data: SystemNoticeApi.Notice) { - return requestClient.post('/system/notice/create', data); -} - -/** 修改公告 */ -export function updateNotice(data: SystemNoticeApi.Notice) { - return requestClient.put('/system/notice/update', data); -} - -/** 删除公告 */ -export function deleteNotice(id: number) { - return requestClient.delete(`/system/notice/delete?id=${id}`); -} - -/** 推送公告 */ -export function pushNotice(id: number) { - return requestClient.post(`/system/notice/push?id=${id}`); -} diff --git a/apps/web-naive/src/api/system/notify/message/index.ts b/apps/web-naive/src/api/system/notify/message/index.ts deleted file mode 100644 index a8a4e8968..000000000 --- a/apps/web-naive/src/api/system/notify/message/index.ts +++ /dev/null @@ -1,65 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemNotifyMessageApi { - /** 站内信消息信息 */ - export interface NotifyMessage { - id: number; - userId: number; - userType: number; - templateId: number; - templateCode: string; - templateNickname: string; - templateContent: string; - templateType: number; - templateParams: string; - readStatus: boolean; - readTime: Date; - createTime: Date; - } -} - -/** 查询站内信消息列表 */ -export function getNotifyMessagePage(params: PageParam) { - return requestClient.get>( - '/system/notify-message/page', - { params }, - ); -} - -/** 获得我的站内信分页 */ -export function getMyNotifyMessagePage(params: PageParam) { - return requestClient.get>( - '/system/notify-message/my-page', - { params }, - ); -} - -/** 批量标记已读 */ -export function updateNotifyMessageRead(ids: number[]) { - return requestClient.put( - '/system/notify-message/update-read', - {}, - { - params: { ids }, - }, - ); -} - -/** 标记所有站内信为已读 */ -export function updateAllNotifyMessageRead() { - return requestClient.put('/system/notify-message/update-all-read'); -} - -/** 获取当前用户的最新站内信列表 */ -export function getUnreadNotifyMessageList() { - return requestClient.get( - '/system/notify-message/get-unread-list', - ); -} - -/** 获得当前用户的未读站内信数量 */ -export function getUnreadNotifyMessageCount() { - return requestClient.get('/system/notify-message/get-unread-count'); -} diff --git a/apps/web-naive/src/api/system/notify/template/index.ts b/apps/web-naive/src/api/system/notify/template/index.ts deleted file mode 100644 index 5f2e3de29..000000000 --- a/apps/web-naive/src/api/system/notify/template/index.ts +++ /dev/null @@ -1,72 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemNotifyTemplateApi { - /** 站内信模板信息 */ - export interface NotifyTemplate { - id?: number; - name: string; - nickname: string; - code: string; - content: string; - type?: number; - params: string[]; - status: number; - remark: string; - } - - /** 发送站内信请求 */ - export interface NotifySendReqVO { - userId: number; - userType: number; - templateCode: string; - templateParams: Record; - } -} - -/** 查询站内信模板列表 */ -export function getNotifyTemplatePage(params: PageParam) { - return requestClient.get>( - '/system/notify-template/page', - { params }, - ); -} - -/** 查询站内信模板详情 */ -export function getNotifyTemplate(id: number) { - return requestClient.get( - `/system/notify-template/get?id=${id}`, - ); -} - -/** 新增站内信模板 */ -export function createNotifyTemplate( - data: SystemNotifyTemplateApi.NotifyTemplate, -) { - return requestClient.post('/system/notify-template/create', data); -} - -/** 修改站内信模板 */ -export function updateNotifyTemplate( - data: SystemNotifyTemplateApi.NotifyTemplate, -) { - return requestClient.put('/system/notify-template/update', data); -} - -/** 删除站内信模板 */ -export function deleteNotifyTemplate(id: number) { - return requestClient.delete(`/system/notify-template/delete?id=${id}`); -} - -/** 导出站内信模板 */ -export function exportNotifyTemplate(params: any) { - return requestClient.download('/system/notify-template/export-excel', { - params, - }); -} - -/** 发送站内信 */ -export function sendNotify(data: SystemNotifyTemplateApi.NotifySendReqVO) { - return requestClient.post('/system/notify-template/send-notify', data); -} diff --git a/apps/web-naive/src/api/system/oauth2/client/index.ts b/apps/web-naive/src/api/system/oauth2/client/index.ts deleted file mode 100644 index 7c1db7747..000000000 --- a/apps/web-naive/src/api/system/oauth2/client/index.ts +++ /dev/null @@ -1,57 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemOAuth2ClientApi { - /** OAuth2.0 客户端信息 */ - export interface OAuth2Client { - id?: number; - clientId: string; - secret: string; - name: string; - logo: string; - description: string; - status: number; - accessTokenValiditySeconds: number; - refreshTokenValiditySeconds: number; - redirectUris: string[]; - autoApprove: boolean; - authorizedGrantTypes: string[]; - scopes: string[]; - authorities: string[]; - resourceIds: string[]; - additionalInformation: string; - isAdditionalInformationJson: boolean; - createTime?: Date; - } -} - -/** 查询 OAuth2.0 客户端列表 */ -export function getOAuth2ClientPage(params: PageParam) { - return requestClient.get>( - '/system/oauth2-client/page', - { params }, - ); -} - -/** 查询 OAuth2.0 客户端详情 */ -export function getOAuth2Client(id: number) { - return requestClient.get( - `/system/oauth2-client/get?id=${id}`, - ); -} - -/** 新增 OAuth2.0 客户端 */ -export function createOAuth2Client(data: SystemOAuth2ClientApi.OAuth2Client) { - return requestClient.post('/system/oauth2-client/create', data); -} - -/** 修改 OAuth2.0 客户端 */ -export function updateOAuth2Client(data: SystemOAuth2ClientApi.OAuth2Client) { - return requestClient.put('/system/oauth2-client/update', data); -} - -/** 删除 OAuth2.0 客户端 */ -export function deleteOAuth2Client(id: number) { - return requestClient.delete(`/system/oauth2-client/delete?id=${id}`); -} diff --git a/apps/web-naive/src/api/system/oauth2/open/index.ts b/apps/web-naive/src/api/system/oauth2/open/index.ts deleted file mode 100644 index 16d9c7e62..000000000 --- a/apps/web-naive/src/api/system/oauth2/open/index.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { requestClient } from '#/api/request'; - -/** OAuth2.0 授权信息响应 */ -export namespace SystemOAuth2ClientApi { - /** 授权信息 */ - export interface AuthorizeInfoRespVO { - client: { - logo: string; - name: string; - }; - scopes: { - key: string; - value: boolean; - }[]; - } -} - -/** 获得授权信息 */ -export function getAuthorize(clientId: string) { - return requestClient.get( - `/system/oauth2/authorize?clientId=${clientId}`, - ); -} - -/** 发起授权 */ -export function authorize( - responseType: string, - clientId: string, - redirectUri: string, - state: string, - autoApprove: boolean, - checkedScopes: string[], - uncheckedScopes: string[], -) { - // 构建 scopes - const scopes: Record = {}; - for (const scope of checkedScopes) { - scopes[scope] = true; - } - for (const scope of uncheckedScopes) { - scopes[scope] = false; - } - - // 发起请求 - return requestClient.post('/system/oauth2/authorize', null, { - headers: { - 'Content-Type': 'application/x-www-form-urlencoded', - }, - params: { - response_type: responseType, - client_id: clientId, - redirect_uri: redirectUri, - state, - auto_approve: autoApprove, - scope: JSON.stringify(scopes), - }, - }); -} diff --git a/apps/web-naive/src/api/system/oauth2/token/index.ts b/apps/web-naive/src/api/system/oauth2/token/index.ts deleted file mode 100644 index bd3697915..000000000 --- a/apps/web-naive/src/api/system/oauth2/token/index.ts +++ /dev/null @@ -1,34 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemOAuth2TokenApi { - /** OAuth2.0 令牌信息 */ - export interface OAuth2Token { - id?: number; - accessToken: string; - refreshToken: string; - userId: number; - userType: number; - clientId: string; - createTime?: Date; - expiresTime?: Date; - } -} - -/** 查询 OAuth2.0 令牌列表 */ -export function getOAuth2TokenPage(params: PageParam) { - return requestClient.get>( - '/system/oauth2-token/page', - { - params, - }, - ); -} - -/** 删除 OAuth2.0 令牌 */ -export function deleteOAuth2Token(accessToken: string) { - return requestClient.delete( - `/system/oauth2-token/delete?accessToken=${accessToken}`, - ); -} diff --git a/apps/web-naive/src/api/system/operate-log/index.ts b/apps/web-naive/src/api/system/operate-log/index.ts deleted file mode 100644 index 8b84a260e..000000000 --- a/apps/web-naive/src/api/system/operate-log/index.ts +++ /dev/null @@ -1,39 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemOperateLogApi { - /** 操作日志信息 */ - export interface OperateLog { - id: number; - traceId: string; - userType: number; - userId: number; - userName: string; - type: string; - subType: string; - bizId: number; - action: string; - extra: string; - requestMethod: string; - requestUrl: string; - userIp: string; - userAgent: string; - creator: string; - creatorName: string; - createTime: string; - } -} - -/** 查询操作日志列表 */ -export function getOperateLogPage(params: PageParam) { - return requestClient.get>( - '/system/operate-log/page', - { params }, - ); -} - -/** 导出操作日志 */ -export function exportOperateLog(params: any) { - return requestClient.download('/system/operate-log/export-excel', { params }); -} diff --git a/apps/web-naive/src/api/system/permission/index.ts b/apps/web-naive/src/api/system/permission/index.ts deleted file mode 100644 index 9039d9a05..000000000 --- a/apps/web-naive/src/api/system/permission/index.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { requestClient } from '#/api/request'; - -export namespace SystemPermissionApi { - /** 分配用户角色请求 */ - export interface AssignUserRoleReqVO { - userId: number; - roleIds: number[]; - } - - /** 分配角色菜单请求 */ - export interface AssignRoleMenuReqVO { - roleId: number; - menuIds: number[]; - } - - /** 分配角色数据权限请求 */ - export interface AssignRoleDataScopeReqVO { - roleId: number; - dataScope: number; - dataScopeDeptIds: number[]; - } -} - -/** 查询角色拥有的菜单权限 */ -export async function getRoleMenuList(roleId: number) { - return requestClient.get( - `/system/permission/list-role-menus?roleId=${roleId}`, - ); -} - -/** 赋予角色菜单权限 */ -export async function assignRoleMenu( - data: SystemPermissionApi.AssignRoleMenuReqVO, -) { - return requestClient.post('/system/permission/assign-role-menu', data); -} - -/** 赋予角色数据权限 */ -export async function assignRoleDataScope( - data: SystemPermissionApi.AssignRoleDataScopeReqVO, -) { - return requestClient.post('/system/permission/assign-role-data-scope', data); -} - -/** 查询用户拥有的角色数组 */ -export async function getUserRoleList(userId: number) { - return requestClient.get( - `/system/permission/list-user-roles?userId=${userId}`, - ); -} - -/** 赋予用户角色 */ -export async function assignUserRole( - data: SystemPermissionApi.AssignUserRoleReqVO, -) { - return requestClient.post('/system/permission/assign-user-role', data); -} diff --git a/apps/web-naive/src/api/system/post/index.ts b/apps/web-naive/src/api/system/post/index.ts deleted file mode 100644 index a82f58155..000000000 --- a/apps/web-naive/src/api/system/post/index.ts +++ /dev/null @@ -1,58 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemPostApi { - /** 岗位信息 */ - export interface Post { - id?: number; - name: string; - code: string; - sort: number; - status: number; - remark: string; - createTime?: Date; - } -} - -/** 查询岗位列表 */ -export function getPostPage(params: PageParam) { - return requestClient.get>( - '/system/post/page', - { - params, - }, - ); -} - -/** 获取岗位精简信息列表 */ -export function getSimplePostList() { - return requestClient.get('/system/post/simple-list'); -} - -/** 查询岗位详情 */ -export function getPost(id: number) { - return requestClient.get(`/system/post/get?id=${id}`); -} - -/** 新增岗位 */ -export function createPost(data: SystemPostApi.Post) { - return requestClient.post('/system/post/create', data); -} - -/** 修改岗位 */ -export function updatePost(data: SystemPostApi.Post) { - return requestClient.put('/system/post/update', data); -} - -/** 删除岗位 */ -export function deletePost(id: number) { - return requestClient.delete(`/system/post/delete?id=${id}`); -} - -/** 导出岗位 */ -export function exportPost(params: any) { - return requestClient.download('/system/post/export', { - params, - }); -} diff --git a/apps/web-naive/src/api/system/role/index.ts b/apps/web-naive/src/api/system/role/index.ts deleted file mode 100644 index 07824c43e..000000000 --- a/apps/web-naive/src/api/system/role/index.ts +++ /dev/null @@ -1,58 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemRoleApi { - /** 角色信息 */ - export interface Role { - id?: number; - name: string; - code: string; - sort: number; - status: number; - type: number; - dataScope: number; - dataScopeDeptIds: number[]; - createTime?: Date; - } -} - -/** 查询角色列表 */ -export function getRolePage(params: PageParam) { - return requestClient.get>( - '/system/role/page', - { params }, - ); -} - -/** 查询角色(精简)列表 */ -export function getSimpleRoleList() { - return requestClient.get('/system/role/simple-list'); -} - -/** 查询角色详情 */ -export function getRole(id: number) { - return requestClient.get(`/system/role/get?id=${id}`); -} - -/** 新增角色 */ -export function createRole(data: SystemRoleApi.Role) { - return requestClient.post('/system/role/create', data); -} - -/** 修改角色 */ -export function updateRole(data: SystemRoleApi.Role) { - return requestClient.put('/system/role/update', data); -} - -/** 删除角色 */ -export function deleteRole(id: number) { - return requestClient.delete(`/system/role/delete?id=${id}`); -} - -/** 导出角色 */ -export function exportRole(params: any) { - return requestClient.download('/system/role/export-excel', { - params, - }); -} diff --git a/apps/web-naive/src/api/system/sms/channel/index.ts b/apps/web-naive/src/api/system/sms/channel/index.ts deleted file mode 100644 index 56890bea5..000000000 --- a/apps/web-naive/src/api/system/sms/channel/index.ts +++ /dev/null @@ -1,60 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemSmsChannelApi { - /** 短信渠道信息 */ - export interface SmsChannel { - id?: number; - code: string; - status: number; - signature: string; - remark: string; - apiKey: string; - apiSecret: string; - callbackUrl: string; - createTime?: Date; - } -} - -/** 查询短信渠道列表 */ -export function getSmsChannelPage(params: PageParam) { - return requestClient.get>( - '/system/sms-channel/page', - { params }, - ); -} - -/** 获得短信渠道精简列表 */ -export function getSimpleSmsChannelList() { - return requestClient.get( - '/system/sms-channel/simple-list', - ); -} - -/** 查询短信渠道详情 */ -export function getSmsChannel(id: number) { - return requestClient.get( - `/system/sms-channel/get?id=${id}`, - ); -} - -/** 新增短信渠道 */ -export function createSmsChannel(data: SystemSmsChannelApi.SmsChannel) { - return requestClient.post('/system/sms-channel/create', data); -} - -/** 修改短信渠道 */ -export function updateSmsChannel(data: SystemSmsChannelApi.SmsChannel) { - return requestClient.put('/system/sms-channel/update', data); -} - -/** 删除短信渠道 */ -export function deleteSmsChannel(id: number) { - return requestClient.delete(`/system/sms-channel/delete?id=${id}`); -} - -/** 导出短信渠道 */ -export function exportSmsChannel(params: any) { - return requestClient.download('/system/sms-channel/export', { params }); -} diff --git a/apps/web-naive/src/api/system/sms/log/index.ts b/apps/web-naive/src/api/system/sms/log/index.ts deleted file mode 100644 index 8344f9932..000000000 --- a/apps/web-naive/src/api/system/sms/log/index.ts +++ /dev/null @@ -1,45 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemSmsLogApi { - /** 短信日志信息 */ - export interface SmsLog { - id?: number; - channelId?: number; - channelCode: string; - templateId?: number; - templateCode: string; - templateType?: number; - templateContent: string; - templateParams?: Record; - apiTemplateId: string; - mobile: string; - userId?: number; - userType?: number; - sendStatus?: number; - sendTime?: string; - apiSendCode: string; - apiSendMsg: string; - apiRequestId: string; - apiSerialNo: string; - receiveStatus?: number; - receiveTime?: string; - apiReceiveCode: string; - apiReceiveMsg: string; - createTime: string; - } -} - -/** 查询短信日志列表 */ -export function getSmsLogPage(params: PageParam) { - return requestClient.get>( - '/system/sms-log/page', - { params }, - ); -} - -/** 导出短信日志 */ -export function exportSmsLog(params: any) { - return requestClient.download('/system/sms-log/export-excel', { params }); -} diff --git a/apps/web-naive/src/api/system/sms/template/index.ts b/apps/web-naive/src/api/system/sms/template/index.ts deleted file mode 100644 index 63660bdf9..000000000 --- a/apps/web-naive/src/api/system/sms/template/index.ts +++ /dev/null @@ -1,70 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemSmsTemplateApi { - /** 短信模板信息 */ - export interface SmsTemplate { - id?: number; - type?: number; - status: number; - code: string; - name: string; - content: string; - remark: string; - apiTemplateId: string; - channelId?: number; - channelCode?: string; - params?: string[]; - createTime?: Date; - } - - /** 发送短信请求 */ - export interface SmsSendReqVO { - mobile: string; - templateCode: string; - templateParams: Record; - } -} - -/** 查询短信模板列表 */ -export function getSmsTemplatePage(params: PageParam) { - return requestClient.get>( - '/system/sms-template/page', - { params }, - ); -} - -/** 查询短信模板详情 */ -export function getSmsTemplate(id: number) { - return requestClient.get( - `/system/sms-template/get?id=${id}`, - ); -} - -/** 新增短信模板 */ -export function createSmsTemplate(data: SystemSmsTemplateApi.SmsTemplate) { - return requestClient.post('/system/sms-template/create', data); -} - -/** 修改短信模板 */ -export function updateSmsTemplate(data: SystemSmsTemplateApi.SmsTemplate) { - return requestClient.put('/system/sms-template/update', data); -} - -/** 删除短信模板 */ -export function deleteSmsTemplate(id: number) { - return requestClient.delete(`/system/sms-template/delete?id=${id}`); -} - -/** 导出短信模板 */ -export function exportSmsTemplate(params: any) { - return requestClient.download('/system/sms-template/export-excel', { - params, - }); -} - -/** 发送短信 */ -export function sendSms(data: SystemSmsTemplateApi.SmsSendReqVO) { - return requestClient.post('/system/sms-template/send-sms', data); -} diff --git a/apps/web-naive/src/api/system/social/client/index.ts b/apps/web-naive/src/api/system/social/client/index.ts deleted file mode 100644 index d4da4dd48..000000000 --- a/apps/web-naive/src/api/system/social/client/index.ts +++ /dev/null @@ -1,48 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemSocialClientApi { - /** 社交客户端信息 */ - export interface SocialClient { - id?: number; - name: string; - socialType: number; - userType: number; - clientId: string; - clientSecret: string; - agentId?: string; - status: number; - createTime?: Date; - } -} - -/** 查询社交客户端列表 */ -export function getSocialClientPage(params: PageParam) { - return requestClient.get>( - '/system/social-client/page', - { params }, - ); -} - -/** 查询社交客户端详情 */ -export function getSocialClient(id: number) { - return requestClient.get( - `/system/social-client/get?id=${id}`, - ); -} - -/** 新增社交客户端 */ -export function createSocialClient(data: SystemSocialClientApi.SocialClient) { - return requestClient.post('/system/social-client/create', data); -} - -/** 修改社交客户端 */ -export function updateSocialClient(data: SystemSocialClientApi.SocialClient) { - return requestClient.put('/system/social-client/update', data); -} - -/** 删除社交客户端 */ -export function deleteSocialClient(id: number) { - return requestClient.delete(`/system/social-client/delete?id=${id}`); -} diff --git a/apps/web-naive/src/api/system/social/user/index.ts b/apps/web-naive/src/api/system/social/user/index.ts deleted file mode 100644 index b91f15064..000000000 --- a/apps/web-naive/src/api/system/social/user/index.ts +++ /dev/null @@ -1,66 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemSocialUserApi { - /** 社交用户信息 */ - export interface SocialUser { - id?: number; - type: number; - openid: string; - token: string; - rawTokenInfo: string; - nickname: string; - avatar: string; - rawUserInfo: string; - code: string; - state: string; - createTime?: Date; - updateTime?: Date; - } - - /** 社交绑定请求 */ - export interface SocialUserBindReqVO { - type: number; - code: string; - state: string; - } - - /** 取消社交绑定请求 */ - export interface SocialUserUnbindReqVO { - type: number; - openid: string; - } -} - -/** 查询社交用户列表 */ -export function getSocialUserPage(params: PageParam) { - return requestClient.get>( - '/system/social-user/page', - { params }, - ); -} - -/** 查询社交用户详情 */ -export function getSocialUser(id: number) { - return requestClient.get( - `/system/social-user/get?id=${id}`, - ); -} - -/** 社交绑定,使用 code 授权码 */ -export function socialBind(data: SystemSocialUserApi.SocialUserBindReqVO) { - return requestClient.post('/system/social-user/bind', data); -} - -/** 取消社交绑定 */ -export function socialUnbind(data: SystemSocialUserApi.SocialUserUnbindReqVO) { - return requestClient.delete('/system/social-user/unbind', { data }); -} - -/** 获得绑定社交用户列表 */ -export function getBindSocialUserList() { - return requestClient.get( - '/system/social-user/get-bind-list', - ); -} diff --git a/apps/web-naive/src/api/system/tenant-package/index.ts b/apps/web-naive/src/api/system/tenant-package/index.ts deleted file mode 100644 index 5066cea98..000000000 --- a/apps/web-naive/src/api/system/tenant-package/index.ts +++ /dev/null @@ -1,57 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemTenantPackageApi { - /** 租户套餐信息 */ - export interface TenantPackage { - id: number; - name: string; - status: number; - remark: string; - creator: string; - updater: string; - updateTime: string; - menuIds: number[]; - createTime: Date; - } -} - -/** 租户套餐列表 */ -export function getTenantPackagePage(params: PageParam) { - return requestClient.get>( - '/system/tenant-package/page', - { params }, - ); -} - -/** 查询租户套餐详情 */ -export function getTenantPackage(id: number) { - return requestClient.get(`/system/tenant-package/get?id=${id}`); -} - -/** 新增租户套餐 */ -export function createTenantPackage( - data: SystemTenantPackageApi.TenantPackage, -) { - return requestClient.post('/system/tenant-package/create', data); -} - -/** 修改租户套餐 */ -export function updateTenantPackage( - data: SystemTenantPackageApi.TenantPackage, -) { - return requestClient.put('/system/tenant-package/update', data); -} - -/** 删除租户套餐 */ -export function deleteTenantPackage(id: number) { - return requestClient.delete(`/system/tenant-package/delete?id=${id}`); -} - -/** 获取租户套餐精简信息列表 */ -export function getTenantPackageList() { - return requestClient.get( - '/system/tenant-package/get-simple-list', - ); -} diff --git a/apps/web-naive/src/api/system/tenant/index.ts b/apps/web-naive/src/api/system/tenant/index.ts deleted file mode 100644 index 3bed9249c..000000000 --- a/apps/web-naive/src/api/system/tenant/index.ts +++ /dev/null @@ -1,69 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemTenantApi { - /** 租户信息 */ - export interface Tenant { - id?: number; - name: string; - packageId: number; - contactName: string; - contactMobile: string; - accountCount: number; - expireTime: Date; - website: string; - status: number; - } -} - -/** 租户列表 */ -export function getTenantPage(params: PageParam) { - return requestClient.get>( - '/system/tenant/page', - { params }, - ); -} - -/** 获取租户精简信息列表 */ -export function getSimpleTenantList() { - return requestClient.get( - '/system/tenant/simple-list', - ); -} - -/** 查询租户详情 */ -export function getTenant(id: number) { - return requestClient.get( - `/system/tenant/get?id=${id}`, - ); -} - -/** 获取租户精简信息列表 */ -export function getTenantList() { - return requestClient.get( - '/system/tenant/simple-list', - ); -} - -/** 新增租户 */ -export function createTenant(data: SystemTenantApi.Tenant) { - return requestClient.post('/system/tenant/create', data); -} - -/** 修改租户 */ -export function updateTenant(data: SystemTenantApi.Tenant) { - return requestClient.put('/system/tenant/update', data); -} - -/** 删除租户 */ -export function deleteTenant(id: number) { - return requestClient.delete(`/system/tenant/delete?id=${id}`); -} - -/** 导出租户 */ -export function exportTenant(params: any) { - return requestClient.download('/system/tenant/export-excel', { - params, - }); -} diff --git a/apps/web-naive/src/api/system/user/index.ts b/apps/web-naive/src/api/system/user/index.ts deleted file mode 100644 index a2a1957fc..000000000 --- a/apps/web-naive/src/api/system/user/index.ts +++ /dev/null @@ -1,83 +0,0 @@ -import type { PageParam, PageResult } from '@vben/request'; - -import { requestClient } from '#/api/request'; - -export namespace SystemUserApi { - /** 用户信息 */ - export interface User { - id?: number; - username: string; - nickname: string; - deptId: number; - postIds: string[]; - email: string; - mobile: string; - sex: number; - avatar: string; - loginIp: string; - status: number; - remark: string; - createTime?: Date; - } -} - -/** 查询用户管理列表 */ -export function getUserPage(params: PageParam) { - return requestClient.get>( - '/system/user/page', - { params }, - ); -} - -/** 查询用户详情 */ -export function getUser(id: number) { - return requestClient.get(`/system/user/get?id=${id}`); -} - -/** 新增用户 */ -export function createUser(data: SystemUserApi.User) { - return requestClient.post('/system/user/create', data); -} - -/** 修改用户 */ -export function updateUser(data: SystemUserApi.User) { - return requestClient.put('/system/user/update', data); -} - -/** 删除用户 */ -export function deleteUser(id: number) { - return requestClient.delete(`/system/user/delete?id=${id}`); -} - -/** 导出用户 */ -export function exportUser(params: any) { - return requestClient.download('/system/user/export', { params }); -} - -/** 下载用户导入模板 */ -export function importUserTemplate() { - return requestClient.download('/system/user/get-import-template'); -} - -/** 导入用户 */ -export function importUser(file: File, updateSupport: boolean) { - return requestClient.upload('/system/user/import', { - file, - updateSupport, - }); -} - -/** 用户密码重置 */ -export function resetUserPassword(id: number, password: string) { - return requestClient.put('/system/user/update-password', { id, password }); -} - -/** 用户状态修改 */ -export function updateUserStatus(id: number, status: number) { - return requestClient.put('/system/user/update-status', { id, status }); -} - -/** 获取用户精简信息列表 */ -export function getSimpleUserList() { - return requestClient.get('/system/user/simple-list'); -} diff --git a/apps/web-naive/src/api/system/user/profile/index.ts b/apps/web-naive/src/api/system/user/profile/index.ts deleted file mode 100644 index 97898e71a..000000000 --- a/apps/web-naive/src/api/system/user/profile/index.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { requestClient } from '#/api/request'; - -export namespace SystemUserProfileApi { - /** 用户个人中心信息 */ - export interface UserProfileRespVO { - id: number; - username: string; - nickname: string; - email?: string; - mobile?: string; - sex?: number; - avatar?: string; - loginIp: string; - loginDate: string; - createTime: string; - roles: any[]; - dept: any; - posts: any[]; - } - - /** 更新密码请求 */ - export interface UpdatePasswordReqVO { - oldPassword: string; - newPassword: string; - } - - /** 更新个人信息请求 */ - export interface UpdateProfileReqVO { - nickname?: string; - email?: string; - mobile?: string; - sex?: number; - avatar?: string; - } -} - -/** 获取登录用户信息 */ -export function getUserProfile() { - return requestClient.get( - '/system/user/profile/get', - ); -} - -/** 修改用户个人信息 */ -export function updateUserProfile( - data: SystemUserProfileApi.UpdateProfileReqVO, -) { - return requestClient.put('/system/user/profile/update', data); -} - -/** 修改用户个人密码 */ -export function updateUserPassword( - data: SystemUserProfileApi.UpdatePasswordReqVO, -) { - return requestClient.put('/system/user/profile/update-password', data); -} diff --git a/apps/web-naive/src/components/cropper/cropper-avatar.vue b/apps/web-naive/src/components/cropper/cropper-avatar.vue deleted file mode 100644 index de4ed8c6e..000000000 --- a/apps/web-naive/src/components/cropper/cropper-avatar.vue +++ /dev/null @@ -1,159 +0,0 @@ - - - - - diff --git a/apps/web-naive/src/components/cropper/cropper-modal.vue b/apps/web-naive/src/components/cropper/cropper-modal.vue deleted file mode 100644 index 2f2922cf2..000000000 --- a/apps/web-naive/src/components/cropper/cropper-modal.vue +++ /dev/null @@ -1,370 +0,0 @@ - - - - - diff --git a/apps/web-naive/src/components/cropper/cropper.vue b/apps/web-naive/src/components/cropper/cropper.vue deleted file mode 100644 index c2d62755e..000000000 --- a/apps/web-naive/src/components/cropper/cropper.vue +++ /dev/null @@ -1,173 +0,0 @@ - - - - - diff --git a/apps/web-naive/src/components/cropper/index.ts b/apps/web-naive/src/components/cropper/index.ts deleted file mode 100644 index 43fd89ff3..000000000 --- a/apps/web-naive/src/components/cropper/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export { default as CropperAvatar } from './cropper-avatar.vue'; -export { default as CropperImage } from './cropper.vue'; -export type { CropperType } from './typing'; diff --git a/apps/web-naive/src/components/cropper/typing.ts b/apps/web-naive/src/components/cropper/typing.ts deleted file mode 100644 index 6683c34a3..000000000 --- a/apps/web-naive/src/components/cropper/typing.ts +++ /dev/null @@ -1,68 +0,0 @@ -import type Cropper from 'cropperjs'; -import type { ButtonProps } from 'naive-ui'; - -import type { CSSProperties } from 'vue'; - -export interface apiFunParams { - file: Blob; - filename: string; - name: string; -} - -export interface CropendResult { - imgBase64: string; - imgInfo: Cropper.Data; -} - -export interface CropperProps { - src?: string; - alt?: string; - circled?: boolean; - realTimePreview?: boolean; - height?: number | string; - crossorigin?: '' | 'anonymous' | 'use-credentials' | undefined; - imageStyle?: CSSProperties; - options?: Cropper.Options; -} - -export interface CropperAvatarProps { - width?: number | string; - value?: string; - showBtn?: boolean; - btnProps?: ButtonProps; - btnText?: string; - uploadApi?: (params: apiFunParams) => Promise; - size?: number; -} - -export interface CropperModalProps { - circled?: boolean; - uploadApi?: (params: apiFunParams) => Promise; - src?: string; - size?: number; -} - -export const defaultOptions: Cropper.Options = { - aspectRatio: 1, - zoomable: true, - zoomOnTouch: true, - zoomOnWheel: true, - cropBoxMovable: true, - cropBoxResizable: true, - toggleDragModeOnDblclick: true, - autoCrop: true, - background: true, - highlight: true, - center: true, - responsive: true, - restore: true, - checkCrossOrigin: true, - checkOrientation: true, - scalable: true, - modal: true, - guides: true, - movable: true, - rotatable: true, -}; - -export type { Cropper as CropperType }; diff --git a/apps/web-naive/src/components/dict-tag/dict-tag.vue b/apps/web-naive/src/components/dict-tag/dict-tag.vue deleted file mode 100644 index aad917044..000000000 --- a/apps/web-naive/src/components/dict-tag/dict-tag.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - diff --git a/apps/web-naive/src/components/dict-tag/index.ts b/apps/web-naive/src/components/dict-tag/index.ts deleted file mode 100644 index 881265a39..000000000 --- a/apps/web-naive/src/components/dict-tag/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as DictTag } from './dict-tag.vue'; diff --git a/apps/web-naive/src/components/iframe/iframe.vue b/apps/web-naive/src/components/iframe/iframe.vue deleted file mode 100644 index de70d89a9..000000000 --- a/apps/web-naive/src/components/iframe/iframe.vue +++ /dev/null @@ -1,38 +0,0 @@ - - - diff --git a/apps/web-naive/src/components/iframe/index.ts b/apps/web-naive/src/components/iframe/index.ts deleted file mode 100644 index d437bc0d3..000000000 --- a/apps/web-naive/src/components/iframe/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as IFrame } from './iframe.vue'; diff --git a/apps/web-naive/src/components/table-toolbar/index.ts b/apps/web-naive/src/components/table-toolbar/index.ts deleted file mode 100644 index 720e3224b..000000000 --- a/apps/web-naive/src/components/table-toolbar/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as TableToolbar } from './table-toolbar.vue'; diff --git a/apps/web-naive/src/components/table-toolbar/table-toolbar.vue b/apps/web-naive/src/components/table-toolbar/table-toolbar.vue deleted file mode 100644 index eb453bdfd..000000000 --- a/apps/web-naive/src/components/table-toolbar/table-toolbar.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - - diff --git a/apps/web-naive/src/components/upload/file-upload.vue b/apps/web-naive/src/components/upload/file-upload.vue deleted file mode 100644 index 2e655f534..000000000 --- a/apps/web-naive/src/components/upload/file-upload.vue +++ /dev/null @@ -1,222 +0,0 @@ - - - diff --git a/apps/web-naive/src/components/upload/helper.ts b/apps/web-naive/src/components/upload/helper.ts deleted file mode 100644 index a7a67639d..000000000 --- a/apps/web-naive/src/components/upload/helper.ts +++ /dev/null @@ -1,20 +0,0 @@ -export function checkFileType(file: File, accepts: string[]) { - if (!accepts || accepts.length === 0) { - return true; - } - const newTypes = accepts.join('|'); - const reg = new RegExp(`${String.raw`\.(` + newTypes})$`, 'i'); - return reg.test(file.name); -} - -/** - * 默认图片类型 - */ -export const defaultImageAccepts = ['jpg', 'jpeg', 'png', 'gif', 'webp']; - -export function checkImgType( - file: File, - accepts: string[] = defaultImageAccepts, -) { - return checkFileType(file, accepts); -} diff --git a/apps/web-naive/src/components/upload/image-upload.vue b/apps/web-naive/src/components/upload/image-upload.vue deleted file mode 100644 index a26be8a15..000000000 --- a/apps/web-naive/src/components/upload/image-upload.vue +++ /dev/null @@ -1,276 +0,0 @@ - - - - - diff --git a/apps/web-naive/src/components/upload/index.ts b/apps/web-naive/src/components/upload/index.ts deleted file mode 100644 index a66b2fca6..000000000 --- a/apps/web-naive/src/components/upload/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { default as FileUpload } from './file-upload.vue'; -export { default as ImageUpload } from './image-upload.vue'; diff --git a/apps/web-naive/src/components/upload/typing.ts b/apps/web-naive/src/components/upload/typing.ts deleted file mode 100644 index a6b54d479..000000000 --- a/apps/web-naive/src/components/upload/typing.ts +++ /dev/null @@ -1,8 +0,0 @@ -export enum UploadResultStatus { - DONE = 'done', - ERROR = 'error', - SUCCESS = 'success', - UPLOADING = 'uploading', -} - -export type UploadListType = 'picture' | 'picture-card' | 'text'; diff --git a/apps/web-naive/src/components/upload/use-upload.ts b/apps/web-naive/src/components/upload/use-upload.ts deleted file mode 100644 index 64383288e..000000000 --- a/apps/web-naive/src/components/upload/use-upload.ts +++ /dev/null @@ -1,165 +0,0 @@ -import type { Ref } from 'vue'; - -import type { AxiosProgressEvent, InfraFileApi } from '#/api/infra/file'; - -import { computed, unref } from 'vue'; - -import { useAppConfig } from '@vben/hooks'; -import { $t } from '@vben/locales'; - -import { createFile, getFilePresignedUrl, uploadFile } from '#/api/infra/file'; -import { baseRequestClient } from '#/api/request'; - -const { apiURL } = useAppConfig(import.meta.env, import.meta.env.PROD); - -/** - * 上传类型 - */ -enum UPLOAD_TYPE { - // 客户端直接上传(只支持S3服务) - CLIENT = 'client', - // 客户端发送到后端上传 - SERVER = 'server', -} - -export function useUploadType({ - acceptRef, - helpTextRef, - maxNumberRef, - maxSizeRef, -}: { - acceptRef: Ref; - helpTextRef: Ref; - maxNumberRef: Ref; - maxSizeRef: Ref; -}) { - // 文件类型限制 - const getAccept = computed(() => { - const accept = unref(acceptRef); - if (accept && accept.length > 0) { - return accept; - } - return []; - }); - const getStringAccept = computed(() => { - return unref(getAccept) - .map((item) => { - return item.indexOf('/') > 0 || item.startsWith('.') - ? item - : `.${item}`; - }) - .join(','); - }); - - // 支持jpg、jpeg、png格式,不超过2M,最多可选择10张图片,。 - const getHelpText = computed(() => { - const helpText = unref(helpTextRef); - if (helpText) { - return helpText; - } - const helpTexts: string[] = []; - - const accept = unref(acceptRef); - if (accept.length > 0) { - helpTexts.push($t('ui.upload.accept', [accept.join(',')])); - } - - const maxSize = unref(maxSizeRef); - if (maxSize) { - helpTexts.push($t('ui.upload.maxSize', [maxSize])); - } - - const maxNumber = unref(maxNumberRef); - if (maxNumber && maxNumber !== Infinity) { - helpTexts.push($t('ui.upload.maxNumber', [maxNumber])); - } - return helpTexts.join(','); - }); - return { getAccept, getStringAccept, getHelpText }; -} - -// TODO @芋艿:目前保持和 admin-vue3 一致,后续可能重构 -export function useUpload(directory?: string) { - // 后端上传地址 - const uploadUrl = getUploadUrl(); - // 是否使用前端直连上传 - const isClientUpload = - UPLOAD_TYPE.CLIENT === import.meta.env.VITE_UPLOAD_TYPE; - // 重写ElUpload上传方法 - const httpRequest = async ( - file: File, - onUploadProgress?: AxiosProgressEvent, - ) => { - // 模式一:前端上传 - if (isClientUpload) { - // 1.1 生成文件名称 - const fileName = await generateFileName(file); - // 1.2 获取文件预签名地址 - const presignedInfo = await getFilePresignedUrl(fileName, directory); - // 1.3 上传文件 - return baseRequestClient - .put(presignedInfo.uploadUrl, file, { - headers: { - 'Content-Type': file.type, - }, - }) - .then(() => { - // 1.4. 记录文件信息到后端(异步) - createFile0(presignedInfo, file); - // 通知成功,数据格式保持与后端上传的返回结果一致 - return { url: presignedInfo.url }; - }); - } else { - // 模式二:后端上传 - return uploadFile({ file, directory }, onUploadProgress); - } - }; - - return { - uploadUrl, - httpRequest, - }; -} - -/** - * 获得上传 URL - */ -export function getUploadUrl(): string { - return `${apiURL}/infra/file/upload`; -} - -/** - * 创建文件信息 - * - * @param vo 文件预签名信息 - * @param file 文件 - */ -function createFile0(vo: InfraFileApi.FilePresignedUrlRespVO, file: File) { - const fileVO = { - configId: vo.configId, - url: vo.url, - path: vo.path, - name: file.name, - type: file.type, - size: file.size, - }; - createFile(fileVO); - return fileVO; -} - -/** - * 生成文件名称(使用算法SHA256) - * - * @param file 要上传的文件 - */ -async function generateFileName(file: File) { - // // 读取文件内容 - // const data = await file.arrayBuffer(); - // const wordArray = CryptoJS.lib.WordArray.create(data); - // // 计算SHA256 - // const sha256 = CryptoJS.SHA256(wordArray).toString(); - // // 拼接后缀 - // const ext = file.name.slice(Math.max(0, file.name.lastIndexOf('.'))); - // return `${sha256}${ext}`; - return file.name; -} diff --git a/apps/web-naive/src/layouts/basic.vue b/apps/web-naive/src/layouts/basic.vue index d3ae06308..0e9747bef 100644 --- a/apps/web-naive/src/layouts/basic.vue +++ b/apps/web-naive/src/layouts/basic.vue @@ -1,68 +1,66 @@