From 306ed4c413462882b48be7f20ab50e3025a9f8cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=AC=94=E8=AE=B0=E6=9C=AC=E9=87=8C=E7=9A=84=E6=B0=B8?= =?UTF-8?q?=E5=B9=B3?= Date: Thu, 10 Jul 2025 12:09:27 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9C=AC=E6=AC=A1=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=86=85=E5=AE=B9=E5=A6=82=E4=B8=8B=20?= =?UTF-8?q?=E6=9A=82=E6=97=B6=E6=9E=84=E5=BB=BA=E5=AE=8C=E6=88=90=EF=BC=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nkebao/src/api/trafficDistribution.ts | 6 ++--- .../TrafficDistribution.tsx | 24 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/nkebao/src/api/trafficDistribution.ts b/nkebao/src/api/trafficDistribution.ts index 3514e70e..06c986c6 100644 --- a/nkebao/src/api/trafficDistribution.ts +++ b/nkebao/src/api/trafficDistribution.ts @@ -117,9 +117,9 @@ export const deleteDistributionRule = async (id: string): Promise> => { - return put>(`/v1/workbench/status/${id}`, { status }); +export const toggleDistributionRuleStatus = async (id: string, status: 0 | 1): Promise> => { + return post>('/v1/workbench/update-status', { id, status }); }; \ No newline at end of file diff --git a/nkebao/src/pages/workspace/traffic-distribution/TrafficDistribution.tsx b/nkebao/src/pages/workspace/traffic-distribution/TrafficDistribution.tsx index b3a9716d..816e673d 100644 --- a/nkebao/src/pages/workspace/traffic-distribution/TrafficDistribution.tsx +++ b/nkebao/src/pages/workspace/traffic-distribution/TrafficDistribution.tsx @@ -89,23 +89,25 @@ export default function TrafficDistribution() { if (!rule) return; try { - setIsLoading(true); - const newStatus = rule.status === WorkbenchTaskStatus.RUNNING - ? WorkbenchTaskStatus.PAUSED - : WorkbenchTaskStatus.RUNNING; + + // 根据当前状态决定新状态:1表示开启,0表示关闭 + const newStatus = rule.status === WorkbenchTaskStatus.RUNNING ? 0 : 1; - const response = await toggleDistributionRuleStatus(ruleId, newStatus); + const response = await toggleDistributionRuleStatus(ruleId, newStatus as 0 | 1); if (response.code === 200) { + // 更新本地状态:1对应RUNNING,0对应PAUSED + const updatedStatus = newStatus === 1 ? WorkbenchTaskStatus.RUNNING : WorkbenchTaskStatus.PAUSED; + setTasks( tasks.map((task) => - task.id === ruleId ? { ...task, status: newStatus } : task + task.id === ruleId ? { ...task, status: updatedStatus } : task ) ); toast({ - title: newStatus === WorkbenchTaskStatus.RUNNING ? '已启动' : '已暂停', - description: `${rule.name}规则${newStatus === WorkbenchTaskStatus.RUNNING ? '已启动' : '已暂停'}`, + title: newStatus === 1 ? '已启动' : '已暂停', + description: `${rule.name}规则${newStatus === 1 ? '已启动' : '已暂停'}`, }); } else { toast({ @@ -121,9 +123,7 @@ export default function TrafficDistribution() { description: '操作失败,请稍后重试', variant: 'destructive', }); - } finally { - setIsLoading(false); - } + } }; const handleCreateNew = () => { @@ -316,7 +316,7 @@ export default function TrafficDistribution() {
-

流量分发

+

{rule.name || '未命名计划'}

{getStatusText(rule.status)}