1
0

feat: 部分具有正确错误的状态固定颜色

This commit is contained in:
2025-09-07 11:07:03 +08:00
parent 610dc3578f
commit 24909bae24

View File

@@ -26,6 +26,10 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("constants")
public class CommonOptionsController {
public static final String COLOR_PRIMARY = "bg-primary";
public static final String COLOR_SUCCESS = "bg-success";
public static final String COLOR_WARNING = "bg-yellow-800";
public static final String COLOR_ERROR = "bg-danger";
private static final List<String> COLORS = List.of(
"bg-black",
"bg-primary",
@@ -124,19 +128,22 @@ public class CommonOptionsController {
field
));
case "task_status" -> GlobalResponse.responseSuccess(buildMapping(
Arrays.stream(Task.Status.values())
.map(status -> new Mapping(status.name(), status.getChineseName()))
.toList(),
List.of(
new Mapping(Task.Status.RUNNING.name(), Task.Status.RUNNING.getChineseName(), COLOR_PRIMARY),
new Mapping(Task.Status.SUCCESS.name(), Task.Status.SUCCESS.getChineseName(), COLOR_SUCCESS),
new Mapping(Task.Status.FAILURE.name(), Task.Status.FAILURE.getChineseName(), COLOR_ERROR),
new Mapping(Task.Status.CANCELED.name(), Task.Status.CANCELED.getChineseName(), COLOR_WARNING)
),
field
));
case "trigger_status" -> GlobalResponse.responseSuccess(buildMapping(
List.of(
new Mapping(Trigger.TriggerState.NONE.name(), ""),
new Mapping(Trigger.TriggerState.NORMAL.name(), "正常"),
new Mapping(Trigger.TriggerState.PAUSED.name(), "暂停"),
new Mapping(Trigger.TriggerState.COMPLETE.name(), "完成"),
new Mapping(Trigger.TriggerState.ERROR.name(), "错误"),
new Mapping(Trigger.TriggerState.BLOCKED.name(), "阻塞")
new Mapping(Trigger.TriggerState.NORMAL.name(), "正常", COLOR_PRIMARY),
new Mapping(Trigger.TriggerState.PAUSED.name(), "暂停", COLOR_WARNING),
new Mapping(Trigger.TriggerState.COMPLETE.name(), "完成", COLOR_SUCCESS),
new Mapping(Trigger.TriggerState.ERROR.name(), "错误", COLOR_ERROR),
new Mapping(Trigger.TriggerState.BLOCKED.name(), "阻塞", COLOR_WARNING)
),
field
));
@@ -148,8 +155,7 @@ public class CommonOptionsController {
var map = mappings
.stream()
.collect(Collectors.toMap(Mapping::name, mapping -> {
var color = COLORS.get(Math.abs(mapping.name.hashCode()) % COLORS.size());
return "<span class='label %s'>%s</span>".formatted(color, mapping.label());
return "<span class='label %s'>%s</span>".formatted(mapping.color(), mapping.label());
}));
map.put("*", "<span class='label bg-gray-300'>%s</span>".formatted(field));
return map;
@@ -158,6 +164,9 @@ public class CommonOptionsController {
public record Option(String label, Object value) {
}
public record Mapping(String name, String label) {
public record Mapping(String name, String label, String color) {
public Mapping(String name, String label) {
this(name, label, COLORS.get(Math.abs(name.hashCode()) % COLORS.size()));
}
}
}