From 14538f7ed5c6664a851e1faa9fed3e0eddd1a8ac Mon Sep 17 00:00:00 2001 From: vince Date: Tue, 23 Jul 2024 00:03:59 +0800 Subject: [PATCH] refactor(project): re-adjust the overall folder --- .vscode/settings.json | 4 +- apps/web-antd/package.json | 9 +- apps/web-antd/src/apis/core/auth.ts | 2 +- apps/web-antd/src/apis/core/menu.ts | 2 +- apps/web-antd/src/apis/core/user.ts | 2 +- apps/web-antd/src/apis/demos/status.ts | 2 +- .../web-antd/src/{forward => apis}/request.ts | 6 +- apps/web-antd/src/app.vue | 2 +- apps/web-antd/src/bootstrap.ts | 2 +- apps/web-antd/src/forward/README.md | 11 - apps/web-antd/src/forward/index.ts | 2 - apps/web-antd/src/layouts/basic.vue | 22 +- apps/web-antd/src/locales/index.ts | 2 +- apps/web-antd/src/main.ts | 4 +- apps/web-antd/src/preferences.ts | 2 +- .../src/{forward => router}/access.ts | 2 +- apps/web-antd/src/router/guard.ts | 5 +- apps/web-antd/src/router/routes/index.ts | 3 +- apps/web-antd/src/store/index.ts | 7 +- apps/web-antd/src/store/modules/access.ts | 15 +- .../views/_core/authentication/code-login.vue | 7 +- .../_core/authentication/forget-password.vue | 7 +- .../_core/authentication/qrcode-login.vue | 3 +- .../views/_core/authentication/register.vue | 7 +- .../src/views/dashboard/workspace/index.vue | 2 +- .../src/views/demos/access/button-control.vue | 5 +- .../web-antd/src/views/demos/access/index.vue | 8 +- .../demos/features/login-expired/index.vue | 2 +- .../lint-configs/eslint-config/package.json | 12 +- .../src/configs/perfectionist.ts | 23 +- internal/tailwind-config/package.json | 3 +- internal/tailwind-config/src/index.ts | 6 +- internal/vite-config/src/typing.ts | 4 +- package.json | 12 +- packages/@core/forward/README.md | 7 - packages/@core/forward/helpers/package.json | 43 - packages/@core/forward/stores/src/setup.ts | 29 - packages/@core/hooks/package.json | 10 +- packages/@core/hooks/src/index.ts | 3 - .../helpers => preferences}/build.config.ts | 0 .../{forward => }/preferences/package.json | 5 +- .../{forward => }/preferences/src/config.ts | 0 .../preferences/src/constants.ts | 0 .../{forward => }/preferences/src/index.ts | 13 +- .../preferences/src/preferences.test.ts | 2 +- .../preferences/src/preferences.ts | 15 +- .../{forward => }/preferences/src/types.ts | 6 + .../preferences/src/update-css-variables.ts | 0 .../preferences/src/use-preferences.ts | 0 .../{forward => }/preferences/tsconfig.json | 0 packages/@core/shared/constants/package.json | 3 +- packages/@core/shared/icons/package.json | 5 +- packages/@core/shared/toolkit/package.json | 3 +- .../toolkit/src/cache/storage-manager.ts | 2 +- .../@core/shared/toolkit/src/cache/types.ts | 2 +- .../shared/toolkit/src/colorful/convert.ts | 2 +- packages/@core/shared/typings/package.json | 3 +- packages/@core/shared/typings/src/helper.d.ts | 2 +- .../@core/shared/typings/src/vue-router.d.ts | 2 +- .../@core/ui-kit/layout-ui/src/vben-layout.ts | 10 +- .../ui-kit/layout-ui/src/vben-layout.vue | 4 +- .../ui-kit/menu-ui/src/components/menu.vue | 8 +- .../menu-ui/src/components/sub-menu.vue | 2 +- .../ui-kit/menu-ui/src/interface/index.ts | 2 +- packages/@core/ui-kit/shadcn-ui/package.json | 2 +- .../src/components/button/icon-button.vue | 2 +- .../src/components/hover-card/hover-card.vue | 2 +- .../src/components/popover/popover.vue | 2 +- .../components/segmented/tabs-indicator.vue | 2 +- .../ui/alert-dialog/AlertDialogAction.vue | 2 +- .../ui/alert-dialog/AlertDialogCancel.vue | 2 +- .../ui/alert-dialog/AlertDialogContent.vue | 2 +- .../alert-dialog/AlertDialogDescription.vue | 2 +- .../ui/alert-dialog/AlertDialogTitle.vue | 2 +- .../src/components/ui/avatar/Avatar.vue | 2 +- .../src/components/ui/avatar/avatar.ts | 2 +- .../src/components/ui/avatar/index.ts | 2 +- .../src/components/ui/badge/badge.ts | 2 +- .../src/components/ui/badge/index.ts | 4 +- .../src/components/ui/button/button.ts | 2 +- .../src/components/ui/button/index.ts | 4 +- .../src/components/ui/checkbox/Checkbox.vue | 2 +- .../context-menu/ContextMenuCheckboxItem.vue | 2 +- .../ui/context-menu/ContextMenuContent.vue | 2 +- .../ui/context-menu/ContextMenuItem.vue | 2 +- .../ui/context-menu/ContextMenuLabel.vue | 2 +- .../ui/context-menu/ContextMenuRadioItem.vue | 2 +- .../ui/context-menu/ContextMenuSeparator.vue | 2 +- .../ui/context-menu/ContextMenuSubContent.vue | 2 +- .../ui/context-menu/ContextMenuSubTrigger.vue | 2 +- .../components/ui/dialog/DialogContent.vue | 2 +- .../ui/dialog/DialogDescription.vue | 2 +- .../ui/dialog/DialogScrollContent.vue | 2 +- .../src/components/ui/dialog/DialogTitle.vue | 2 +- .../DropdownMenuCheckboxItem.vue | 2 +- .../ui/dropdown-menu/DropdownMenuContent.vue | 2 +- .../ui/dropdown-menu/DropdownMenuItem.vue | 2 +- .../ui/dropdown-menu/DropdownMenuLabel.vue | 2 +- .../dropdown-menu/DropdownMenuRadioItem.vue | 2 +- .../dropdown-menu/DropdownMenuSeparator.vue | 2 +- .../dropdown-menu/DropdownMenuSubContent.vue | 2 +- .../dropdown-menu/DropdownMenuSubTrigger.vue | 2 +- .../ui/hover-card/HoverCardContent.vue | 2 +- .../ui/number-field/NumberField.vue | 2 +- .../ui/number-field/NumberFieldDecrement.vue | 2 +- .../ui/number-field/NumberFieldIncrement.vue | 2 +- .../src/components/ui/pin-input/PinInput.vue | 2 +- .../components/ui/pin-input/PinInputGroup.vue | 2 +- .../components/ui/pin-input/PinInputInput.vue | 2 +- .../components/ui/popover/PopoverContent.vue | 2 +- .../components/ui/scroll-area/ScrollArea.vue | 2 +- .../components/ui/scroll-area/ScrollBar.vue | 2 +- .../components/ui/select/SelectContent.vue | 2 +- .../src/components/ui/select/SelectGroup.vue | 2 +- .../src/components/ui/select/SelectItem.vue | 2 +- .../ui/select/SelectScrollDownButton.vue | 2 +- .../ui/select/SelectScrollUpButton.vue | 2 +- .../components/ui/select/SelectSeparator.vue | 2 +- .../components/ui/select/SelectTrigger.vue | 2 +- .../src/components/ui/sheet/SheetContent.vue | 2 +- .../components/ui/sheet/SheetDescription.vue | 2 +- .../src/components/ui/sheet/SheetTitle.vue | 2 +- .../src/components/ui/sheet/index.ts | 4 +- .../src/components/ui/sheet/sheet.ts | 2 +- .../src/components/ui/switch/Switch.vue | 2 +- .../src/components/ui/tabs/TabsContent.vue | 2 +- .../src/components/ui/tabs/TabsList.vue | 2 +- .../src/components/ui/tabs/TabsTrigger.vue | 2 +- .../src/components/ui/toast/ToastAction.vue | 2 +- .../src/components/ui/toast/ToastClose.vue | 2 +- .../components/ui/toast/ToastDescription.vue | 2 +- .../src/components/ui/toast/ToastTitle.vue | 2 +- .../src/components/ui/toast/ToastViewport.vue | 2 +- .../src/components/ui/toast/index.ts | 4 +- .../src/components/ui/toast/toast.ts | 2 +- .../src/components/ui/toast/use-toast.ts | 2 +- .../ui/toggle-group/ToggleGroup.vue | 2 +- .../ui/toggle-group/ToggleGroupItem.vue | 2 +- .../src/components/ui/toggle/Toggle.vue | 2 +- .../src/components/ui/toggle/index.ts | 2 +- .../src/components/ui/toggle/toggle.ts | 2 +- .../components/ui/tooltip/TooltipContent.vue | 2 +- .../@core/ui-kit/tabs-ui/src/tabs-view.vue | 2 +- packages/constants/package.json | 6 +- packages/effects/access/package.json | 14 +- .../effects/access/src/generate-accessible.ts | 9 +- packages/effects/access/src/use-access.ts | 4 +- packages/effects/chart-ui/package.json | 7 +- .../chart-ui/src/echarts/use-echarts.ts | 2 +- packages/effects/common-ui/package.json | 11 +- .../effects/common-ui/src/about/about.vue | 16 + .../src/authentication/code-login.vue | 5 +- .../src/authentication/forget-password.vue | 5 +- .../authentication/login-expired-modal.vue | 2 +- .../common-ui/src/authentication/login.vue | 2 +- .../src/authentication/qrcode-login.vue | 5 +- .../common-ui/src/authentication/register.vue | 5 +- .../src/authentication/third-party-login.vue | 4 +- .../common-ui/src/fallback/fallback.vue | 4 +- packages/effects/common-ui/tsconfig.json | 3 - packages/{ => effects}/hooks/README.md | 2 +- packages/{ => effects}/hooks/build.config.ts | 1 + packages/{ => effects}/hooks/package.json | 13 +- packages/effects/hooks/src/index.ts | 4 + .../hooks/src/use-content-maximize.ts | 2 +- .../hooks/src/use-refresh.ts | 2 +- .../{@core => effects}/hooks/src/use-tabs.ts | 2 +- packages/{ => effects}/hooks/tsconfig.json | 0 packages/effects/layouts/package.json | 20 +- .../src/authentication/authentication.vue | 4 +- .../layouts/src/authentication/form.vue | 2 +- .../layouts/src/basic/content/content.vue | 6 +- .../src/basic/content/use-content-spinner.ts | 2 +- .../layouts/src/basic/header/header.vue | 4 +- packages/effects/layouts/src/basic/layout.vue | 14 +- .../layouts/src/basic/menu/extra-menu.vue | 2 +- .../effects/layouts/src/basic/menu/menu.vue | 2 +- .../layouts/src/basic/menu/mixed-menu.vue | 4 +- .../layouts/src/basic/menu/use-extra-menu.ts | 8 +- .../layouts/src/basic/menu/use-mixed-menu.ts | 8 +- .../layouts/src/basic/menu/use-navigation.ts | 2 +- .../layouts/src/basic/tabbar/tabbar.vue | 6 +- .../layouts/src/basic/tabbar/use-tabbar.ts | 12 +- .../layouts/src/iframe/iframe-router-view.vue | 4 +- .../layouts/src/widgets/breadcrumb.vue | 4 +- .../layouts/src/widgets/color-toggle.vue | 6 +- .../widgets/global-search/global-search.vue | 8 +- .../widgets/global-search/search-panel.vue | 8 +- .../layouts/src/widgets/language-toggle.vue | 10 +- .../layouts/src/widgets/layout-toggle.vue | 8 +- .../src/widgets/lock-screen/lock-screen.vue | 19 +- .../src/widgets/notification/notification.vue | 4 +- .../preferences/blocks/general/animation.vue | 2 +- .../preferences/blocks/general/general.vue | 6 +- .../widgets/preferences/blocks/input-item.vue | 4 +- .../preferences/blocks/layout/breadcrumb.vue | 4 +- .../preferences/blocks/layout/content.vue | 2 +- .../preferences/blocks/layout/copyright.vue | 2 +- .../preferences/blocks/layout/footer.vue | 2 +- .../preferences/blocks/layout/header.vue | 4 +- .../preferences/blocks/layout/layout.vue | 6 +- .../preferences/blocks/layout/navigation.vue | 4 +- .../preferences/blocks/layout/sidebar.vue | 2 +- .../preferences/blocks/layout/tabbar.vue | 4 +- .../preferences/blocks/layout/widget.vue | 2 +- .../preferences/blocks/number-field-item.vue | 4 +- .../preferences/blocks/select-item.vue | 4 +- .../blocks/shortcut-keys/global.vue | 4 +- .../preferences/blocks/switch-item.vue | 2 +- .../preferences/blocks/theme/builtin.vue | 10 +- .../preferences/blocks/theme/color-mode.vue | 2 +- .../preferences/blocks/theme/theme.vue | 6 +- .../preferences/blocks/toggle-item.vue | 2 +- .../widgets/preferences/preferences-sheet.vue | 12 +- .../src/widgets/preferences/preferences.vue | 6 +- .../src/widgets/theme-toggle/theme-toggle.vue | 8 +- .../widgets/user-dropdown/user-dropdown.vue | 16 +- .../request}/build.config.ts | 0 .../forward => effects}/request/package.json | 14 +- .../forward => effects}/request/src/index.ts | 0 .../request/src/request-client/index.ts | 0 .../request-client/modules/downloader.test.ts | 0 .../src/request-client/modules/downloader.ts | 0 .../src/request-client/modules/interceptor.ts | 0 .../request-client/modules/uploader.test.ts | 0 .../src/request-client/modules/uploader.ts | 0 .../src/request-client/request-client.test.ts | 0 .../src/request-client/request-client.ts | 4 +- .../request/src/request-client/types.ts | 0 .../request/src/use-request.ts | 0 .../forward => effects}/request/tsconfig.json | 0 packages/hooks/src/index.ts | 1 - packages/icons/package.json | 6 +- packages/{@core => }/locales/build.config.ts | 0 packages/{@core => }/locales/package.json | 10 +- packages/{@core => }/locales/src/i18n.ts | 0 packages/{@core => }/locales/src/index.ts | 0 .../{@core => }/locales/src/langs/en-US.json | 0 .../{@core => }/locales/src/langs/zh-CN.json | 0 packages/{@core => }/locales/src/typing.ts | 0 packages/{@core => }/locales/tsconfig.json | 0 .../request => preferences}/build.config.ts | 0 packages/preferences/package.json | 35 + packages/preferences/src/index.ts | 16 + .../helpers => preferences}/tsconfig.json | 3 - .../forward => }/stores/build.config.ts | 0 .../{@core/forward => }/stores/package.json | 10 +- .../forward => }/stores/shim-pinia.d.ts | 2 +- .../{@core/forward => }/stores/src/index.ts | 0 .../stores/src/modules/access.test.ts | 0 .../forward => }/stores/src/modules/access.ts | 4 +- .../forward => }/stores/src/modules/index.ts | 1 + packages/stores/src/modules/lock.test.ts | 32 + .../stores/src/modules/lock.ts | 19 +- .../stores/src/modules/tabbar.test.ts | 0 .../forward => }/stores/src/modules/tabbar.ts | 6 +- packages/stores/src/setup.ts | 41 + .../{@core/forward => }/stores/tsconfig.json | 0 packages/styles/package.json | 2 +- packages/types/global.d.ts | 16 - packages/types/package.json | 6 +- packages/utils/README.md | 2 +- packages/utils/package.json | 10 +- .../src/helpers}/find-menu-by-path.test.ts | 0 .../src/helpers}/find-menu-by-path.ts | 0 .../src/helpers}/generate-menus.test.ts | 4 +- .../src/helpers}/generate-menus.ts | 2 +- .../src/helpers}/generate-routes-backend.ts | 0 .../helpers}/generate-routes-frontend.test.ts | 0 .../src/helpers}/generate-routes-frontend.ts | 0 .../src => utils/src/helpers}/index.ts | 0 .../src/helpers}/merge-route-modules.test.ts | 0 .../src/helpers}/merge-route-modules.ts | 0 packages/utils/src/index.ts | 1 + packages/utils/tsconfig.json | 3 + pnpm-lock.yaml | 1743 +++++++---------- pnpm-workspace.yaml | 4 +- scripts/vsh/src/check-circular/index.ts | 2 +- scripts/vsh/src/publint/index.ts | 2 +- vben-admin.code-workspace | 40 +- website/.vitepress/theme/index.ts | 10 +- 281 files changed, 1365 insertions(+), 1659 deletions(-) rename apps/web-antd/src/{forward => apis}/request.ts (90%) delete mode 100644 apps/web-antd/src/forward/README.md delete mode 100644 apps/web-antd/src/forward/index.ts rename apps/web-antd/src/{forward => router}/access.ts (95%) delete mode 100644 packages/@core/forward/README.md delete mode 100644 packages/@core/forward/helpers/package.json delete mode 100644 packages/@core/forward/stores/src/setup.ts rename packages/@core/{forward/helpers => preferences}/build.config.ts (100%) rename packages/@core/{forward => }/preferences/package.json (85%) rename packages/@core/{forward => }/preferences/src/config.ts (100%) rename packages/@core/{forward => }/preferences/src/constants.ts (100%) rename packages/@core/{forward => }/preferences/src/index.ts (72%) rename packages/@core/{forward => }/preferences/src/preferences.test.ts (99%) rename packages/@core/{forward => }/preferences/src/preferences.ts (94%) rename packages/@core/{forward => }/preferences/src/types.ts (98%) rename packages/@core/{forward => }/preferences/src/update-css-variables.ts (100%) rename packages/@core/{forward => }/preferences/src/use-preferences.ts (100%) rename packages/@core/{forward => }/preferences/tsconfig.json (100%) rename packages/{ => effects}/hooks/README.md (63%) rename packages/{ => effects}/hooks/build.config.ts (86%) rename packages/{ => effects}/hooks/package.json (72%) create mode 100644 packages/effects/hooks/src/index.ts rename packages/{@core => effects}/hooks/src/use-content-maximize.ts (84%) rename packages/{@core => effects}/hooks/src/use-refresh.ts (81%) rename packages/{@core => effects}/hooks/src/use-tabs.ts (98%) rename packages/{ => effects}/hooks/tsconfig.json (100%) rename packages/{@core/forward/preferences => effects/request}/build.config.ts (100%) rename packages/{@core/forward => effects}/request/package.json (75%) rename packages/{@core/forward => effects}/request/src/index.ts (100%) rename packages/{@core/forward => effects}/request/src/request-client/index.ts (100%) rename packages/{@core/forward => effects}/request/src/request-client/modules/downloader.test.ts (100%) rename packages/{@core/forward => effects}/request/src/request-client/modules/downloader.ts (100%) rename packages/{@core/forward => effects}/request/src/request-client/modules/interceptor.ts (100%) rename packages/{@core/forward => effects}/request/src/request-client/modules/uploader.test.ts (100%) rename packages/{@core/forward => effects}/request/src/request-client/modules/uploader.ts (100%) rename packages/{@core/forward => effects}/request/src/request-client/request-client.test.ts (100%) rename packages/{@core/forward => effects}/request/src/request-client/request-client.ts (98%) rename packages/{@core/forward => effects}/request/src/request-client/types.ts (100%) rename packages/{@core/forward => effects}/request/src/use-request.ts (100%) rename packages/{@core/forward => effects}/request/tsconfig.json (100%) delete mode 100644 packages/hooks/src/index.ts rename packages/{@core => }/locales/build.config.ts (100%) rename packages/{@core => }/locales/package.json (82%) rename packages/{@core => }/locales/src/i18n.ts (100%) rename packages/{@core => }/locales/src/index.ts (100%) rename packages/{@core => }/locales/src/langs/en-US.json (100%) rename packages/{@core => }/locales/src/langs/zh-CN.json (100%) rename packages/{@core => }/locales/src/typing.ts (100%) rename packages/{@core => }/locales/tsconfig.json (100%) rename packages/{@core/forward/request => preferences}/build.config.ts (100%) create mode 100644 packages/preferences/package.json create mode 100644 packages/preferences/src/index.ts rename packages/{@core/forward/helpers => preferences}/tsconfig.json (66%) rename packages/{@core/forward => }/stores/build.config.ts (100%) rename packages/{@core/forward => }/stores/package.json (83%) rename packages/{@core/forward => }/stores/shim-pinia.d.ts (79%) rename packages/{@core/forward => }/stores/src/index.ts (100%) rename packages/{@core/forward => }/stores/src/modules/access.test.ts (100%) rename packages/{@core/forward => }/stores/src/modules/access.ts (95%) rename packages/{@core/forward => }/stores/src/modules/index.ts (68%) create mode 100644 packages/stores/src/modules/lock.test.ts rename apps/web-antd/src/store/modules/app.ts => packages/stores/src/modules/lock.ts (61%) rename packages/{@core/forward => }/stores/src/modules/tabbar.test.ts (100%) rename packages/{@core/forward => }/stores/src/modules/tabbar.ts (98%) create mode 100644 packages/stores/src/setup.ts rename packages/{@core/forward => }/stores/tsconfig.json (100%) rename packages/{@core/forward/helpers/src => utils/src/helpers}/find-menu-by-path.test.ts (100%) rename packages/{@core/forward/helpers/src => utils/src/helpers}/find-menu-by-path.ts (100%) rename packages/{@core/forward/helpers/src => utils/src/helpers}/generate-menus.test.ts (100%) rename packages/{@core/forward/helpers/src => utils/src/helpers}/generate-menus.ts (97%) rename packages/{@core/forward/helpers/src => utils/src/helpers}/generate-routes-backend.ts (100%) rename packages/{@core/forward/helpers/src => utils/src/helpers}/generate-routes-frontend.test.ts (100%) rename packages/{@core/forward/helpers/src => utils/src/helpers}/generate-routes-frontend.ts (100%) rename packages/{@core/forward/helpers/src => utils/src/helpers}/index.ts (100%) rename packages/{@core/forward/helpers/src => utils/src/helpers}/merge-route-modules.test.ts (100%) rename packages/{@core/forward/helpers/src => utils/src/helpers}/merge-route-modules.ts (100%) diff --git a/.vscode/settings.json b/.vscode/settings.json index 4776e894..ffba678d 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -165,11 +165,11 @@ }, "cssVariables.lookupFiles": [ - "packages/@vben-core/shared/design-tokens/src/**/*.css" + "packages/@vben-core/shared/design/src/**/*.css" ], "i18n-ally.localesPaths": [ - "packages/@core/locales/src/langs", + "packages/locales/src/langs", "apps/*/src/locales/langs" ], "i18n-ally.enabledParsers": ["json", "ts", "js", "yaml"], diff --git a/apps/web-antd/package.json b/apps/web-antd/package.json index a19d0761..b970d8ca 100644 --- a/apps/web-antd/package.json +++ b/apps/web-antd/package.json @@ -26,11 +26,6 @@ "#/*": "./src/*" }, "dependencies": { - "@vben-core/helpers": "workspace:*", - "@vben-core/locales": "workspace:*", - "@vben-core/preferences": "workspace:*", - "@vben-core/request": "workspace:*", - "@vben-core/stores": "workspace:*", "@vben/access": "workspace:*", "@vben/chart-ui": "workspace:*", "@vben/common-ui": "workspace:*", @@ -38,6 +33,10 @@ "@vben/hooks": "workspace:*", "@vben/icons": "workspace:*", "@vben/layouts": "workspace:*", + "@vben/locales": "workspace:*", + "@vben/preferences": "workspace:*", + "@vben/request": "workspace:*", + "@vben/stores": "workspace:*", "@vben/styles": "workspace:*", "@vben/types": "workspace:*", "@vben/utils": "workspace:*", diff --git a/apps/web-antd/src/apis/core/auth.ts b/apps/web-antd/src/apis/core/auth.ts index c389f423..227d0f2a 100644 --- a/apps/web-antd/src/apis/core/auth.ts +++ b/apps/web-antd/src/apis/core/auth.ts @@ -1,6 +1,6 @@ import type { UserApi } from '../types'; -import { requestClient } from '#/forward'; +import { requestClient } from '#/apis/request'; /** * 登录 diff --git a/apps/web-antd/src/apis/core/menu.ts b/apps/web-antd/src/apis/core/menu.ts index 432b228d..57088aca 100644 --- a/apps/web-antd/src/apis/core/menu.ts +++ b/apps/web-antd/src/apis/core/menu.ts @@ -1,6 +1,6 @@ import type { RouteRecordStringComponent } from '@vben/types'; -import { requestClient } from '#/forward'; +import { requestClient } from '#/apis/request'; /** * 获取用户所有菜单 diff --git a/apps/web-antd/src/apis/core/user.ts b/apps/web-antd/src/apis/core/user.ts index 4fc6f12c..5eecf0bd 100644 --- a/apps/web-antd/src/apis/core/user.ts +++ b/apps/web-antd/src/apis/core/user.ts @@ -1,6 +1,6 @@ import type { UserInfo } from '@vben/types'; -import { requestClient } from '#/forward'; +import { requestClient } from '#/apis/request'; /** * 获取用户信息 diff --git a/apps/web-antd/src/apis/demos/status.ts b/apps/web-antd/src/apis/demos/status.ts index 00ef6e98..7da2d49c 100644 --- a/apps/web-antd/src/apis/demos/status.ts +++ b/apps/web-antd/src/apis/demos/status.ts @@ -1,4 +1,4 @@ -import { requestClient } from '#/forward'; +import { requestClient } from '#/apis/request'; /** * 模拟任意状态码 diff --git a/apps/web-antd/src/forward/request.ts b/apps/web-antd/src/apis/request.ts similarity index 90% rename from apps/web-antd/src/forward/request.ts rename to apps/web-antd/src/apis/request.ts index e115ca33..f56ba744 100644 --- a/apps/web-antd/src/forward/request.ts +++ b/apps/web-antd/src/apis/request.ts @@ -1,10 +1,10 @@ /** * 该文件可自行根据业务逻辑进行调整 */ -import type { HttpResponse } from '@vben-core/request'; +import type { HttpResponse } from '@vben/request'; -import { preferences } from '@vben-core/preferences'; -import { RequestClient } from '@vben-core/request'; +import { preferences } from '@vben/preferences'; +import { RequestClient } from '@vben/request'; import { message } from 'ant-design-vue'; diff --git a/apps/web-antd/src/app.vue b/apps/web-antd/src/app.vue index 4ff69a7d..7ffe37b4 100644 --- a/apps/web-antd/src/app.vue +++ b/apps/web-antd/src/app.vue @@ -2,7 +2,7 @@ import { computed } from 'vue'; import { GlobalProvider } from '@vben/common-ui'; -import { preferences, usePreferences } from '@vben-core/preferences'; +import { preferences, usePreferences } from '@vben/preferences'; import { App, ConfigProvider, theme } from 'ant-design-vue'; diff --git a/apps/web-antd/src/bootstrap.ts b/apps/web-antd/src/bootstrap.ts index 600db698..607f7fa7 100644 --- a/apps/web-antd/src/bootstrap.ts +++ b/apps/web-antd/src/bootstrap.ts @@ -1,8 +1,8 @@ import { createApp } from 'vue'; +import { preferences } from '@vben/preferences'; import '@vben/styles'; import '@vben/styles/antd'; -import { preferences } from '@vben-core/preferences'; import { loadMessages, setupI18n } from '#/locales'; import { setupStore } from '#/store'; diff --git a/apps/web-antd/src/forward/README.md b/apps/web-antd/src/forward/README.md deleted file mode 100644 index 67152c3d..00000000 --- a/apps/web-antd/src/forward/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# forward - -用于扩展、转发大仓的包以及其他功能,方便在app内自定义不同的逻辑 - -## request - -用于扩展请求的功能,例如添加header、错误响应等 - -## locale - -用于扩展国际化的功能,例如扩展 dayjs、antd组件库的多语言切换 diff --git a/apps/web-antd/src/forward/index.ts b/apps/web-antd/src/forward/index.ts deleted file mode 100644 index 2766e57b..00000000 --- a/apps/web-antd/src/forward/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './access'; -export * from './request'; diff --git a/apps/web-antd/src/layouts/basic.vue b/apps/web-antd/src/layouts/basic.vue index fcd2c57f..5c92f3f3 100644 --- a/apps/web-antd/src/layouts/basic.vue +++ b/apps/web-antd/src/layouts/basic.vue @@ -12,12 +12,12 @@ import { NotificationItem, UserDropdown, } from '@vben/layouts'; +import { preferences } from '@vben/preferences'; import { openWindow } from '@vben/utils'; -import { preferences } from '@vben-core/preferences'; import { $t } from '#/locales'; import { resetRoutes } from '#/router'; -import { storeToRefs, useAccessStore, useAppStore } from '#/store'; +import { resetAllStores, storeToRefs, useAccessStore } from '#/store'; const notifications = ref([ { @@ -84,10 +84,8 @@ const menus = computed(() => [ }, ]); -const appStore = useAppStore(); const accessStore = useAccessStore(); -const { isLockScreen, lockScreenPassword } = storeToRefs(appStore); const { loading: loginLoading, openLoginExpiredModal, @@ -101,8 +99,7 @@ const avatar = computed(() => { const router = useRouter(); async function handleLogout() { - appStore.resetAppState(); - appStore.unlockScreen(); + resetAllStores(); resetRoutes(); await router.replace(LOGIN_PATH); } @@ -114,10 +111,6 @@ function handleNoticeClear() { function handleMakeAll() { notifications.value.forEach((item) => (item.isRead = true)); } - -function handleLockScreen(password: string) { - appStore.lockScreen(password); -} @@ -152,13 +144,7 @@ function handleLockScreen(password: string) { /> diff --git a/apps/web-antd/src/locales/index.ts b/apps/web-antd/src/locales/index.ts index 70bfab5e..11438544 100644 --- a/apps/web-antd/src/locales/index.ts +++ b/apps/web-antd/src/locales/index.ts @@ -3,7 +3,7 @@ import type { Locale } from 'ant-design-vue/es/locale'; import { ref } from 'vue'; -import { $t, loadLocalesMap, setupI18n } from '@vben-core/locales'; +import { $t, loadLocalesMap, setupI18n } from '@vben/locales'; import antdEnLocale from 'ant-design-vue/es/locale/en_US'; import antdDefaultLocale from 'ant-design-vue/es/locale/zh_CN'; diff --git a/apps/web-antd/src/main.ts b/apps/web-antd/src/main.ts index 260946b3..89d7b2cd 100644 --- a/apps/web-antd/src/main.ts +++ b/apps/web-antd/src/main.ts @@ -1,4 +1,4 @@ -import { preferencesManager } from '@vben-core/preferences'; +import { initPreferences } from '@vben/preferences'; import { overridesPreferences } from './preferences'; @@ -12,7 +12,7 @@ async function initApplication() { const namespace = `${import.meta.env.VITE_APP_NAMESPACE}-${env}`; // app偏好设置初始化 - await preferencesManager.initPreferences({ + await initPreferences({ namespace, overrides: overridesPreferences, }); diff --git a/apps/web-antd/src/preferences.ts b/apps/web-antd/src/preferences.ts index 5b542173..9683596a 100644 --- a/apps/web-antd/src/preferences.ts +++ b/apps/web-antd/src/preferences.ts @@ -1,4 +1,4 @@ -import { defineOverridesPreferences } from '@vben-core/preferences'; +import { defineOverridesPreferences } from '@vben/preferences'; /** * @description 项目配置文件 diff --git a/apps/web-antd/src/forward/access.ts b/apps/web-antd/src/router/access.ts similarity index 95% rename from apps/web-antd/src/forward/access.ts rename to apps/web-antd/src/router/access.ts index 3900ab80..b2a0a4f8 100644 --- a/apps/web-antd/src/forward/access.ts +++ b/apps/web-antd/src/router/access.ts @@ -4,7 +4,7 @@ import type { } from '@vben/types'; import { generateAccessible } from '@vben/access'; -import { preferences } from '@vben-core/preferences'; +import { preferences } from '@vben/preferences'; import { message } from 'ant-design-vue'; diff --git a/apps/web-antd/src/router/guard.ts b/apps/web-antd/src/router/guard.ts index 90967bb1..0661cb37 100644 --- a/apps/web-antd/src/router/guard.ts +++ b/apps/web-antd/src/router/guard.ts @@ -1,16 +1,17 @@ import type { Router } from 'vue-router'; import { LOGIN_PATH } from '@vben/constants'; +import { preferences } from '@vben/preferences'; import { startProgress, stopProgress } from '@vben/utils'; -import { preferences } from '@vben-core/preferences'; import { useTitle } from '@vueuse/core'; -import { generateAccess } from '#/forward'; import { $t } from '#/locales'; import { coreRouteNames, dynamicRoutes } from '#/router/routes'; import { useAccessStore } from '#/store'; +import { generateAccess } from './access'; + /** * 通用守卫配置 * @param router diff --git a/apps/web-antd/src/router/routes/index.ts b/apps/web-antd/src/router/routes/index.ts index cc829703..78da5436 100644 --- a/apps/web-antd/src/router/routes/index.ts +++ b/apps/web-antd/src/router/routes/index.ts @@ -1,7 +1,6 @@ import type { RouteRecordRaw } from 'vue-router'; -import { traverseTreeValues } from '@vben/utils'; -import { mergeRouteModules } from '@vben-core/helpers'; +import { mergeRouteModules, traverseTreeValues } from '@vben/utils'; import { coreRoutes, fallbackNotFoundRoute } from './core'; diff --git a/apps/web-antd/src/store/index.ts b/apps/web-antd/src/store/index.ts index 4deb7341..dc786550 100644 --- a/apps/web-antd/src/store/index.ts +++ b/apps/web-antd/src/store/index.ts @@ -1,8 +1,8 @@ -import type { InitStoreOptions } from '@vben-core/stores'; +import type { InitStoreOptions } from '@vben/stores'; import type { App } from 'vue'; -import { initStore, storeToRefs } from '@vben-core/stores'; +import { initStore, resetAllStores, storeToRefs } from '@vben/stores'; /** * @zh_CN 初始化pinia @@ -13,7 +13,6 @@ async function setupStore(app: App, options: InitStoreOptions) { app.use(pinia); } -export { setupStore, storeToRefs }; +export { resetAllStores, setupStore, storeToRefs }; export { useAccessStore } from './modules/access'; -export { useAppStore } from './modules/app'; diff --git a/apps/web-antd/src/store/modules/access.ts b/apps/web-antd/src/store/modules/access.ts index 13ced8c3..c459931d 100644 --- a/apps/web-antd/src/store/modules/access.ts +++ b/apps/web-antd/src/store/modules/access.ts @@ -6,7 +6,7 @@ import { computed, ref } from 'vue'; import { useRouter } from 'vue-router'; import { DEFAULT_HOME_PATH, LOGIN_PATH } from '@vben/constants'; -import { useCoreAccessStore } from '@vben-core/stores'; +import { resetAllStores, useCoreAccessStore } from '@vben/stores'; import { notification } from 'ant-design-vue'; import { defineStore } from 'pinia'; @@ -50,7 +50,7 @@ export const useAccessStore = defineStore('access', () => { onSuccess?: () => Promise | void, ) { // 异步处理用户登录操作并获取 accessToken - let userInfo: UserInfo | null = null; + let userInfo: null | UserInfo = null; try { loading.value = true; const { accessToken, refreshToken } = await login(params); @@ -102,7 +102,7 @@ export const useAccessStore = defineStore('access', () => { } async function logout() { - coreStoreAccess.$reset(); + resetAllStores(); openLoginExpiredModal.value = false; // 回登陆页带上当前路由地址 @@ -115,17 +115,19 @@ export const useAccessStore = defineStore('access', () => { } async function fetchUserInfo() { - let userInfo: UserInfo | null = null; + let userInfo: null | UserInfo = null; userInfo = await getUserInfo(); coreStoreAccess.setUserInfo(userInfo); return userInfo; } - function reset() { - coreStoreAccess.$reset(); + function $reset() { + loading.value = false; + openLoginExpiredModal.value = false; } return { + $reset, accessRoutes, accessToken, authLogin, @@ -134,7 +136,6 @@ export const useAccessStore = defineStore('access', () => { logout, openLoginExpiredModal, refreshToken, - reset, setAccessMenus, setAccessRoutes, setAccessToken, diff --git a/apps/web-antd/src/views/_core/authentication/code-login.vue b/apps/web-antd/src/views/_core/authentication/code-login.vue index 9abab341..36cf50ec 100644 --- a/apps/web-antd/src/views/_core/authentication/code-login.vue +++ b/apps/web-antd/src/views/_core/authentication/code-login.vue @@ -4,6 +4,7 @@ import type { LoginCodeParams } from '@vben/common-ui'; import { ref } from 'vue'; import { AuthenticationCodeLogin } from '@vben/common-ui'; +import { LOGIN_PATH } from '@vben/constants'; defineOptions({ name: 'CodeLogin' }); @@ -21,5 +22,9 @@ async function handleLogin(values: LoginCodeParams) { diff --git a/apps/web-antd/src/views/_core/authentication/forget-password.vue b/apps/web-antd/src/views/_core/authentication/forget-password.vue index add1f518..74ccc27e 100644 --- a/apps/web-antd/src/views/_core/authentication/forget-password.vue +++ b/apps/web-antd/src/views/_core/authentication/forget-password.vue @@ -2,6 +2,7 @@ import { ref } from 'vue'; import { AuthenticationForgetPassword } from '@vben/common-ui'; +import { LOGIN_PATH } from '@vben/constants'; defineOptions({ name: 'ForgetPassword' }); @@ -14,5 +15,9 @@ function handleSubmit(value: string) { diff --git a/apps/web-antd/src/views/_core/authentication/qrcode-login.vue b/apps/web-antd/src/views/_core/authentication/qrcode-login.vue index 82f0c624..23f5f2da 100644 --- a/apps/web-antd/src/views/_core/authentication/qrcode-login.vue +++ b/apps/web-antd/src/views/_core/authentication/qrcode-login.vue @@ -1,9 +1,10 @@ diff --git a/apps/web-antd/src/views/_core/authentication/register.vue b/apps/web-antd/src/views/_core/authentication/register.vue index af3e820c..f6b227d9 100644 --- a/apps/web-antd/src/views/_core/authentication/register.vue +++ b/apps/web-antd/src/views/_core/authentication/register.vue @@ -4,6 +4,7 @@ import type { LoginAndRegisterParams } from '@vben/common-ui'; import { ref } from 'vue'; import { AuthenticationRegister } from '@vben/common-ui'; +import { LOGIN_PATH } from '@vben/constants'; defineOptions({ name: 'Register' }); @@ -16,5 +17,9 @@ function handleSubmit(value: LoginAndRegisterParams) { diff --git a/apps/web-antd/src/views/dashboard/workspace/index.vue b/apps/web-antd/src/views/dashboard/workspace/index.vue index 69ae0574..2ba195c6 100644 --- a/apps/web-antd/src/views/dashboard/workspace/index.vue +++ b/apps/web-antd/src/views/dashboard/workspace/index.vue @@ -16,7 +16,7 @@ import { WorkbenchTodo, WorkbenchTrends, } from '@vben/common-ui'; -import { preferences } from '@vben-core/preferences'; +import { preferences } from '@vben/preferences'; import { useAccessStore } from '#/store'; diff --git a/apps/web-antd/src/views/demos/access/button-control.vue b/apps/web-antd/src/views/demos/access/button-control.vue index cae47d48..89f403c8 100644 --- a/apps/web-antd/src/views/demos/access/button-control.vue +++ b/apps/web-antd/src/views/demos/access/button-control.vue @@ -7,7 +7,7 @@ import { AccessControl, useAccess } from '@vben/access'; import { Button } from 'ant-design-vue'; -import { useAccessStore, useAppStore } from '#/store'; +import { resetAllStores, useAccessStore } from '#/store'; defineOptions({ name: 'AccessButtonControl' }); @@ -28,7 +28,6 @@ const accounts: Record = { const { accessMode, hasAccessByCodes } = useAccess(); const accessStore = useAccessStore(); -const appStore = useAppStore(); const router = useRouter(); function roleButtonType(role: string) { @@ -41,7 +40,7 @@ async function changeAccount(role: string) { } const account = accounts[role]; - appStore.resetAppState(); + resetAllStores(); await accessStore.authLogin(account, async () => { router.go(0); }); diff --git a/apps/web-antd/src/views/demos/access/index.vue b/apps/web-antd/src/views/demos/access/index.vue index 93705f92..a902ce5d 100644 --- a/apps/web-antd/src/views/demos/access/index.vue +++ b/apps/web-antd/src/views/demos/access/index.vue @@ -7,7 +7,7 @@ import { useAccess } from '@vben/access'; import { Button } from 'ant-design-vue'; -import { useAccessStore, useAppStore } from '#/store'; +import { resetAllStores, useAccessStore } from '#/store'; defineOptions({ name: 'Access' }); @@ -28,7 +28,6 @@ const accounts: Record = { const { accessMode, toggleAccessMode } = useAccess(); const accessStore = useAccessStore(); -const appStore = useAppStore(); const router = useRouter(); function roleButtonType(role: string) { @@ -41,7 +40,7 @@ async function changeAccount(role: string) { } const account = accounts[role]; - appStore.resetAppState(); + resetAllStores(); await accessStore.authLogin(account, async () => { router.go(0); }); @@ -49,7 +48,8 @@ async function changeAccount(role: string) { async function handleToggleAccessMode() { await toggleAccessMode(); - appStore.resetAppState(); + resetAllStores(); + await accessStore.authLogin(accounts.super, async () => { router.go(0); }); diff --git a/apps/web-antd/src/views/demos/features/login-expired/index.vue b/apps/web-antd/src/views/demos/features/login-expired/index.vue index 73f2bb9a..ffb0d179 100644 --- a/apps/web-antd/src/views/demos/features/login-expired/index.vue +++ b/apps/web-antd/src/views/demos/features/login-expired/index.vue @@ -1,7 +1,7 @@