From 12108f169a40320821435bdba510550fa9208f3d Mon Sep 17 00:00:00 2001 From: sige Date: Fri, 26 Jul 2024 15:50:53 +0800 Subject: [PATCH] 1 --- src/main/java/a8k/hardware/controler/Controler.java | 4 ++++ src/main/java/a8k/utils/HardwareParamFile.java | 12 ++++++++++++ src/main/java/a8k/utils/HardwareServiceAction.java | 1 + src/main/resources/static/test/index.html | 2 +- 4 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 src/main/java/a8k/utils/HardwareParamFile.java diff --git a/src/main/java/a8k/hardware/controler/Controler.java b/src/main/java/a8k/hardware/controler/Controler.java index ba0c283..e4adb4e 100644 --- a/src/main/java/a8k/hardware/controler/Controler.java +++ b/src/main/java/a8k/hardware/controler/Controler.java @@ -185,6 +185,7 @@ public class Controler { action.put("key", method.getName()); action.put("name", actionAnnotation.name()); action.put("group", actionAnnotation.group()); + action.put("groupOrder", actionAnnotation.groupOrder()); action.put("order", actionAnnotation.order()); action.put("newline", actionAnnotation.newline()); @@ -256,6 +257,9 @@ public class Controler { var methodValueOf = parameter.getType().getMethod("valueOf", String.class); var value = methodValueOf.invoke(null, actionParams.get(i)); actionParams.set(i, value); + } else if ( parameter.getType().equals(HardwareParamFile.class) ) { + String value = (String) actionParams.get(i); + actionParams.set(i, HardwareParamFile.fromBase64(value)); } } diff --git a/src/main/java/a8k/utils/HardwareParamFile.java b/src/main/java/a8k/utils/HardwareParamFile.java new file mode 100644 index 0000000..4f444c5 --- /dev/null +++ b/src/main/java/a8k/utils/HardwareParamFile.java @@ -0,0 +1,12 @@ +package a8k.utils; +import java.util.Base64; +public class HardwareParamFile { + private byte[] bytes; + + public static HardwareParamFile fromBase64( String base64 ) { + Base64.Decoder decoder = Base64.getDecoder(); + var file = new HardwareParamFile(); + file.bytes = decoder.decode( base64 ); + return file; + } +} diff --git a/src/main/java/a8k/utils/HardwareServiceAction.java b/src/main/java/a8k/utils/HardwareServiceAction.java index 479a7e6..11f4a4a 100644 --- a/src/main/java/a8k/utils/HardwareServiceAction.java +++ b/src/main/java/a8k/utils/HardwareServiceAction.java @@ -8,6 +8,7 @@ import java.lang.annotation.Target; public @interface HardwareServiceAction { String name(); String group() default ""; + int groupOrder() default 0; int order() default 0; boolean newline() default false; String beforeExecute() default ""; diff --git a/src/main/resources/static/test/index.html b/src/main/resources/static/test/index.html index 9df142d..f7e9aaf 100644 --- a/src/main/resources/static/test/index.html +++ b/src/main/resources/static/test/index.html @@ -1 +1 @@ -a8k_webui
\ No newline at end of file +a8k_webui
\ No newline at end of file