From 2d7abbb4fffbd049fbbaad98a5a713d958ac21e0 Mon Sep 17 00:00:00 2001 From: dongzi Date: Thu, 4 Jun 2026 17:23:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CultureClockInController.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/ftb/src/main/java/ftb/test/controller/CultureClockInController.java b/ftb/src/main/java/ftb/test/controller/CultureClockInController.java index 354b0de..f2cdc5d 100644 --- a/ftb/src/main/java/ftb/test/controller/CultureClockInController.java +++ b/ftb/src/main/java/ftb/test/controller/CultureClockInController.java @@ -86,6 +86,28 @@ public class CultureClockInController { return ActionResult.success(new Base64ImageVo(pair.getLeft(), base64Img)); } + /** + * 打卡分享 - 获取随机图片[base64] + * @param lastCombo 上次组合 + * @param response HttpServletResponse + */ + @GetMapping(value = "/random-preview/create") + public ActionResult getRandomPicPreviewBase64(@RequestParam(value = "lastCombo", required = false) String lastCombo, HttpServletRequest request, HttpServletResponse response) throws Exception { + + MutablePair pair = cultureClockInService.getRandomPicPreview(lastCombo, requestUrl); + if (pair == null || pair.getRight() == null) { + throw new Exception("获取图片失败,请重试"); + } + byte[] bytes; + try (ByteArrayOutputStream output = new ByteArrayOutputStream()) { + ImageIO.write(pair.getRight(), "png", output); + bytes = output.toByteArray(); + } + String base64 = Base64.getEncoder().encodeToString(bytes); + String base64Img = "data:image/png;base64," + base64; + return ActionResult.success(new Base64ImageVo(pair.getLeft(), base64Img)); + } + /** * 打卡分享 - 打卡 * @param currentCombo 当前组合