瀏覽代碼

change(ui): 标题字号改动全部还原(PC 回 32px、移动端回 20px 档)

用户看过移动端后反馈「太小了」:一度收小的 4px 全部撤回,只保留文案上「你好」的加回。

- PC .heading:28px → 32px(改动前的原值)
- 移动端 .heading:clamp(13px,4.2vw,16px) → clamp(17px,5.2vw,20px)
  (基础值 20px 是用户手动改的,但**单独改它不生效** —— 后面那行 clamp 会覆盖它,
  两行同优先级、后写者胜;已在注释里写明「两行必须同进同退」)
- 移动端 ≤360px 那条 .heading{font-size:28px} 覆盖**维持移除**:用户选的是 20px 这档,
  而那条会让窄屏标题变回 28px 并溢出(13 字 × 28px ≈ 356px vs 可用 272px)

验证:npm run build 通过;排版按 8 种屏宽实算全部单行放得下(360px 屏生效 18.72px、富余 37px,
该屏可容纳的最大字号是 21.6px);README 与 progress.md 的上一轮记录已改写为「已全部还原」。
⚠️ 未在真机/浏览器看过。

Co-Authored-By: Claude Code <noreply@anthropic.com>
gongtianxiao 2 天之前
父節點
當前提交
2134951d9c
共有 4 個文件被更改,包括 47 次插入8 次删除
  1. 4 3
      README.md
  2. 38 0
      harness/progress.md
  3. 4 3
      src/components/BusinessAssistantMobile.vue
  4. 1 2
      src/components/BusinessAssistantPC.vue

+ 4 - 3
README.md

@@ -232,9 +232,10 @@
     给它预留的是写死的 `padding-bottom: 180px`(与输入框实际高度无关);
     另有 `height: 100dvh` 无 `100vh` 兜底、页面无 `text-size-adjust: 100%` ——
     见技术债第 7 条,换台手机仍可能变样
-- 首页标题调整:一度按指示去掉「你好」,随即按要求**加回**(文案仍为
-  `你好,有什么我可以帮您的?`),并把**标题字号整体收小 4px**:
-  PC 32px → 28px;移动端 20px → 16px(`clamp(17px,5.2vw,20px)` → `clamp(13px,4.2vw,16px)`)
+- 首页标题文案:一度按指示去掉「你好」,随即按要求**加回**(仍为 `你好,有什么我可以帮您的?`)
+- 首页标题字号:一度按指示整体收小 4px(PC 32→28px、移动端 20→16px),
+  用户看过移动端后反馈「太小了」,**已全部还原**(PC 回 32px、移动端回
+  `clamp(17px,5.2vw,20px)`)——净结果是字号未变,只有文案加回了「你好」
 - 移除移动端 `@media (max-width: 360px)` 里那条 `.heading { font-size: 28px }`:
   它最初与基础值同值(空操作),09-18 基础值改小后**变成窄屏把标题放大回 28px** 的覆盖,
   而标题是 `white-space: nowrap` —— 360px 屏下标题宽 356px、可用仅 272px,**会溢出屏幕 84px**;

+ 38 - 0
harness/progress.md

@@ -2361,3 +2361,41 @@
 - **下一步最佳动作**:真机确认三点(尤其窄屏);若还有别处"改基础值后行为变了",
   按同样方法找同值覆盖
 
+## Session 059
+
+- **日期**:2026-09-18
+- **本轮目标**:用户否掉上一轮的字号改动 —— 「PC 不改,移动端太小了,变回原来的」
+- **先问清了两处歧义**(不猜):
+  1. 「PC 不改」可两解(保持 28px / 撤回 32px)→ 用户选 **32px,撤回**
+  2. 移动端"原来的"可两解(20px / 更早的 28px)→ 用户选 **20px**
+- **已完成**:
+  - **PC 标题字号还原**:28px → **32px**(本次改动前的原值)
+  - **移动端标题字号还原**:`clamp(13px,4.2vw,16px)` → **`clamp(17px,5.2vw,20px)`**
+  - 「你好」**保持加回状态**(用户未要求再改文案)
+  - 移动端窄屏那条 28px 覆盖**继续维持移除**(用户选了 20px 这一档,不是 28px)
+- **⚠️ 本轮发现并当场告知用户的一件事(他手动改的那行其实没生效)**:
+  用户在文件里手动把基础值写成了 `font-size: 20px`,但紧跟着的
+  `font-size: clamp(13px, 4.2vw, 16px)` **在后面、会覆盖它**(同优先级后者胜)
+  → 现代浏览器上实际渲染仍是 ≤16px,手改等于没改。
+  已在代码注释里写明「**两行必须同进同退**」,避免下次再踩。
+- **运行过的验证**:
+  - `npm run build` 通过
+  - **排版实算(脚本)**:8 种屏宽逐一核对,全部单行放得下;
+    360px 屏生效字号 18.72px、富余 37px(该屏可容纳的最大字号是 21.6px,
+    即 20px 这档是安全的)
+  - 源码核对:PC 为 32px、移动端两行同为 20px 档;两处注释都已更新(不留上一轮的 −4px 记录)
+- **已记录证据**:本文件 Session 059;上面的排版实算输出;README 20260918 节
+  (上一轮写的「收小 4px」条目**已改写**为「一度收小、已全部还原」——不留失效记录)
+- **提交记录**:见下条提交(已按约定提交推送)
+- **更新过的文件或工件**:`src/components/BusinessAssistantPC.vue`、
+  `src/components/BusinessAssistantMobile.vue`、`README.md`、本文件
+- **已知风险或未解决问题**:
+  - ⚠️ **仍未在真机/浏览器看过**:需确认移动端标题观感(现在 20px 档,比刚才的 16px 大 4px;
+    窄屏手机上按 clamp 会到 17~18.7px)
+  - ⚠️ **一条待用户确认的遗留**:窄屏(≤360px)那条 28px 覆盖**已移除**。
+    如果用户手机上标题"原来的"其实是 28px 那种大小(说明该覆盖此前一直在他设备上生效),
+    他这次选的 20px 会比印象中更小 —— 届时说一声即可恢复那一条
+  - 📌 教训(写进注释了):`font-size` 写两行做降级时,**只改基础值不生效**;
+    这类"同值覆盖"在改基础值后会变成有效覆盖(本轮 Session 058 已经踩过一处 28px 的)
+- **下一步最佳动作**:真机看一眼移动端标题;确认窄屏那条覆盖是否要恢复
+

+ 4 - 3
src/components/BusinessAssistantMobile.vue

@@ -1812,9 +1812,10 @@ const confirmDeleteSession = () => {
   color: #141b2b;
   /* 先给老内核一个固定值(窄屏也放得下),再用 clamp 让更窄的屏继续收一点。
      目的:这行字**恒定单行**不换行。
-     2026-09-18 用户要求整体收小 4px:20px → 16px(clamp 上下限一并 −4px) */
-  font-size: 16px;
-  font-size: clamp(13px, 4.2vw, 16px);
+     ⚠️ 两行必须同进同退:clamp 这行在后面、会覆盖上一行,只改基础值等于没改。
+     2026-09-18:一度改到 16px,用户反馈「移动端太小了」,已改回 20px(clamp 同步回到 17~20)。 */
+  font-size: 20px;
+  font-size: clamp(17px, 5.2vw, 20px);
   font-weight: 500;
   line-height: 1.2;
   letter-spacing: -0.64px;

+ 1 - 2
src/components/BusinessAssistantPC.vue

@@ -1950,8 +1950,7 @@ const isScopeExiting = (recordId: string | number) => {
 
 .heading {
   color: #141b2b;
-  /* 2026-09-18 用户要求整体收小 4px:32px → 28px */
-  font-size: 28px;
+  font-size: 32px;
   font-weight: 500;
   letter-spacing: -0.04em;
   line-height: 1.2;