From 82484298e4287cb4eea5975fbaa8506e6daf5108 Mon Sep 17 00:00:00 2001 From: laoyang Date: Tue, 3 Nov 2026 08:34:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=87=E9=A2=98=E4=BD=8D=E7=BD=AE=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=EF=BC=9A=E9=A1=B6=E6=A0=8F=E5=8D=B3=E3=80=8CXX?= =?UTF-8?q?=E5=8F=8D=E9=A6=88=E7=B3=BB=E7=BB=9F=E3=80=8D=EF=BC=8C=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E5=8C=BA=E5=8F=AA=E7=95=99=E5=9B=BE=E6=A0=87+?= =?UTF-8?q?=E8=BD=AF=E4=BB=B6=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 用户指出三处问题: 1. 最上面标题应显示「同步日历反馈系统」,而不是光秃秃的「同步日历」 2. 内容区那个重复的「同步日历反馈系统」不要再要了, 那里只要「图标 + 同步日历」 3. 内容区下面多了一个裸露的 ?> 字符 4. 图标和标题文字都要再大一点 改动: - 顶栏改为 fb_software_badge(sw, brand, fb_software_site_title(sw)) 图标 56px、文字 26px,成为页面唯一主标题 - 删除内容区的 h1.page-h1-sw(重复标题) - 内容区改为 badge(lg):图标 40px + 文字 30px - 清除 index.php 里多余的 ?> (上次编辑留下的残渣) - badge 新增 brand 尺寸档与 参数,可覆盖显示文字 - 顶栏高度 72->84px 容纳更大的图标;窄屏仍有降级 验证:顶栏 title/文字正确、已无 page-h1-sw、 无裸露 ?>、内容区只显示「同步日历」、5 处图标全走 media.php 且均为有效 PNG、三个软件页与全部路由 200。 --- assets/style.css | 27 ++++++++++++++++++++------- index.php | 12 +++++------- lib/bootstrap.php | 2 +- lib/layout.php | 11 ++++++----- lib/util.php | 22 +++++++++++++--------- new.php | 2 +- 6 files changed, 46 insertions(+), 30 deletions(-) diff --git a/assets/style.css b/assets/style.css index b44bcba..5c717e4 100644 --- a/assets/style.css +++ b/assets/style.css @@ -32,9 +32,17 @@ p{margin:8px 0} -webkit-backdrop-filter:saturate(180%) blur(14px); border-bottom:1px solid var(--line); } -.topbar .wrap{display:flex; align-items:center; gap:14px; height:64px} +.topbar .wrap{display:flex; align-items:center; gap:14px; height:72px} .topbar .brand-mini{display:flex; align-items:center; gap:10px; font-weight:700; font-size:17px; color:var(--fg); min-width:0} .topbar .brand-mini:hover{text-decoration:none; color:var(--fg)} +/* 顶栏里的软件标识:图标与「XX 反馈系统」一起放大,成为页面主标题 */ +.topbar .brand-mini .sw-badge{gap:11px} +.topbar .brand-mini .sw-badge-nm{font-size:22px; font-weight:700} +@media (max-width:560px){ + .topbar .wrap{height:62px} + .topbar .brand-mini .sw-badge-nm{font-size:17px} + .topbar .brand-mini .sw-badge-img{width:32px !important; height:32px !important} +} .topbar .brand-text{overflow:hidden; text-overflow:ellipsis; white-space:nowrap} .topbar .logo-mark{ width:30px; height:30px; flex:none; display:block; border-radius:8px; @@ -130,12 +138,17 @@ main.wrap{padding-top:24px; padding-bottom:40px; min-height:60vh} font-weight:600; font-size:14px; color:var(--fg); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } -.sw-badge-sm .sw-badge-nm{font-size:13.5px} -.sw-badge-lg .sw-badge-nm{font-size:26px} -/* 页头大标题:就是纯文字,不要 h1 的默认行高干扰 */ -.page-h1-sw{margin:0; font-size:inherit; line-height:1.3} -/* 页头副行:图标 + 软件名,紧跟在「XX 反馈系统」下面 */ -.page-sw-id{margin-top:8px; display:flex; align-items:center} +.sw-badge-sm .sw-badge-nm{font-size:14px} +.sw-badge-md .sw-badge-nm{font-size:17px} +.sw-badge-lg .sw-badge-nm{font-size:28px; font-weight:700} +/* 顶栏主标题:图标 + 「XX 反馈系统」,要明显大于正文 */ +.sw-badge-brand .sw-badge-nm{font-size:22px; font-weight:700; letter-spacing:.2px} +@media (max-width:560px){ + /* 窄屏收一点,避免把「全部问题 / 管理后台」挤掉 */ + .sw-badge-brand .sw-badge-nm{font-size:18px} +} +/* 页头副行:图标 + 软件名 */ +.page-sw-id{margin:0; display:flex; align-items:center} /* 提交页顶部的软件上下文条:同样无背景色,只留一行轻分隔 */ .sw-context{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; diff --git a/index.php b/index.php index 25e8c59..9fa7792 100644 --- a/index.php +++ b/index.php @@ -86,19 +86,17 @@ fb_layout_head($sw ? fb_software_site_title($sw) : $headTitle, ['software' => $s
- -

- -

全部问题

- -
+ +
+ +

全部问题

- ?>

diff --git a/lib/bootstrap.php b/lib/bootstrap.php index 9f11211..bda417b 100644 --- a/lib/bootstrap.php +++ b/lib/bootstrap.php @@ -8,7 +8,7 @@ if (!defined('FB_ROOT')) { define('FB_ROOT', dirname(__DIR__)); // 静态资源版本号:改 assets/ 下的 css/js 后把这个数字 +1, // 让浏览器与 CDN 缓存失效。全站只此一处,别再往页面里写死数字。 - if (!defined('FB_ASSET_V')) { define('FB_ASSET_V', 20); } + if (!defined('FB_ASSET_V')) { define('FB_ASSET_V', 21); } } /* ------------------------------------------------------------------ diff --git a/lib/layout.php b/lib/layout.php index d49cd23..567e6c1 100644 --- a/lib/layout.php +++ b/lib/layout.php @@ -52,14 +52,15 @@ function fb_layout_head($title, array $opt = []) {
- - + + diff --git a/lib/util.php b/lib/util.php index 18ea4bf..21a9439 100644 --- a/lib/util.php +++ b/lib/util.php @@ -326,19 +326,23 @@ function fb_software_icon($software) { * 🔴 不要背景色:图标本身就是一张图/一个 emoji,再垫一个色块反而糊在一起。 * 直接「图标 + 文字」并排,识别度最高(用户 2026-11-03 明确要求)。 * - * @param array $sw 软件行 - * @param string $size 'sm' | 'md' | 'lg' + * @param array $sw 软件行 + * @param string $size 'sm' | 'md' | 'lg' | 'brand'(brand = 顶栏主标题) + * @param string $label 覆盖显示文字(默认=软件名)。顶栏用它传「XX 反馈系统」。 */ -function fb_software_badge($software, $size = 'md') { +function fb_software_badge($software, $size = 'md', $label = '') { if (!is_array($software) || empty($software['name'])) { return ''; } $icon = fb_software_icon($software); - $name = (string)$software['name']; + $name = $label !== '' ? (string)$label : (string)$software['name']; - /* md 用于页头副行,要跟上方 26px 的标题文字视觉匹配,所以比 sm 明显大一档; - * lg 只在大标题位置用(现在标题是纯文字,暂时没用到,留着备用)。 */ - $px = ['sm' => 18, 'md' => 28, 'lg' => 40]; - $fs = ['sm' => 14, 'md' => 19, 'lg' => 30]; - $box = isset($px[$size]) ? $px[$size] : 28; + /* 尺寸档位: + * sm 软件选择器里的小标签 + * md 一般位置 + * lg 内容区「图标 + 软件名」 + * brand 顶栏主标题,要显著大于正文,图标与「XX 反馈系统」一起放大 */ + $px = ['sm' => 18, 'md' => 26, 'lg' => 38, 'brand' => 46]; + $fs = ['sm' => 14, 'md' => 19, 'lg' => 28, 'brand' => 32]; + $box = isset($px[$size]) ? $px[$size] : 26; $fnt = isset($fs[$size]) ? $fs[$size] : 19; /* 有上传的图标图片就用图片(管理员自己传的 logo),没有才用字符。 diff --git a/new.php b/new.php index 547ebbc..8b4c2b5 100644 --- a/new.php +++ b/new.php @@ -146,7 +146,7 @@ fb_layout_head('我要反馈', ['robots' => 'noindex,follow', 'software' => $sw]

我要反馈

- 你正在为这个软件提交反馈
+ 你正在为「」提交反馈

请描述你遇到的问题或想要的功能。提交后会先进入审核,确认为有效问题后才会公开显示;若经确认不是应用的问题,我们会把结论与说明通过邮件发送给你(请填写常用邮箱)。