diff --git a/Properties/PublishProfiles/FolderProfile.pubxml.user b/Properties/PublishProfiles/FolderProfile.pubxml.user index 06e69f6..5548c99 100644 --- a/Properties/PublishProfiles/FolderProfile.pubxml.user +++ b/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. <_PublishTargetUrl>E:\code\dysync\bin\Release\net6.0\publish\ - True|2025-12-20T04:16:22.5224516Z||;True|2025-12-19T09:50:16.9517676+08:00||;True|2025-12-19T09:49:47.0871734+08:00||;False|2025-12-19T09:49:36.7638757+08:00||;True|2025-12-19T09:35:13.2489248+08:00||;True|2025-12-14T19:09:59.9031104+08:00||;True|2025-12-13T21:21:10.0022707+08:00||;True|2025-12-11T22:07:16.6229994+08:00||;True|2025-12-11T22:05:56.7363206+08:00||;True|2025-12-11T22:01:07.5862406+08:00||;True|2025-12-11T22:00:43.5796594+08:00||;True|2025-12-08T21:20:37.8369271+08:00||;False|2025-12-08T21:20:21.1646252+08:00||;True|2025-12-08T20:51:50.6845619+08:00||;True|2025-12-08T16:43:45.2425324+08:00||;False|2025-12-08T16:42:23.0308163+08:00||;True|2025-12-08T16:41:52.4103868+08:00||;True|2025-12-08T16:41:49.8972006+08:00||;False|2025-12-08T16:41:39.5343442+08:00||;True|2025-12-08T12:40:19.2430740+08:00||;True|2025-12-08T12:02:30.6005542+08:00||;True|2025-12-08T11:34:29.6673185+08:00||;False|2025-12-08T11:30:56.2857042+08:00||;True|2025-12-08T10:52:43.7427594+08:00||;True|2025-12-08T07:05:03.2845531+08:00||;True|2025-12-07T23:02:10.0037815+08:00||;True|2025-12-07T22:48:25.7859648+08:00||;True|2025-12-07T20:49:13.6683281+08:00||;True|2025-12-07T08:47:30.1236366+08:00||;True|2025-12-06T13:14:32.4410202+08:00||;True|2025-12-06T13:07:29.7182102+08:00||;True|2025-12-06T13:05:46.2855366+08:00||;False|2025-12-06T13:05:40.3550904+08:00||;True|2025-12-06T13:03:47.8773880+08:00||;True|2025-12-06T13:03:28.9521030+08:00||;True|2025-12-05T23:11:51.5026151+08:00||;True|2025-12-05T12:46:26.1415079+08:00||;False|2025-12-05T12:46:19.1274332+08:00||;True|2025-12-05T09:04:36.7111717+08:00||;True|2025-12-05T08:22:51.7343317+08:00||;True|2025-12-05T08:20:32.0383739+08:00||;True|2025-12-04T21:58:29.4112766+08:00||;True|2025-12-04T21:58:10.0382218+08:00||;True|2025-12-04T21:57:55.3894059+08:00||;True|2025-12-04T21:10:38.8943797+08:00||;True|2025-12-04T21:09:31.5024569+08:00||;True|2025-12-04T08:22:47.9617427+08:00||;False|2025-12-04T08:22:41.3759733+08:00||;True|2025-12-04T08:14:02.2478893+08:00||;True|2025-12-04T07:57:00.2208139+08:00||;True|2025-12-03T23:58:13.3693303+08:00||;True|2025-12-03T23:57:40.4257893+08:00||;True|2025-12-03T23:56:38.8717769+08:00||;True|2025-12-03T23:56:24.0663568+08:00||;False|2025-12-03T23:55:36.1902974+08:00||;True|2025-12-03T23:51:30.6688504+08:00||;True|2025-12-03T23:34:17.1648971+08:00||;False|2025-12-03T23:34:07.7649161+08:00||;True|2025-12-03T22:32:56.2435003+08:00||;True|2025-12-03T22:27:45.6059666+08:00||;True|2025-12-03T15:55:28.0186597+08:00||;False|2025-12-03T15:54:17.5032724+08:00||;True|2025-12-03T15:53:10.2273509+08:00||;True|2025-12-02T22:11:37.4645042+08:00||;False|2025-12-02T22:10:47.1320259+08:00||;True|2025-12-02T14:39:58.8932130+08:00||;True|2025-12-02T14:36:37.1529072+08:00||;True|2025-12-02T12:58:22.0951548+08:00||;True|2025-12-02T09:30:33.7066474+08:00||;True|2025-12-02T09:30:14.5481844+08:00||;True|2025-12-02T09:30:00.3123364+08:00||;False|2025-12-02T09:29:54.4615520+08:00||;True|2025-12-02T09:13:01.7995414+08:00||;False|2025-12-02T09:12:55.8360281+08:00||;True|2025-12-02T09:12:31.0156791+08:00||;True|2025-12-02T08:55:11.3773395+08:00||;True|2025-12-02T08:53:21.3927713+08:00||;False|2025-12-02T08:48:55.8638037+08:00||;True|2025-12-02T07:29:25.2192447+08:00||;False|2025-12-02T07:29:10.2504665+08:00||;True|2025-12-02T07:28:29.0769286+08:00||;True|2025-12-01T21:53:07.6474834+08:00||;True|2025-12-01T21:44:28.1674315+08:00||;True|2025-12-01T21:18:47.2119609+08:00||;True|2025-12-01T20:51:19.9948301+08:00||;True|2025-12-01T20:50:36.9904697+08:00||;True|2025-12-01T20:44:10.1695142+08:00||;True|2025-12-01T19:27:58.0479456+08:00||;True|2025-12-01T19:16:02.2288214+08:00||;False|2025-12-01T19:15:56.0372115+08:00||;True|2025-12-01T19:15:16.4854821+08:00||;False|2025-12-01T19:15:06.7001019+08:00||;True|2025-12-01T17:10:38.9739466+08:00||;False|2025-12-01T17:10:18.8928139+08:00||;True|2025-12-01T17:03:59.3171589+08:00||;True|2025-12-01T17:03:12.5681656+08:00||;True|2025-12-01T16:42:51.4415025+08:00||;True|2025-12-01T01:29:59.6975567+08:00||;True|2025-12-01T01:29:45.1898652+08:00||;False|2025-12-01T01:29:33.1787721+08:00||; + True|2025-12-20T06:05:36.6224332Z||;False|2025-12-20T14:05:28.6359828+08:00||;True|2025-12-20T13:58:30.1641630+08:00||;True|2025-12-20T13:55:16.1759645+08:00||;True|2025-12-20T12:16:22.5224516+08:00||;True|2025-12-19T09:50:16.9517676+08:00||;True|2025-12-19T09:49:47.0871734+08:00||;False|2025-12-19T09:49:36.7638757+08:00||;True|2025-12-19T09:35:13.2489248+08:00||;True|2025-12-14T19:09:59.9031104+08:00||;True|2025-12-13T21:21:10.0022707+08:00||;True|2025-12-11T22:07:16.6229994+08:00||;True|2025-12-11T22:05:56.7363206+08:00||;True|2025-12-11T22:01:07.5862406+08:00||;True|2025-12-11T22:00:43.5796594+08:00||;True|2025-12-08T21:20:37.8369271+08:00||;False|2025-12-08T21:20:21.1646252+08:00||;True|2025-12-08T20:51:50.6845619+08:00||;True|2025-12-08T16:43:45.2425324+08:00||;False|2025-12-08T16:42:23.0308163+08:00||;True|2025-12-08T16:41:52.4103868+08:00||;True|2025-12-08T16:41:49.8972006+08:00||;False|2025-12-08T16:41:39.5343442+08:00||;True|2025-12-08T12:40:19.2430740+08:00||;True|2025-12-08T12:02:30.6005542+08:00||;True|2025-12-08T11:34:29.6673185+08:00||;False|2025-12-08T11:30:56.2857042+08:00||;True|2025-12-08T10:52:43.7427594+08:00||;True|2025-12-08T07:05:03.2845531+08:00||;True|2025-12-07T23:02:10.0037815+08:00||;True|2025-12-07T22:48:25.7859648+08:00||;True|2025-12-07T20:49:13.6683281+08:00||;True|2025-12-07T08:47:30.1236366+08:00||;True|2025-12-06T13:14:32.4410202+08:00||;True|2025-12-06T13:07:29.7182102+08:00||;True|2025-12-06T13:05:46.2855366+08:00||;False|2025-12-06T13:05:40.3550904+08:00||;True|2025-12-06T13:03:47.8773880+08:00||;True|2025-12-06T13:03:28.9521030+08:00||;True|2025-12-05T23:11:51.5026151+08:00||;True|2025-12-05T12:46:26.1415079+08:00||;False|2025-12-05T12:46:19.1274332+08:00||;True|2025-12-05T09:04:36.7111717+08:00||;True|2025-12-05T08:22:51.7343317+08:00||;True|2025-12-05T08:20:32.0383739+08:00||;True|2025-12-04T21:58:29.4112766+08:00||;True|2025-12-04T21:58:10.0382218+08:00||;True|2025-12-04T21:57:55.3894059+08:00||;True|2025-12-04T21:10:38.8943797+08:00||;True|2025-12-04T21:09:31.5024569+08:00||;True|2025-12-04T08:22:47.9617427+08:00||;False|2025-12-04T08:22:41.3759733+08:00||;True|2025-12-04T08:14:02.2478893+08:00||;True|2025-12-04T07:57:00.2208139+08:00||;True|2025-12-03T23:58:13.3693303+08:00||;True|2025-12-03T23:57:40.4257893+08:00||;True|2025-12-03T23:56:38.8717769+08:00||;True|2025-12-03T23:56:24.0663568+08:00||;False|2025-12-03T23:55:36.1902974+08:00||;True|2025-12-03T23:51:30.6688504+08:00||;True|2025-12-03T23:34:17.1648971+08:00||;False|2025-12-03T23:34:07.7649161+08:00||;True|2025-12-03T22:32:56.2435003+08:00||;True|2025-12-03T22:27:45.6059666+08:00||;True|2025-12-03T15:55:28.0186597+08:00||;False|2025-12-03T15:54:17.5032724+08:00||;True|2025-12-03T15:53:10.2273509+08:00||;True|2025-12-02T22:11:37.4645042+08:00||;False|2025-12-02T22:10:47.1320259+08:00||;True|2025-12-02T14:39:58.8932130+08:00||;True|2025-12-02T14:36:37.1529072+08:00||;True|2025-12-02T12:58:22.0951548+08:00||;True|2025-12-02T09:30:33.7066474+08:00||;True|2025-12-02T09:30:14.5481844+08:00||;True|2025-12-02T09:30:00.3123364+08:00||;False|2025-12-02T09:29:54.4615520+08:00||;True|2025-12-02T09:13:01.7995414+08:00||;False|2025-12-02T09:12:55.8360281+08:00||;True|2025-12-02T09:12:31.0156791+08:00||;True|2025-12-02T08:55:11.3773395+08:00||;True|2025-12-02T08:53:21.3927713+08:00||;False|2025-12-02T08:48:55.8638037+08:00||;True|2025-12-02T07:29:25.2192447+08:00||;False|2025-12-02T07:29:10.2504665+08:00||;True|2025-12-02T07:28:29.0769286+08:00||;True|2025-12-01T21:53:07.6474834+08:00||;True|2025-12-01T21:44:28.1674315+08:00||;True|2025-12-01T21:18:47.2119609+08:00||;True|2025-12-01T20:51:19.9948301+08:00||;True|2025-12-01T20:50:36.9904697+08:00||;True|2025-12-01T20:44:10.1695142+08:00||;True|2025-12-01T19:27:58.0479456+08:00||;True|2025-12-01T19:16:02.2288214+08:00||;False|2025-12-01T19:15:56.0372115+08:00||;True|2025-12-01T19:15:16.4854821+08:00||;False|2025-12-01T19:15:06.7001019+08:00||;True|2025-12-01T17:10:38.9739466+08:00||;False|2025-12-01T17:10:18.8928139+08:00||;True|2025-12-01T17:03:59.3171589+08:00||;True|2025-12-01T17:03:12.5681656+08:00||; diff --git a/app/src/components/layout/HeaderActions.vue b/app/src/components/layout/HeaderActions.vue index c1da3ed..8ed7745 100644 --- a/app/src/components/layout/HeaderActions.vue +++ b/app/src/components/layout/HeaderActions.vue @@ -242,7 +242,7 @@ const showVersionNotification = () => { } openVersionNotification(); } else { - message.error(res.msg); + message.error(res.message); } }) .catch((err) => { diff --git a/app/src/components/layout/VersionDrawer.vue b/app/src/components/layout/VersionDrawer.vue index e9d7113..cd434bf 100644 --- a/app/src/components/layout/VersionDrawer.vue +++ b/app/src/components/layout/VersionDrawer.vue @@ -26,7 +26,7 @@ const getVersions = () => { if (res.code == 1) { dyVersions.value = res.data; } else { - message.error(res.msg); + message.error(res.message); } }); }; diff --git a/app/src/pages/followd/index.vue b/app/src/pages/followd/index.vue index 225e4de..0e95846 100644 --- a/app/src/pages/followd/index.vue +++ b/app/src/pages/followd/index.vue @@ -467,7 +467,7 @@ const handleSavePath = (item: FollowItem) => { uploadSyncStatus(item); }; -// 上传同步状态 +// 更新同步状态 const uploadSyncStatus = (item: FollowItem) => { item.isSaving = true; useApiStore() @@ -483,7 +483,7 @@ const uploadSyncStatus = (item: FollowItem) => { message.success(`保存成功,将在下次任务执行时生效`); item.isEditing = false; } else { - message.error('保存失败' + (res.msg || '未知错误')); + message.error('保存失败' + (res.message || '未知错误')); } }) .catch((err) => { @@ -508,7 +508,7 @@ const handleSyncAll = () => { if (res.code === 0) { message.success('后台开始同步...根据您关注的数量,需要的时间不一定...请耐心等待'); } else { - message.error('同步失败:' + (res.msg || '未知错误')); + message.error('同步失败:' + (res.message || '未知错误')); } }) .catch((err) => { @@ -609,7 +609,7 @@ const handleAddSubmit = () => { tabList.value[tabIndex].total = (tabList.value[tabIndex].total || 0) + 1; } } else { - message.error('新增失败:' + (res.msg || '未知错误')); + message.error('新增失败:' + (res.message || '未知错误')); } }) .catch((err) => { @@ -654,7 +654,7 @@ const handleDeleteItem = (item: FollowItem) => { initData(); resolve(true); } else { - message.error('删除失败:' + (res.msg || '未知错误')); + message.error('删除失败:' + (res.message || '未知错误')); reject(false); } }) diff --git a/app/src/pages/login/Login.vue b/app/src/pages/login/Login.vue index 10169f1..7ce113f 100644 --- a/app/src/pages/login/Login.vue +++ b/app/src/pages/login/Login.vue @@ -12,8 +12,24 @@ import { message } from 'ant-design-vue'; const router = useRouter(); function onLoginSuccess() { - router.push('/dashboard'); + if (isMobileBrowser()) router.push('/mobile'); + else router.push('/dashboard'); } +// 精准判断移动端浏览器(复用之前的核心逻辑,简化版) +const isMobileBrowser = (): boolean => { + if (typeof navigator === 'undefined' || typeof window === 'undefined') { + return false; + } + const userAgent = navigator.userAgent.toLowerCase(); + // 匹配手机UA(排除平板) + const mobileUA = /android|iphone|ipod|blackberry|windows phone|iemobile|opera mini/i.test(userAgent); + const isTablet = /ipad|tablet|playbook|kindle|android 3\.|android 4\.[0-3]/.test(userAgent); + // 触摸设备+小屏兜底 + const isTouchDevice = 'ontouchstart' in window || navigator.maxTouchPoints > 0; + const isMobileScreen = window.innerWidth <= 768 && window.innerHeight <= 1024; + + return (mobileUA && !isTablet && isTouchDevice) || (isMobileScreen && isTouchDevice); +}; function onLoginFail(reason: string, fields: any) { console.log('登录失败:', reason, fields); diff --git a/app/src/pages/personal/MyPersonal.vue b/app/src/pages/personal/MyPersonal.vue index 6544a65..af3c336 100644 --- a/app/src/pages/personal/MyPersonal.vue +++ b/app/src/pages/personal/MyPersonal.vue @@ -150,7 +150,7 @@ const onFinish = (values: PassFormState) => { visible.value = false; http.removeAuthorization(); } else { - message.error(res.erro, 8); + message.error(res.message, 8); } }); } diff --git a/app/src/pages/set/AppSet.vue b/app/src/pages/set/AppSet.vue index bc0a164..9fd9eef 100644 --- a/app/src/pages/set/AppSet.vue +++ b/app/src/pages/set/AppSet.vue @@ -358,7 +358,7 @@ const getConfig = () => { tagData.value = JSON.parse(res.data.priorityLevel); } else { - message.error(res.erro || '获取配置失败', 8); + message.error(res.message || '获取配置失败', 8); } }) .catch((error) => { @@ -452,7 +452,7 @@ const onSubmit = () => { message.success('修改成功,同步任务将在5-10秒按新配置运行...'); componentDisabled.value = true; } else { - message.error(res.erro || '更新配置失败', 8); + message.error(res.message || '更新配置失败', 8); } }) .catch((error) => { diff --git a/app/src/store/coreapi.ts b/app/src/store/coreapi.ts index 2a9ca7f..1fff335 100644 --- a/app/src/store/coreapi.ts +++ b/app/src/store/coreapi.ts @@ -37,7 +37,7 @@ export const useApiStore = defineStore('coreapi', () => { .request>('/api/config/GetConfig', 'GET') .then((res) => { console.log(res) - return res.data; + return res; }) .finally(() => { @@ -49,7 +49,7 @@ export const useApiStore = defineStore('coreapi', () => { .request>('/api/config/UpdateConfig', 'post_json', request) .then((res) => { console.log(res) - return res.data; + return res; }) .finally(() => { @@ -67,7 +67,7 @@ export const useApiStore = defineStore('coreapi', () => { //用户信息-头像 async function apiUserInfo() { return http.request>('/api/auth/GetUserAvatar', 'get').then(r => { - return r.data; + return r; }).finally(() => { }); @@ -75,7 +75,7 @@ export const useApiStore = defineStore('coreapi', () => { //密码修改 async function apiChangePwd(param: object) { return http.request>('/api/auth/UpdatePwd', 'post_json', param).then(r => { - return r.data; + return r; }).finally(() => { }); @@ -83,14 +83,14 @@ export const useApiStore = defineStore('coreapi', () => { //StartJobNow async function StartJobNow() { return http.request>('/api/config/ExecuteJobNow', 'get').then(r => { - return r.data; + return r; }).finally(() => { }); } async function VideoStatics() { return http.request>('/api/video/statics', 'get').then(r => { - return r.data; + return r; }).finally(() => { }); @@ -99,7 +99,7 @@ export const useApiStore = defineStore('coreapi', () => { //视频查询 async function VideoPageList(param: object) { return http.request>('/api/video/paged', 'post_json', param).then(r => { - return r.data; + return r; }).finally(() => { }); @@ -107,14 +107,14 @@ export const useApiStore = defineStore('coreapi', () => { //cookies async function CookiePageList(param: object) { return http.request>('/api/config/paged', 'post_json', param).then(r => { - return r.data; + return r; }).finally(() => { }); } async function CookieList() { return http.request>('/api/config/list', 'get').then(r => { - return r.data; + return r; }).finally(() => { }); @@ -123,7 +123,7 @@ export const useApiStore = defineStore('coreapi', () => { async function UpdateConfig(param: object) { return http.request>('/api/config/update', 'post_json', param).then(r => { - return r.data; + return r; }).finally(() => { }); @@ -131,7 +131,7 @@ export const useApiStore = defineStore('coreapi', () => { async function deleteCookie(id: string) { return http.request>('/api/config/delete?id=' + id, 'get').then(r => { - return r.data; + return r; }).finally(() => { }); @@ -139,7 +139,7 @@ export const useApiStore = defineStore('coreapi', () => { //follows async function FollowList(param: object) { return http.request>('/api/follow/paged', 'post_json', param).then(r => { - return r.data; + return r; }).finally(() => { }); @@ -147,7 +147,7 @@ export const useApiStore = defineStore('coreapi', () => { //同步关注列表 async function SyncFollow() { return http.request>('/api/follow/sync', 'get').then(r => { - return r.data; + return r; }).finally(() => { }); @@ -155,7 +155,7 @@ export const useApiStore = defineStore('coreapi', () => { //更新同步关注者状态 async function OpenOrCloseSync(param: object) { return http.request>('/api/follow/openOrCloseSync', 'post_json', param).then(r => { - return r.data; + return r; }).finally(() => { }); @@ -163,7 +163,7 @@ export const useApiStore = defineStore('coreapi', () => { //更新同步关注者状态 async function OpenOrCloseFullSync(param: object) { return http.request>('/api/follow/openOrCloseFullSync', 'post_json', param).then(r => { - return r.data; + return r; }).finally(() => { }); @@ -171,7 +171,7 @@ export const useApiStore = defineStore('coreapi', () => { //重新下载 async function ReDownViedos(param: object) { return http.request>('/api/video/redown', 'post_json', param).then(r => { - return r.data; + return r; }).finally(() => { }); @@ -179,7 +179,7 @@ export const useApiStore = defineStore('coreapi', () => { //删除 async function DeleteVideo(param: string) { return http.request>('/api/video/vdelete/' + param, 'get').then(r => { - return r.data; + return r; }).finally(() => { }); @@ -187,7 +187,7 @@ export const useApiStore = defineStore('coreapi', () => { //删除 async function GetDeleteViedos() { return http.request>('/api/video/vdelete/get', 'get').then(r => { - return r.data; + return r; }).finally(() => { }); @@ -197,7 +197,7 @@ export const useApiStore = defineStore('coreapi', () => { //检查版本 async function CheckTag() { return http.request>('/api/config/checktag', 'get').then(r => { - return r.data; + return r; }).finally(() => { }); @@ -206,7 +206,7 @@ export const useApiStore = defineStore('coreapi', () => { //添加非关注的博主 async function AddFollow(param: object) { return http.request>('/api/follow/add', 'post_json', param).then(r => { - return r.data; + return r; }).finally(() => { }); @@ -214,7 +214,7 @@ export const useApiStore = defineStore('coreapi', () => { //删除非关注的博主 async function DelFollow(param: object) { return http.request>('/api/follow/delete', 'post_json', param).then(r => { - return r.data; + return r; }).finally(() => { }); @@ -223,7 +223,7 @@ export const useApiStore = defineStore('coreapi', () => { //导出配置 async function ExportConf() { return http.request>('/api/config/exportConf', 'get').then(r => { - return r.data; + return r; }).finally(() => { }); @@ -231,7 +231,7 @@ export const useApiStore = defineStore('coreapi', () => { //导入配置 async function ImportConf(param: object) { return http.request>('/api/config/importConf', 'post_json', param).then(r => { - return r.data; + return r; }).finally(() => { }); @@ -240,7 +240,7 @@ export const useApiStore = defineStore('coreapi', () => { //移动端获取日志列表 async function MobileLogs() { return http.request>('/api/logs/list', 'get').then(r => { - return r.data; + return r; }).finally(() => { }); @@ -249,7 +249,7 @@ export const useApiStore = defineStore('coreapi', () => { //移动端获取日志详情 async function LogDetail(type: string, date: string) { return http.request>('/api/logs/content?type=' + type + "&Date=" + date, 'get').then(r => { - return r.data; + return r; }).finally(() => { }); @@ -258,7 +258,7 @@ export const useApiStore = defineStore('coreapi', () => { //TOP async function TopVideo(param: number) { return http.request>('/api/Video/top' + param, 'get').then(r => { - return r.data; + return r; }).finally(() => { });