feat: 本次提交更新内容如下
暂时构建完成,
This commit is contained in:
@@ -117,9 +117,9 @@ export const deleteDistributionRule = async (id: string): Promise<ApiResponse<an
|
|||||||
/**
|
/**
|
||||||
* 启动/暂停流量分发规则
|
* 启动/暂停流量分发规则
|
||||||
* @param id 规则ID
|
* @param id 规则ID
|
||||||
* @param status 状态:1-启动,2-暂停
|
* @param status 状态:1-启动,0-暂停
|
||||||
* @returns 操作结果
|
* @returns 操作结果
|
||||||
*/
|
*/
|
||||||
export const toggleDistributionRuleStatus = async (id: string, status: WorkbenchTaskStatus.RUNNING | WorkbenchTaskStatus.PAUSED): Promise<ApiResponse<any>> => {
|
export const toggleDistributionRuleStatus = async (id: string, status: 0 | 1): Promise<ApiResponse<any>> => {
|
||||||
return put<ApiResponse<any>>(`/v1/workbench/status/${id}`, { status });
|
return post<ApiResponse<any>>('/v1/workbench/update-status', { id, status });
|
||||||
};
|
};
|
||||||
@@ -89,23 +89,25 @@ export default function TrafficDistribution() {
|
|||||||
if (!rule) return;
|
if (!rule) return;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
setIsLoading(true);
|
|
||||||
const newStatus = rule.status === WorkbenchTaskStatus.RUNNING
|
// 根据当前状态决定新状态:1表示开启,0表示关闭
|
||||||
? WorkbenchTaskStatus.PAUSED
|
const newStatus = rule.status === WorkbenchTaskStatus.RUNNING ? 0 : 1;
|
||||||
: WorkbenchTaskStatus.RUNNING;
|
|
||||||
|
|
||||||
const response = await toggleDistributionRuleStatus(ruleId, newStatus);
|
const response = await toggleDistributionRuleStatus(ruleId, newStatus as 0 | 1);
|
||||||
|
|
||||||
if (response.code === 200) {
|
if (response.code === 200) {
|
||||||
|
// 更新本地状态:1对应RUNNING,0对应PAUSED
|
||||||
|
const updatedStatus = newStatus === 1 ? WorkbenchTaskStatus.RUNNING : WorkbenchTaskStatus.PAUSED;
|
||||||
|
|
||||||
setTasks(
|
setTasks(
|
||||||
tasks.map((task) =>
|
tasks.map((task) =>
|
||||||
task.id === ruleId ? { ...task, status: newStatus } : task
|
task.id === ruleId ? { ...task, status: updatedStatus } : task
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
toast({
|
toast({
|
||||||
title: newStatus === WorkbenchTaskStatus.RUNNING ? '已启动' : '已暂停',
|
title: newStatus === 1 ? '已启动' : '已暂停',
|
||||||
description: `${rule.name}规则${newStatus === WorkbenchTaskStatus.RUNNING ? '已启动' : '已暂停'}`,
|
description: `${rule.name}规则${newStatus === 1 ? '已启动' : '已暂停'}`,
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
toast({
|
toast({
|
||||||
@@ -121,9 +123,7 @@ export default function TrafficDistribution() {
|
|||||||
description: '操作失败,请稍后重试',
|
description: '操作失败,请稍后重试',
|
||||||
variant: 'destructive',
|
variant: 'destructive',
|
||||||
});
|
});
|
||||||
} finally {
|
}
|
||||||
setIsLoading(false);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleCreateNew = () => {
|
const handleCreateNew = () => {
|
||||||
@@ -316,7 +316,7 @@ export default function TrafficDistribution() {
|
|||||||
<Card key={rule.id} className="overflow-hidden">
|
<Card key={rule.id} className="overflow-hidden">
|
||||||
<div className="p-4">
|
<div className="p-4">
|
||||||
<div className="flex justify-between items-center">
|
<div className="flex justify-between items-center">
|
||||||
<h3 className="font-medium text-lg">流量分发</h3>
|
<h3 className="font-medium text-lg">{rule.name || '未命名计划'}</h3>
|
||||||
<div className="flex items-center space-x-2">
|
<div className="flex items-center space-x-2">
|
||||||
<Badge className={rule.status === WorkbenchTaskStatus.RUNNING ? "bg-blue-100 text-blue-800" : "bg-gray-100 text-gray-800"}>
|
<Badge className={rule.status === WorkbenchTaskStatus.RUNNING ? "bg-blue-100 text-blue-800" : "bg-gray-100 text-gray-800"}>
|
||||||
{getStatusText(rule.status)}
|
{getStatusText(rule.status)}
|
||||||
|
|||||||
Reference in New Issue
Block a user