fix: P2+P3审计修复 - 响应式增强与导航配置统一 #139

Closed
xiaoxia wants to merge 1 commits from fix/sprint1-3-p2-p3-audit-fixes into develop
Owner

修改内容

P2 修复(3个文件)

  • EditingPlanner.css: 补充 768px/480px 响应式断点
  • GeneratePage.tsx: 硬编码颜色替换为 CSS 变量
  • products.css: 已有完整断点,无需修改

P3 修复(7个文件)

  • history.css: 从1个断点扩展到3个(1024px/768px/480px),修复 #fff 硬编码为 var(--text-inverse)
  • Plans.css: 替换旧式 var(--slate, #0f172a) 等为标准 V21 变量,补充 480px 断点
  • Billing.css: 替换旧式 fallback 为标准变量,补充 480px 断点
  • UpgradeSubscription.css: 替换旧式 fallback 为标准变量,补充 480px 断点
  • config/navigation.ts: 新建统一导航配置文件(NAV_ITEMS + NAV_GROUPS)
  • Header.tsx: 移除本地导航定义,改为从 config/navigation.ts 导入
  • Sidebar.tsx: 移除本地导航定义,改为从 config/navigation.ts 导入

统计

  • 9 files changed, 443 insertions(+), 210 deletions(-)
  • 新增 1 个文件: config/navigation.ts
## 修改内容 ### P2 修复(3个文件) - **EditingPlanner.css**: 补充 768px/480px 响应式断点 - **GeneratePage.tsx**: 硬编码颜色替换为 CSS 变量 - **products.css**: 已有完整断点,无需修改 ### P3 修复(7个文件) - **history.css**: 从1个断点扩展到3个(1024px/768px/480px),修复 #fff 硬编码为 var(--text-inverse) - **Plans.css**: 替换旧式 `var(--slate, #0f172a)` 等为标准 V21 变量,补充 480px 断点 - **Billing.css**: 替换旧式 fallback 为标准变量,补充 480px 断点 - **UpgradeSubscription.css**: 替换旧式 fallback 为标准变量,补充 480px 断点 - **config/navigation.ts**: 新建统一导航配置文件(NAV_ITEMS + NAV_GROUPS) - **Header.tsx**: 移除本地导航定义,改为从 config/navigation.ts 导入 - **Sidebar.tsx**: 移除本地导航定义,改为从 config/navigation.ts 导入 ## 统计 - 9 files changed, 443 insertions(+), 210 deletions(-) - 新增 1 个文件: config/navigation.ts
Author
Owner

⚠️ 代码审计:需修改后合并

结论:核心改动(导航统一 + 响应式增强)质量很高,但与 PR #138 存在文件冲突,需要处理后才能合并。


审查范围(9 文件,+443/-210)

模块 文件 评价
导航统一 config/navigation.ts(新建) 优秀,NAV_ITEMS + NAV_GROUPS 统一数据源
导航统一 Header.tsx 删除 65 行本地定义,改为导入 NAV_ITEMS
导航统一 Sidebar.tsx 删除 85 行本地定义,改为导入 NAV_GROUPS
响应式增强 EditingPlanner.css 补充 768px/480px 断点
响应式增强 history.css 从 1 个断点扩展到 3 个,修复 #fff 硬编码
硬编码修复 GeneratePage.tsx 1 处颜色修复
冲突 Billing.css 与 PR #138 冲突
冲突 Plans.css 与 PR #138 冲突
冲突 UpgradeSubscription.css 与 PR #138 冲突

🔴 关键问题:与 PR #138 文件冲突

PR #138(P1 修复)已修改了以下 3 个文件的 CSS 变量:

  • Billing.css — 全面重写,所有旧式 var(--slate, #0f172a) 已替换为 var(--text-primary)
  • Plans.css — 同上
  • UpgradeSubscription.css — 同上

本 PR #139 也试图对这些文件做相同的变量替换(var(--slate, ...)var(--text-primary) 等),但由于 #138 已经做了这些替换,导致:

  1. Git 合并冲突(当前 mergeable=false)
  2. 重复工作 — 即使冲突解决,这些文件的改动也是冗余的

解决方案:

  1. 先合并 PR #138(已审查通过)
  2. 本 PR 移除 3 个冲突文件的 CSS 变更(Billing.css、Plans.css、UpgradeSubscription.css),因为这些改动已被 #138 覆盖
  3. 仅保留本 PR 独有的改动:
    • config/navigation.ts(新建)
    • Header.tsx(导航导入)
    • Sidebar.tsx(导航导入)
    • EditingPlanner.css(响应式断点)
    • history.css(响应式 + #fff 修复)
    • GeneratePage.tsx(硬编码颜色修复)
  4. rebase 到最新 develop 后重新提交

🟡 建议项

P3-1:.xx-spinner 样式在 Billing.css 和 UpgradeSubscription.css 中重复定义

  • 建议后续提取到 components/ui/Spinner.cssstyles/common.css

P3-2:Plans.css 中 var(--shadow-card) 替换了原来的 0 24px 70px rgba(15, 23, 42, 0.09)

  • 阴影差异可能影响视觉效果,建议合并后视觉走查确认

总结

导航统一是重要的架构改进(消除 Header/Sidebar 重复定义),响应式断点补充也很扎实。核心问题只是与 #138 的合并顺序,处理后可以合并。

建议合并顺序:先 #138 → 再 rebase #139 移除冲突文件 → 合并 #139

## ⚠️ 代码审计:需修改后合并 **结论:核心改动(导航统一 + 响应式增强)质量很高,但与 PR #138 存在文件冲突,需要处理后才能合并。** --- ### 审查范围(9 文件,+443/-210) | 模块 | 文件 | 评价 | |------|------|------| | 导航统一 | config/navigation.ts(新建) | ✅ 优秀,NAV_ITEMS + NAV_GROUPS 统一数据源 | | 导航统一 | Header.tsx | ✅ 删除 65 行本地定义,改为导入 NAV_ITEMS | | 导航统一 | Sidebar.tsx | ✅ 删除 85 行本地定义,改为导入 NAV_GROUPS | | 响应式增强 | EditingPlanner.css | ✅ 补充 768px/480px 断点 | | 响应式增强 | history.css | ✅ 从 1 个断点扩展到 3 个,修复 #fff 硬编码 | | 硬编码修复 | GeneratePage.tsx | ✅ 1 处颜色修复 | | ⛔ 冲突 | Billing.css | 与 PR #138 冲突 | | ⛔ 冲突 | Plans.css | 与 PR #138 冲突 | | ⛔ 冲突 | UpgradeSubscription.css | 与 PR #138 冲突 | --- ### 🔴 关键问题:与 PR #138 文件冲突 PR #138(P1 修复)已修改了以下 3 个文件的 CSS 变量: - `Billing.css` — 全面重写,所有旧式 `var(--slate, #0f172a)` 已替换为 `var(--text-primary)` - `Plans.css` — 同上 - `UpgradeSubscription.css` — 同上 本 PR #139 也试图对这些文件做相同的变量替换(`var(--slate, ...)` → `var(--text-primary)` 等),但由于 #138 已经做了这些替换,导致: 1. **Git 合并冲突**(当前 mergeable=false) 2. **重复工作** — 即使冲突解决,这些文件的改动也是冗余的 **解决方案:** 1. **先合并 PR #138**(已审查通过) 2. **本 PR 移除 3 个冲突文件的 CSS 变更**(Billing.css、Plans.css、UpgradeSubscription.css),因为这些改动已被 #138 覆盖 3. 仅保留本 PR 独有的改动: - ✅ `config/navigation.ts`(新建) - ✅ `Header.tsx`(导航导入) - ✅ `Sidebar.tsx`(导航导入) - ✅ `EditingPlanner.css`(响应式断点) - ✅ `history.css`(响应式 + #fff 修复) - ✅ `GeneratePage.tsx`(硬编码颜色修复) 4. rebase 到最新 develop 后重新提交 ### 🟡 建议项 **P3-1:`.xx-spinner` 样式在 Billing.css 和 UpgradeSubscription.css 中重复定义** - 建议后续提取到 `components/ui/Spinner.css` 或 `styles/common.css` **P3-2:Plans.css 中 `var(--shadow-card)` 替换了原来的 `0 24px 70px rgba(15, 23, 42, 0.09)`** - 阴影差异可能影响视觉效果,建议合并后视觉走查确认 --- ### 总结 导航统一是重要的架构改进(消除 Header/Sidebar 重复定义),响应式断点补充也很扎实。核心问题只是与 #138 的合并顺序,处理后可以合并。 **建议合并顺序:先 #138 → 再 rebase #139 移除冲突文件 → 合并 #139**
xiaoxia force-pushed fix/sprint1-3-p2-p3-audit-fixes from d48c508ba5 to 8081a90e4d 2026-07-01 11:00:21 +08:00 Compare
xiaoxia closed this pull request 2026-07-01 11:00:52 +08:00
Some checks are pending
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 193h54m3s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 193h54m13s

Pull request closed

Sign in to join this conversation.