diff --git a/leopard-server/src/main/java/com/lanyuanxiaoyao/leopard/server/controller/CommonOptionsController.java b/leopard-server/src/main/java/com/lanyuanxiaoyao/leopard/server/controller/CommonOptionsController.java index f37db98..1b7720b 100644 --- a/leopard-server/src/main/java/com/lanyuanxiaoyao/leopard/server/controller/CommonOptionsController.java +++ b/leopard-server/src/main/java/com/lanyuanxiaoyao/leopard/server/controller/CommonOptionsController.java @@ -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 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 "%s".formatted(color, mapping.label()); + return "%s".formatted(mapping.color(), mapping.label()); })); map.put("*", "%s".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())); + } } }