diff --git a/apps/web-antd/src/components/cropper/index.ts b/apps/web-antd/src/components/cropper/index.ts
index b74a1272..6afad017 100644
--- a/apps/web-antd/src/components/cropper/index.ts
+++ b/apps/web-antd/src/components/cropper/index.ts
@@ -1,4 +1,3 @@
-export { default as CropperImage } from './src/cropper.vue';
-
export { default as CropperAvatar } from './src/cropper-avatar.vue';
+export { default as CropperImage } from './src/cropper.vue';
export type { Cropper } from './src/typing';
diff --git a/apps/web-antd/src/components/cropper/src/cropper-avatar.vue b/apps/web-antd/src/components/cropper/src/cropper-avatar.vue
index 5e17d2f2..a29aab2e 100644
--- a/apps/web-antd/src/components/cropper/src/cropper-avatar.vue
+++ b/apps/web-antd/src/components/cropper/src/cropper-avatar.vue
@@ -1,18 +1,14 @@
@@ -207,7 +209,7 @@ onMounted(async () => {
@check="handleChecked"
>
diff --git a/apps/web-antd/src/components/upload/src/image-upload.vue b/apps/web-antd/src/components/upload/src/image-upload.vue
index a000e05b..f0c0242f 100644
--- a/apps/web-antd/src/components/upload/src/image-upload.vue
+++ b/apps/web-antd/src/components/upload/src/image-upload.vue
@@ -2,13 +2,16 @@
import type { UploadFile, UploadProps } from 'ant-design-vue';
import type { UploadRequestOption } from 'ant-design-vue/lib/vc-upload/interface';
-import { uploadApi } from '#/api';
-import { ossInfo } from '#/api/system/oss';
-import { PlusOutlined } from '@ant-design/icons-vue';
+import { ref, toRefs, watch } from 'vue';
+
import { $t } from '@vben/locales';
+
+import { PlusOutlined } from '@ant-design/icons-vue';
import { message, Modal, Upload } from 'ant-design-vue';
import { isArray, isFunction, isObject, isString, uniqueId } from 'lodash-es';
-import { ref, toRefs, watch } from 'vue';
+
+import { uploadApi } from '#/api';
+import { ossInfo } from '#/api/system/oss';
import { checkImageFileType, defaultImageAccept } from './helper';
import { UploadResultStatus } from './typing';
diff --git a/apps/web-antd/src/components/upload/src/typing.ts b/apps/web-antd/src/components/upload/src/typing.ts
index 8f87fe28..8d728b6c 100644
--- a/apps/web-antd/src/components/upload/src/typing.ts
+++ b/apps/web-antd/src/components/upload/src/typing.ts
@@ -15,7 +15,7 @@ export interface FileItem {
percent: number;
file: File;
status?: UploadResultStatus;
- response?: { fileName: string; ossId: string; url: string } | Recordable;
+ response?: Recordable | { fileName: string; ossId: string; url: string };
uuid: string;
}
diff --git a/apps/web-antd/src/components/upload/src/use-upload.ts b/apps/web-antd/src/components/upload/src/use-upload.ts
index b8710f14..4ae552f3 100644
--- a/apps/web-antd/src/components/upload/src/use-upload.ts
+++ b/apps/web-antd/src/components/upload/src/use-upload.ts
@@ -1,6 +1,7 @@
-import { computed, unref } from 'vue';
import type { Ref } from 'vue';
+import { computed, unref } from 'vue';
+
import { $t } from '@vben/locales';
export function useUploadType({
diff --git a/apps/web-antd/src/locales/index.ts b/apps/web-antd/src/locales/index.ts
index ddb3022f..5c0d6500 100644
--- a/apps/web-antd/src/locales/index.ts
+++ b/apps/web-antd/src/locales/index.ts
@@ -1,17 +1,21 @@
-import type { LocaleSetupOptions, SupportedLanguagesType } from '@vben/locales';
import type { Locale } from 'ant-design-vue/es/locale';
+
import type { App } from 'vue';
+import type { LocaleSetupOptions, SupportedLanguagesType } from '@vben/locales';
+
+import { ref } from 'vue';
+
import {
$t,
setupI18n as coreSetup,
loadLocalesMapFromDir,
} from '@vben/locales';
import { preferences } from '@vben/preferences';
+
import antdEnLocale from 'ant-design-vue/es/locale/en_US';
import antdDefaultLocale from 'ant-design-vue/es/locale/zh_CN';
import dayjs from 'dayjs';
-import { ref } from 'vue';
const antdLocale = ref(antdDefaultLocale);
@@ -28,7 +32,8 @@ const localesMap = loadLocalesMapFromDir(
*/
async function loadMessages(lang: SupportedLanguagesType) {
const [appLocaleMessages] = await Promise.all([
- localesMap[lang](),
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ localesMap[lang]!(),
loadThirdPartyMessage(lang),
]);
return appLocaleMessages.default;
diff --git a/apps/web-antd/src/router/access.ts b/apps/web-antd/src/router/access.ts
index 42769f51..5283f2ab 100644
--- a/apps/web-antd/src/router/access.ts
+++ b/apps/web-antd/src/router/access.ts
@@ -4,13 +4,15 @@ import type {
RouteRecordStringComponent,
} from '@vben/types';
+import type { Menu } from '#/api';
+
import { generateAccessible } from '@vben/access';
import { preferences } from '@vben/preferences';
import { message } from 'ant-design-vue';
import { cloneDeep } from 'lodash-es';
-import { getAllMenusApi, type Menu } from '#/api';
+import { getAllMenusApi } from '#/api';
import { BasicLayout, IFrameView } from '#/layouts';
import { $t } from '#/locales';
diff --git a/apps/web-antd/src/store/tenant.ts b/apps/web-antd/src/store/tenant.ts
index 34ab7547..2fb26154 100644
--- a/apps/web-antd/src/store/tenant.ts
+++ b/apps/web-antd/src/store/tenant.ts
@@ -1,11 +1,10 @@
+import type { TenantOption } from '#/api/core/auth';
+
import { ref } from 'vue';
import { defineStore } from 'pinia';
-import {
- tenantList as tenantListApi,
- type TenantOption,
-} from '#/api/core/auth';
+import { tenantList as tenantListApi } from '#/api/core/auth';
/**
* 用于超级管理员切换租户
diff --git a/apps/web-antd/src/utils/modal.tsx b/apps/web-antd/src/utils/modal.tsx
index 44730931..a3c3b41e 100644
--- a/apps/web-antd/src/utils/modal.tsx
+++ b/apps/web-antd/src/utils/modal.tsx
@@ -1,8 +1,9 @@
+import type { ModalFuncProps } from 'ant-design-vue';
import type { Rule } from 'ant-design-vue/es/form';
import { reactive } from 'vue';
-import { Alert, Form, Input, Modal, type ModalFuncProps } from 'ant-design-vue';
+import { Alert, Form, Input, Modal } from 'ant-design-vue';
import { isFunction } from 'lodash-es';
export interface ConfirmModalProps extends Omit {
diff --git a/apps/web-antd/src/views/_core/authentication/code-login.vue b/apps/web-antd/src/views/_core/authentication/code-login.vue
index fc8a2329..45cb1e3f 100644
--- a/apps/web-antd/src/views/_core/authentication/code-login.vue
+++ b/apps/web-antd/src/views/_core/authentication/code-login.vue
@@ -1,6 +1,8 @@