From f26d3361958db0341cf20c5757bc6f9220277064 Mon Sep 17 00:00:00 2001 From: AoXuan Date: Wed, 3 Sep 2025 19:12:25 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20UserEdit=E6=8B=86=E5=88=86=E6=88=90Gene?= =?UTF-8?q?ral=E5=92=8CMAA=E4=B8=A4=E4=B8=AA=E6=96=87=E4=BB=B6=EF=BC=8C?= =?UTF-8?q?=E6=96=B9=E4=BE=BF=E5=90=8E=E6=9C=9F=E7=BB=B4=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/electron/services/logService.ts | 4 +- frontend/src/router/index.ts | 24 + frontend/src/views/GeneralUserEdit.vue | 758 ++++++++++++ frontend/src/views/MAAUserEdit.vue | 1344 ++++++++++++++++++++++ frontend/src/views/UserEdit.vue | 18 + 5 files changed, 2147 insertions(+), 1 deletion(-) create mode 100644 frontend/src/views/GeneralUserEdit.vue create mode 100644 frontend/src/views/MAAUserEdit.vue diff --git a/frontend/electron/services/logService.ts b/frontend/electron/services/logService.ts index 8efc88c..95102e1 100644 --- a/frontend/electron/services/logService.ts +++ b/frontend/electron/services/logService.ts @@ -53,7 +53,9 @@ export function setupLogger() { log.transports.file.maxSize = 50 * 1024 * 1024 // 禁用自动归档,因为我们按日期分文件 - log.transports.file.archiveLog = null + log.transports.file.archiveLog = () => { + /* do nothing */ + }; // 捕获未处理的异常和Promise拒绝 log.catchErrors({ diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index 4f223ec..c6f489b 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -46,6 +46,30 @@ const routes: RouteRecordRaw[] = [ component: () => import('../views/UserEdit.vue'), meta: { title: '编辑用户' }, }, + { + path: '/scripts/:scriptId/users/add/maa', + name: 'MAAUserAdd', + component: () => import('../views/MAAUserEdit.vue'), + meta: { title: '添加MAA用户' }, + }, + { + path: '/scripts/:scriptId/users/:userId/edit/maa', + name: 'MAAUserEdit', + component: () => import('../views/MAAUserEdit.vue'), + meta: { title: '编辑MAA用户' }, + }, + { + path: '/scripts/:scriptId/users/add/general', + name: 'GeneralUserAdd', + component: () => import('../views/GeneralUserEdit.vue'), + meta: { title: '添加通用用户' }, + }, + { + path: '/scripts/:scriptId/users/:userId/edit/general', + name: 'GeneralUserEdit', + component: () => import('../views/GeneralUserEdit.vue'), + meta: { title: '编辑通用用户' }, + }, { path: '/plans', name: 'Plans', diff --git a/frontend/src/views/GeneralUserEdit.vue b/frontend/src/views/GeneralUserEdit.vue new file mode 100644 index 0000000..563195b --- /dev/null +++ b/frontend/src/views/GeneralUserEdit.vue @@ -0,0 +1,758 @@ + + + + + \ No newline at end of file diff --git a/frontend/src/views/MAAUserEdit.vue b/frontend/src/views/MAAUserEdit.vue new file mode 100644 index 0000000..85bbbb1 --- /dev/null +++ b/frontend/src/views/MAAUserEdit.vue @@ -0,0 +1,1344 @@ + + + + + \ No newline at end of file diff --git a/frontend/src/views/UserEdit.vue b/frontend/src/views/UserEdit.vue index c0b8613..04273f6 100644 --- a/frontend/src/views/UserEdit.vue +++ b/frontend/src/views/UserEdit.vue @@ -1266,6 +1266,24 @@ const loadScriptInfo = async () => { scriptName.value = script.name scriptType.value = script.type // 设置脚本类型 + // 根据脚本类型重定向到对应的专用页面 + if (script.type === 'MAA') { + if (isEdit.value) { + router.replace(`/scripts/${scriptId}/users/${userId}/edit/maa`) + } else { + router.replace(`/scripts/${scriptId}/users/add/maa`) + } + return + } else if (script.type === 'General') { + if (isEdit.value) { + router.replace(`/scripts/${scriptId}/users/${userId}/edit/general`) + } else { + router.replace(`/scripts/${scriptId}/users/add/general`) + } + return + } + + // 如果脚本类型未知,继续使用原有逻辑(向后兼容) // 重新初始化表单数据(根据脚本类型) const defaultData = scriptType.value === 'MAA' ? getDefaultMAAUserData() : getDefaultGeneralUserData()