Files
ele-HeiXiu/TODO.md
YoungestSongMo 952a723448 fix: 修复首页三栏布局拖拽溢出 — 分隔条最大宽度约束 + 视口缩小自动收窄
问题:切换视口大小或拖拽分隔条时,右侧预览面板甚至中右两栏被挤出视口。

  根因:flex 布局左/右列 flexShrink:0,拖拽无上限约束,视口缩小时不自动收窄,
  总宽度超出容器后 overflow:hidden 裁剪。

  修复(HomeContent.tsx):
  - 拖拽时计算 maxLeft / maxRight 动态上限,确保中列≥300px、三栏均在视口内
  - ResizeObserver 监听容器缩小,优先收右侧面板→不够再收左侧,拖拽中自动跳过
  - leftWidthRef / rightWidthRef / draggingRef 避免闭包读到过期值

  变更:CHANGELOG.md / TODO.md / WORKLOG.md 同步更新

  影响文件:3 个(+60 -3)
  - src/pages/home/HomeContent.tsx
  - CHANGELOG.md
  - TODO.md
2026-06-07 05:56:00 +08:00

3.4 KiB
Raw Blame History

TODO — 船长·HeiXiu 待办与优化清单

最后更新2026-06-07


🟡 功能待完善(优先级中)

设置页面

  • 设置数据通过 IPC 同步到主进程(当前仅渲染进程 localStorage
  • 存储路径有效性校验(检查路径是否存在)
  • "恢复默认设置"按钮

路由与页面

  • 合规素材库页面(/compliance-assets
  • 项目管理页面(/projects,企业版)
  • 账户/会员/充值/消费记录/订单明细页面
  • 忘记密码流程
  • 各页面暗色主题适配

导航栏

  • 移除调试用的 console.log
  • 导航配置中的 action: 'external' 统一管理(白名单校验)
  • 未登录点击需登录项 → 登录成功后自动跳转到目标页

公告

  • 公告已读/未读状态
  • 公告红点/角标提醒(有新公告时导航栏图标变化)
  • 公告缓存(减少重复请求)

🟢 工程优化(优先级低)

构建与开发

  • CI/CD 流水线GitHub Actions / 自建)
  • 代码签名自动化Windows Authenticode / macOS notarization
  • E2E 测试用例编写Playwright
  • 单元测试覆盖Vitest
  • Bundle 体积分析优化rollup-plugin-visualizer 已有,定期检查)

代码质量

  • 移除未使用的 shared/ 类型和常量
  • 统一 IPC 通道注册/注销模式(避免重复监听)
  • React 组件 lazy loadingReact.lazy + Suspense
  • 错误边界组件ErrorBoundary

文档

  • API 接口文档Swagger / 手动维护)
  • 组件文档Storybook
  • 用户操作手册

⚠️ 已知技术债务

问题 说明 影响
localStorage 依赖 所有持久化数据依赖 localStorage 清理浏览器数据会丢失所有配置
IPC 监听器 useUpdater 已改为单例,其他 IPC hook 可能也有类似问题 长期运行可能内存泄漏
主题切换状态重置 已修复 — 根因:设置页 navigate('/settings') 导致路由 /* 仅匹配 indexHomePage 被卸载重挂载。修复SettingsPage 改为事件总线驱动的 Modal 居中叠加,不走路由 用户体验差
三栏布局拖拽溢出 已修复 — 拖拽分隔条增加最大宽度约束(maxLeft = containerWidth - 36 - 300 - rightWidth+ 视口缩小 ResizeObserver 自动收窄 布局可用性
test.py 仓库根目录残留测试文件 无实际作用,应清理
null 文件 仓库根目录名为 null 的文件 构建产物或误操作残留

📋 下次开发计划

  1. 合规素材库页面(功能待完善 — 按 QT 原版设计,以 Modal/Drawer 叠加而非路由跳转实现)
  2. 各页面 nav 导航补齐(后续页面优先使用叠加模式,遵循 QT 多窗口模型 → 见 WORKLOG 2026-06-07
  3. leftWidth / rightWidth / taskPage 加 localStorage 持久化UX 优化:刷新页面后保持用户偏好)
  4. 轮播图关闭按钮状态优化(当前为 session 级别 useState可考虑加 localStorage 记录关闭时间戳,超过 N 天再显示)