From 2f87d79713897e3f9bdbe895fd5c4e95bc00ac44 Mon Sep 17 00:00:00 2001 From: AoXuan Date: Tue, 26 Aug 2025 14:58:40 +0800 Subject: [PATCH] =?UTF-8?q?feat(Scripts):=20=E5=AE=9E=E7=8E=B0=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=8A=B6=E6=80=81=E5=88=87=E6=8D=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/composables/useUserApi.ts | 4 ++-- frontend/src/views/Scripts.vue | 32 ++++++++++++++++++++++---- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/frontend/src/composables/useUserApi.ts b/frontend/src/composables/useUserApi.ts index 5362356..7ebe37a 100644 --- a/frontend/src/composables/useUserApi.ts +++ b/frontend/src/composables/useUserApi.ts @@ -62,7 +62,7 @@ export function useUserApi() { throw new Error(errorMsg) } - message.success(response.message || '用户更新成功') + // message.success(response.message || '用户更新成功') return true } catch (err) { const errorMsg = err instanceof Error ? err.message : '更新用户失败' @@ -127,7 +127,7 @@ export function useUserApi() { throw new Error(errorMsg) } - message.success(response.message || '用户删除成功') + // message.success(response.message || '用户删除成功') return true } catch (err) { const errorMsg = err instanceof Error ? err.message : '删除用户失败' diff --git a/frontend/src/views/Scripts.vue b/frontend/src/views/Scripts.vue index 15cf352..bc9b52e 100644 --- a/frontend/src/views/Scripts.vue +++ b/frontend/src/views/Scripts.vue @@ -205,11 +205,35 @@ const handleMAAConfig = (script: Script) => { message.info('MAA全局配置功能待实现') } -const handleToggleUserStatus = (user: User) => { - // TODO: 实现用户状态切换功能 - console.log('切换用户状态:', user) - message.info(`切换用户 ${user.Info.Name} 的状态功能待实现`) +const handleToggleUserStatus = async (user: User) => { + try { + // 找到该用户对应的脚本 + const script = scripts.value.find(s => s.users.some(u => u.id === user.id)) + if (!script) { + message.error('找不到对应的脚本') + return + } + const newStatus = !user.Info.Status + + // 调用 updateUser API + const result = await updateUser(script.id, user.id, { + Info: { + ...user.Info, + Status: newStatus, + }, + }) + + if (result) { + // 本地同步状态 + user.Info.Status = newStatus + // message.success(`用户 ${user.Info.Name} 已${newStatus ? '启用' : '禁用'}`) + } + } catch (error) { + console.error('切换用户状态失败:', error) + message.error('切换用户状态失败') + } } +