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

* refactor: /@/ ==> @/

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

* fix: lint:prettier
This commit is contained in:
xingyu
2023-11-24 10:32:04 +08:00
committed by GitHub
parent 3f65baf503
commit 4d2fb0cb6f
127 changed files with 807 additions and 827 deletions

View File

@@ -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"

View File

@@ -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: /@\//,

View File

@@ -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 {

View File

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

View File

@@ -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',

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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',

View File

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

View File

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

View File

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

View File

@@ -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();

View File

@@ -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',

View File

@@ -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';

View File

@@ -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;

View File

@@ -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';

View File

@@ -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';

View File

@@ -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' });

View File

@@ -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';

View File

@@ -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;

View File

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

View File

@@ -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();

View File

@@ -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 = {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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',

View File

@@ -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;

View File

@@ -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';

View File

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

View File

@@ -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"
}
}

View File

@@ -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"
}
}
}

View File

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

View File

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

View File

@@ -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": "SorryYour 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"
}
}
}

View File

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

View File

@@ -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": "验证通过"
}
}
}

View File

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

View File

@@ -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": "手机号码"
}
}
}

View File

@@ -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 });

View File

@@ -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;

View File

@@ -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';

View File

@@ -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

View File

@@ -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() {

View File

@@ -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();

View File

@@ -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;

View File

@@ -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';

View File

@@ -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

View File

@@ -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

View File

@@ -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();

View File

@@ -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;

View File

@@ -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) => {

View File

@@ -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';

View File

@@ -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')>>();

View File

@@ -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 });

View File

@@ -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,

View File

@@ -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'),
},

View File

@@ -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,

View File

@@ -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',

View File

@@ -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'),
},

View File

@@ -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'),
},

View File

@@ -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'),
},

View File

@@ -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,

View File

@@ -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'),
},

View File

@@ -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',

View File

@@ -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,

View File

@@ -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'),
},

View File

@@ -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'),
},

View File

@@ -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',

View File

@@ -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'),
},
],
};

View File

@@ -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'),
},
],
};

View File

@@ -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> =

View File

@@ -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;

View File

@@ -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',

View File

@@ -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,

View File

@@ -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;

View File

@@ -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[]>;

View File

@@ -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();

View File

@@ -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 {

View File

@@ -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>;

View File

@@ -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

View File

@@ -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 {

View File

@@ -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;

View File

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

View File

@@ -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>;

View File

@@ -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';

View File

@@ -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 {

View File

@@ -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();

View File

@@ -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 = {

View File

@@ -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

View File

@@ -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';

View File

@@ -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;

View File

@@ -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!;

View File

@@ -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';

Some files were not shown because too many files have changed in this diff Show More