Jelajahi Sumber

refactor: '/@/' ==> '@/' and '/#/ '==> '#/' (#3329)

* refactor: /@/ ==> @/

* chore: '/@/' ==> '@/' and '/#/ '==> '#/'

* fix: lint:prettier
xingyu 1 tahun lalu
induk
melakukan
4d2fb0cb6f
100 mengubah file dengan 757 tambahan dan 775 penghapusan
  1. 1 1
      .vscode/settings.json
  2. 0 10
      internal/vite-config/src/config/application.ts
  3. 1 1
      mock/_util.ts
  4. 1 1
      src/api/demo/account.ts
  5. 2 2
      src/api/demo/cascader.ts
  6. 1 1
      src/api/demo/error.ts
  7. 1 1
      src/api/demo/model/optionsModel.ts
  8. 1 1
      src/api/demo/model/systemModel.ts
  9. 1 1
      src/api/demo/model/tableModel.ts
  10. 1 1
      src/api/demo/select.ts
  11. 1 1
      src/api/demo/system.ts
  12. 1 1
      src/api/demo/table.ts
  13. 1 1
      src/api/demo/tree.ts
  14. 1 1
      src/api/sys/menu.ts
  15. 3 3
      src/api/sys/upload.ts
  16. 2 2
      src/api/sys/user.ts
  17. 1 1
      src/components/Application/src/AppLocalePicker.vue
  18. 1 1
      src/components/Dropdown/src/Dropdown.vue
  19. 1 1
      src/components/Form/src/hooks/useForm.ts
  20. 1 1
      src/components/Menu/src/useOpenKeys.ts
  21. 1 1
      src/components/SimpleMenu/src/components/SubMenuItem.vue
  22. 1 1
      src/components/Table/src/hooks/useTable.ts
  23. 2 2
      src/directives/clickOutside.ts
  24. 1 1
      src/directives/loading.ts
  25. 1 1
      src/directives/permission.ts
  26. 1 1
      src/directives/repeatClick.ts
  27. 1 1
      src/hooks/setting/index.ts
  28. 1 1
      src/hooks/setting/useHeaderSetting.ts
  29. 1 1
      src/hooks/setting/useMenuSetting.ts
  30. 1 1
      src/hooks/setting/useMultipleTabSetting.ts
  31. 1 1
      src/hooks/setting/useRootSetting.ts
  32. 1 1
      src/hooks/setting/useTransitionSetting.ts
  33. 11 11
      src/layouts/default/header/components/Breadcrumb.vue
  34. 1 1
      src/layouts/default/header/components/ChangeApi/index.vue
  35. 1 1
      src/layouts/default/setting/handler.ts
  36. 1 1
      src/locales/helper.ts
  37. 15 15
      src/locales/lang/en/common.json
  38. 94 94
      src/locales/lang/en/component.json
  39. 1 1
      src/locales/lang/en/layout.json
  40. 1 1
      src/locales/lang/en/routes/basic.json
  41. 78 78
      src/locales/lang/en/sys.json
  42. 1 1
      src/locales/lang/zh-CN/antdLocale/DatePicker.json
  43. 94 94
      src/locales/lang/zh-CN/component.json
  44. 1 1
      src/locales/lang/zh-CN/layout.json
  45. 78 78
      src/locales/lang/zh-CN/sys.json
  46. 1 1
      src/locales/lang/zh_CN.ts
  47. 2 2
      src/locales/setupI18n.ts
  48. 2 2
      src/locales/useLocale.ts
  49. 4 4
      src/logics/error-handle/index.ts
  50. 13 13
      src/logics/initAppConfig.ts
  51. 2 2
      src/logics/mitt/routeChange.ts
  52. 1 1
      src/logics/theme/dark.ts
  53. 3 3
      src/logics/theme/updateBackground.ts
  54. 2 2
      src/router/constant.ts
  55. 7 7
      src/router/guard/index.ts
  56. 3 3
      src/router/guard/paramMenuGuard.ts
  57. 5 5
      src/router/guard/permissionGuard.ts
  58. 6 6
      src/router/guard/stateGuard.ts
  59. 4 4
      src/router/helper/menuHelper.ts
  60. 4 4
      src/router/helper/routeHelper.ts
  61. 8 8
      src/router/menus/index.ts
  62. 5 10
      src/router/routes/basic.ts
  63. 5 5
      src/router/routes/index.ts
  64. 2 2
      src/router/routes/mainOut.ts
  65. 4 4
      src/router/routes/modules/about.ts
  66. 5 5
      src/router/routes/modules/dashboard.ts
  67. 9 9
      src/router/routes/modules/demo/charts.ts
  68. 56 56
      src/router/routes/modules/demo/comp.ts
  69. 34 34
      src/router/routes/modules/demo/feat.ts
  70. 4 4
      src/router/routes/modules/demo/flow.ts
  71. 4 4
      src/router/routes/modules/demo/iframe.ts
  72. 6 6
      src/router/routes/modules/demo/level.ts
  73. 17 17
      src/router/routes/modules/demo/page.ts
  74. 10 10
      src/router/routes/modules/demo/permission.ts
  75. 4 4
      src/router/routes/modules/demo/setup.ts
  76. 10 10
      src/router/routes/modules/demo/system.ts
  77. 4 4
      src/router/routes/modules/form-design/main.ts
  78. 1 1
      src/router/types.ts
  79. 1 1
      src/settings/encryptionSetting.ts
  80. 1 1
      src/settings/localeSetting.ts
  81. 4 4
      src/settings/projectSetting.ts
  82. 9 9
      src/store/modules/app.ts
  83. 5 5
      src/store/modules/errorLog.ts
  84. 5 5
      src/store/modules/locale.ts
  85. 3 3
      src/store/modules/lock.ts
  86. 9 9
      src/store/modules/multipleTab.ts
  87. 14 14
      src/store/modules/permission.ts
  88. 15 15
      src/store/modules/user.ts
  89. 3 3
      src/utils/auth/index.ts
  90. 1 1
      src/utils/bem.ts
  91. 2 5
      src/utils/cache/index.ts
  92. 5 5
      src/utils/cache/persistent.ts
  93. 2 2
      src/utils/cache/storageCache.ts
  94. 2 2
      src/utils/env.ts
  95. 1 1
      src/utils/factory/createAsyncComponent.tsx
  96. 2 2
      src/utils/helper/tsxHelper.tsx
  97. 3 3
      src/utils/http/axios/Axios.ts
  98. 1 1
      src/utils/http/axios/axiosTransform.ts
  99. 8 8
      src/utils/http/axios/checkStatus.ts
  100. 1 1
      src/utils/http/axios/helper.ts

+ 1 - 1
.vscode/settings.json

@@ -57,7 +57,7 @@
   "stylelint.enable": true,
   "stylelint.validate": ["css", "less", "postcss", "scss", "vue", "sass"],
   "path-intellisense.mappings": {
-    "/@/": "${workspaceRoot}/src"
+    "@/": "${workspaceRoot}/src"
   },
   "[javascriptreact]": {
     "editor.defaultFormatter": "esbenp.prettier-vscode"

+ 0 - 10
internal/vite-config/src/config/application.ts

@@ -45,16 +45,6 @@ function defineApplicationConfig(defineOptions: DefineOptions = {}) {
             find: 'vue-i18n',
             replacement: 'vue-i18n/dist/vue-i18n.cjs.js',
           },
-          // /@/xxxx => src/xxxx
-          {
-            find: /\/@\//,
-            replacement: pathResolve('src') + '/',
-          },
-          // /#/xxxx => types/xxxx
-          {
-            find: /\/#\//,
-            replacement: pathResolve('types') + '/',
-          },
           // @/xxxx => src/xxxx
           {
             find: /@\//,

+ 1 - 1
mock/_util.ts

@@ -1,5 +1,5 @@
 // Interface data format used to return a unified format
-import { ResultEnum } from '/@/enums/httpEnum';
+import { ResultEnum } from '@/enums/httpEnum';
 
 export function resultSuccess<T = Recordable>(result: T, { message = 'ok' } = {}) {
   return {

+ 1 - 1
src/api/demo/account.ts

@@ -1,4 +1,4 @@
-import { defHttp } from '/@/utils/http/axios';
+import { defHttp } from '@/utils/http/axios';
 import { GetAccountInfoModel } from './model/accountModel';
 
 enum Api {

+ 2 - 2
src/api/demo/cascader.ts

@@ -1,5 +1,5 @@
-import { defHttp } from '/@/utils/http/axios';
-import { AreaModel, AreaParams } from '/@/api/demo/model/areaModel';
+import { defHttp } from '@/utils/http/axios';
+import { AreaModel, AreaParams } from '@/api/demo/model/areaModel';
 
 enum Api {
   AREA_RECORD = '/cascader/getAreaRecord',

+ 1 - 1
src/api/demo/error.ts

@@ -1,4 +1,4 @@
-import { defHttp } from '/@/utils/http/axios';
+import { defHttp } from '@/utils/http/axios';
 
 enum Api {
   // The address does not exist

+ 1 - 1
src/api/demo/model/optionsModel.ts

@@ -1,4 +1,4 @@
-import { BasicFetchResult } from '/@/api/model/baseModel';
+import { BasicFetchResult } from '@/api/model/baseModel';
 
 export interface DemoOptionsItem {
   name: string;

+ 1 - 1
src/api/demo/model/systemModel.ts

@@ -1,4 +1,4 @@
-import { BasicPageParams, BasicFetchResult } from '/@/api/model/baseModel';
+import { BasicPageParams, BasicFetchResult } from '@/api/model/baseModel';
 
 export type AccountParams = BasicPageParams & {
   account?: string;

+ 1 - 1
src/api/demo/model/tableModel.ts

@@ -1,4 +1,4 @@
-import { BasicPageParams, BasicFetchResult } from '/@/api/model/baseModel';
+import { BasicPageParams, BasicFetchResult } from '@/api/model/baseModel';
 /**
  * @description: Request list interface parameters
  */

+ 1 - 1
src/api/demo/select.ts

@@ -1,4 +1,4 @@
-import { defHttp } from '/@/utils/http/axios';
+import { defHttp } from '@/utils/http/axios';
 import { DemoOptionsItem, selectParams } from './model/optionsModel';
 
 enum Api {

+ 1 - 1
src/api/demo/system.ts

@@ -10,7 +10,7 @@ import {
   RolePageListGetResultModel,
   RoleListGetResultModel,
 } from './model/systemModel';
-import { defHttp } from '/@/utils/http/axios';
+import { defHttp } from '@/utils/http/axios';
 
 enum Api {
   AccountList = '/system/getAccountList',

+ 1 - 1
src/api/demo/table.ts

@@ -1,4 +1,4 @@
-import { defHttp } from '/@/utils/http/axios';
+import { defHttp } from '@/utils/http/axios';
 import { DemoParams, DemoListGetResultModel } from './model/tableModel';
 
 enum Api {

+ 1 - 1
src/api/demo/tree.ts

@@ -1,4 +1,4 @@
-import { defHttp } from '/@/utils/http/axios';
+import { defHttp } from '@/utils/http/axios';
 
 enum Api {
   TREE_OPTIONS_LIST = '/tree/getDemoOptions',

+ 1 - 1
src/api/sys/menu.ts

@@ -1,4 +1,4 @@
-import { defHttp } from '/@/utils/http/axios';
+import { defHttp } from '@/utils/http/axios';
 import { getMenuListResultModel } from './model/menuModel';
 
 enum Api {

+ 3 - 3
src/api/sys/upload.ts

@@ -1,7 +1,7 @@
 import { UploadApiResult } from './model/uploadModel';
-import { defHttp } from '/@/utils/http/axios';
-import { UploadFileParams } from '/#/axios';
-import { useGlobSetting } from '/@/hooks/setting';
+import { defHttp } from '@/utils/http/axios';
+import { UploadFileParams } from '#/axios';
+import { useGlobSetting } from '@/hooks/setting';
 import { AxiosProgressEvent } from 'axios';
 
 const { uploadUrl = '' } = useGlobSetting();

+ 2 - 2
src/api/sys/user.ts

@@ -1,7 +1,7 @@
-import { defHttp } from '/@/utils/http/axios';
+import { defHttp } from '@/utils/http/axios';
 import { LoginParams, LoginResultModel, GetUserInfoModel } from './model/userModel';
 
-import { ErrorMessageMode } from '/#/axios';
+import { ErrorMessageMode } from '#/axios';
 
 enum Api {
   Login = '/login',

+ 1 - 1
src/components/Application/src/AppLocalePicker.vue

@@ -18,7 +18,7 @@
   </Dropdown>
 </template>
 <script lang="ts" setup>
-  import type { LocaleType } from '/#/config';
+  import type { LocaleType } from '#/config';
   import type { DropMenu } from '@/components/Dropdown';
   import { ref, watchEffect, unref, computed } from 'vue';
   import { Dropdown } from '@/components/Dropdown';

+ 1 - 1
src/components/Dropdown/src/Dropdown.vue

@@ -43,7 +43,7 @@
   import { Dropdown, Menu, Popconfirm } from 'ant-design-vue';
   import Icon from '@/components/Icon/Icon.vue';
   import { omit } from 'lodash-es';
-  import { isFunction } from '/@/utils/is';
+  import { isFunction } from '@/utils/is';
 
   const ADropdown = Dropdown;
   const AMenu = Menu;

+ 1 - 1
src/components/Form/src/hooks/useForm.ts

@@ -5,7 +5,7 @@ import type {
   FormSchemaInner as FormSchema,
 } from '../types/form';
 import type { NamePath } from 'ant-design-vue/lib/form/interface';
-import type { DynamicProps } from '/#/utils';
+import type { DynamicProps } from '#/utils';
 import { ref, onUnmounted, unref, nextTick, watch } from 'vue';
 import { isProdMode } from '@/utils/env';
 import { error } from '@/utils/log';

+ 1 - 1
src/components/Menu/src/useOpenKeys.ts

@@ -1,5 +1,5 @@
 import { MenuModeEnum } from '@/enums/menuEnum';
-import type { Menu as MenuType } from '/@/router/types';
+import type { Menu as MenuType } from '@/router/types';
 import type { MenuState, Key } from './types';
 import { computed, Ref, toRaw, unref } from 'vue';
 import { useTimeoutFn } from '@vben/hooks';

+ 1 - 1
src/components/SimpleMenu/src/components/SubMenuItem.vue

@@ -76,7 +76,7 @@
   import { CollapseTransition } from '@/components/Transition';
   import Icon from '@/components/Icon/Icon.vue';
   import { Popover } from 'ant-design-vue';
-  import { isBoolean, isObject } from '/@/utils/is';
+  import { isBoolean, isObject } from '@/utils/is';
   import { mitt } from '@/utils/mitt';
 
   defineOptions({ name: 'SubMenu' });

+ 1 - 1
src/components/Table/src/hooks/useTable.ts

@@ -1,6 +1,6 @@
 import type { BasicTableProps, TableActionType, FetchParams, BasicColumn } from '../types/table';
 import type { PaginationProps } from '../types/pagination';
-import type { DynamicProps } from '/#/utils';
+import type { DynamicProps } from '#/utils';
 import type { FormActionType } from '@/components/Form';
 import type { WatchStopHandle } from 'vue';
 import { getDynamicProps } from '@/utils';

+ 2 - 2
src/directives/clickOutside.ts

@@ -1,5 +1,5 @@
-import { on } from '/@/utils/domUtils';
-import { isServer } from '/@/utils/is';
+import { on } from '@/utils/domUtils';
+import { isServer } from '@/utils/is';
 import type { ComponentPublicInstance, DirectiveBinding, ObjectDirective } from 'vue';
 
 type DocumentHandler = <T extends MouseEvent>(mouseup: T, mousedown: T) => void;

+ 1 - 1
src/directives/loading.ts

@@ -1,4 +1,4 @@
-import { createLoading } from '/@/components/Loading';
+import { createLoading } from '@/components/Loading';
 import type { Directive, App } from 'vue';
 
 const loadingDirective: Directive = {

+ 1 - 1
src/directives/permission.ts

@@ -5,7 +5,7 @@
  */
 import type { App, Directive, DirectiveBinding } from 'vue';
 
-import { usePermission } from '/@/hooks/web/usePermission';
+import { usePermission } from '@/hooks/web/usePermission';
 
 function isAuth(el: Element, binding: any) {
   const { hasPermission } = usePermission();

+ 1 - 1
src/directives/repeatClick.ts

@@ -2,7 +2,7 @@
  * Prevent repeated clicks
  * @Example v-repeat-click="()=>{}"
  */
-import { on, once } from '/@/utils/domUtils';
+import { on, once } from '@/utils/domUtils';
 import type { Directive, DirectiveBinding } from 'vue';
 
 const repeatDirective: Directive = {

+ 1 - 1
src/hooks/setting/index.ts

@@ -1,4 +1,4 @@
-import type { GlobConfig } from '/#/config';
+import type { GlobConfig } from '#/config';
 
 import { getAppEnvConfig } from '@/utils/env';
 

+ 1 - 1
src/hooks/setting/useHeaderSetting.ts

@@ -1,4 +1,4 @@
-import type { HeaderSetting } from '/#/config';
+import type { HeaderSetting } from '#/config';
 
 import { computed, unref } from 'vue';
 

+ 1 - 1
src/hooks/setting/useMenuSetting.ts

@@ -1,4 +1,4 @@
-import type { MenuSetting } from '/#/config';
+import type { MenuSetting } from '#/config';
 
 import { computed, unref, ref } from 'vue';
 

+ 1 - 1
src/hooks/setting/useMultipleTabSetting.ts

@@ -1,4 +1,4 @@
-import type { MultiTabsSetting } from '/#/config';
+import type { MultiTabsSetting } from '#/config';
 
 import { computed } from 'vue';
 

+ 1 - 1
src/hooks/setting/useRootSetting.ts

@@ -1,4 +1,4 @@
-import type { ProjectConfig } from '/#/config';
+import type { ProjectConfig } from '#/config';
 
 import { computed } from 'vue';
 

+ 1 - 1
src/hooks/setting/useTransitionSetting.ts

@@ -1,4 +1,4 @@
-import type { TransitionSetting } from '/#/config';
+import type { TransitionSetting } from '#/config';
 
 import { computed } from 'vue';
 

+ 11 - 11
src/layouts/default/header/components/Breadcrumb.vue

@@ -16,25 +16,25 @@
 <script lang="ts">
   import type { RouteLocationMatched } from 'vue-router';
   import { useRouter } from 'vue-router';
-  import type { Menu } from '/@/router/types';
+  import type { Menu } from '@/router/types';
 
   import { defineComponent, ref, watchEffect } from 'vue';
 
   import { Breadcrumb } from 'ant-design-vue';
   import Icon from '@/components/Icon/Icon.vue';
 
-  import { useDesign } from '/@/hooks/web/useDesign';
-  import { useRootSetting } from '/@/hooks/setting/useRootSetting';
-  import { useGo } from '/@/hooks/web/usePage';
-  import { useI18n } from '/@/hooks/web/useI18n';
+  import { useDesign } from '@/hooks/web/useDesign';
+  import { useRootSetting } from '@/hooks/setting/useRootSetting';
+  import { useGo } from '@/hooks/web/usePage';
+  import { useI18n } from '@/hooks/web/useI18n';
 
-  import { propTypes } from '/@/utils/propTypes';
-  import { isString } from '/@/utils/is';
-  import { filter } from '/@/utils/helper/treeHelper';
-  import { getMenus } from '/@/router/menus';
+  import { propTypes } from '@/utils/propTypes';
+  import { isString } from '@/utils/is';
+  import { filter } from '@/utils/helper/treeHelper';
+  import { getMenus } from '@/router/menus';
 
-  import { REDIRECT_NAME } from '/@/router/constant';
-  import { getAllParentPath } from '/@/router/helper/menuHelper';
+  import { REDIRECT_NAME } from '@/router/constant';
+  import { getAllParentPath } from '@/router/helper/menuHelper';
 
   export default defineComponent({
     name: 'LayoutBreadcrumb',

+ 1 - 1
src/layouts/default/header/components/ChangeApi/index.vue

@@ -24,7 +24,7 @@
   import { BasicForm, useForm } from '@/components/Form';
   import { ref } from 'vue';
   import { useAppStore } from '@/store/modules/app';
-  import type { ApiAddress } from '/#/store';
+  import type { ApiAddress } from '#/store';
 
   const appStore = useAppStore();
   const RadioGroup = Radio.Group;

+ 1 - 1
src/layouts/default/setting/handler.ts

@@ -4,7 +4,7 @@ import { updateColorWeak } from '@/logics/theme/updateColorWeak';
 import { updateGrayMode } from '@/logics/theme/updateGrayMode';
 
 import { useAppStore } from '@/store/modules/app';
-import { ProjectConfig } from '/#/config';
+import { ProjectConfig } from '#/config';
 import { updateDarkTheme } from '@/logics/theme/dark';
 import { useRootSetting } from '@/hooks/setting/useRootSetting';
 

+ 1 - 1
src/locales/helper.ts

@@ -1,4 +1,4 @@
-import type { LocaleType } from '/#/config';
+import type { LocaleType } from '#/config';
 
 import { set } from 'lodash-es';
 

+ 15 - 15
src/locales/lang/en/common.json

@@ -1,17 +1,17 @@
 {
-  "okText": "OK", 
-  "closeText": "Close", 
-  "cancelText": "Cancel", 
-  "loadingText": "Loading...", 
-  "saveText": "Save", 
-  "delText": "Delete", 
-  "resetText": "Reset", 
-  "searchText": "Search", 
-  "queryText": "Search", 
-  "inputText": "Please enter ", 
-  "chooseText": "Please choose ", 
-  "redo": "Refresh", 
-  "back": "Back", 
-  "light": "Light", 
+  "okText": "OK",
+  "closeText": "Close",
+  "cancelText": "Cancel",
+  "loadingText": "Loading...",
+  "saveText": "Save",
+  "delText": "Delete",
+  "resetText": "Reset",
+  "searchText": "Search",
+  "queryText": "Search",
+  "inputText": "Please enter ",
+  "chooseText": "Please choose ",
+  "redo": "Refresh",
+  "back": "Back",
+  "light": "Light",
   "dark": "Dark"
-}
+}

+ 94 - 94
src/locales/lang/en/component.json

@@ -1,125 +1,125 @@
 {
   "app": {
-    "searchNotData": "No search results yet", 
-    "toSearch": "to search", 
+    "searchNotData": "No search results yet",
+    "toSearch": "to search",
     "toNavigate": "to navigate"
-  }, 
+  },
   "countdown": {
-    "normalText": "Get SMS code", 
+    "normalText": "Get SMS code",
     "sendText": "Reacquire in {0}s"
-  }, 
+  },
   "cropper": {
-    "selectImage": "Select Image", 
-    "uploadSuccess": "Uploaded success!", 
-    "imageTooBig": "Image too big", 
-    "modalTitle": "Avatar upload", 
-    "okText": "Confirm and upload", 
-    "btn_reset": "Reset", 
-    "btn_rotate_left": "Counterclockwise rotation", 
-    "btn_rotate_right": "Clockwise rotation", 
-    "btn_scale_x": "Flip horizontal", 
-    "btn_scale_y": "Flip vertical", 
-    "btn_zoom_in": "Zoom in", 
-    "btn_zoom_out": "Zoom out", 
+    "selectImage": "Select Image",
+    "uploadSuccess": "Uploaded success!",
+    "imageTooBig": "Image too big",
+    "modalTitle": "Avatar upload",
+    "okText": "Confirm and upload",
+    "btn_reset": "Reset",
+    "btn_rotate_left": "Counterclockwise rotation",
+    "btn_rotate_right": "Clockwise rotation",
+    "btn_scale_x": "Flip horizontal",
+    "btn_scale_y": "Flip vertical",
+    "btn_zoom_in": "Zoom in",
+    "btn_zoom_out": "Zoom out",
     "preview": "Preivew"
-  }, 
+  },
   "drawer": {
-    "loadingText": "Loading...", 
-    "cancelText": "Close", 
+    "loadingText": "Loading...",
+    "cancelText": "Close",
     "okText": "Confirm"
-  }, 
+  },
   "excel": {
-    "exportModalTitle": "Export data", 
-    "fileType": "File type", 
+    "exportModalTitle": "Export data",
+    "fileType": "File type",
     "fileName": "File name"
-  }, 
+  },
   "form": {
-    "putAway": "Put away", 
-    "unfold": "Unfold", 
-    "maxTip": "The number of characters should be less than {0}", 
+    "putAway": "Put away",
+    "unfold": "Unfold",
+    "maxTip": "The number of characters should be less than {0}",
     "apiSelectNotFound": "Wait for data loading to complete..."
-  }, 
+  },
   "icon": {
-    "placeholder": "Click the select icon", 
-    "search": "Search icon", 
+    "placeholder": "Click the select icon",
+    "search": "Search icon",
     "copy": "Copy icon successfully!"
-  }, 
+  },
   "menu": {
     "search": "Menu search"
-  }, 
+  },
   "modal": {
-    "cancelText": "Close", 
-    "okText": "Confirm", 
-    "close": "Close", 
-    "maximize": "Maximize", 
+    "cancelText": "Close",
+    "okText": "Confirm",
+    "close": "Close",
+    "maximize": "Maximize",
     "restore": "Restore"
-  }, 
+  },
   "table": {
-    "settingDens": "Density", 
-    "settingDensDefault": "Default", 
-    "settingDensMiddle": "Middle", 
-    "settingDensSmall": "Compact", 
-    "settingColumn": "Column settings", 
-    "settingColumnShow": "Column display", 
-    "settingIndexColumnShow": "Index Column", 
-    "settingSelectColumnShow": "Selection Column", 
-    "settingFixedLeft": "Fixed Left", 
-    "settingFixedRight": "Fixed Right", 
-    "settingFullScreen": "Full Screen", 
-    "index": "Index", 
+    "settingDens": "Density",
+    "settingDensDefault": "Default",
+    "settingDensMiddle": "Middle",
+    "settingDensSmall": "Compact",
+    "settingColumn": "Column settings",
+    "settingColumnShow": "Column display",
+    "settingIndexColumnShow": "Index Column",
+    "settingSelectColumnShow": "Selection Column",
+    "settingFixedLeft": "Fixed Left",
+    "settingFixedRight": "Fixed Right",
+    "settingFullScreen": "Full Screen",
+    "index": "Index",
     "total": "total of {total}"
-  }, 
+  },
   "time": {
-    "before": " ago", 
-    "after": " after", 
-    "just": "just now", 
-    "seconds": " seconds", 
-    "minutes": " minutes", 
-    "hours": " hours", 
+    "before": " ago",
+    "after": " after",
+    "just": "just now",
+    "seconds": " seconds",
+    "minutes": " minutes",
+    "hours": " hours",
     "days": " days"
-  }, 
+  },
   "tree": {
-    "selectAll": "Select All", 
-    "unSelectAll": "Cancel Select", 
-    "expandAll": "Expand All", 
-    "unExpandAll": "Collapse all", 
-    "checkStrictly": "Hierarchical association", 
+    "selectAll": "Select All",
+    "unSelectAll": "Cancel Select",
+    "expandAll": "Expand All",
+    "unExpandAll": "Collapse all",
+    "checkStrictly": "Hierarchical association",
     "checkUnStrictly": "Hierarchical independence"
-  }, 
+  },
   "upload": {
-    "save": "Save", 
-    "upload": "Upload", 
-    "imgUpload": "ImageUpload", 
-    "uploaded": "Uploaded", 
-    "operating": "Operating", 
-    "del": "Delete", 
-    "download": "download", 
-    "saveWarn": "Please wait for the file to upload and save!", 
-    "saveError": "There is no file successfully uploaded and cannot be saved!", 
-    "preview": "Preview", 
-    "choose": "Select the file", 
-    "accept": "Support {0} format", 
-    "acceptUpload": "Only upload files in {0} format", 
-    "maxSize": "A single file does not exceed {0}MB ", 
-    "maxSizeMultiple": "Only upload files up to {0}MB!", 
-    "maxNumber": "Only upload up to {0} files", 
-    "legend": "Legend", 
-    "fileName": "File name", 
-    "fileSize": "File size", 
-    "fileStatue": "File status", 
+    "save": "Save",
+    "upload": "Upload",
+    "imgUpload": "ImageUpload",
+    "uploaded": "Uploaded",
+    "operating": "Operating",
+    "del": "Delete",
+    "download": "download",
+    "saveWarn": "Please wait for the file to upload and save!",
+    "saveError": "There is no file successfully uploaded and cannot be saved!",
+    "preview": "Preview",
+    "choose": "Select the file",
+    "accept": "Support {0} format",
+    "acceptUpload": "Only upload files in {0} format",
+    "maxSize": "A single file does not exceed {0}MB ",
+    "maxSizeMultiple": "Only upload files up to {0}MB!",
+    "maxNumber": "Only upload up to {0} files",
+    "legend": "Legend",
+    "fileName": "File name",
+    "fileSize": "File size",
+    "fileStatue": "File status",
     "pending": "Pendig",
-    "startUpload": "Start upload", 
-    "uploadSuccess": "Upload successfully", 
-    "uploadError": "Upload failed", 
-    "uploading": "Uploading", 
-    "uploadWait": "Please wait for the file upload to finish", 
+    "startUpload": "Start upload",
+    "uploadSuccess": "Upload successfully",
+    "uploadError": "Upload failed",
+    "uploading": "Uploading",
+    "uploadWait": "Please wait for the file upload to finish",
     "reUploadFailed": "Re-upload failed files"
-  }, 
+  },
   "verify": {
-    "error": "verification failed!", 
-    "time": "The verification is successful and it takes {time} seconds!", 
-    "redoTip": "Click the picture to refresh", 
-    "dragText": "Hold down the slider and drag", 
+    "error": "verification failed!",
+    "time": "The verification is successful and it takes {time} seconds!",
+    "redoTip": "Click the picture to refresh",
+    "dragText": "Hold down the slider and drag",
     "successText": "Verified"
   }
-}
+}

+ 1 - 1
src/locales/lang/en/layout.json

@@ -93,4 +93,4 @@
     "mixSidebarFixed": "Fixed expanded menu",
     "autoCollapseTabsInFold": "Auto collapse tabs in fold"
   }
-}
+}

+ 1 - 1
src/locales/lang/en/routes/basic.json

@@ -1,4 +1,4 @@
 {
   "login": "Login",
   "errorLogList": "Error Log"
-}
+}

+ 78 - 78
src/locales/lang/en/sys.json

@@ -1,92 +1,92 @@
 {
   "api": {
-    "operationSuccess": "Operation Success", 
-    "operationFailed": "Operation failed", 
-    "errorTip": "Error Tip", 
-    "successTip": "Success Tip", 
-    "errorMessage": "The operation failed, the system is abnormal!", 
-    "timeoutMessage": "Login timed out, please log in again!", 
-    "apiTimeoutMessage": "The interface request timed out, please refresh the page and try again!", 
-    "apiRequestFailed": "The interface request failed, please try again later!", 
-    "networkException": "network anomaly", 
-    "networkExceptionMsg": "Please check if your network connection is normal! The network is abnormal", 
-    "errMsg401": "The user does not have permission (token, user name, password error)!", 
-    "errMsg403": "The user is authorized, but access is forbidden!", 
-    "errMsg404": "Network request error, the resource was not found!", 
-    "errMsg405": "Network request error, request method not allowed!", 
-    "errMsg408": "Network request timed out!", 
-    "errMsg500": "Server error, please contact the administrator!", 
-    "errMsg501": "The network is not implemented!", 
-    "errMsg502": "Network Error!", 
-    "errMsg503": "The service is unavailable, the server is temporarily overloaded or maintained!", 
-    "errMsg504": "Network timeout!", 
+    "operationSuccess": "Operation Success",
+    "operationFailed": "Operation failed",
+    "errorTip": "Error Tip",
+    "successTip": "Success Tip",
+    "errorMessage": "The operation failed, the system is abnormal!",
+    "timeoutMessage": "Login timed out, please log in again!",
+    "apiTimeoutMessage": "The interface request timed out, please refresh the page and try again!",
+    "apiRequestFailed": "The interface request failed, please try again later!",
+    "networkException": "network anomaly",
+    "networkExceptionMsg": "Please check if your network connection is normal! The network is abnormal",
+    "errMsg401": "The user does not have permission (token, user name, password error)!",
+    "errMsg403": "The user is authorized, but access is forbidden!",
+    "errMsg404": "Network request error, the resource was not found!",
+    "errMsg405": "Network request error, request method not allowed!",
+    "errMsg408": "Network request timed out!",
+    "errMsg500": "Server error, please contact the administrator!",
+    "errMsg501": "The network is not implemented!",
+    "errMsg502": "Network Error!",
+    "errMsg503": "The service is unavailable, the server is temporarily overloaded or maintained!",
+    "errMsg504": "Network timeout!",
     "errMsg505": "The http version does not support the request!"
-  }, 
+  },
   "app": {
-    "logoutTip": "Reminder", 
-    "logoutMessage": "Confirm to exit the system?", 
+    "logoutTip": "Reminder",
+    "logoutMessage": "Confirm to exit the system?",
     "menuLoading": "Menu loading..."
-  }, 
+  },
   "errorLog": {
-    "tableTitle": "Error log list", 
-    "tableColumnType": "Type", 
-    "tableColumnDate": "Time", 
-    "tableColumnFile": "File", 
-    "tableColumnMsg": "Error message", 
-    "tableColumnStackMsg": "Stack info", 
-    "tableActionDesc": "Details", 
-    "modalTitle": "Error details", 
-    "fireVueError": "Fire vue error", 
-    "fireResourceError": "Fire resource error", 
-    "fireAjaxError": "Fire ajax error", 
+    "tableTitle": "Error log list",
+    "tableColumnType": "Type",
+    "tableColumnDate": "Time",
+    "tableColumnFile": "File",
+    "tableColumnMsg": "Error message",
+    "tableColumnStackMsg": "Stack info",
+    "tableActionDesc": "Details",
+    "modalTitle": "Error details",
+    "fireVueError": "Fire vue error",
+    "fireResourceError": "Fire resource error",
+    "fireAjaxError": "Fire ajax error",
     "enableMessage": "Only effective when useErrorHandle=true in `/src/settings/projectSetting.ts`."
-  }, 
+  },
   "exception": {
-    "backLogin": "Back Login", 
-    "backHome": "Back Home", 
-    "subTitle403": "Sorry, you don't have access to this page.", 
-    "subTitle404": "Sorry, the page you visited does not exist.", 
-    "subTitle500": "Sorry, the server is reporting an error.", 
-    "noDataTitle": "No data on the current page.", 
-    "networkErrorTitle": "Network Error", 
+    "backLogin": "Back Login",
+    "backHome": "Back Home",
+    "subTitle403": "Sorry, you don't have access to this page.",
+    "subTitle404": "Sorry, the page you visited does not exist.",
+    "subTitle500": "Sorry, the server is reporting an error.",
+    "noDataTitle": "No data on the current page.",
+    "networkErrorTitle": "Network Error",
     "networkErrorSubTitle": "Sorry,Your network connection has been disconnected, please check your network!"
-  }, 
+  },
   "lock": {
-    "unlock": "Click to unlock", 
-    "alert": "Lock screen password error", 
-    "backToLogin": "Back to login", 
-    "entry": "Enter the system", 
+    "unlock": "Click to unlock",
+    "alert": "Lock screen password error",
+    "backToLogin": "Back to login",
+    "entry": "Enter the system",
     "placeholder": "Please enter the lock screen password or user password"
-  }, 
+  },
   "login": {
-    "backSignIn": "Back sign in", 
-    "mobileSignInFormTitle": "Mobile sign in", 
-    "qrSignInFormTitle": "Qr code sign in", 
-    "signInFormTitle": "Sign in", 
-    "signUpFormTitle": "Sign up", 
-    "forgetFormTitle": "Reset password", 
-    "signInTitle": "Backstage management system", 
-    "signInDesc": "Enter your personal details and get started!", 
-    "policy": "I agree to the xxx Privacy Policy", 
-    "scanSign": "scanning the code to complete the login", 
-    "loginButton": "Sign in", 
-    "registerButton": "Sign up", 
-    "rememberMe": "Remember me", 
-    "forgetPassword": "Forget Password?", 
-    "otherSignIn": "Sign in with", 
-    "loginSuccessTitle": "Login successful", 
-    "loginSuccessDesc": "Welcome back", 
-    "accountPlaceholder": "Please input username", 
-    "passwordPlaceholder": "Please input password", 
-    "smsPlaceholder": "Please input sms code", 
-    "mobilePlaceholder": "Please input mobile", 
-    "policyPlaceholder": "Register after checking", 
-    "diffPwd": "The two passwords are inconsistent", 
-    "userName": "Username", 
-    "password": "Password", 
-    "confirmPassword": "Confirm Password", 
-    "email": "Email", 
-    "smsCode": "SMS code", 
+    "backSignIn": "Back sign in",
+    "mobileSignInFormTitle": "Mobile sign in",
+    "qrSignInFormTitle": "Qr code sign in",
+    "signInFormTitle": "Sign in",
+    "signUpFormTitle": "Sign up",
+    "forgetFormTitle": "Reset password",
+    "signInTitle": "Backstage management system",
+    "signInDesc": "Enter your personal details and get started!",
+    "policy": "I agree to the xxx Privacy Policy",
+    "scanSign": "scanning the code to complete the login",
+    "loginButton": "Sign in",
+    "registerButton": "Sign up",
+    "rememberMe": "Remember me",
+    "forgetPassword": "Forget Password?",
+    "otherSignIn": "Sign in with",
+    "loginSuccessTitle": "Login successful",
+    "loginSuccessDesc": "Welcome back",
+    "accountPlaceholder": "Please input username",
+    "passwordPlaceholder": "Please input password",
+    "smsPlaceholder": "Please input sms code",
+    "mobilePlaceholder": "Please input mobile",
+    "policyPlaceholder": "Register after checking",
+    "diffPwd": "The two passwords are inconsistent",
+    "userName": "Username",
+    "password": "Password",
+    "confirmPassword": "Confirm Password",
+    "email": "Email",
+    "smsCode": "SMS code",
     "mobile": "Mobile"
   }
-}
+}

+ 1 - 1
src/locales/lang/zh-CN/antdLocale/DatePicker.json

@@ -1,6 +1,6 @@
 {
   "lang": {
-    "shortWeekDays": ["日","一", "二", "三", "四", "五", "六"],
+    "shortWeekDays": ["日", "一", "二", "三", "四", "五", "六"],
     "shortMonths": [
       "1月",
       "2月",

+ 94 - 94
src/locales/lang/zh-CN/component.json

@@ -1,125 +1,125 @@
 {
   "app": {
-    "searchNotData": "暂无搜索结果", 
-    "toSearch": "确认", 
+    "searchNotData": "暂无搜索结果",
+    "toSearch": "确认",
     "toNavigate": "切换"
-  }, 
+  },
   "countdown": {
-    "normalText": "获取验证码", 
+    "normalText": "获取验证码",
     "sendText": "{0}秒后重新获取"
-  }, 
+  },
   "cropper": {
-    "selectImage": "选择图片", 
-    "uploadSuccess": "上传成功", 
-    "imageTooBig": "图片超限", 
-    "modalTitle": "头像上传", 
-    "okText": "确认并上传", 
-    "btn_reset": "重置", 
-    "btn_rotate_left": "逆时针旋转", 
-    "btn_rotate_right": "顺时针旋转", 
-    "btn_scale_x": "水平翻转", 
-    "btn_scale_y": "垂直翻转", 
-    "btn_zoom_in": "放大", 
-    "btn_zoom_out": "缩小", 
+    "selectImage": "选择图片",
+    "uploadSuccess": "上传成功",
+    "imageTooBig": "图片超限",
+    "modalTitle": "头像上传",
+    "okText": "确认并上传",
+    "btn_reset": "重置",
+    "btn_rotate_left": "逆时针旋转",
+    "btn_rotate_right": "顺时针旋转",
+    "btn_scale_x": "水平翻转",
+    "btn_scale_y": "垂直翻转",
+    "btn_zoom_in": "放大",
+    "btn_zoom_out": "缩小",
     "preview": "预览"
-  }, 
+  },
   "drawer": {
-    "loadingText": "加载中...", 
-    "cancelText": "关闭", 
+    "loadingText": "加载中...",
+    "cancelText": "关闭",
     "okText": "确认"
-  }, 
+  },
   "excel": {
-    "exportModalTitle": "导出数据", 
-    "fileType": "文件类型", 
+    "exportModalTitle": "导出数据",
+    "fileType": "文件类型",
     "fileName": "文件名"
-  }, 
+  },
   "form": {
-    "putAway": "收起", 
-    "unfold": "展开", 
-    "maxTip": "字符数应小于{0}位", 
+    "putAway": "收起",
+    "unfold": "展开",
+    "maxTip": "字符数应小于{0}位",
     "apiSelectNotFound": "请等待数据加载完成..."
-  }, 
+  },
   "icon": {
-    "placeholder": "点击选择图标", 
-    "search": "搜索图标", 
+    "placeholder": "点击选择图标",
+    "search": "搜索图标",
     "copy": "复制图标成功!"
-  }, 
+  },
   "menu": {
     "search": "菜单搜索"
-  }, 
+  },
   "modal": {
-    "cancelText": "关闭", 
-    "okText": "确认", 
-    "close": "关闭", 
-    "maximize": "最大化", 
+    "cancelText": "关闭",
+    "okText": "确认",
+    "close": "关闭",
+    "maximize": "最大化",
     "restore": "还原"
-  }, 
+  },
   "table": {
-    "settingDens": "密度", 
-    "settingDensDefault": "默认", 
-    "settingDensMiddle": "中等", 
-    "settingDensSmall": "紧凑", 
-    "settingColumn": "列设置", 
-    "settingColumnShow": "列展示", 
-    "settingIndexColumnShow": "序号列", 
-    "settingSelectColumnShow": "勾选列", 
-    "settingFixedLeft": "固定到左侧", 
-    "settingFixedRight": "固定到右侧", 
-    "settingFullScreen": "全屏", 
-    "index": "序号", 
+    "settingDens": "密度",
+    "settingDensDefault": "默认",
+    "settingDensMiddle": "中等",
+    "settingDensSmall": "紧凑",
+    "settingColumn": "列设置",
+    "settingColumnShow": "列展示",
+    "settingIndexColumnShow": "序号列",
+    "settingSelectColumnShow": "勾选列",
+    "settingFixedLeft": "固定到左侧",
+    "settingFixedRight": "固定到右侧",
+    "settingFullScreen": "全屏",
+    "index": "序号",
     "total": "共 {total} 条数据"
-  }, 
+  },
   "time": {
-    "before": "前", 
-    "after": "后", 
-    "just": "刚刚", 
-    "seconds": "秒", 
-    "minutes": "分钟", 
-    "hours": "小时", 
+    "before": "前",
+    "after": "后",
+    "just": "刚刚",
+    "seconds": "秒",
+    "minutes": "分钟",
+    "hours": "小时",
     "days": "天"
-  }, 
+  },
   "tree": {
-    "selectAll": "选择全部", 
-    "unSelectAll": "取消选择", 
-    "expandAll": "展开全部", 
-    "unExpandAll": "折叠全部", 
-    "checkStrictly": "层级关联", 
+    "selectAll": "选择全部",
+    "unSelectAll": "取消选择",
+    "expandAll": "展开全部",
+    "unExpandAll": "折叠全部",
+    "checkStrictly": "层级关联",
     "checkUnStrictly": "层级独立"
-  }, 
+  },
   "upload": {
-    "save": "保存", 
-    "upload": "上传", 
-    "imgUpload": "图片上传", 
-    "uploaded": "已上传", 
-    "operating": "操作", 
-    "del": "删除", 
-    "download": "下载", 
-    "saveWarn": "请等待文件上传后,保存!", 
-    "saveError": "没有上传成功的文件,无法保存!", 
-    "preview": "预览", 
-    "choose": "选择文件", 
-    "accept": "支持{0}格式", 
-    "acceptUpload": "只能上传{0}格式文件", 
-    "maxSize": "单个文件不超过{0}MB", 
-    "maxSizeMultiple": "只能上传不超过{0}MB的文件!", 
-    "maxNumber": "最多只能上传{0}个文件", 
-    "legend": "略缩图", 
-    "fileName": "文件名", 
-    "fileSize": "文件大小", 
-    "fileStatue": "状态", 
+    "save": "保存",
+    "upload": "上传",
+    "imgUpload": "图片上传",
+    "uploaded": "已上传",
+    "operating": "操作",
+    "del": "删除",
+    "download": "下载",
+    "saveWarn": "请等待文件上传后,保存!",
+    "saveError": "没有上传成功的文件,无法保存!",
+    "preview": "预览",
+    "choose": "选择文件",
+    "accept": "支持{0}格式",
+    "acceptUpload": "只能上传{0}格式文件",
+    "maxSize": "单个文件不超过{0}MB",
+    "maxSizeMultiple": "只能上传不超过{0}MB的文件!",
+    "maxNumber": "最多只能上传{0}个文件",
+    "legend": "略缩图",
+    "fileName": "文件名",
+    "fileSize": "文件大小",
+    "fileStatue": "状态",
     "pending": "待上传",
-    "startUpload": "开始上传", 
-    "uploadSuccess": "上传成功", 
-    "uploadError": "上传失败", 
-    "uploading": "上传中", 
-    "uploadWait": "请等待文件上传结束后操作", 
+    "startUpload": "开始上传",
+    "uploadSuccess": "上传成功",
+    "uploadError": "上传失败",
+    "uploading": "上传中",
+    "uploadWait": "请等待文件上传结束后操作",
     "reUploadFailed": "重新上传失败文件"
-  }, 
+  },
   "verify": {
-    "error": "验证失败!", 
-    "time": "验证校验成功,耗时{time}秒!", 
-    "redoTip": "点击图片可刷新", 
-    "dragText": "请按住滑块拖动", 
+    "error": "验证失败!",
+    "time": "验证校验成功,耗时{time}秒!",
+    "redoTip": "点击图片可刷新",
+    "dragText": "请按住滑块拖动",
     "successText": "验证通过"
   }
-}
+}

+ 1 - 1
src/locales/lang/zh-CN/layout.json

@@ -93,4 +93,4 @@
     "mixSidebarFixed": "固定展开菜单",
     "autoCollapseTabsInFold": "fold模式下自动收起标签页"
   }
-}
+}

+ 78 - 78
src/locales/lang/zh-CN/sys.json

@@ -1,92 +1,92 @@
 {
   "api": {
-    "operationSuccess": "操作成功", 
-    "operationFailed": "操作失败", 
-    "errorTip": "错误提示", 
-    "successTip": "成功提示", 
-    "errorMessage": "操作失败,系统异常!", 
-    "timeoutMessage": "登录超时,请重新登录!", 
-    "apiTimeoutMessage": "接口请求超时,请刷新页面重试!", 
-    "apiRequestFailed": "请求出错,请稍候重试", 
-    "networkException": "网络异常", 
-    "networkExceptionMsg": "网络异常,请检查您的网络连接是否正常!", 
-    "errMsg401": "用户没有权限(令牌、用户名、密码错误)!", 
-    "errMsg403": "用户得到授权,但是访问是被禁止的。!", 
-    "errMsg404": "网络请求错误,未找到该资源!", 
-    "errMsg405": "网络请求错误,请求方法未允许!", 
-    "errMsg408": "网络请求超时!", 
-    "errMsg500": "服务器错误,请联系管理员!", 
-    "errMsg501": "网络未实现!", 
-    "errMsg502": "网络错误!", 
-    "errMsg503": "服务不可用,服务器暂时过载或维护!", 
-    "errMsg504": "网络超时!", 
+    "operationSuccess": "操作成功",
+    "operationFailed": "操作失败",
+    "errorTip": "错误提示",
+    "successTip": "成功提示",
+    "errorMessage": "操作失败,系统异常!",
+    "timeoutMessage": "登录超时,请重新登录!",
+    "apiTimeoutMessage": "接口请求超时,请刷新页面重试!",
+    "apiRequestFailed": "请求出错,请稍候重试",
+    "networkException": "网络异常",
+    "networkExceptionMsg": "网络异常,请检查您的网络连接是否正常!",
+    "errMsg401": "用户没有权限(令牌、用户名、密码错误)!",
+    "errMsg403": "用户得到授权,但是访问是被禁止的。!",
+    "errMsg404": "网络请求错误,未找到该资源!",
+    "errMsg405": "网络请求错误,请求方法未允许!",
+    "errMsg408": "网络请求超时!",
+    "errMsg500": "服务器错误,请联系管理员!",
+    "errMsg501": "网络未实现!",
+    "errMsg502": "网络错误!",
+    "errMsg503": "服务不可用,服务器暂时过载或维护!",
+    "errMsg504": "网络超时!",
     "errMsg505": "http版本不支持该请求!"
-  }, 
+  },
   "app": {
-    "logoutTip": "温馨提醒", 
-    "logoutMessage": "是否确认退出系统?", 
+    "logoutTip": "温馨提醒",
+    "logoutMessage": "是否确认退出系统?",
     "menuLoading": "菜单加载中..."
-  }, 
+  },
   "errorLog": {
-    "tableTitle": "错误日志列表", 
-    "tableColumnType": "类型", 
-    "tableColumnDate": "时间", 
-    "tableColumnFile": "文件", 
-    "tableColumnMsg": "错误信息", 
-    "tableColumnStackMsg": "stack信息", 
-    "tableActionDesc": "详情", 
-    "modalTitle": "错误详情", 
-    "fireVueError": "点击触发vue错误", 
-    "fireResourceError": "点击触发资源加载错误", 
-    "fireAjaxError": "点击触发ajax错误", 
+    "tableTitle": "错误日志列表",
+    "tableColumnType": "类型",
+    "tableColumnDate": "时间",
+    "tableColumnFile": "文件",
+    "tableColumnMsg": "错误信息",
+    "tableColumnStackMsg": "stack信息",
+    "tableActionDesc": "详情",
+    "modalTitle": "错误详情",
+    "fireVueError": "点击触发vue错误",
+    "fireResourceError": "点击触发资源加载错误",
+    "fireAjaxError": "点击触发ajax错误",
     "enableMessage": "只在`/src/settings/projectSetting.ts` 内的useErrorHandle=true时生效."
-  }, 
+  },
   "exception": {
-    "backLogin": "返回登录", 
-    "backHome": "返回首页", 
-    "subTitle403": "抱歉,您无权访问此页面。", 
-    "subTitle404": "抱歉,您访问的页面不存在。", 
-    "subTitle500": "抱歉,服务器报告错误。", 
-    "noDataTitle": "当前页无数据", 
-    "networkErrorTitle": "网络错误", 
+    "backLogin": "返回登录",
+    "backHome": "返回首页",
+    "subTitle403": "抱歉,您无权访问此页面。",
+    "subTitle404": "抱歉,您访问的页面不存在。",
+    "subTitle500": "抱歉,服务器报告错误。",
+    "noDataTitle": "当前页无数据",
+    "networkErrorTitle": "网络错误",
     "networkErrorSubTitle": "抱歉,您的网络连接已断开,请检查您的网络!"
-  }, 
+  },
   "lock": {
-    "unlock": "点击解锁", 
-    "alert": "锁屏密码错误", 
-    "backToLogin": "返回登录", 
-    "entry": "进入系统", 
+    "unlock": "点击解锁",
+    "alert": "锁屏密码错误",
+    "backToLogin": "返回登录",
+    "entry": "进入系统",
     "placeholder": "请输入锁屏密码或者用户密码"
-  }, 
+  },
   "login": {
-    "backSignIn": "返回", 
-    "signInFormTitle": "登录", 
-    "mobileSignInFormTitle": "手机登录", 
-    "qrSignInFormTitle": "二维码登录", 
-    "signUpFormTitle": "注册", 
-    "forgetFormTitle": "重置密码", 
-    "signInTitle": "开箱即用的中后台管理系统", 
-    "signInDesc": "输入您的个人详细信息开始使用!", 
-    "policy": "我同意xxx隐私政策", 
-    "scanSign": "扫码后点击\"确认\",即可完成登录", 
-    "loginButton": "登录", 
-    "registerButton": "注册", 
-    "rememberMe": "记住我", 
-    "forgetPassword": "忘记密码?", 
-    "otherSignIn": "其他登录方式", 
-    "loginSuccessTitle": "登录成功", 
-    "loginSuccessDesc": "欢迎回来", 
-    "accountPlaceholder": "请输入账号", 
-    "passwordPlaceholder": "请输入密码", 
-    "smsPlaceholder": "请输入验证码", 
-    "mobilePlaceholder": "请输入手机号码", 
-    "policyPlaceholder": "勾选后才能注册", 
-    "diffPwd": "两次输入密码不一致", 
-    "userName": "账号", 
-    "password": "密码", 
-    "confirmPassword": "确认密码", 
-    "email": "邮箱", 
-    "smsCode": "短信验证码", 
+    "backSignIn": "返回",
+    "signInFormTitle": "登录",
+    "mobileSignInFormTitle": "手机登录",
+    "qrSignInFormTitle": "二维码登录",
+    "signUpFormTitle": "注册",
+    "forgetFormTitle": "重置密码",
+    "signInTitle": "开箱即用的中后台管理系统",
+    "signInDesc": "输入您的个人详细信息开始使用!",
+    "policy": "我同意xxx隐私政策",
+    "scanSign": "扫码后点击\"确认\",即可完成登录",
+    "loginButton": "登录",
+    "registerButton": "注册",
+    "rememberMe": "记住我",
+    "forgetPassword": "忘记密码?",
+    "otherSignIn": "其他登录方式",
+    "loginSuccessTitle": "登录成功",
+    "loginSuccessDesc": "欢迎回来",
+    "accountPlaceholder": "请输入账号",
+    "passwordPlaceholder": "请输入密码",
+    "smsPlaceholder": "请输入验证码",
+    "mobilePlaceholder": "请输入手机号码",
+    "policyPlaceholder": "勾选后才能注册",
+    "diffPwd": "两次输入密码不一致",
+    "userName": "账号",
+    "password": "密码",
+    "confirmPassword": "确认密码",
+    "email": "邮箱",
+    "smsCode": "短信验证码",
     "mobile": "手机号码"
   }
-}
+}

+ 1 - 1
src/locales/lang/zh_CN.ts

@@ -1,6 +1,6 @@
 import { genMessage } from '../helper';
 import antdLocale from 'ant-design-vue/es/locale/zh_CN';
-import { deepMerge } from '/@/utils';
+import { deepMerge } from '@/utils';
 
 const modules = import.meta.glob('./zh-CN/**/*.json', { eager: true });
 

+ 2 - 2
src/locales/setupI18n.ts

@@ -3,8 +3,8 @@ import type { I18nOptions } from 'vue-i18n';
 
 import { createI18n } from 'vue-i18n';
 import { setHtmlPageLang, setLoadLocalePool } from './helper';
-import { localeSetting } from '/@/settings/localeSetting';
-import { useLocaleStoreWithOut } from '/@/store/modules/locale';
+import { localeSetting } from '@/settings/localeSetting';
+import { useLocaleStoreWithOut } from '@/store/modules/locale';
 
 const { fallback, availableLocales } = localeSetting;
 

+ 2 - 2
src/locales/useLocale.ts

@@ -1,10 +1,10 @@
 /**
  * Multi-language related operations
  */
-import type { LocaleType } from '/#/config';
+import type { LocaleType } from '#/config';
 
 import { i18n } from './setupI18n';
-import { useLocaleStoreWithOut } from '/@/store/modules/locale';
+import { useLocaleStoreWithOut } from '@/store/modules/locale';
 import { unref, computed } from 'vue';
 import { loadLocalePool, setHtmlPageLang } from './helper';
 import { Locale } from 'ant-design-vue/es/locale';

+ 4 - 4
src/logics/error-handle/index.ts

@@ -2,13 +2,13 @@
  * Used to configure the global error handling function, which can monitor vue errors, script errors, static resource errors and Promise errors
  */
 
-import type { ErrorLogInfo } from '/#/store';
+import type { ErrorLogInfo } from '#/store';
 
-import { useErrorLogStoreWithOut } from '/@/store/modules/errorLog';
+import { useErrorLogStoreWithOut } from '@/store/modules/errorLog';
 
-import { ErrorTypeEnum } from '/@/enums/exceptionEnum';
+import { ErrorTypeEnum } from '@/enums/exceptionEnum';
 import { App } from 'vue';
-import projectSetting from '/@/settings/projectSetting';
+import projectSetting from '@/settings/projectSetting';
 
 /**
  * Handling error stack information

+ 13 - 13
src/logics/initAppConfig.ts

@@ -1,24 +1,24 @@
 /**
  * Application configuration
  */
-import type { ProjectConfig } from '/#/config';
+import type { ProjectConfig } from '#/config';
 
-import { PROJ_CFG_KEY } from '/@/enums/cacheEnum';
-import projectSetting from '/@/settings/projectSetting';
+import { PROJ_CFG_KEY } from '@/enums/cacheEnum';
+import projectSetting from '@/settings/projectSetting';
 
-import { updateDarkTheme } from '/@/logics/theme/dark';
-import { updateHeaderBgColor, updateSidebarBgColor } from '/@/logics/theme/updateBackground';
-import { updateColorWeak } from '/@/logics/theme/updateColorWeak';
-import { updateGrayMode } from '/@/logics/theme/updateGrayMode';
+import { updateDarkTheme } from '@/logics/theme/dark';
+import { updateHeaderBgColor, updateSidebarBgColor } from '@/logics/theme/updateBackground';
+import { updateColorWeak } from '@/logics/theme/updateColorWeak';
+import { updateGrayMode } from '@/logics/theme/updateGrayMode';
 
-import { useAppStore } from '/@/store/modules/app';
-import { useLocaleStore } from '/@/store/modules/locale';
+import { useAppStore } from '@/store/modules/app';
+import { useLocaleStore } from '@/store/modules/locale';
 
-import { getCommonStoragePrefix, getStorageShortName } from '/@/utils/env';
+import { getCommonStoragePrefix, getStorageShortName } from '@/utils/env';
 
-import { ThemeEnum } from '/@/enums/appEnum';
-import { deepMerge } from '/@/utils';
-import { Persistent } from '/@/utils/cache/persistent';
+import { ThemeEnum } from '@/enums/appEnum';
+import { deepMerge } from '@/utils';
+import { Persistent } from '@/utils/cache/persistent';
 
 // Initial project configuration
 export function initAppConfigStore() {

+ 2 - 2
src/logics/mitt/routeChange.ts

@@ -2,9 +2,9 @@
  * Used to monitor routing changes to change the status of menus and tabs. There is no need to monitor the route, because the route status change is affected by the page rendering time, which will be slow
  */
 
-import { mitt } from '/@/utils/mitt';
+import { mitt } from '@/utils/mitt';
 import type { RouteLocationNormalized } from 'vue-router';
-import { getRawRoute } from '/@/utils';
+import { getRawRoute } from '@/utils';
 
 const key = Symbol();
 

+ 1 - 1
src/logics/theme/dark.ts

@@ -1,5 +1,5 @@
 import { setCssVar } from './util';
-import { addClass, hasClass, removeClass } from '/@/utils/domUtils';
+import { addClass, hasClass, removeClass } from '@/utils/domUtils';
 
 export type CustomColorType = {
   name: string;

+ 3 - 3
src/logics/theme/updateBackground.ts

@@ -1,6 +1,6 @@
-import { colorIsDark, lighten, darken } from '/@/utils/color';
-import { useAppStore } from '/@/store/modules/app';
-import { ThemeEnum } from '/@/enums/appEnum';
+import { colorIsDark, lighten, darken } from '@/utils/color';
+import { useAppStore } from '@/store/modules/app';
+import { ThemeEnum } from '@/enums/appEnum';
 import { setCssVar } from './util';
 
 const HEADER_BG_COLOR_VAR = '--header-bg-color';

+ 2 - 2
src/router/constant.ts

@@ -4,12 +4,12 @@ export const PARENT_LAYOUT_NAME = 'ParentLayout';
 
 export const PAGE_NOT_FOUND_NAME = 'PageNotFound';
 
-export const EXCEPTION_COMPONENT = () => import('/@/views/sys/exception/Exception.vue');
+export const EXCEPTION_COMPONENT = () => import('@/views/sys/exception/Exception.vue');
 
 /**
  * @description: default layout
  */
-export const LAYOUT = () => import('/@/layouts/default/index.vue');
+export const LAYOUT = () => import('@/layouts/default/index.vue');
 
 /**
  * @description: parent-layout

+ 7 - 7
src/router/guard/index.ts

@@ -1,16 +1,16 @@
 import type { Router, RouteLocationNormalized } from 'vue-router';
-import { useAppStoreWithOut } from '/@/store/modules/app';
-import { useUserStoreWithOut } from '/@/store/modules/user';
-import { useTransitionSetting } from '/@/hooks/setting/useTransitionSetting';
-import { AxiosCanceler } from '/@/utils/http/axios/axiosCancel';
+import { useAppStoreWithOut } from '@/store/modules/app';
+import { useUserStoreWithOut } from '@/store/modules/user';
+import { useTransitionSetting } from '@/hooks/setting/useTransitionSetting';
+import { AxiosCanceler } from '@/utils/http/axios/axiosCancel';
 import { Modal, notification } from 'ant-design-vue';
-import { warn } from '/@/utils/log';
+import { warn } from '@/utils/log';
 import { unref } from 'vue';
-import { setRouteChange } from '/@/logics/mitt/routeChange';
+import { setRouteChange } from '@/logics/mitt/routeChange';
 import { createPermissionGuard } from './permissionGuard';
 import { createStateGuard } from './stateGuard';
 import nProgress from 'nprogress';
-import projectSetting from '/@/settings/projectSetting';
+import projectSetting from '@/settings/projectSetting';
 import { createParamMenuGuard } from './paramMenuGuard';
 
 // Don't change the order of creation

+ 3 - 3
src/router/guard/paramMenuGuard.ts

@@ -1,10 +1,10 @@
 import type { Router } from 'vue-router';
 import { configureDynamicParamsMenu } from '../helper/menuHelper';
 import { Menu } from '../types';
-import { PermissionModeEnum } from '/@/enums/appEnum';
-import { useAppStoreWithOut } from '/@/store/modules/app';
+import { PermissionModeEnum } from '@/enums/appEnum';
+import { useAppStoreWithOut } from '@/store/modules/app';
 
-import { usePermissionStoreWithOut } from '/@/store/modules/permission';
+import { usePermissionStoreWithOut } from '@/store/modules/permission';
 
 export function createParamMenuGuard(router: Router) {
   const permissionStore = usePermissionStoreWithOut();

+ 5 - 5
src/router/guard/permissionGuard.ts

@@ -1,13 +1,13 @@
 import type { Router, RouteRecordRaw } from 'vue-router';
 
-import { usePermissionStoreWithOut } from '/@/store/modules/permission';
+import { usePermissionStoreWithOut } from '@/store/modules/permission';
 
-import { PageEnum } from '/@/enums/pageEnum';
-import { useUserStoreWithOut } from '/@/store/modules/user';
+import { PageEnum } from '@/enums/pageEnum';
+import { useUserStoreWithOut } from '@/store/modules/user';
 
-import { PAGE_NOT_FOUND_ROUTE } from '/@/router/routes/basic';
+import { PAGE_NOT_FOUND_ROUTE } from '@/router/routes/basic';
 
-import { RootRoute } from '/@/router/routes';
+import { RootRoute } from '@/router/routes';
 
 const LOGIN_PATH = PageEnum.BASE_LOGIN;
 

+ 6 - 6
src/router/guard/stateGuard.ts

@@ -1,10 +1,10 @@
 import type { Router } from 'vue-router';
-import { useAppStore } from '/@/store/modules/app';
-import { useMultipleTabStore } from '/@/store/modules/multipleTab';
-import { useUserStore } from '/@/store/modules/user';
-import { usePermissionStore } from '/@/store/modules/permission';
-import { PageEnum } from '/@/enums/pageEnum';
-import { removeTabChangeListener } from '/@/logics/mitt/routeChange';
+import { useAppStore } from '@/store/modules/app';
+import { useMultipleTabStore } from '@/store/modules/multipleTab';
+import { useUserStore } from '@/store/modules/user';
+import { usePermissionStore } from '@/store/modules/permission';
+import { PageEnum } from '@/enums/pageEnum';
+import { removeTabChangeListener } from '@/logics/mitt/routeChange';
 
 export function createStateGuard(router: Router) {
   router.afterEach((to) => {

+ 4 - 4
src/router/helper/menuHelper.ts

@@ -1,8 +1,8 @@
-import { AppRouteModule } from '/@/router/types';
-import type { MenuModule, Menu, AppRouteRecordRaw } from '/@/router/types';
-import { findPath, treeMap } from '/@/utils/helper/treeHelper';
+import { AppRouteModule } from '@/router/types';
+import type { MenuModule, Menu, AppRouteRecordRaw } from '@/router/types';
+import { findPath, treeMap } from '@/utils/helper/treeHelper';
 import { cloneDeep } from 'lodash-es';
-import { isHttpUrl } from '/@/utils/is';
+import { isHttpUrl } from '@/utils/is';
 import { RouteParams } from 'vue-router';
 import { toRaw } from 'vue';
 

+ 4 - 4
src/router/helper/routeHelper.ts

@@ -1,13 +1,13 @@
-import type { AppRouteModule, AppRouteRecordRaw } from '/@/router/types';
+import type { AppRouteModule, AppRouteRecordRaw } from '@/router/types';
 import type { Router, RouteRecordNormalized } from 'vue-router';
 
-import { getParentLayout, LAYOUT, EXCEPTION_COMPONENT } from '/@/router/constant';
+import { getParentLayout, LAYOUT, EXCEPTION_COMPONENT } from '@/router/constant';
 import { cloneDeep, omit } from 'lodash-es';
-import { warn } from '/@/utils/log';
+import { warn } from '@/utils/log';
 import { createRouter, createWebHashHistory } from 'vue-router';
 
 export type LayoutMapKey = 'LAYOUT';
-const IFRAME = () => import('/@/views/sys/iframe/FrameBlank.vue');
+const IFRAME = () => import('@/views/sys/iframe/FrameBlank.vue');
 
 const LayoutMap = new Map<string, () => Promise<typeof import('*.vue')>>();
 

+ 8 - 8
src/router/menus/index.ts

@@ -1,13 +1,13 @@
-import type { Menu, MenuModule } from '/@/router/types';
+import type { Menu, MenuModule } from '@/router/types';
 import type { RouteRecordNormalized } from 'vue-router';
 
-import { useAppStoreWithOut } from '/@/store/modules/app';
-import { usePermissionStore } from '/@/store/modules/permission';
-import { transformMenuModule, getAllParentPath } from '/@/router/helper/menuHelper';
-import { filter } from '/@/utils/helper/treeHelper';
-import { isHttpUrl } from '/@/utils/is';
-import { router } from '/@/router';
-import { PermissionModeEnum } from '/@/enums/appEnum';
+import { useAppStoreWithOut } from '@/store/modules/app';
+import { usePermissionStore } from '@/store/modules/permission';
+import { transformMenuModule, getAllParentPath } from '@/router/helper/menuHelper';
+import { filter } from '@/utils/helper/treeHelper';
+import { isHttpUrl } from '@/utils/is';
+import { router } from '@/router';
+import { PermissionModeEnum } from '@/enums/appEnum';
 import { pathToRegexp } from 'path-to-regexp';
 
 const modules = import.meta.glob('./modules/**/*.ts', { eager: true });

+ 5 - 10
src/router/routes/basic.ts

@@ -1,11 +1,6 @@
-import type { AppRouteRecordRaw } from '/@/router/types';
-import { t } from '/@/hooks/web/useI18n';
-import {
-  REDIRECT_NAME,
-  LAYOUT,
-  EXCEPTION_COMPONENT,
-  PAGE_NOT_FOUND_NAME,
-} from '/@/router/constant';
+import type { AppRouteRecordRaw } from '@/router/types';
+import { t } from '@/hooks/web/useI18n';
+import { REDIRECT_NAME, LAYOUT, EXCEPTION_COMPONENT, PAGE_NOT_FOUND_NAME } from '@/router/constant';
 
 // 404 on a page
 export const PAGE_NOT_FOUND_ROUTE: AppRouteRecordRaw = {
@@ -44,7 +39,7 @@ export const REDIRECT_ROUTE: AppRouteRecordRaw = {
     {
       path: '/redirect/:path(.*)/:_redirect_type(.*)/:_origin_params(.*)?',
       name: REDIRECT_NAME,
-      component: () => import('/@/views/sys/redirect/index.vue'),
+      component: () => import('@/views/sys/redirect/index.vue'),
       meta: {
         title: REDIRECT_NAME,
         hideBreadcrumb: true,
@@ -67,7 +62,7 @@ export const ERROR_LOG_ROUTE: AppRouteRecordRaw = {
     {
       path: 'list',
       name: 'ErrorLogList',
-      component: () => import('/@/views/sys/error-log/index.vue'),
+      component: () => import('@/views/sys/error-log/index.vue'),
       meta: {
         title: t('routes.basic.errorLogList'),
         hideBreadcrumb: true,

+ 5 - 5
src/router/routes/index.ts

@@ -1,10 +1,10 @@
-import type { AppRouteRecordRaw, AppRouteModule } from '/@/router/types';
+import type { AppRouteRecordRaw, AppRouteModule } from '@/router/types';
 
-import { PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE } from '/@/router/routes/basic';
+import { PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE } from '@/router/routes/basic';
 
 import { mainOutRoutes } from './mainOut';
-import { PageEnum } from '/@/enums/pageEnum';
-import { t } from '/@/hooks/web/useI18n';
+import { PageEnum } from '@/enums/pageEnum';
+import { t } from '@/hooks/web/useI18n';
 
 // import.meta.glob() 直接引入所有的模块 Vite 独有的功能
 const modules = import.meta.glob('./modules/**/*.ts', { eager: true });
@@ -32,7 +32,7 @@ export const RootRoute: AppRouteRecordRaw = {
 export const LoginRoute: AppRouteRecordRaw = {
   path: '/login',
   name: 'Login',
-  component: () => import('/@/views/sys/login/Login.vue'),
+  component: () => import('@/views/sys/login/Login.vue'),
   meta: {
     title: t('routes.basic.login'),
   },

+ 2 - 2
src/router/routes/mainOut.ts

@@ -3,7 +3,7 @@ The routing of this file will not show the layout.
 It is an independent new page.
 the contents of the file still need to log in to access
  */
-import type { AppRouteModule } from '/@/router/types';
+import type { AppRouteModule } from '@/router/types';
 
 // test
 // http:ip:port/main-out
@@ -11,7 +11,7 @@ export const mainOutRoutes: AppRouteModule[] = [
   {
     path: '/main-out',
     name: 'MainOut',
-    component: () => import('/@/views/demo/main-out/index.vue'),
+    component: () => import('@/views/demo/main-out/index.vue'),
     meta: {
       title: 'MainOut',
       ignoreAuth: true,

+ 4 - 4
src/router/routes/modules/about.ts

@@ -1,7 +1,7 @@
-import type { AppRouteModule } from '/@/router/types';
+import type { AppRouteModule } from '@/router/types';
 
-import { LAYOUT } from '/@/router/constant';
-import { t } from '/@/hooks/web/useI18n';
+import { LAYOUT } from '@/router/constant';
+import { t } from '@/hooks/web/useI18n';
 
 const about: AppRouteModule = {
   path: '/about',
@@ -18,7 +18,7 @@ const about: AppRouteModule = {
     {
       path: 'index',
       name: 'AboutPage',
-      component: () => import('/@/views/sys/about/index.vue'),
+      component: () => import('@/views/sys/about/index.vue'),
       meta: {
         title: t('routes.dashboard.about'),
         icon: 'simple-icons:about-dot-me',

+ 5 - 5
src/router/routes/modules/dashboard.ts

@@ -1,7 +1,7 @@
-import type { AppRouteModule } from '/@/router/types';
+import type { AppRouteModule } from '@/router/types';
 
-import { LAYOUT } from '/@/router/constant';
-import { t } from '/@/hooks/web/useI18n';
+import { LAYOUT } from '@/router/constant';
+import { t } from '@/hooks/web/useI18n';
 
 const dashboard: AppRouteModule = {
   path: '/dashboard',
@@ -17,7 +17,7 @@ const dashboard: AppRouteModule = {
     {
       path: 'analysis',
       name: 'Analysis',
-      component: () => import('/@/views/dashboard/analysis/index.vue'),
+      component: () => import('@/views/dashboard/analysis/index.vue'),
       meta: {
         // affix: true,
         title: t('routes.dashboard.analysis'),
@@ -26,7 +26,7 @@ const dashboard: AppRouteModule = {
     {
       path: 'workbench',
       name: 'Workbench',
-      component: () => import('/@/views/dashboard/workbench/index.vue'),
+      component: () => import('@/views/dashboard/workbench/index.vue'),
       meta: {
         title: t('routes.dashboard.workbench'),
       },

+ 9 - 9
src/router/routes/modules/demo/charts.ts

@@ -1,7 +1,7 @@
-import type { AppRouteModule } from '/@/router/types';
+import type { AppRouteModule } from '@/router/types';
 
-import { getParentLayout, LAYOUT } from '/@/router/constant';
-import { t } from '/@/hooks/web/useI18n';
+import { getParentLayout, LAYOUT } from '@/router/constant';
+import { t } from '@/hooks/web/useI18n';
 
 const charts: AppRouteModule = {
   path: '/charts',
@@ -20,7 +20,7 @@ const charts: AppRouteModule = {
       meta: {
         title: t('routes.demo.charts.baiduMap'),
       },
-      component: () => import('/@/views/demo/charts/map/Baidu.vue'),
+      component: () => import('@/views/demo/charts/map/Baidu.vue'),
     },
     {
       path: 'aMap',
@@ -28,7 +28,7 @@ const charts: AppRouteModule = {
       meta: {
         title: t('routes.demo.charts.aMap'),
       },
-      component: () => import('/@/views/demo/charts/map/Gaode.vue'),
+      component: () => import('@/views/demo/charts/map/Gaode.vue'),
     },
     {
       path: 'googleMap',
@@ -36,7 +36,7 @@ const charts: AppRouteModule = {
       meta: {
         title: t('routes.demo.charts.googleMap'),
       },
-      component: () => import('/@/views/demo/charts/map/Google.vue'),
+      component: () => import('@/views/demo/charts/map/Google.vue'),
     },
 
     {
@@ -51,7 +51,7 @@ const charts: AppRouteModule = {
         {
           path: 'map',
           name: 'Map',
-          component: () => import('/@/views/demo/charts/Map.vue'),
+          component: () => import('@/views/demo/charts/Map.vue'),
           meta: {
             title: t('routes.demo.charts.map'),
           },
@@ -59,7 +59,7 @@ const charts: AppRouteModule = {
         {
           path: 'line',
           name: 'Line',
-          component: () => import('/@/views/demo/charts/Line.vue'),
+          component: () => import('@/views/demo/charts/Line.vue'),
           meta: {
             title: t('routes.demo.charts.line'),
           },
@@ -67,7 +67,7 @@ const charts: AppRouteModule = {
         {
           path: 'pie',
           name: 'Pie',
-          component: () => import('/@/views/demo/charts/Pie.vue'),
+          component: () => import('@/views/demo/charts/Pie.vue'),
           meta: {
             title: t('routes.demo.charts.pie'),
           },

+ 56 - 56
src/router/routes/modules/demo/comp.ts

@@ -1,7 +1,7 @@
-import type { AppRouteModule } from '/@/router/types';
+import type { AppRouteModule } from '@/router/types';
 
-import { getParentLayout, LAYOUT } from '/@/router/constant';
-import { t } from '/@/hooks/web/useI18n';
+import { getParentLayout, LAYOUT } from '@/router/constant';
+import { t } from '@/hooks/web/useI18n';
 
 const comp: AppRouteModule = {
   path: '/comp',
@@ -18,7 +18,7 @@ const comp: AppRouteModule = {
     {
       path: 'basic',
       name: 'BasicDemo',
-      component: () => import('/@/views/demo/comp/button/index.vue'),
+      component: () => import('@/views/demo/comp/button/index.vue'),
       meta: {
         title: t('routes.demo.comp.basic'),
       },
@@ -37,7 +37,7 @@ const comp: AppRouteModule = {
         {
           path: 'basic',
           name: 'FormBasicDemo',
-          component: () => import('/@/views/demo/form/index.vue'),
+          component: () => import('@/views/demo/form/index.vue'),
           meta: {
             title: t('routes.demo.form.basic'),
           },
@@ -45,7 +45,7 @@ const comp: AppRouteModule = {
         {
           path: 'useForm',
           name: 'UseFormDemo',
-          component: () => import('/@/views/demo/form/UseForm.vue'),
+          component: () => import('@/views/demo/form/UseForm.vue'),
           meta: {
             title: t('routes.demo.form.useForm'),
           },
@@ -53,7 +53,7 @@ const comp: AppRouteModule = {
         {
           path: 'refForm',
           name: 'RefFormDemo',
-          component: () => import('/@/views/demo/form/RefForm.vue'),
+          component: () => import('@/views/demo/form/RefForm.vue'),
           meta: {
             title: t('routes.demo.form.refForm'),
           },
@@ -61,7 +61,7 @@ const comp: AppRouteModule = {
         {
           path: 'advancedForm',
           name: 'AdvancedFormDemo',
-          component: () => import('/@/views/demo/form/AdvancedForm.vue'),
+          component: () => import('@/views/demo/form/AdvancedForm.vue'),
           meta: {
             title: t('routes.demo.form.advancedForm'),
           },
@@ -69,7 +69,7 @@ const comp: AppRouteModule = {
         {
           path: 'ruleForm',
           name: 'RuleFormDemo',
-          component: () => import('/@/views/demo/form/RuleForm.vue'),
+          component: () => import('@/views/demo/form/RuleForm.vue'),
           meta: {
             title: t('routes.demo.form.ruleForm'),
           },
@@ -77,7 +77,7 @@ const comp: AppRouteModule = {
         {
           path: 'dynamicForm',
           name: 'DynamicFormDemo',
-          component: () => import('/@/views/demo/form/DynamicForm.vue'),
+          component: () => import('@/views/demo/form/DynamicForm.vue'),
           meta: {
             title: t('routes.demo.form.dynamicForm'),
           },
@@ -85,7 +85,7 @@ const comp: AppRouteModule = {
         {
           path: 'customerForm',
           name: 'CustomerFormDemo',
-          component: () => import('/@/views/demo/form/CustomerForm.vue'),
+          component: () => import('@/views/demo/form/CustomerForm.vue'),
           meta: {
             title: t('routes.demo.form.customerForm'),
           },
@@ -93,7 +93,7 @@ const comp: AppRouteModule = {
         {
           path: 'appendForm',
           name: 'appendFormDemo',
-          component: () => import('/@/views/demo/form/AppendForm.vue'),
+          component: () => import('@/views/demo/form/AppendForm.vue'),
           meta: {
             title: t('routes.demo.form.appendForm'),
           },
@@ -101,7 +101,7 @@ const comp: AppRouteModule = {
         {
           path: 'tabsForm',
           name: 'tabsFormDemo',
-          component: () => import('/@/views/demo/form/TabsForm.vue'),
+          component: () => import('@/views/demo/form/TabsForm.vue'),
           meta: {
             title: t('routes.demo.form.tabsForm'),
           },
@@ -122,7 +122,7 @@ const comp: AppRouteModule = {
         {
           path: 'basic',
           name: 'TableBasicDemo',
-          component: () => import('/@/views/demo/table/Basic.vue'),
+          component: () => import('@/views/demo/table/Basic.vue'),
           meta: {
             title: t('routes.demo.table.basic'),
           },
@@ -130,7 +130,7 @@ const comp: AppRouteModule = {
         {
           path: 'treeTable',
           name: 'TreeTableDemo',
-          component: () => import('/@/views/demo/table/TreeTable.vue'),
+          component: () => import('@/views/demo/table/TreeTable.vue'),
           meta: {
             title: t('routes.demo.table.treeTable'),
           },
@@ -138,7 +138,7 @@ const comp: AppRouteModule = {
         {
           path: 'fetchTable',
           name: 'FetchTableDemo',
-          component: () => import('/@/views/demo/table/FetchTable.vue'),
+          component: () => import('@/views/demo/table/FetchTable.vue'),
           meta: {
             title: t('routes.demo.table.fetchTable'),
           },
@@ -146,7 +146,7 @@ const comp: AppRouteModule = {
         {
           path: 'fixedColumn',
           name: 'FixedColumnDemo',
-          component: () => import('/@/views/demo/table/FixedColumn.vue'),
+          component: () => import('@/views/demo/table/FixedColumn.vue'),
           meta: {
             title: t('routes.demo.table.fixedColumn'),
           },
@@ -154,7 +154,7 @@ const comp: AppRouteModule = {
         {
           path: 'customerCell',
           name: 'CustomerCellDemo',
-          component: () => import('/@/views/demo/table/CustomerCell.vue'),
+          component: () => import('@/views/demo/table/CustomerCell.vue'),
           meta: {
             title: t('routes.demo.table.customerCell'),
           },
@@ -162,7 +162,7 @@ const comp: AppRouteModule = {
         {
           path: 'formTable',
           name: 'FormTableDemo',
-          component: () => import('/@/views/demo/table/FormTable.vue'),
+          component: () => import('@/views/demo/table/FormTable.vue'),
           meta: {
             title: t('routes.demo.table.formTable'),
           },
@@ -170,7 +170,7 @@ const comp: AppRouteModule = {
         {
           path: 'useTable',
           name: 'UseTableDemo',
-          component: () => import('/@/views/demo/table/UseTable.vue'),
+          component: () => import('@/views/demo/table/UseTable.vue'),
           meta: {
             title: t('routes.demo.table.useTable'),
           },
@@ -178,7 +178,7 @@ const comp: AppRouteModule = {
         {
           path: 'refTable',
           name: 'RefTableDemo',
-          component: () => import('/@/views/demo/table/RefTable.vue'),
+          component: () => import('@/views/demo/table/RefTable.vue'),
           meta: {
             title: t('routes.demo.table.refTable'),
           },
@@ -186,7 +186,7 @@ const comp: AppRouteModule = {
         {
           path: 'multipleHeader',
           name: 'MultipleHeaderDemo',
-          component: () => import('/@/views/demo/table/MultipleHeader.vue'),
+          component: () => import('@/views/demo/table/MultipleHeader.vue'),
           meta: {
             title: t('routes.demo.table.multipleHeader'),
           },
@@ -194,7 +194,7 @@ const comp: AppRouteModule = {
         {
           path: 'mergeHeader',
           name: 'MergeHeaderDemo',
-          component: () => import('/@/views/demo/table/MergeHeader.vue'),
+          component: () => import('@/views/demo/table/MergeHeader.vue'),
           meta: {
             title: t('routes.demo.table.mergeHeader'),
           },
@@ -202,7 +202,7 @@ const comp: AppRouteModule = {
         {
           path: 'expandTable',
           name: 'ExpandTableDemo',
-          component: () => import('/@/views/demo/table/ExpandTable.vue'),
+          component: () => import('@/views/demo/table/ExpandTable.vue'),
           meta: {
             title: t('routes.demo.table.expandTable'),
           },
@@ -210,7 +210,7 @@ const comp: AppRouteModule = {
         {
           path: 'fixedHeight',
           name: 'FixedHeightDemo',
-          component: () => import('/@/views/demo/table/FixedHeight.vue'),
+          component: () => import('@/views/demo/table/FixedHeight.vue'),
           meta: {
             title: t('routes.demo.table.fixedHeight'),
           },
@@ -218,7 +218,7 @@ const comp: AppRouteModule = {
         {
           path: 'footerTable',
           name: 'FooterTableDemo',
-          component: () => import('/@/views/demo/table/FooterTable.vue'),
+          component: () => import('@/views/demo/table/FooterTable.vue'),
           meta: {
             title: t('routes.demo.table.footerTable'),
           },
@@ -226,7 +226,7 @@ const comp: AppRouteModule = {
         {
           path: 'editCellTable',
           name: 'EditCellTableDemo',
-          component: () => import('/@/views/demo/table/EditCellTable.vue'),
+          component: () => import('@/views/demo/table/EditCellTable.vue'),
           meta: {
             title: t('routes.demo.table.editCellTable'),
           },
@@ -234,7 +234,7 @@ const comp: AppRouteModule = {
         {
           path: 'editRowTable',
           name: 'EditRowTableDemo',
-          component: () => import('/@/views/demo/table/EditRowTable.vue'),
+          component: () => import('@/views/demo/table/EditRowTable.vue'),
           meta: {
             title: t('routes.demo.table.editRowTable'),
           },
@@ -242,7 +242,7 @@ const comp: AppRouteModule = {
         {
           path: 'authColumn',
           name: 'AuthColumnDemo',
-          component: () => import('/@/views/demo/table/AuthColumn.vue'),
+          component: () => import('@/views/demo/table/AuthColumn.vue'),
           meta: {
             title: t('routes.demo.table.authColumn'),
           },
@@ -250,7 +250,7 @@ const comp: AppRouteModule = {
         {
           path: 'resizeParentHeightTable',
           name: 'ResizeParentHeightTable',
-          component: () => import('/@/views/demo/table/ResizeParentHeightTable.vue'),
+          component: () => import('@/views/demo/table/ResizeParentHeightTable.vue'),
           meta: {
             title: t('routes.demo.table.resizeParentHeightTable'),
           },
@@ -258,7 +258,7 @@ const comp: AppRouteModule = {
         {
           path: 'vxeTable',
           name: 'VxeTableDemo',
-          component: () => import('/@/views/demo/table/VxeTable.vue'),
+          component: () => import('@/views/demo/table/VxeTable.vue'),
           meta: {
             title: t('routes.demo.table.vxeTable'),
           },
@@ -268,7 +268,7 @@ const comp: AppRouteModule = {
     {
       path: 'transition',
       name: 'transitionDemo',
-      component: () => import('/@/views/demo/comp/transition/index.vue'),
+      component: () => import('@/views/demo/comp/transition/index.vue'),
       meta: {
         title: t('routes.demo.comp.transition'),
       },
@@ -276,7 +276,7 @@ const comp: AppRouteModule = {
     {
       path: 'cropper',
       name: 'CropperDemo',
-      component: () => import('/@/views/demo/comp/cropper/index.vue'),
+      component: () => import('@/views/demo/comp/cropper/index.vue'),
       meta: {
         title: t('routes.demo.comp.cropperImage'),
       },
@@ -285,7 +285,7 @@ const comp: AppRouteModule = {
     {
       path: 'timestamp',
       name: 'TimeDemo',
-      component: () => import('/@/views/demo/comp/time/index.vue'),
+      component: () => import('@/views/demo/comp/time/index.vue'),
       meta: {
         title: t('routes.demo.comp.time'),
       },
@@ -293,7 +293,7 @@ const comp: AppRouteModule = {
     {
       path: 'countTo',
       name: 'CountTo',
-      component: () => import('/@/views/demo/comp/count-to/index.vue'),
+      component: () => import('@/views/demo/comp/count-to/index.vue'),
       meta: {
         title: t('routes.demo.comp.countTo'),
       },
@@ -311,7 +311,7 @@ const comp: AppRouteModule = {
         {
           path: 'basic',
           name: 'BasicTreeDemo',
-          component: () => import('/@/views/demo/tree/index.vue'),
+          component: () => import('@/views/demo/tree/index.vue'),
           meta: {
             title: t('routes.demo.comp.treeBasic'),
           },
@@ -319,7 +319,7 @@ const comp: AppRouteModule = {
         {
           path: 'editTree',
           name: 'EditTreeDemo',
-          component: () => import('/@/views/demo/tree/EditTree.vue'),
+          component: () => import('@/views/demo/tree/EditTree.vue'),
           meta: {
             title: t('routes.demo.comp.editTree'),
           },
@@ -327,7 +327,7 @@ const comp: AppRouteModule = {
         {
           path: 'actionTree',
           name: 'ActionTreeDemo',
-          component: () => import('/@/views/demo/tree/ActionTree.vue'),
+          component: () => import('@/views/demo/tree/ActionTree.vue'),
           meta: {
             title: t('routes.demo.comp.actionTree'),
           },
@@ -346,7 +346,7 @@ const comp: AppRouteModule = {
       children: [
         {
           path: 'json',
-          component: () => import('/@/views/demo/editor/json/index.vue'),
+          component: () => import('@/views/demo/editor/json/index.vue'),
           name: 'JsonEditorDemo',
           meta: {
             title: t('routes.demo.editor.jsonEditor'),
@@ -364,7 +364,7 @@ const comp: AppRouteModule = {
             {
               path: 'index',
               name: 'MarkDownBasicDemo',
-              component: () => import('/@/views/demo/editor/markdown/index.vue'),
+              component: () => import('@/views/demo/editor/markdown/index.vue'),
               meta: {
                 title: t('routes.demo.editor.tinymceBasic'),
               },
@@ -372,7 +372,7 @@ const comp: AppRouteModule = {
             {
               path: 'editor',
               name: 'MarkDownFormDemo',
-              component: () => import('/@/views/demo/editor/markdown/Editor.vue'),
+              component: () => import('@/views/demo/editor/markdown/Editor.vue'),
               meta: {
                 title: t('routes.demo.editor.tinymceForm'),
               },
@@ -392,7 +392,7 @@ const comp: AppRouteModule = {
             {
               path: 'index',
               name: 'TinymceBasicDemo',
-              component: () => import('/@/views/demo/editor/tinymce/index.vue'),
+              component: () => import('@/views/demo/editor/tinymce/index.vue'),
               meta: {
                 title: t('routes.demo.editor.tinymceBasic'),
               },
@@ -400,7 +400,7 @@ const comp: AppRouteModule = {
             {
               path: 'editor',
               name: 'TinymceFormDemo',
-              component: () => import('/@/views/demo/editor/tinymce/Editor.vue'),
+              component: () => import('@/views/demo/editor/tinymce/Editor.vue'),
               meta: {
                 title: t('routes.demo.editor.tinymceForm'),
               },
@@ -421,7 +421,7 @@ const comp: AppRouteModule = {
         {
           path: 'basic',
           name: 'BasicScrollDemo',
-          component: () => import('/@/views/demo/comp/scroll/index.vue'),
+          component: () => import('@/views/demo/comp/scroll/index.vue'),
           meta: {
             title: t('routes.demo.comp.scrollBasic'),
           },
@@ -429,7 +429,7 @@ const comp: AppRouteModule = {
         {
           path: 'action',
           name: 'ActionScrollDemo',
-          component: () => import('/@/views/demo/comp/scroll/Action.vue'),
+          component: () => import('@/views/demo/comp/scroll/Action.vue'),
           meta: {
             title: t('routes.demo.comp.scrollAction'),
           },
@@ -437,7 +437,7 @@ const comp: AppRouteModule = {
         {
           path: 'virtualScroll',
           name: 'VirtualScrollDemo',
-          component: () => import('/@/views/demo/comp/scroll/VirtualScroll.vue'),
+          component: () => import('@/views/demo/comp/scroll/VirtualScroll.vue'),
           meta: {
             title: t('routes.demo.comp.virtualScroll'),
           },
@@ -448,7 +448,7 @@ const comp: AppRouteModule = {
     {
       path: 'modal',
       name: 'ModalDemo',
-      component: () => import('/@/views/demo/comp/modal/index.vue'),
+      component: () => import('@/views/demo/comp/modal/index.vue'),
       meta: {
         title: t('routes.demo.comp.modal'),
       },
@@ -456,7 +456,7 @@ const comp: AppRouteModule = {
     {
       path: 'drawer',
       name: 'DrawerDemo',
-      component: () => import('/@/views/demo/comp/drawer/index.vue'),
+      component: () => import('@/views/demo/comp/drawer/index.vue'),
       meta: {
         title: t('routes.demo.comp.drawer'),
       },
@@ -464,7 +464,7 @@ const comp: AppRouteModule = {
     {
       path: 'desc',
       name: 'DescDemo',
-      component: () => import('/@/views/demo/comp/desc/index.vue'),
+      component: () => import('@/views/demo/comp/desc/index.vue'),
       meta: {
         title: t('routes.demo.comp.desc'),
       },
@@ -482,7 +482,7 @@ const comp: AppRouteModule = {
         {
           path: 'drag',
           name: 'VerifyDragDemo',
-          component: () => import('/@/views/demo/comp/verify/index.vue'),
+          component: () => import('@/views/demo/comp/verify/index.vue'),
           meta: {
             title: t('routes.demo.comp.verifyDrag'),
           },
@@ -490,7 +490,7 @@ const comp: AppRouteModule = {
         {
           path: 'rotate',
           name: 'VerifyRotateDemo',
-          component: () => import('/@/views/demo/comp/verify/Rotate.vue'),
+          component: () => import('@/views/demo/comp/verify/Rotate.vue'),
           meta: {
             title: t('routes.demo.comp.verifyRotate'),
           },
@@ -502,7 +502,7 @@ const comp: AppRouteModule = {
     {
       path: 'qrcode',
       name: 'QrCodeDemo',
-      component: () => import('/@/views/demo/comp/qrcode/index.vue'),
+      component: () => import('@/views/demo/comp/qrcode/index.vue'),
       meta: {
         title: t('routes.demo.comp.qrcode'),
       },
@@ -510,7 +510,7 @@ const comp: AppRouteModule = {
     {
       path: 'strength-meter',
       name: 'StrengthMeterDemo',
-      component: () => import('/@/views/demo/comp/strength-meter/index.vue'),
+      component: () => import('@/views/demo/comp/strength-meter/index.vue'),
       meta: {
         title: t('routes.demo.comp.strength'),
       },
@@ -518,7 +518,7 @@ const comp: AppRouteModule = {
     {
       path: 'upload',
       name: 'UploadDemo',
-      component: () => import('/@/views/demo/comp/upload/index.vue'),
+      component: () => import('@/views/demo/comp/upload/index.vue'),
       meta: {
         title: t('routes.demo.comp.upload'),
       },
@@ -526,7 +526,7 @@ const comp: AppRouteModule = {
     {
       path: 'loading',
       name: 'LoadingDemo',
-      component: () => import('/@/views/demo/comp/loading/index.vue'),
+      component: () => import('@/views/demo/comp/loading/index.vue'),
       meta: {
         title: t('routes.demo.comp.loading'),
       },
@@ -534,7 +534,7 @@ const comp: AppRouteModule = {
     {
       path: 'cardList',
       name: 'CardListDemo',
-      component: () => import('/@/views/demo/comp/card-list/index.vue'),
+      component: () => import('@/views/demo/comp/card-list/index.vue'),
       meta: {
         title: t('routes.demo.comp.cardList'),
       },

+ 34 - 34
src/router/routes/modules/demo/feat.ts

@@ -1,7 +1,7 @@
-import type { AppRouteModule } from '/@/router/types';
+import type { AppRouteModule } from '@/router/types';
 
-import { getParentLayout, LAYOUT } from '/@/router/constant';
-import { t } from '/@/hooks/web/useI18n';
+import { getParentLayout, LAYOUT } from '@/router/constant';
+import { t } from '@/hooks/web/useI18n';
 
 const feat: AppRouteModule = {
   path: '/feat',
@@ -18,7 +18,7 @@ const feat: AppRouteModule = {
     {
       path: 'icon',
       name: 'IconDemo',
-      component: () => import('/@/views/demo/feat/icon/index.vue'),
+      component: () => import('@/views/demo/feat/icon/index.vue'),
       meta: {
         title: t('routes.demo.feat.icon'),
       },
@@ -26,7 +26,7 @@ const feat: AppRouteModule = {
     {
       path: 'ws',
       name: 'WebSocket',
-      component: () => import('/@/views/demo/feat/ws/index.vue'),
+      component: () => import('@/views/demo/feat/ws/index.vue'),
       meta: {
         title: t('routes.demo.feat.ws'),
       },
@@ -35,7 +35,7 @@ const feat: AppRouteModule = {
       path: 'request',
       name: 'RequestDemo',
       // @ts-ignore
-      component: () => import('/@/views/demo/feat/request-demo/index.vue'),
+      component: () => import('@/views/demo/feat/request-demo/index.vue'),
       meta: {
         title: t('routes.demo.feat.requestDemo'),
       },
@@ -43,7 +43,7 @@ const feat: AppRouteModule = {
     {
       path: 'session-timeout',
       name: 'SessionTimeout',
-      component: () => import('/@/views/demo/feat/session-timeout/index.vue'),
+      component: () => import('@/views/demo/feat/session-timeout/index.vue'),
       meta: {
         title: t('routes.demo.feat.sessionTimeout'),
       },
@@ -51,7 +51,7 @@ const feat: AppRouteModule = {
     {
       path: 'print',
       name: 'Print',
-      component: () => import('/@/views/demo/feat/print/index.vue'),
+      component: () => import('@/views/demo/feat/print/index.vue'),
       meta: {
         title: t('routes.demo.feat.print'),
       },
@@ -59,7 +59,7 @@ const feat: AppRouteModule = {
     {
       path: 'tabs',
       name: 'TabsDemo',
-      component: () => import('/@/views/demo/feat/tabs/index.vue'),
+      component: () => import('@/views/demo/feat/tabs/index.vue'),
       meta: {
         title: t('routes.demo.feat.tabs'),
         hideChildrenInMenu: true,
@@ -68,7 +68,7 @@ const feat: AppRouteModule = {
         {
           path: 'detail/:id',
           name: 'TabDetail',
-          component: () => import('/@/views/demo/feat/tabs/TabDetail.vue'),
+          component: () => import('@/views/demo/feat/tabs/TabDetail.vue'),
           meta: {
             currentActiveMenu: '/feat/tabs',
             title: t('routes.demo.feat.tabDetail'),
@@ -92,7 +92,7 @@ const feat: AppRouteModule = {
         {
           path: 'flat',
           name: 'BreadcrumbFlatDemo',
-          component: () => import('/@/views/demo/feat/breadcrumb/FlatList.vue'),
+          component: () => import('@/views/demo/feat/breadcrumb/FlatList.vue'),
           meta: {
             title: t('routes.demo.feat.breadcrumbFlat'),
           },
@@ -100,7 +100,7 @@ const feat: AppRouteModule = {
         {
           path: 'flatDetail',
           name: 'BreadcrumbFlatDetailDemo',
-          component: () => import('/@/views/demo/feat/breadcrumb/FlatListDetail.vue'),
+          component: () => import('@/views/demo/feat/breadcrumb/FlatListDetail.vue'),
           meta: {
             title: t('routes.demo.feat.breadcrumbFlatDetail'),
             hideMenu: true,
@@ -111,7 +111,7 @@ const feat: AppRouteModule = {
         {
           path: 'children',
           name: 'BreadcrumbChildrenDemo',
-          component: () => import('/@/views/demo/feat/breadcrumb/ChildrenList.vue'),
+          component: () => import('@/views/demo/feat/breadcrumb/ChildrenList.vue'),
           meta: {
             title: t('routes.demo.feat.breadcrumbChildren'),
           },
@@ -119,7 +119,7 @@ const feat: AppRouteModule = {
             {
               path: 'childrenDetail',
               name: 'BreadcrumbChildrenDetailDemo',
-              component: () => import('/@/views/demo/feat/breadcrumb/ChildrenListDetail.vue'),
+              component: () => import('@/views/demo/feat/breadcrumb/ChildrenListDetail.vue'),
               meta: {
                 currentActiveMenu: '/feat/breadcrumb/children',
                 title: t('routes.demo.feat.breadcrumbChildrenDetail'),
@@ -135,7 +135,7 @@ const feat: AppRouteModule = {
     {
       path: 'context-menu',
       name: 'ContextMenuDemo',
-      component: () => import('/@/views/demo/feat/context-menu/index.vue'),
+      component: () => import('@/views/demo/feat/context-menu/index.vue'),
       meta: {
         title: t('routes.demo.feat.contextMenu'),
       },
@@ -143,7 +143,7 @@ const feat: AppRouteModule = {
     {
       path: 'download',
       name: 'DownLoadDemo',
-      component: () => import('/@/views/demo/feat/download/index.vue'),
+      component: () => import('@/views/demo/feat/download/index.vue'),
       meta: {
         title: t('routes.demo.feat.download'),
       },
@@ -151,7 +151,7 @@ const feat: AppRouteModule = {
     {
       path: 'click-out-side',
       name: 'ClickOutSideDemo',
-      component: () => import('/@/views/demo/feat/click-out-side/index.vue'),
+      component: () => import('@/views/demo/feat/click-out-side/index.vue'),
       meta: {
         title: t('routes.demo.feat.clickOutSide'),
       },
@@ -159,7 +159,7 @@ const feat: AppRouteModule = {
     {
       path: 'img-preview',
       name: 'ImgPreview',
-      component: () => import('/@/views/demo/feat/img-preview/index.vue'),
+      component: () => import('@/views/demo/feat/img-preview/index.vue'),
       meta: {
         title: t('routes.demo.feat.imgPreview'),
       },
@@ -167,7 +167,7 @@ const feat: AppRouteModule = {
     {
       path: 'copy',
       name: 'CopyDemo',
-      component: () => import('/@/views/demo/feat/copy/index.vue'),
+      component: () => import('@/views/demo/feat/copy/index.vue'),
       meta: {
         title: t('routes.demo.feat.copy'),
       },
@@ -175,7 +175,7 @@ const feat: AppRouteModule = {
     {
       path: 'ellipsis',
       name: 'EllipsisDemo',
-      component: () => import('/@/views/demo/feat/ellipsis/index.vue'),
+      component: () => import('@/views/demo/feat/ellipsis/index.vue'),
       meta: {
         title: t('routes.demo.feat.ellipsis'),
       },
@@ -183,7 +183,7 @@ const feat: AppRouteModule = {
     {
       path: 'msg',
       name: 'MsgDemo',
-      component: () => import('/@/views/demo/feat/msg/index.vue'),
+      component: () => import('@/views/demo/feat/msg/index.vue'),
       meta: {
         title: t('routes.demo.feat.msg'),
       },
@@ -191,7 +191,7 @@ const feat: AppRouteModule = {
     {
       path: 'watermark',
       name: 'WatermarkDemo',
-      component: () => import('/@/views/demo/feat/watermark/index.vue'),
+      component: () => import('@/views/demo/feat/watermark/index.vue'),
       meta: {
         title: t('routes.demo.feat.watermark'),
       },
@@ -199,7 +199,7 @@ const feat: AppRouteModule = {
     {
       path: 'ripple',
       name: 'RippleDemo',
-      component: () => import('/@/views/demo/feat/ripple/index.vue'),
+      component: () => import('@/views/demo/feat/ripple/index.vue'),
       meta: {
         title: t('routes.demo.feat.ripple'),
       },
@@ -207,7 +207,7 @@ const feat: AppRouteModule = {
     {
       path: 'full-screen',
       name: 'FullScreenDemo',
-      component: () => import('/@/views/demo/feat/full-screen/index.vue'),
+      component: () => import('@/views/demo/feat/full-screen/index.vue'),
       meta: {
         title: t('routes.demo.feat.fullScreen'),
       },
@@ -215,7 +215,7 @@ const feat: AppRouteModule = {
     {
       path: '/error-log',
       name: 'ErrorLog',
-      component: () => import('/@/views/sys/error-log/index.vue'),
+      component: () => import('@/views/sys/error-log/index.vue'),
       meta: {
         title: t('routes.demo.feat.errorLog'),
       },
@@ -234,7 +234,7 @@ const feat: AppRouteModule = {
         {
           path: 'customExport',
           name: 'CustomExport',
-          component: () => import('/@/views/demo/excel/CustomExport.vue'),
+          component: () => import('@/views/demo/excel/CustomExport.vue'),
           meta: {
             title: t('routes.demo.excel.customExport'),
           },
@@ -242,7 +242,7 @@ const feat: AppRouteModule = {
         {
           path: 'jsonExport',
           name: 'JsonExport',
-          component: () => import('/@/views/demo/excel/JsonExport.vue'),
+          component: () => import('@/views/demo/excel/JsonExport.vue'),
           meta: {
             title: t('routes.demo.excel.jsonExport'),
           },
@@ -250,7 +250,7 @@ const feat: AppRouteModule = {
         {
           path: 'arrayExport',
           name: 'ArrayExport',
-          component: () => import('/@/views/demo/excel/ArrayExport.vue'),
+          component: () => import('@/views/demo/excel/ArrayExport.vue'),
           meta: {
             title: t('routes.demo.excel.arrayExport'),
           },
@@ -258,7 +258,7 @@ const feat: AppRouteModule = {
         {
           path: 'importExcel',
           name: 'ImportExcel',
-          component: () => import('/@/views/demo/excel/ImportExcel.vue'),
+          component: () => import('@/views/demo/excel/ImportExcel.vue'),
           meta: {
             title: t('routes.demo.excel.importExcel'),
           },
@@ -268,7 +268,7 @@ const feat: AppRouteModule = {
     {
       path: 'testTab/:id',
       name: 'TestTab',
-      component: () => import('/@/views/demo/feat/tab-params/index.vue'),
+      component: () => import('@/views/demo/feat/tab-params/index.vue'),
       meta: {
         title: t('routes.demo.feat.tab'),
         carryParam: true,
@@ -278,7 +278,7 @@ const feat: AppRouteModule = {
         {
           path: 'testTab/id1',
           name: 'TestTab1',
-          component: () => import('/@/views/demo/feat/tab-params/index.vue'),
+          component: () => import('@/views/demo/feat/tab-params/index.vue'),
           meta: {
             title: t('routes.demo.feat.tab1'),
             carryParam: true,
@@ -288,7 +288,7 @@ const feat: AppRouteModule = {
         {
           path: 'testTab/id2',
           name: 'TestTab2',
-          component: () => import('/@/views/demo/feat/tab-params/index.vue'),
+          component: () => import('@/views/demo/feat/tab-params/index.vue'),
           meta: {
             title: t('routes.demo.feat.tab2'),
             carryParam: true,
@@ -309,7 +309,7 @@ const feat: AppRouteModule = {
         {
           path: 'sub1',
           name: 'TestParam_1',
-          component: () => import('/@/views/demo/feat/menu-params/index.vue'),
+          component: () => import('@/views/demo/feat/menu-params/index.vue'),
           meta: {
             title: t('routes.demo.feat.menu1'),
             ignoreKeepAlive: true,
@@ -318,7 +318,7 @@ const feat: AppRouteModule = {
         {
           path: 'sub2',
           name: 'TestParam_2',
-          component: () => import('/@/views/demo/feat/menu-params/index.vue'),
+          component: () => import('@/views/demo/feat/menu-params/index.vue'),
           meta: {
             title: t('routes.demo.feat.menu2'),
             ignoreKeepAlive: true,

+ 4 - 4
src/router/routes/modules/demo/flow.ts

@@ -1,7 +1,7 @@
-import type { AppRouteModule } from '/@/router/types';
+import type { AppRouteModule } from '@/router/types';
 
-import { LAYOUT } from '/@/router/constant';
-import { t } from '/@/hooks/web/useI18n';
+import { LAYOUT } from '@/router/constant';
+import { t } from '@/hooks/web/useI18n';
 
 const charts: AppRouteModule = {
   path: '/flow',
@@ -17,7 +17,7 @@ const charts: AppRouteModule = {
     {
       path: 'flowChart',
       name: 'flowChartDemo',
-      component: () => import('/@/views/demo/comp/flow-chart/index.vue'),
+      component: () => import('@/views/demo/comp/flow-chart/index.vue'),
       meta: {
         title: t('routes.demo.flow.flowChart'),
       },

+ 4 - 4
src/router/routes/modules/demo/iframe.ts

@@ -1,9 +1,9 @@
-import type { AppRouteModule } from '/@/router/types';
+import type { AppRouteModule } from '@/router/types';
 
-import { LAYOUT } from '/@/router/constant';
-import { t } from '/@/hooks/web/useI18n';
+import { LAYOUT } from '@/router/constant';
+import { t } from '@/hooks/web/useI18n';
 
-const IFrame = () => import('/@/views/sys/iframe/FrameBlank.vue');
+const IFrame = () => import('@/views/sys/iframe/FrameBlank.vue');
 
 const iframe: AppRouteModule = {
   path: '/frame',

+ 6 - 6
src/router/routes/modules/demo/level.ts

@@ -1,7 +1,7 @@
-import type { AppRouteModule } from '/@/router/types';
+import type { AppRouteModule } from '@/router/types';
 
-import { getParentLayout, LAYOUT } from '/@/router/constant';
-import { t } from '/@/hooks/web/useI18n';
+import { getParentLayout, LAYOUT } from '@/router/constant';
+import { t } from '@/hooks/web/useI18n';
 
 const permission: AppRouteModule = {
   path: '/level',
@@ -36,7 +36,7 @@ const permission: AppRouteModule = {
             {
               path: 'menu1-1-1',
               name: 'Menu111Demo',
-              component: () => import('/@/views/demo/level/Menu111.vue'),
+              component: () => import('@/views/demo/level/Menu111.vue'),
               meta: {
                 title: 'Menu111',
               },
@@ -46,7 +46,7 @@ const permission: AppRouteModule = {
         {
           path: 'menu1-2',
           name: 'Menu12Demo',
-          component: () => import('/@/views/demo/level/Menu12.vue'),
+          component: () => import('@/views/demo/level/Menu12.vue'),
           meta: {
             title: 'Menu1-2',
           },
@@ -56,7 +56,7 @@ const permission: AppRouteModule = {
     {
       path: 'menu2',
       name: 'Menu2Demo',
-      component: () => import('/@/views/demo/level/Menu2.vue'),
+      component: () => import('@/views/demo/level/Menu2.vue'),
       meta: {
         title: 'Menu2',
         // ignoreKeepAlive: true,

+ 17 - 17
src/router/routes/modules/demo/page.ts

@@ -1,10 +1,10 @@
-import type { AppRouteModule } from '/@/router/types';
+import type { AppRouteModule } from '@/router/types';
 
-import { getParentLayout, LAYOUT } from '/@/router/constant';
-import { ExceptionEnum } from '/@/enums/exceptionEnum';
-import { t } from '/@/hooks/web/useI18n';
+import { getParentLayout, LAYOUT } from '@/router/constant';
+import { ExceptionEnum } from '@/enums/exceptionEnum';
+import { t } from '@/hooks/web/useI18n';
 
-const ExceptionPage = () => import('/@/views/sys/exception/Exception.vue');
+const ExceptionPage = () => import('@/views/sys/exception/Exception.vue');
 
 const page: AppRouteModule = {
   path: '/page-demo',
@@ -30,7 +30,7 @@ const page: AppRouteModule = {
         {
           path: 'basic',
           name: 'FormBasicPage',
-          component: () => import('/@/views/demo/page/form/basic/index.vue'),
+          component: () => import('@/views/demo/page/form/basic/index.vue'),
           meta: {
             title: t('routes.demo.page.formBasic'),
           },
@@ -38,7 +38,7 @@ const page: AppRouteModule = {
         {
           path: 'step',
           name: 'FormStepPage',
-          component: () => import('/@/views/demo/page/form/step/index.vue'),
+          component: () => import('@/views/demo/page/form/step/index.vue'),
           meta: {
             title: t('routes.demo.page.formStep'),
           },
@@ -46,7 +46,7 @@ const page: AppRouteModule = {
         {
           path: 'high',
           name: 'FormHightPage',
-          component: () => import('/@/views/demo/page/form/high/index.vue'),
+          component: () => import('@/views/demo/page/form/high/index.vue'),
           meta: {
             title: t('routes.demo.page.formHigh'),
           },
@@ -67,7 +67,7 @@ const page: AppRouteModule = {
         {
           path: 'basic',
           name: 'DescBasicPage',
-          component: () => import('/@/views/demo/page/desc/basic/index.vue'),
+          component: () => import('@/views/demo/page/desc/basic/index.vue'),
           meta: {
             title: t('routes.demo.page.descBasic'),
           },
@@ -75,7 +75,7 @@ const page: AppRouteModule = {
         {
           path: 'high',
           name: 'DescHighPage',
-          component: () => import('/@/views/demo/page/desc/high/index.vue'),
+          component: () => import('@/views/demo/page/desc/high/index.vue'),
           meta: {
             title: t('routes.demo.page.descHigh'),
           },
@@ -98,7 +98,7 @@ const page: AppRouteModule = {
         {
           path: 'success',
           name: 'ResultSuccessPage',
-          component: () => import('/@/views/demo/page/result/success/index.vue'),
+          component: () => import('@/views/demo/page/result/success/index.vue'),
           meta: {
             title: t('routes.demo.page.resultSuccess'),
           },
@@ -106,7 +106,7 @@ const page: AppRouteModule = {
         {
           path: 'fail',
           name: 'ResultFailPage',
-          component: () => import('/@/views/demo/page/result/fail/index.vue'),
+          component: () => import('@/views/demo/page/result/fail/index.vue'),
           meta: {
             title: t('routes.demo.page.resultFail'),
           },
@@ -128,7 +128,7 @@ const page: AppRouteModule = {
         {
           path: 'center',
           name: 'AccountCenterPage',
-          component: () => import('/@/views/demo/page/account/center/index.vue'),
+          component: () => import('@/views/demo/page/account/center/index.vue'),
           meta: {
             title: t('routes.demo.page.accountCenter'),
           },
@@ -136,7 +136,7 @@ const page: AppRouteModule = {
         {
           path: 'setting',
           name: 'AccountSettingPage',
-          component: () => import('/@/views/demo/page/account/setting/index.vue'),
+          component: () => import('@/views/demo/page/account/setting/index.vue'),
           meta: {
             title: t('routes.demo.page.accountSetting'),
           },
@@ -225,7 +225,7 @@ const page: AppRouteModule = {
         {
           path: 'basic',
           name: 'ListBasicPage',
-          component: () => import('/@/views/demo/page/list/basic/index.vue'),
+          component: () => import('@/views/demo/page/list/basic/index.vue'),
           meta: {
             title: t('routes.demo.page.listBasic'),
           },
@@ -233,7 +233,7 @@ const page: AppRouteModule = {
         {
           path: 'card',
           name: 'ListCardPage',
-          component: () => import('/@/views/demo/page/list/card/index.vue'),
+          component: () => import('@/views/demo/page/list/card/index.vue'),
           meta: {
             title: t('routes.demo.page.listCard'),
           },
@@ -241,7 +241,7 @@ const page: AppRouteModule = {
         {
           path: 'search',
           name: 'ListSearchPage',
-          component: () => import('/@/views/demo/page/list/search/index.vue'),
+          component: () => import('@/views/demo/page/list/search/index.vue'),
           meta: {
             title: t('routes.demo.page.listSearch'),
           },

+ 10 - 10
src/router/routes/modules/demo/permission.ts

@@ -1,8 +1,8 @@
-import type { AppRouteModule } from '/@/router/types';
+import type { AppRouteModule } from '@/router/types';
 
-import { getParentLayout, LAYOUT } from '/@/router/constant';
-import { RoleEnum } from '/@/enums/roleEnum';
-import { t } from '/@/hooks/web/useI18n';
+import { getParentLayout, LAYOUT } from '@/router/constant';
+import { RoleEnum } from '@/enums/roleEnum';
+import { t } from '@/hooks/web/useI18n';
 
 const permission: AppRouteModule = {
   path: '/permission',
@@ -27,7 +27,7 @@ const permission: AppRouteModule = {
         {
           path: 'page',
           name: 'FrontPageAuth',
-          component: () => import('/@/views/demo/permission/front/index.vue'),
+          component: () => import('@/views/demo/permission/front/index.vue'),
           meta: {
             title: t('routes.demo.permission.frontPage'),
           },
@@ -35,7 +35,7 @@ const permission: AppRouteModule = {
         {
           path: 'btn',
           name: 'FrontBtnAuth',
-          component: () => import('/@/views/demo/permission/front/Btn.vue'),
+          component: () => import('@/views/demo/permission/front/Btn.vue'),
           meta: {
             title: t('routes.demo.permission.frontBtn'),
           },
@@ -43,7 +43,7 @@ const permission: AppRouteModule = {
         {
           path: 'auth-pageA',
           name: 'FrontAuthPageA',
-          component: () => import('/@/views/demo/permission/front/AuthPageA.vue'),
+          component: () => import('@/views/demo/permission/front/AuthPageA.vue'),
           meta: {
             title: t('routes.demo.permission.frontTestA'),
             roles: [RoleEnum.SUPER],
@@ -52,7 +52,7 @@ const permission: AppRouteModule = {
         {
           path: 'auth-pageB',
           name: 'FrontAuthPageB',
-          component: () => import('/@/views/demo/permission/front/AuthPageB.vue'),
+          component: () => import('@/views/demo/permission/front/AuthPageB.vue'),
           meta: {
             title: t('routes.demo.permission.frontTestB'),
             roles: [RoleEnum.TEST],
@@ -71,7 +71,7 @@ const permission: AppRouteModule = {
         {
           path: 'page',
           name: 'BackAuthPage',
-          component: () => import('/@/views/demo/permission/back/index.vue'),
+          component: () => import('@/views/demo/permission/back/index.vue'),
           meta: {
             title: t('routes.demo.permission.backPage'),
           },
@@ -79,7 +79,7 @@ const permission: AppRouteModule = {
         {
           path: 'btn',
           name: 'BackAuthBtn',
-          component: () => import('/@/views/demo/permission/back/Btn.vue'),
+          component: () => import('@/views/demo/permission/back/Btn.vue'),
           meta: {
             title: t('routes.demo.permission.backBtn'),
           },

+ 4 - 4
src/router/routes/modules/demo/setup.ts

@@ -1,7 +1,7 @@
-import type { AppRouteModule } from '/@/router/types';
+import type { AppRouteModule } from '@/router/types';
 
-import { LAYOUT } from '/@/router/constant';
-import { t } from '/@/hooks/web/useI18n';
+import { LAYOUT } from '@/router/constant';
+import { t } from '@/hooks/web/useI18n';
 
 const setup: AppRouteModule = {
   path: '/setup',
@@ -18,7 +18,7 @@ const setup: AppRouteModule = {
     {
       path: 'index',
       name: 'SetupDemoPage',
-      component: () => import('/@/views/demo/setup/index.vue'),
+      component: () => import('@/views/demo/setup/index.vue'),
       meta: {
         title: t('routes.demo.setup.page'),
         icon: 'whh:paintroll',

+ 10 - 10
src/router/routes/modules/demo/system.ts

@@ -1,7 +1,7 @@
-import type { AppRouteModule } from '/@/router/types';
+import type { AppRouteModule } from '@/router/types';
 
-import { LAYOUT } from '/@/router/constant';
-import { t } from '/@/hooks/web/useI18n';
+import { LAYOUT } from '@/router/constant';
+import { t } from '@/hooks/web/useI18n';
 
 const system: AppRouteModule = {
   path: '/system',
@@ -21,7 +21,7 @@ const system: AppRouteModule = {
         title: t('routes.demo.system.account'),
         ignoreKeepAlive: false,
       },
-      component: () => import('/@/views/demo/system/account/index.vue'),
+      component: () => import('@/views/demo/system/account/index.vue'),
     },
     {
       path: 'vxeTableAccount',
@@ -30,7 +30,7 @@ const system: AppRouteModule = {
         title: t('routes.demo.system.vxeTableAccount'),
         ignoreKeepAlive: false,
       },
-      component: () => import('/@/views/demo/system/vxe-account/index.vue'),
+      component: () => import('@/views/demo/system/vxe-account/index.vue'),
     },
     {
       path: 'account_detail/:id',
@@ -42,7 +42,7 @@ const system: AppRouteModule = {
         showMenu: false,
         currentActiveMenu: '/system/account',
       },
-      component: () => import('/@/views/demo/system/account/AccountDetail.vue'),
+      component: () => import('@/views/demo/system/account/AccountDetail.vue'),
     },
     {
       path: 'role',
@@ -51,7 +51,7 @@ const system: AppRouteModule = {
         title: t('routes.demo.system.role'),
         ignoreKeepAlive: true,
       },
-      component: () => import('/@/views/demo/system/role/index.vue'),
+      component: () => import('@/views/demo/system/role/index.vue'),
     },
 
     {
@@ -61,7 +61,7 @@ const system: AppRouteModule = {
         title: t('routes.demo.system.menu'),
         ignoreKeepAlive: true,
       },
-      component: () => import('/@/views/demo/system/menu/index.vue'),
+      component: () => import('@/views/demo/system/menu/index.vue'),
     },
     {
       path: 'dept',
@@ -70,7 +70,7 @@ const system: AppRouteModule = {
         title: t('routes.demo.system.dept'),
         ignoreKeepAlive: true,
       },
-      component: () => import('/@/views/demo/system/dept/index.vue'),
+      component: () => import('@/views/demo/system/dept/index.vue'),
     },
     {
       path: 'changePassword',
@@ -79,7 +79,7 @@ const system: AppRouteModule = {
         title: t('routes.demo.system.password'),
         ignoreKeepAlive: true,
       },
-      component: () => import('/@/views/demo/system/password/index.vue'),
+      component: () => import('@/views/demo/system/password/index.vue'),
     },
   ],
 };

+ 4 - 4
src/router/routes/modules/form-design/main.ts

@@ -1,6 +1,6 @@
-import type { AppRouteModule } from '/@/router/types';
+import type { AppRouteModule } from '@/router/types';
 
-import { LAYOUT } from '/@/router/constant';
+import { LAYOUT } from '@/router/constant';
 
 const permission: AppRouteModule = {
   path: '/form-designer',
@@ -18,7 +18,7 @@ const permission: AppRouteModule = {
       meta: {
         title: '表单设计',
       },
-      component: () => import('/@/views/form-design/index.vue'),
+      component: () => import('@/views/form-design/index.vue'),
     },
     {
       path: 'example1',
@@ -26,7 +26,7 @@ const permission: AppRouteModule = {
       meta: {
         title: '示例',
       },
-      component: () => import('/@/views/form-design/examples/baseForm.vue'),
+      component: () => import('@/views/form-design/examples/baseForm.vue'),
     },
   ],
 };

+ 1 - 1
src/router/types.ts

@@ -1,5 +1,5 @@
 import type { RouteRecordRaw, RouteMeta } from 'vue-router';
-import { RoleEnum } from '/@/enums/roleEnum';
+import { RoleEnum } from '@/enums/roleEnum';
 import { defineComponent } from 'vue';
 
 export type Component<T = any> =

+ 1 - 1
src/settings/encryptionSetting.ts

@@ -1,4 +1,4 @@
-import { isDevMode } from '/@/utils/env';
+import { isDevMode } from '@/utils/env';
 
 // System default cache time, in seconds
 export const DEFAULT_CACHE_TIME = 60 * 60 * 24 * 7;

+ 1 - 1
src/settings/localeSetting.ts

@@ -1,5 +1,5 @@
 import type { DropMenu } from '../components/Dropdown';
-import type { LocaleSetting, LocaleType } from '/#/config';
+import type { LocaleSetting, LocaleType } from '#/config';
 
 export const LOCALE: { [key: string]: LocaleType } = {
   ZH_CN: 'zh_CN',

+ 4 - 4
src/settings/projectSetting.ts

@@ -1,6 +1,6 @@
-import type { ProjectConfig } from '/#/config';
-import { MenuTypeEnum, MenuModeEnum, TriggerEnum, MixSidebarTriggerEnum } from '/@/enums/menuEnum';
-import { CacheTypeEnum } from '/@/enums/cacheEnum';
+import type { ProjectConfig } from '#/config';
+import { MenuTypeEnum, MenuModeEnum, TriggerEnum, MixSidebarTriggerEnum } from '@/enums/menuEnum';
+import { CacheTypeEnum } from '@/enums/cacheEnum';
 import {
   ContentEnum,
   PermissionModeEnum,
@@ -8,7 +8,7 @@ import {
   RouterTransitionEnum,
   SettingButtonPositionEnum,
   SessionTimeoutProcessingEnum,
-} from '/@/enums/appEnum';
+} from '@/enums/appEnum';
 import {
   SIDE_BAR_BG_COLOR_LIST,
   HEADER_PRESET_BG_COLOR_LIST,

+ 9 - 9
src/store/modules/app.ts

@@ -4,18 +4,18 @@ import type {
   MenuSetting,
   TransitionSetting,
   MultiTabsSetting,
-} from '/#/config';
-import type { BeforeMiniState, ApiAddress } from '/#/store';
+} from '#/config';
+import type { BeforeMiniState, ApiAddress } from '#/store';
 
 import { defineStore } from 'pinia';
-import { store } from '/@/store';
+import { store } from '@/store';
 
-import { ThemeEnum } from '/@/enums/appEnum';
-import { APP_DARK_MODE_KEY, PROJ_CFG_KEY, API_ADDRESS } from '/@/enums/cacheEnum';
-import { Persistent } from '/@/utils/cache/persistent';
-import { darkMode } from '/@/settings/designSetting';
-import { resetRouter } from '/@/router';
-import { deepMerge } from '/@/utils';
+import { ThemeEnum } from '@/enums/appEnum';
+import { APP_DARK_MODE_KEY, PROJ_CFG_KEY, API_ADDRESS } from '@/enums/cacheEnum';
+import { Persistent } from '@/utils/cache/persistent';
+import { darkMode } from '@/settings/designSetting';
+import { resetRouter } from '@/router';
+import { deepMerge } from '@/utils';
 
 interface AppState {
   darkMode?: ThemeEnum;

+ 5 - 5
src/store/modules/errorLog.ts

@@ -1,12 +1,12 @@
-import type { ErrorLogInfo } from '/#/store';
+import type { ErrorLogInfo } from '#/store';
 
 import { defineStore } from 'pinia';
-import { store } from '/@/store';
+import { store } from '@/store';
 
-import { formatToDateTime } from '/@/utils/dateUtil';
-import projectSetting from '/@/settings/projectSetting';
+import { formatToDateTime } from '@/utils/dateUtil';
+import projectSetting from '@/settings/projectSetting';
 
-import { ErrorTypeEnum } from '/@/enums/exceptionEnum';
+import { ErrorTypeEnum } from '@/enums/exceptionEnum';
 
 export interface ErrorLogState {
   errorLogInfoList: Nullable<ErrorLogInfo[]>;

+ 5 - 5
src/store/modules/locale.ts

@@ -1,11 +1,11 @@
-import type { LocaleSetting, LocaleType } from '/#/config';
+import type { LocaleSetting, LocaleType } from '#/config';
 
 import { defineStore } from 'pinia';
-import { store } from '/@/store';
+import { store } from '@/store';
 
-import { LOCALE_KEY } from '/@/enums/cacheEnum';
-import { createLocalStorage } from '/@/utils/cache';
-import { localeSetting } from '/@/settings/localeSetting';
+import { LOCALE_KEY } from '@/enums/cacheEnum';
+import { createLocalStorage } from '@/utils/cache';
+import { localeSetting } from '@/settings/localeSetting';
 
 const ls = createLocalStorage();
 

+ 3 - 3
src/store/modules/lock.ts

@@ -1,9 +1,9 @@
-import type { LockInfo } from '/#/store';
+import type { LockInfo } from '#/store';
 
 import { defineStore } from 'pinia';
 
-import { LOCK_INFO_KEY } from '/@/enums/cacheEnum';
-import { Persistent } from '/@/utils/cache/persistent';
+import { LOCK_INFO_KEY } from '@/enums/cacheEnum';
+import { Persistent } from '@/utils/cache/persistent';
 import { useUserStore } from './user';
 
 interface LockState {

+ 9 - 9
src/store/modules/multipleTab.ts

@@ -2,18 +2,18 @@ import type { RouteLocationNormalized, RouteLocationRaw, Router } from 'vue-rout
 
 import { toRaw, unref } from 'vue';
 import { defineStore } from 'pinia';
-import { store } from '/@/store';
+import { store } from '@/store';
 
-import { useGo, useRedo } from '/@/hooks/web/usePage';
-import { Persistent } from '/@/utils/cache/persistent';
+import { useGo, useRedo } from '@/hooks/web/usePage';
+import { Persistent } from '@/utils/cache/persistent';
 
-import { PageEnum } from '/@/enums/pageEnum';
-import { PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE } from '/@/router/routes/basic';
-import { getRawRoute } from '/@/utils';
-import { MULTIPLE_TABS_KEY } from '/@/enums/cacheEnum';
+import { PageEnum } from '@/enums/pageEnum';
+import { PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE } from '@/router/routes/basic';
+import { getRawRoute } from '@/utils';
+import { MULTIPLE_TABS_KEY } from '@/enums/cacheEnum';
 
-import projectSetting from '/@/settings/projectSetting';
-import { useUserStore } from '/@/store/modules/user';
+import projectSetting from '@/settings/projectSetting';
+import { useUserStore } from '@/store/modules/user';
 
 export interface MultipleTabState {
   cacheTabList: Set<string>;

+ 14 - 14
src/store/modules/permission.ts

@@ -1,28 +1,28 @@
-import type { AppRouteRecordRaw, Menu } from '/@/router/types';
+import type { AppRouteRecordRaw, Menu } from '@/router/types';
 
 import { defineStore } from 'pinia';
-import { store } from '/@/store';
-import { useI18n } from '/@/hooks/web/useI18n';
+import { store } from '@/store';
+import { useI18n } from '@/hooks/web/useI18n';
 import { useUserStore } from './user';
 import { useAppStoreWithOut } from './app';
 import { toRaw } from 'vue';
-import { transformObjToRoute, flatMultiLevelRoutes } from '/@/router/helper/routeHelper';
-import { transformRouteToMenu } from '/@/router/helper/menuHelper';
+import { transformObjToRoute, flatMultiLevelRoutes } from '@/router/helper/routeHelper';
+import { transformRouteToMenu } from '@/router/helper/menuHelper';
 
-import projectSetting from '/@/settings/projectSetting';
+import projectSetting from '@/settings/projectSetting';
 
-import { PermissionModeEnum } from '/@/enums/appEnum';
+import { PermissionModeEnum } from '@/enums/appEnum';
 
-import { asyncRoutes } from '/@/router/routes';
-import { ERROR_LOG_ROUTE, PAGE_NOT_FOUND_ROUTE } from '/@/router/routes/basic';
+import { asyncRoutes } from '@/router/routes';
+import { ERROR_LOG_ROUTE, PAGE_NOT_FOUND_ROUTE } from '@/router/routes/basic';
 
-import { filter } from '/@/utils/helper/treeHelper';
+import { filter } from '@/utils/helper/treeHelper';
 
-import { getMenuList } from '/@/api/sys/menu';
-import { getPermCode } from '/@/api/sys/user';
+import { getMenuList } from '@/api/sys/menu';
+import { getPermCode } from '@/api/sys/user';
 
-import { useMessage } from '/@/hooks/web/useMessage';
-import { PageEnum } from '/@/enums/pageEnum';
+import { useMessage } from '@/hooks/web/useMessage';
+import { PageEnum } from '@/enums/pageEnum';
 
 interface PermissionState {
   // Permission code list

+ 15 - 15
src/store/modules/user.ts

@@ -1,20 +1,20 @@
-import type { UserInfo } from '/#/store';
-import type { ErrorMessageMode } from '/#/axios';
+import type { UserInfo } from '#/store';
+import type { ErrorMessageMode } from '#/axios';
 import { defineStore } from 'pinia';
-import { store } from '/@/store';
-import { RoleEnum } from '/@/enums/roleEnum';
-import { PageEnum } from '/@/enums/pageEnum';
-import { ROLES_KEY, TOKEN_KEY, USER_INFO_KEY } from '/@/enums/cacheEnum';
-import { getAuthCache, setAuthCache } from '/@/utils/auth';
-import { GetUserInfoModel, LoginParams } from '/@/api/sys/model/userModel';
-import { doLogout, getUserInfo, loginApi } from '/@/api/sys/user';
-import { useI18n } from '/@/hooks/web/useI18n';
-import { useMessage } from '/@/hooks/web/useMessage';
-import { router } from '/@/router';
-import { usePermissionStore } from '/@/store/modules/permission';
+import { store } from '@/store';
+import { RoleEnum } from '@/enums/roleEnum';
+import { PageEnum } from '@/enums/pageEnum';
+import { ROLES_KEY, TOKEN_KEY, USER_INFO_KEY } from '@/enums/cacheEnum';
+import { getAuthCache, setAuthCache } from '@/utils/auth';
+import { GetUserInfoModel, LoginParams } from '@/api/sys/model/userModel';
+import { doLogout, getUserInfo, loginApi } from '@/api/sys/user';
+import { useI18n } from '@/hooks/web/useI18n';
+import { useMessage } from '@/hooks/web/useMessage';
+import { router } from '@/router';
+import { usePermissionStore } from '@/store/modules/permission';
 import { RouteRecordRaw } from 'vue-router';
-import { PAGE_NOT_FOUND_ROUTE } from '/@/router/routes/basic';
-import { isArray } from '/@/utils/is';
+import { PAGE_NOT_FOUND_ROUTE } from '@/router/routes/basic';
+import { isArray } from '@/utils/is';
 import { h } from 'vue';
 
 interface UserState {

+ 3 - 3
src/utils/auth/index.ts

@@ -1,6 +1,6 @@
-import { Persistent, BasicKeys } from '/@/utils/cache/persistent';
-import { CacheTypeEnum, TOKEN_KEY } from '/@/enums/cacheEnum';
-import projectSetting from '/@/settings/projectSetting';
+import { Persistent, BasicKeys } from '@/utils/cache/persistent';
+import { CacheTypeEnum, TOKEN_KEY } from '@/enums/cacheEnum';
+import projectSetting from '@/settings/projectSetting';
 
 const { permissionCacheType } = projectSetting;
 const isLocal = permissionCacheType === CacheTypeEnum.LOCAL;

+ 1 - 1
src/utils/bem.ts

@@ -1,4 +1,4 @@
-import { prefixCls } from '/@/settings/designSetting';
+import { prefixCls } from '@/settings/designSetting';
 
 type Mod = string | { [key: string]: any };
 type Mods = Mod | Mod[];

+ 2 - 5
src/utils/cache/index.ts

@@ -1,9 +1,6 @@
-import { getStorageShortName } from '/@/utils/env';
+import { getStorageShortName } from '@/utils/env';
 import { createStorage as create, CreateStorageParams } from './storageCache';
-import {
-  SHOULD_ENABLE_STORAGE_ENCRYPTION,
-  DEFAULT_CACHE_TIME,
-} from '/@/settings/encryptionSetting';
+import { SHOULD_ENABLE_STORAGE_ENCRYPTION, DEFAULT_CACHE_TIME } from '@/settings/encryptionSetting';
 
 export type Options = Partial<CreateStorageParams>;
 

+ 5 - 5
src/utils/cache/persistent.ts

@@ -1,8 +1,8 @@
-import type { LockInfo, UserInfo } from '/#/store';
-import type { ProjectConfig } from '/#/config';
+import type { LockInfo, UserInfo } from '#/store';
+import type { ProjectConfig } from '#/config';
 import type { RouteLocationNormalized } from 'vue-router';
 
-import { createLocalStorage, createSessionStorage } from '/@/utils/cache';
+import { createLocalStorage, createSessionStorage } from '@/utils/cache';
 import { Memory } from './memory';
 import {
   TOKEN_KEY,
@@ -13,8 +13,8 @@ import {
   APP_LOCAL_CACHE_KEY,
   APP_SESSION_CACHE_KEY,
   MULTIPLE_TABS_KEY,
-} from '/@/enums/cacheEnum';
-import { DEFAULT_CACHE_TIME } from '/@/settings/encryptionSetting';
+} from '@/enums/cacheEnum';
+import { DEFAULT_CACHE_TIME } from '@/settings/encryptionSetting';
 import { toRaw } from 'vue';
 import { pick, omit } from 'lodash-es';
 

+ 2 - 2
src/utils/cache/storageCache.ts

@@ -1,5 +1,5 @@
-import { cacheCipher } from '/@/settings/encryptionSetting';
-import { isNil } from '/@/utils/is';
+import { cacheCipher } from '@/settings/encryptionSetting';
+import { isNil } from '@/utils/is';
 import { Encryption, EncryptionFactory, EncryptionParams } from '@/utils/cipher';
 
 export interface CreateStorageParams extends EncryptionParams {

+ 2 - 2
src/utils/env.ts

@@ -1,6 +1,6 @@
-import type { GlobEnvConfig } from '/#/config';
+import type { GlobEnvConfig } from '#/config';
 import pkg from '../../package.json';
-import { API_ADDRESS } from '/@/enums/cacheEnum';
+import { API_ADDRESS } from '@/enums/cacheEnum';
 
 export function getCommonStoragePrefix() {
   const { VITE_GLOB_APP_TITLE } = getAppEnvConfig();

+ 1 - 1
src/utils/factory/createAsyncComponent.tsx

@@ -6,7 +6,7 @@ import {
   // FunctionalComponent, CSSProperties
 } from 'vue';
 import { Spin } from 'ant-design-vue';
-import { noop } from '/@/utils';
+import { noop } from '@/utils';
 
 // const Loading: FunctionalComponent<{ size: 'small' | 'default' | 'large' }> = (props) => {
 //   const style: CSSProperties = {

+ 2 - 2
src/utils/helper/tsxHelper.tsx

@@ -1,6 +1,6 @@
 import { Slots } from 'vue';
-import { isFunction } from '/@/utils/is';
-import { RenderOpts } from '/@/components/Form';
+import { isFunction } from '@/utils/is';
+import { RenderOpts } from '@/components/Form';
 
 /**
  * @description:  Get slot to prevent empty error

+ 3 - 3
src/utils/http/axios/Axios.ts

@@ -5,14 +5,14 @@ import type {
   AxiosError,
   InternalAxiosRequestConfig,
 } from 'axios';
-import type { RequestOptions, Result, UploadFileParams } from '/#/axios';
+import type { RequestOptions, Result, UploadFileParams } from '#/axios';
 import type { CreateAxiosOptions } from './axiosTransform';
 import axios from 'axios';
 import qs from 'qs';
 import { AxiosCanceler } from './axiosCancel';
-import { isFunction } from '/@/utils/is';
+import { isFunction } from '@/utils/is';
 import { cloneDeep } from 'lodash-es';
-import { ContentTypeEnum, RequestEnum } from '/@/enums/httpEnum';
+import { ContentTypeEnum, RequestEnum } from '@/enums/httpEnum';
 
 export * from './axiosTransform';
 

+ 1 - 1
src/utils/http/axios/axiosTransform.ts

@@ -7,7 +7,7 @@ import type {
   AxiosResponse,
   InternalAxiosRequestConfig,
 } from 'axios';
-import type { RequestOptions, Result } from '/#/axios';
+import type { RequestOptions, Result } from '#/axios';
 
 export interface CreateAxiosOptions extends AxiosRequestConfig {
   authenticationScheme?: string;

+ 8 - 8
src/utils/http/axios/checkStatus.ts

@@ -1,11 +1,11 @@
-import type { ErrorMessageMode } from '/#/axios';
-import { useMessage } from '/@/hooks/web/useMessage';
-import { useI18n } from '/@/hooks/web/useI18n';
-// import router from '/@/router';
-// import { PageEnum } from '/@/enums/pageEnum';
-import { useUserStoreWithOut } from '/@/store/modules/user';
-import projectSetting from '/@/settings/projectSetting';
-import { SessionTimeoutProcessingEnum } from '/@/enums/appEnum';
+import type { ErrorMessageMode } from '#/axios';
+import { useMessage } from '@/hooks/web/useMessage';
+import { useI18n } from '@/hooks/web/useI18n';
+// import router from '@/router';
+// import { PageEnum } from '@/enums/pageEnum';
+import { useUserStoreWithOut } from '@/store/modules/user';
+import projectSetting from '@/settings/projectSetting';
+import { SessionTimeoutProcessingEnum } from '@/enums/appEnum';
 
 const { createMessage, createErrorModal } = useMessage();
 const error = createMessage.error!;

+ 1 - 1
src/utils/http/axios/helper.ts

@@ -1,4 +1,4 @@
-import { isObject, isString } from '/@/utils/is';
+import { isObject, isString } from '@/utils/is';
 
 const DATE_TIME_FORMAT = 'YYYY-MM-DD HH:mm:ss';
 

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini