From 3e255c1288b02be260fd31c7399da7f72a973260 Mon Sep 17 00:00:00 2001 From: smallclover <18363998103@163.com> Date: Sat, 4 Oct 2025 17:13:00 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=89=8B=E6=9C=BA?= =?UTF-8?q?=E7=BD=91=E9=A1=B5iframe=E7=9A=84=E8=A7=86=E9=A2=91=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E8=B6=85=E5=87=BA=E5=AE=B9=E5=99=A8=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend_nuxt/assets/global.css | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/frontend_nuxt/assets/global.css b/frontend_nuxt/assets/global.css index f46edefbf..fb12189e0 100644 --- a/frontend_nuxt/assets/global.css +++ b/frontend_nuxt/assets/global.css @@ -341,6 +341,16 @@ body { .info-content-text pre { line-height: 1.5; } + + /*处理iframe视频标签*/ + .info-content-text iframe { + width: 100%; + max-width: 100%; + height: auto; + aspect-ratio: 16 / 9; /* 保持 16:9 比例 */ + border: none; + display: block; + } .d2h-file-name { font-size: 14px !important; From da0d26c8b57062cf2cf5f1d15be53271d95bff12 Mon Sep 17 00:00:00 2001 From: Tim <135014430+nagisa77@users.noreply.github.com> Date: Sun, 5 Oct 2025 17:21:45 +0800 Subject: [PATCH 2/2] Ensure pinned comments stay at top of post timeline --- .../controller/CommentController.java | 30 +++++++++++++++++-- .../com/openisle/dto/TimelineItemDto.java | 1 + 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/backend/src/main/java/com/openisle/controller/CommentController.java b/backend/src/main/java/com/openisle/controller/CommentController.java index d8fbe17ea..5de15888d 100644 --- a/backend/src/main/java/com/openisle/controller/CommentController.java +++ b/backend/src/main/java/com/openisle/controller/CommentController.java @@ -15,6 +15,7 @@ import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Comparator; import java.util.List; @@ -131,6 +132,7 @@ public class CommentController { c.getId(), "comment", c.getCreatedAt(), + c.getPinnedAt(), c // payload 是 CommentDto ) ) @@ -145,17 +147,39 @@ public class CommentController { l.getId(), "log", l.getTime(), // 注意字段名不一样 + null, l // payload 是 PostChangeLogDto ) ) .toList() ); // 排序 - Comparator> comparator = Comparator.comparing(TimelineItemDto::getCreatedAt); + Comparator> pinnedOrderComparator = (a, b) -> { + LocalDateTime aPinned = a.getPinnedAt(); + LocalDateTime bPinned = b.getPinnedAt(); + if (aPinned == null && bPinned == null) { + return 0; + } + if (aPinned == null) { + return 1; + } + if (bPinned == null) { + return -1; + } + return bPinned.compareTo(aPinned); + }; + + Comparator> comparator = Comparator., Boolean>comparing( + item -> item.getPinnedAt() == null + ).thenComparing(pinnedOrderComparator); + + Comparator> createdAtComparator = Comparator.comparing( + TimelineItemDto::getCreatedAt + ); if (CommentSort.NEWEST.equals(sort)) { - comparator = comparator.reversed(); + createdAtComparator = createdAtComparator.reversed(); } - itemDtoList.sort(comparator); + itemDtoList.sort(comparator.thenComparing(createdAtComparator)); log.debug("listComments returning {} comments", itemDtoList.size()); return itemDtoList; } diff --git a/backend/src/main/java/com/openisle/dto/TimelineItemDto.java b/backend/src/main/java/com/openisle/dto/TimelineItemDto.java index d492e3181..52daaf5fa 100644 --- a/backend/src/main/java/com/openisle/dto/TimelineItemDto.java +++ b/backend/src/main/java/com/openisle/dto/TimelineItemDto.java @@ -15,5 +15,6 @@ public class TimelineItemDto { private Long id; private String kind; // "comment" | "log" private LocalDateTime createdAt; + private LocalDateTime pinnedAt; private T payload; // 泛型,具体类型由外部决定 }