From 9a00972be413d7ef5d056be2a07a94d59eaa635c Mon Sep 17 00:00:00 2001 From: xfy Date: Thu, 25 Jun 2026 18:11:35 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E5=8C=96=E5=B7=A5=E5=85=B7=E7=A0=B4=E5=9D=8F=E7=9A=84=E5=8D=95?= =?UTF-8?q?=E8=A1=8C=20if/else=20=E4=B8=8E=E9=97=AD=E5=8C=85=E8=AF=AD?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 格式化工具在展开单行语句时引入了 5 处语法错误,导致 dx serve 无法编译: - comments.rs / trash.rs:on_select 的 `if checked { insert } else { remove }` 丢失 else 分支,变为悬空语句 + 括号不匹配。 - trash.rs(3 处):`web_sys::window().and_then(|w| {...}).unwrap_or(false) {` 展开闭包体时漏掉闭合 `)`,吞掉了 if 块的开括号。 - write.rs:封面图 `if cv.contains('?') {...} else {...}` 丢失 else, 多出一个 `}`,导致 src 块括号失衡。 均还原为正确的多行 if/else 结构。验证:dx check 通过、cargo test 405 passed。 --- src/pages/admin/comments.rs | 2 +- src/pages/admin/trash.rs | 24 +++++++++++------------- src/pages/admin/write.rs | 3 +-- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/src/pages/admin/comments.rs b/src/pages/admin/comments.rs index 63063ad..0e232b8 100644 --- a/src/pages/admin/comments.rs +++ b/src/pages/admin/comments.rs @@ -287,7 +287,7 @@ pub fn AdminCommentsPage(page: i32) -> Element { let mut s = selected_ids(); if checked { s.insert(id); - } + } else { s.remove(&id); } selected_ids.set(s); diff --git a/src/pages/admin/trash.rs b/src/pages/admin/trash.rs index f509cc3..f65560f 100644 --- a/src/pages/admin/trash.rs +++ b/src/pages/admin/trash.rs @@ -340,12 +340,11 @@ pub fn TrashPage(page: i32) -> Element { { if web_sys::window() .and_then(|w| { - w - .confirm_with_message( - "确定要彻底删除选中的文章吗?此操作不可恢复。", - ) - .ok() - } + w.confirm_with_message( + "确定要彻底删除选中的文章吗?此操作不可恢复。", + ) + .ok() + }) .unwrap_or(false) { let ids: Vec = selected_ids().iter().copied().collect(); @@ -436,7 +435,7 @@ pub fn TrashPage(page: i32) -> Element { let mut s = selected_ids(); if checked { s.insert(id); - } + } else { s.remove(&id); } selected_ids.set(s); @@ -489,12 +488,11 @@ pub fn TrashPage(page: i32) -> Element { { if web_sys::window() .and_then(|w| { - w - .confirm_with_message( - "确定要清空回收站吗?所有已删除文章将被彻底移除,此操作不可恢复。", - ) - .ok() - } + w.confirm_with_message( + "确定要清空回收站吗?所有已删除文章将被彻底移除,此操作不可恢复。", + ) + .ok() + }) .unwrap_or(false) { spawn(async move { diff --git a/src/pages/admin/write.rs b/src/pages/admin/write.rs index 6fffb28..65b958f 100644 --- a/src/pages/admin/write.rs +++ b/src/pages/admin/write.rs @@ -549,8 +549,7 @@ fn write_editor(post_id: Option) -> Element { let base = cv.split('?').next().unwrap_or(&cv); if cv.contains('?') { format!("{}&w=600", base) - } - } + } else { format!("{}?w=600", base) } } else {