diff --git a/src/src/main/java/com/my/graphiteDigesterBg/api/ApiCamera.java b/src/src/main/java/com/my/graphiteDigesterBg/api/ApiCamera.java new file mode 100644 index 0000000..300740c --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/api/ApiCamera.java @@ -0,0 +1,21 @@ +package com.my.graphiteDigesterBg.api; +import com.my.graphiteDigesterBg.diframe.DiApiControllerBase; +import com.my.graphiteDigesterBg.diframe.DiApiResponse; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import java.nio.ByteBuffer; +import java.util.Base64; +import java.util.Map; +@Controller +public class ApiCamera extends DiApiControllerBase { + @ResponseBody + @PostMapping("/api/camera/image") + public DiApiResponse getImage() { +// ByteBuffer buffer = ByteBuffer.allocate(1024); +// byte[] bytes = buffer.array(); +// String base64Text = Base64.getEncoder().encodeToString(bytes); + String base64Data = "data:image/image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAUCAYAAACJfM0wAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAH8SURBVDiNtZM/aBNxFMc/791PLJihQ4QMFhJQ7ODgmIJDbxAEXQoJuAqSzOLSQ4c4lFAoOGSQdHEtpOBSQXDo4pChg2NBQQfBDBkyKLRw93sOl1KT3LVC4ne5433f+7w/x0GO2t39Tnu3d5jr7/YO2939Tp4vAK3X75avXosf+sTfOjNUFTx4fGahoqDg/bmvgX45/e3et55tjGTrzd4dleAjQmmi0hNC/B113zLJPq6AK6NMbmUMvCX3nQZBB5uCziOhpBp0HMZ6ZkLAc/yVIVg2QN0LhFKmbay73M7GIyQHmuppXk+AM/AnYnuCJvFFpEvlA4eTt8C9M3BRHLe9BL/m4apSMCjC+cSrhhxcvPnl+rtc50PlK/PjiUjfsBOMVaAEnCD0x2NVgSVggHAsyJKZVacZsxOb9DcbtbWoUQ9Vkw0A7/121KiHUaMeeu+3AVSTjahRDzcbtTVM+jPDtbu9ycsaMUJ//LwB3DQYifE57ctdgWXgK8YPBIdRRSa3nz1FmlBGJAYrpiEKiJTTdyuMM0uIODA3Dc08hcBR1KyvRM1aJTEJ05jsRM1aJWrWKoLsACQmYRqrrwgc/esp9jCLgVVEqhgDsA/jkgfpr2x94BgRh/F4eupZ8IKkAqP/wB2qGd3Fc62rp4PiS7AtYLgA4tDDq9Of11t/AC8CsohkwY6rAAAAAElFTkSuQmCC"; + return this.success(Map.of("data",base64Data)); + } +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/api/ApiDigestionPreset.java b/src/src/main/java/com/my/graphiteDigesterBg/api/ApiDigestionPreset.java new file mode 100644 index 0000000..d7b29fd --- /dev/null +++ b/src/src/main/java/com/my/graphiteDigesterBg/api/ApiDigestionPreset.java @@ -0,0 +1,45 @@ +package com.my.graphiteDigesterBg.api; +import com.my.graphiteDigesterBg.diframe.DiActiveRecord; +import com.my.graphiteDigesterBg.diframe.DiActiveRecordCriteria; +import com.my.graphiteDigesterBg.diframe.DiApiControllerBase; +import com.my.graphiteDigesterBg.diframe.DiApiResponse; +import com.my.graphiteDigesterBg.model.MdbDigestionTask; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.ResponseBody; +import java.util.Map; +@Controller +public class ApiDigestionPreset extends DiApiControllerBase { + @ResponseBody + @PostMapping("/api/digestion-preset/save") + public DiApiResponse save( @RequestBody Map params ) { + Integer id = (Integer)params.get("id"); + Map data = (Map)params.get("data"); + + MdbDigestionTask preset = new MdbDigestionTask(); + if ( id != null ) { + preset = DiActiveRecord.findOne(MdbDigestionTask.class, id); + } + preset.setAttributes(data); + preset.save(); + return this.success(); + } + + @ResponseBody + @PostMapping("/api/digestion-preset/list") + public DiApiResponse list() { + var criteria = new DiActiveRecordCriteria(); + var list = DiActiveRecord.find(MdbDigestionTask.class, criteria); + return this.success(list); + } + + @ResponseBody + @PostMapping("/api/digestion-preset/delete") + public DiApiResponse delete( @RequestBody Map params ) { + Integer id = (Integer)params.get("id"); + MdbDigestionTask preset = DiActiveRecord.findOne(MdbDigestionTask.class, id); + preset.delete(); + return this.success(); + } +} diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/mapper/DiActiveRecordMapper.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/mapper/DiActiveRecordMapper.java index 3e27035..c0aa6ae 100644 --- a/src/src/main/java/com/my/graphiteDigesterBg/diframe/mapper/DiActiveRecordMapper.java +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/mapper/DiActiveRecordMapper.java @@ -12,8 +12,9 @@ public interface DiActiveRecordMapper { "" + "WHERE " + "${key} = #{value}" + - "" + - "LIMIT #{limit}" + + " " + + "ORDER BY id DESC " + + "LIMIT #{limit} " + "" ) List> find(DiActiveRecordCriteria criteria); diff --git a/src/web/src/assets/img/camera-demo.png b/src/web/src/assets/img/camera-demo.png new file mode 100644 index 0000000..bd09b67 Binary files /dev/null and b/src/web/src/assets/img/camera-demo.png differ diff --git a/src/web/src/pages/main/contents/Operation.vue b/src/web/src/pages/main/contents/Operation.vue index 86e88a4..7e1a893 100644 --- a/src/web/src/pages/main/contents/Operation.vue +++ b/src/web/src/pages/main/contents/Operation.vue @@ -3,17 +3,7 @@ @@ -70,7 +60,11 @@