新增: - ForgotPasswordModal — 手机号+短信验证码重置密码 (AuthAPI.resetPassword) - ChangePasswordModal — 当前密码验证后修改密码 (AuthAPI.changePassword) - useSmsCooldown Hook — 通用短信发送冷却逻辑,供注册/忘记密码复用 - PasswordSetting — 设置页账号安全区块,双选项:修改密码 / 短信验证码重置 修改: - LoginForm \"忘记密码?\" 链接接入 ForgotPasswordModal(替换 TODO) - LoginPage 移除 edition 业务版本 UI 区分,登录/注册 Tab 全局统一 - 设置页 Section 组件移入 blocks/ 子目录(git mv 保留历史) - auth.ts sendSms URL 修正: /sms/send → /send-sms 清理: - settings/index.ts 移除 4 个未使用 re-export,精简为仅 SettingsPage - navbar/index.ts 移除未使用 re-export,精简为仅 NavBar 文档: - WORKLOG.md 新增 2026-06-08 工作日志 - ARCHITECTURE.md / PROJECT.md 更新设置页目录结构与新组件 - TODO.md 忘记密码流程标记已完成 + 短信人机验证列入后期优化
3.7 KiB
3.7 KiB
TODO — 船长·HeiXiu 待办与优化清单
最后更新:2026-06-08
🟡 功能待完善(优先级中)
设置页面
- 设置数据通过 IPC 同步到主进程(当前仅渲染进程 localStorage)
- 存储路径有效性校验(检查路径是否存在)
- "恢复默认设置"按钮
路由与页面
- 合规素材库页面(
/compliance-assets) - 项目管理页面(
/projects,企业版) - 账户/会员/充值/消费记录/订单明细页面
- 各页面暗色主题适配
导航栏
- 导航配置中的
action: 'external'统一管理(白名单校验) - 未登录点击需登录项 → 登录成功后自动跳转到目标页
公告
- 公告已读/未读状态
- 公告红点/角标提醒(有新公告时导航栏图标变化)
- 公告缓存(减少重复请求)
🟢 工程优化(优先级低)
构建与开发
- CI/CD 流水线(GitHub Actions / 自建)
- 代码签名自动化(Windows Authenticode / macOS notarization)
- E2E 测试用例编写(Playwright)
- 单元测试覆盖(Vitest)
- Bundle 体积分析优化(rollup-plugin-visualizer 已有,定期检查)
代码质量
- 移除未使用的
shared/类型和常量 - 统一 IPC 通道注册/注销模式(避免重复监听)
- React 组件 lazy loading(React.lazy + Suspense)
- 错误边界组件(ErrorBoundary)
文档
- API 接口文档(Swagger / 手动维护)
- 组件文档(Storybook)
- 用户操作手册
⚠️ 已知技术债务
| 问题 | 说明 | 影响 |
|---|---|---|
| localStorage 依赖 | 所有持久化数据依赖 localStorage | 清理浏览器数据会丢失所有配置 |
| IPC 监听器 | useUpdater 已改为单例,其他 IPC hook 可能也有类似问题 | 长期运行可能内存泄漏 |
test.py |
仓库根目录残留测试文件 | 无实际作用,应清理 |
null 文件 |
仓库根目录名为 null 的文件 | 构建产物或误操作残留 |
📋 下次开发计划
- 合规素材库页面(功能待完善 — 按 QT 原版设计,以 Modal/Drawer 叠加而非路由跳转实现)
- 各页面 nav 导航补齐(后续页面优先使用叠加模式,遵循 QT 多窗口模型 → 见 WORKLOG 2026-06-07)
- leftWidth / rightWidth / taskPage 加 localStorage 持久化(UX 优化:刷新页面后保持用户偏好;已通过路由去路由化解决组件卸载问题,但 localStorage 持久层仍未实现)
- 轮播图关闭按钮 localStorage 持久化(关闭按钮已实现,待做:localStorage 记录关闭时间戳,超过 N 天再显示)
- 短信发送接入人机验证(后期优化,需后端配合:
sendSms接口增加captcha_token参数 + 前端滑块/图形验证组件。当前仅靠 60s 冷却按钮 + 后端限流,桌面端 ASAR 可解包 + DevTools 网络面板 + 代理抓包均能直接暴露 API,纯前端限制对脚本攻击无效)