diff --git a/components.d.ts b/components.d.ts
index 4ca78d3..b2e09be 100644
--- a/components.d.ts
+++ b/components.d.ts
@@ -16,13 +16,13 @@ declare module 'vue' {
ACard: typeof import('ant-design-vue/es')['Card']
ACascader: typeof import('ant-design-vue/es')['Cascader']
AccountSetting: typeof import('./src/views/User/AccountSetting/AccountSetting.vue')['default']
- AccountSettingBackup: typeof import('./src/views/User/AccountSetting/components/AccountSettingBackup/AccountSettingBackup.vue')['default']
- AccountSettingHome: typeof import('./src/views/User/AccountSetting/components/AccountSettingHome/AccountSettingHome.vue')['default']
- AccountSettingInfo: typeof import('./src/views/User/AccountSetting/components/AccountSettingInfo/AccountSettingInfo.vue')['default']
- AccountSettingLog: typeof import('./src/views/User/AccountSetting/components/AccountSettingLog/AccountSettingLog.vue')['default']
- AccountSettingSidebar: typeof import('./src/views/User/AccountSetting/components/AccountSettingSidebar/AccountSettingSidebar.vue')['default']
- AccountSettingStorage: typeof import('./src/views/User/AccountSetting/components/AccountSettingStorage/AccountSettingStorage.vue')['default']
- AccountSettingTask: typeof import('./src/views/User/AccountSetting/components/AccountSettingTask/AccountSettingTask.vue')['default']
+ AccountSettingBackup: typeof import('./src/views/User/AccountSetting/Pages/AccountSettingBackup/AccountSettingBackup.vue')['default']
+ AccountSettingHome: typeof import('./src/views/User/AccountSetting/Pages/AccountSettingHome/AccountSettingHome.vue')['default']
+ AccountSettingInfo: typeof import('./src/views/User/AccountSetting/Pages/AccountSettingInfo/AccountSettingInfo.vue')['default']
+ AccountSettingLog: typeof import('./src/views/User/AccountSetting/Pages/AccountSettingLog/AccountSettingLog.vue')['default']
+ AccountSettingSidebar: typeof import('./src/views/User/AccountSetting/Pages/AccountSettingSidebar/AccountSettingSidebar.vue')['default']
+ AccountSettingStorage: typeof import('./src/views/User/AccountSetting/Pages/AccountSettingStorage/AccountSettingStorage.vue')['default']
+ AccountSettingTask: typeof import('./src/views/User/AccountSetting/Pages/AccountSettingTask/AccountSettingTask.vue')['default']
ACheckbox: typeof import('ant-design-vue/es')['Checkbox']
ACheckboxGroup: typeof import('ant-design-vue/es')['CheckboxGroup']
ACol: typeof import('ant-design-vue/es')['Col']
@@ -68,6 +68,7 @@ declare module 'vue' {
ASelect: typeof import('ant-design-vue/es')['Select']
ASelectOption: typeof import('ant-design-vue/es')['SelectOption']
ASkeleton: typeof import('ant-design-vue/es')['Skeleton']
+ ASlider: typeof import('ant-design-vue/es')['Slider']
ASpace: typeof import('ant-design-vue/es')['Space']
ASpin: typeof import('ant-design-vue/es')['Spin']
AStatistic: typeof import('ant-design-vue/es')['Statistic']
@@ -108,13 +109,13 @@ declare module 'vue' {
CommonPhoneUpload: typeof import('./src/views/Phone/CommonPhoneUpload/CommonPhoneUpload.vue')['default']
CompareImage: typeof import('./src/views/Upscale/CompareImage.vue')['default']
Dashboard: typeof import('./src/views/Admin/System/Pages/Dashboard.vue')['default']
- DeleteConfirmModal: typeof import('./src/views/User/AccountSetting/components/AccountSettingTask/components/DeleteConfirmModal.vue')['default']
+ DeleteConfirmModal: typeof import('./src/views/User/AccountSetting/Pages/AccountSettingTask/components/DeleteConfirmModal.vue')['default']
DeleteOutlined: typeof import('@ant-design/icons-vue')['DeleteOutlined']
DownloadOutlined: typeof import('@ant-design/icons-vue')['DownloadOutlined']
DownOutlined: typeof import('@ant-design/icons-vue')['DownOutlined']
DynamicTitle: typeof import('./src/components/DynamicTitle/DynamicTitle.vue')['default']
EditOutlined: typeof import('@ant-design/icons-vue')['EditOutlined']
- EmailModal: typeof import('./src/views/User/AccountSetting/components/AccountSettingHome/EmailModal.vue')['default']
+ EmailModal: typeof import('./src/views/User/AccountSetting/Pages/AccountSettingHome/EmailModal.vue')['default']
ExclamationCircleOutlined: typeof import('@ant-design/icons-vue')['ExclamationCircleOutlined']
EyeInvisibleOutlined: typeof import('@ant-design/icons-vue')['EyeInvisibleOutlined']
EyeOutlined: typeof import('@ant-design/icons-vue')['EyeOutlined']
@@ -127,6 +128,7 @@ declare module 'vue' {
HeatmapPro: typeof import('./src/components/HeatmapPro/HeatmapPro.vue')['default']
ImageBed: typeof import('./src/views/ImageBed/index.vue')['default']
ImageEnhancer: typeof import('./src/components/ImageEnhancer/ImageEnhancer.vue')['default']
+ ImageEnhancerModal: typeof import('./src/components/ImageEnhancer/ImageEnhancerModal.vue')['default']
ImageShare: typeof import('./src/views/Share/ImageShare/ImageShare.vue')['default']
ImageToolbar: typeof import('./src/components/ImageToolbar/ImageToolbar.vue')['default']
ImageUpload: typeof import('./src/components/ImageUpload/ImageUpload.vue')['default']
@@ -154,7 +156,7 @@ declare module 'vue' {
PageError404: typeof import('./src/views/Admin/Error/PageError404.vue')['default']
PageError500: typeof import('./src/views/Admin/Error/PageError500.vue')['default']
ParameterSetting: typeof import('./src/views/Upscale/ParameterSetting.vue')['default']
- PasswordModal: typeof import('./src/views/User/AccountSetting/components/AccountSettingHome/PasswordModal.vue')['default']
+ PasswordModal: typeof import('./src/views/User/AccountSetting/Pages/AccountSettingHome/PasswordModal.vue')['default']
PeopleAlbumDetail: typeof import('./src/views/Album/PeopleAlbum/PeopleAlbumDetail.vue')['default']
PeopleAlbumIndex: typeof import('./src/views/Album/PeopleAlbum/PeopleAlbumIndex.vue')['default']
PeopleAlbumList: typeof import('./src/views/Album/PeopleAlbum/PeopleAlbumList.vue')['default']
@@ -164,7 +166,7 @@ declare module 'vue' {
PhoalbumDetail: typeof import('./src/views/Album/Phoalbum/PhoalbumDetail.vue')['default']
PhoalbumIndex: typeof import('./src/views/Album/Phoalbum/PhoalbumIndex.vue')['default']
PhoalbumList: typeof import('./src/views/Album/Phoalbum/PhoalbumList.vue')['default']
- PhoneModal: typeof import('./src/views/User/AccountSetting/components/AccountSettingHome/PhoneModal.vue')['default']
+ PhoneModal: typeof import('./src/views/User/AccountSetting/Pages/AccountSettingHome/PhoneModal.vue')['default']
PhotoStack: typeof import('./src/components/PhotoStack/PhotoStack.vue')['default']
PlusOutlined: typeof import('@ant-design/icons-vue')['PlusOutlined']
PlusSquareOutlined: typeof import('@ant-design/icons-vue')['PlusSquareOutlined']
@@ -199,29 +201,30 @@ declare module 'vue' {
ShareViewList: typeof import('./src/views/Share/ShareViewList/index.vue')['default']
Spin: typeof import('./src/components/MyUI/Spin/Spin.vue')['default']
StarButton: typeof import('./src/components/StarButton/StarButton.vue')['default']
- StorageCard: typeof import('./src/views/User/AccountSetting/components/AccountSettingStorage/StorageCard.vue')['default']
+ StorageCard: typeof import('./src/views/User/AccountSetting/Pages/AccountSettingStorage/StorageCard.vue')['default']
StorageManagement: typeof import('./src/views/Admin/System/Pages/StorageManagement.vue')['default']
SystemHeader: typeof import('./src/views/Admin/System/Components/SystemHeader.vue')['default']
SystemLogs: typeof import('./src/views/Admin/System/Pages/SystemLogs.vue')['default']
SystemSidebar: typeof import('./src/views/Admin/System/Components/SystemSidebar.vue')['default']
TabletOutlined: typeof import('@ant-design/icons-vue')['TabletOutlined']
- TaskCard: typeof import('./src/views/User/AccountSetting/components/AccountSettingTask/components/TaskCard.vue')['default']
- TaskForm: typeof import('./src/views/User/AccountSetting/components/AccountSettingTask/components/TaskForm.vue')['default']
+ TaskCard: typeof import('./src/views/User/AccountSetting/Pages/AccountSettingTask/components/TaskCard.vue')['default']
+ TaskForm: typeof import('./src/views/User/AccountSetting/Pages/AccountSettingTask/components/TaskForm.vue')['default']
TaskSchedule: typeof import('./src/components/TaskSchedule/TaskSchedule.vue')['default']
- TaskTypeSelector: typeof import('./src/views/User/AccountSetting/components/AccountSettingTask/components/TaskTypeSelector.vue')['default']
+ TaskTypeSelector: typeof import('./src/views/User/AccountSetting/Pages/AccountSettingTask/components/TaskTypeSelector.vue')['default']
+ TestPage: typeof import('./src/views/Test/TestPage.vue')['default']
ThingAlbumDetail: typeof import('./src/views/Album/ThingAlbum/ThingAlbumDetail.vue')['default']
ThingAlbumIndex: typeof import('./src/views/Album/ThingAlbum/ThingAlbumIndex.vue')['default']
ThingAlbumList: typeof import('./src/views/Album/ThingAlbum/ThingAlbumList.vue')['default']
- ThirdPartyLoginModal: typeof import('./src/views/User/AccountSetting/components/AccountSettingHome/ThirdPartyLoginModal.vue')['default']
+ ThirdPartyLoginModal: typeof import('./src/views/User/AccountSetting/Pages/AccountSettingHome/ThirdPartyLoginModal.vue')['default']
Tooltip: typeof import('./src/components/MyUI/Tooltip/Tooltip.vue')['default']
UploadImage: typeof import('./src/views/Upscale/UploadImage.vue')['default']
UploadSetting: typeof import('./src/components/ImageUpload/UploadSetting.vue')['default']
Upscale: typeof import('./src/views/Upscale/index.vue')['default']
UpscalePhoneUpload: typeof import('./src/views/Phone/UpscalePhoneUpload/UpscalePhoneUpload.vue')['default']
UserAnalysis: typeof import('./src/views/Admin/System/Pages/UserAnalysis.vue')['default']
- UserCenterDynamic: typeof import('./src/views/User/PersonalCenter/components/UserCenterDynamic/UserCenterDynamic.vue')['default']
- UserCenterHome: typeof import('./src/views/User/PersonalCenter/components/UserCenterHome/UserCenterHome.vue')['default']
- UserCenterSetting: typeof import('./src/views/User/PersonalCenter/components/UserCenterSetting/UserCenterSetting.vue')['default']
+ UserCenterDynamic: typeof import('./src/views/User/PersonalCenter/Pages/UserCenterDynamic/UserCenterDynamic.vue')['default']
+ UserCenterHome: typeof import('./src/views/User/PersonalCenter/Pages/UserCenterHome/UserCenterHome.vue')['default']
+ UserCenterSetting: typeof import('./src/views/User/PersonalCenter/Pages/UserCenterSetting/UserCenterSetting.vue')['default']
UserInfoCard: typeof import('./src/components/CommentReply/src/UserInfoCard/UserInfoCard.vue')['default']
UserList: typeof import('./src/views/Admin/System/Pages/UserList.vue')['default']
UserOutlined: typeof import('@ant-design/icons-vue')['UserOutlined']
diff --git a/package.json b/package.json
index 1fefefe..80b4916 100644
--- a/package.json
+++ b/package.json
@@ -34,7 +34,7 @@
"@types/file-saver": "^2.0.7",
"@types/json-stringify-safe": "^5.0.3",
"@types/leaflet": "^1.9.17",
- "@types/node": "^22.13.14",
+ "@types/node": "^22.13.17",
"@types/nprogress": "^0.2.3",
"@vladmandic/face-api": "^1.7.15",
"@vuepic/vue-datepicker": "^11.0.2",
@@ -89,11 +89,11 @@
"@vitejs/plugin-vue": "^5.2.3",
"eslint-plugin-vue": "^10.0.0",
"globals": "^16.0.0",
- "sass": "^1.86.0",
+ "sass": "^1.86.1",
"typescript": "^5.8.2",
- "typescript-eslint": "^8.28.0",
+ "typescript-eslint": "^8.29.0",
"unplugin-vue-components": "^28.4.1",
- "vite": "^6.2.3",
+ "vite": "^6.2.4",
"vite-plugin-bundle-obfuscator": "1.4.2",
"vite-plugin-chunk-split": "^0.5.0",
"vue-tsc": "2.2.8"
diff --git a/src/components/ImageEnhancer/ImageEnhancerModal.vue b/src/components/ImageEnhancer/ImageEnhancerModal.vue
new file mode 100644
index 0000000..0db99e3
--- /dev/null
+++ b/src/components/ImageEnhancer/ImageEnhancerModal.vue
@@ -0,0 +1,852 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 点击或拖拽上传图片
+
+
+
+
+
+
+
+
+ 增强功能
+
+
+
+
+ 图像升级
+ 去模糊
+ 去噪
+ 弱光增强
+
+
+
+
+
+ 参数设置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 开始处理
+
+
+
+
+
+
+
+
+
+
+ {{ enhancer.msg }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
原图: {{ originalImageSize }}
+
处理后: {{ processedImageSize }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/ImageEnhancer/index.ts b/src/components/ImageEnhancer/index.ts
deleted file mode 100644
index 0bfcc1d..0000000
--- a/src/components/ImageEnhancer/index.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import ImageEnhancer from './ImageEnhancer.vue';
-
-export default ImageEnhancer;
\ No newline at end of file
diff --git a/src/router/modules/test.ts b/src/router/modules/test.ts
new file mode 100644
index 0000000..4cadb1a
--- /dev/null
+++ b/src/router/modules/test.ts
@@ -0,0 +1,11 @@
+export default [
+ {
+ path: '/test',
+ name: 'testPage',
+ component: () => import('@/views/Test/TestPage.vue'),
+ meta: {
+ requiresAuth: false,
+ title: 'testPage',
+ }
+ },
+];
diff --git a/src/router/modules/user.ts b/src/router/modules/user.ts
index 778e26b..f12f83a 100644
--- a/src/router/modules/user.ts
+++ b/src/router/modules/user.ts
@@ -1,13 +1,13 @@
-import UserCenterHome from "@/views/User/PersonalCenter/components/UserCenterHome/UserCenterHome.vue";
-import UserCenterDynamic from "@/views/User/PersonalCenter/components/UserCenterDynamic/UserCenterDynamic.vue";
-import UserCenterSetting from "@/views/User/PersonalCenter/components/UserCenterSetting/UserCenterSetting.vue";
+import UserCenterHome from "@/views/User/PersonalCenter/Pages/UserCenterHome/UserCenterHome.vue";
+import UserCenterDynamic from "@/views/User/PersonalCenter/Pages/UserCenterDynamic/UserCenterDynamic.vue";
+import UserCenterSetting from "@/views/User/PersonalCenter/Pages/UserCenterSetting/UserCenterSetting.vue";
-import AccountSettingHome from "@/views/User/AccountSetting/components/AccountSettingHome/AccountSettingHome.vue";
-import AccountSettingInfo from "@/views/User/AccountSetting/components/AccountSettingInfo/AccountSettingInfo.vue";
+import AccountSettingHome from "@/views/User/AccountSetting/Pages/AccountSettingHome/AccountSettingHome.vue";
+import AccountSettingInfo from "@/views/User/AccountSetting/Pages/AccountSettingInfo/AccountSettingInfo.vue";
import AccountSettingStorage
- from "@/views/User/AccountSetting/components/AccountSettingStorage/AccountSettingStorage.vue";
+ from "@/views/User/AccountSetting/Pages/AccountSettingStorage/AccountSettingStorage.vue";
import AccountSettingBackup
- from "@/views/User/AccountSetting/components/AccountSettingBackup/AccountSettingBackup.vue";
+ from '@/views/User/AccountSetting/Pages/AccountSettingBackup/AccountSettingBackup.vue';
export default [
{
@@ -99,7 +99,7 @@ export default [
{
path: '/main/user/setting/task',
name: 'AccountSettingTask',
- component: () => import('@/views/User/AccountSetting/components/AccountSettingTask/AccountSettingTask.vue'),
+ component: () => import('@/views/User/AccountSetting/Pages/AccountSettingTask/AccountSettingTask.vue'),
meta: {
requiresAuth: true,
title: '定时任务'
@@ -108,7 +108,7 @@ export default [
{
path: '/main/user/setting/log',
name: 'AccountSettingLog',
- component: () => import('@/views/User/AccountSetting/components/AccountSettingLog/AccountSettingLog.vue'),
+ component: () => import('@/views/User/AccountSetting/Pages/AccountSettingLog/AccountSettingLog.vue'),
meta: {
requiresAuth: true,
title: '执行记录'
diff --git a/src/router/router.ts b/src/router/router.ts
index d0537e0..e54180e 100644
--- a/src/router/router.ts
+++ b/src/router/router.ts
@@ -11,7 +11,7 @@ import phone_upload from "@/router/modules/phone_upload.ts";
import user from "@/router/modules/user.ts";
import system from "@/router/modules/system.ts";
import preview from "@/router/modules/preview.ts";
-
+import test from "@/router/modules/test.ts";
const routes: Array = [
...login,
...notFound,
@@ -21,6 +21,7 @@ const routes: Array = [
...user,
...system,
...preview,
+ ...test,
{
path: '/:pathMatch(.*)',
redirect: '/404',
diff --git a/src/views/Test/TestPage.vue b/src/views/Test/TestPage.vue
new file mode 100644
index 0000000..5be812b
--- /dev/null
+++ b/src/views/Test/TestPage.vue
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
diff --git a/src/views/User/AccountSetting/AccountSetting.vue b/src/views/User/AccountSetting/AccountSetting.vue
index 90d3dbb..70a72b0 100644
--- a/src/views/User/AccountSetting/AccountSetting.vue
+++ b/src/views/User/AccountSetting/AccountSetting.vue
@@ -14,7 +14,7 @@