From 73c92c0735ea9df25f4db816993de908da093df5 Mon Sep 17 00:00:00 2001 From: liuwei Date: Mon, 20 Apr 2026 11:53:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=8F=9C=E5=8D=95=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E9=A3=8E=E6=A0=BC=E4=B8=BA=E7=BA=B5=E5=90=91=E7=B4=A7?= =?UTF-8?q?=E5=87=91=E5=B8=83=E5=B1=80=E5=B9=B6=E5=A2=9E=E5=BC=BA=E8=A7=86?= =?UTF-8?q?=E8=A7=89=E5=B1=82=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/robot_menu/menu_render_tool.py | 45 +++++++++++++++++--------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/plugins/robot_menu/menu_render_tool.py b/plugins/robot_menu/menu_render_tool.py index f814d05..87674dc 100644 --- a/plugins/robot_menu/menu_render_tool.py +++ b/plugins/robot_menu/menu_render_tool.py @@ -141,9 +141,14 @@ class RobotMenuRenderTool: for feature in Feature: title, _ = self._split_feature_description(feature.description) command_examples = self._get_feature_command_examples(feature) + # 为纵向卡片增加轻量色彩分组,提升视觉节奏感,避免纯白卡片过于单调。 + try: + tone_idx = int(feature.value) % 4 + except Exception: + tone_idx = 0 feature_cards.append( f""" -
+
{feature.value}
@@ -170,19 +175,18 @@ class RobotMenuRenderTool: --line: #d8e4ef; --text: #1f2d3d; --muted: #5e748a; - --brand: #0d6efd; - --brand-soft: #e7f1ff; - --ok: #1f9d5a; - --ok-soft: #e9f8f0; - --off: #c53d3d; - --off-soft: #fdecec; + --brand: #0f5fb7; + --brand-soft: #eaf3ff; }} * {{ box-sizing: border-box; }} body {{ margin: 0; padding: 14px; font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", sans-serif; - background: linear-gradient(180deg, #eef4fa 0%, #f8fbff 100%); + background: + radial-gradient(circle at 10% 10%, rgba(15,95,183,0.08), transparent 32%), + radial-gradient(circle at 90% 0%, rgba(31,126,255,0.10), transparent 30%), + linear-gradient(180deg, #eef4fa 0%, #f8fbff 100%); color: var(--text); }} .page {{ @@ -196,7 +200,9 @@ class RobotMenuRenderTool: }} .hero {{ padding: 14px 16px 12px 16px; - background: linear-gradient(135deg, #0d6efd 0%, #0aa2c0 100%); + background: + linear-gradient(130deg, rgba(255,255,255,0.12), rgba(255,255,255,0) 45%), + linear-gradient(135deg, #0f5fb7 0%, #2f8cff 55%, #3ca1ff 100%); color: #fff; }} .hero h1 {{ margin: 0 0 4px 0; font-size: 22px; }} @@ -217,21 +223,28 @@ class RobotMenuRenderTool: line-height: 1.5; font-size: 12px; }} - .feature-list {{ display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }} + /* 纵向单列流式布局:避免双列模式下因内容长度差异产生空白洞。 */ + .feature-list {{ display: flex; flex-direction: column; gap: 8px; }} .feature-card {{ - border: 1px solid var(--line); + border: 1px solid #d6e4f3; + border-left-width: 4px; border-radius: 10px; padding: 8px 10px; - background: #fff; + background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%); + box-shadow: 0 4px 10px rgba(16, 64, 125, 0.05); }} + .feature-card.tone-0 {{ border-left-color: #2f8cff; }} + .feature-card.tone-1 {{ border-left-color: #10b981; }} + .feature-card.tone-2 {{ border-left-color: #f59e0b; }} + .feature-card.tone-3 {{ border-left-color: #ef4444; }} .feature-top {{ display: flex; align-items: center; gap: 8px; }} .feature-index {{ min-width: 28px; text-align: center; font-weight: 700; - color: #114a84; + color: #0f5fb7; background: var(--brand-soft); - border: 1px solid #cfe2ff; + border: 1px solid #cfe1fb; border-radius: 6px; padding: 2px 4px; font-size: 11px; @@ -243,8 +256,8 @@ class RobotMenuRenderTool: margin-top: 6px; padding: 6px 8px; border-radius: 7px; - background: #f8fbff; - border: 1px dashed #d7e6f5; + background: #f7fbff; + border: 1px dashed #d2e4f7; }} .feature-body p {{ margin: 0; font-size: 11px; color: #3d5870; line-height: 1.5; }} .line-main {{ color: #1f3f62; }}