Files
workutils/docs/audit/plugin-refactor-next.md
T
2026-07-30 22:06:04 +08:00

2.9 KiB

插件 UI 与代码重构后续事项

更新时间:2026-07-30

已完成

  • 建立统一异步状态、任务控制器、线程池、Loading 按钮绑定和状态面板。
  • Scanner、MyBatis SQL 导出接入统一异步流程。
  • 提取通用空状态、导出历史和历史文件操作组件。
  • API 文档导出拆分请求、状态、用例和历史逻辑;本地调试代理改为显式选项且默认关闭。
  • Git 同步完成 URL 脱敏、搜索过滤、请求与用例拆分。
  • 文本对比提取 DiffEngine,耗时操作移出 UI 线程。
  • MyBatis 逆向工程完成数据源脱敏、查询与生成独立状态、不可变请求及重置配置。

明日待办(按优先级)

P0:生成输出目录与结果反馈

  • 提取 OutputLayoutPolicy,由项目根目录统一推导 Model、XML Mapper 和 Mapper 接口目录。
  • 生成前展示将创建、覆盖和跳过的文件摘要。
  • 生成完成后展示文件清单,并提供打开目录、复制路径操作。
  • 明确目录不可写、文件冲突和部分生成失败时的恢复策略。
  • 为路径推导、覆盖策略和生成结果编写单元测试。

P1:手机 UI 自动化拆分

  • 将 MobileUiAutomationWindow 拆为运行用例、录制用例、环境与设备三个页面。
  • 引入独立的 RunState、RecordState 和对应 ViewModel。
  • 将截图轮询封装为可关闭的 ScreenshotStream,绑定到页面生命周期。
  • 分离运行、停止、录制和生成操作,禁止依赖按钮文字判断状态。
  • 优先补状态迁移和生命周期测试,再迁移 UI。

P2:系统设置结构化

  • 将设置按“常规、项目与数据源、插件、外观”分类。
  • 用带校验的表单替代主要依赖外部编辑器修改配置文件。
  • 敏感字段统一显示/隐藏,并确保列表和摘要只接触脱敏 DTO。
  • 增加保存成功、校验失败和恢复默认的明确反馈。

P3:公共基础能力收尾

  • 评估并提取统一 NotificationCenter,避免各窗口自行弹窗。
  • 为 Scanner、SQL 导出补充结构化进度 DTO;仅在底层支持真实中断时显示停止操作。
  • 统一生成/导出插件的空状态、结果摘要、打开目录和复制路径交互。
  • 补充键盘访问、焦点顺序、屏幕阅读器语义和颜色对比专项检查。

暂缓:Git 评审

  • 按当前决定暂不重构 Git 评审。
  • 后续如恢复,应单独立项,不与手机 UI 自动化或其他高风险窗口同时修改。

继续实施约束

  • 每次只推进一个优先级阶段,先写请求、状态和用例测试,再迁移 UI。
  • Window 不直接承载 Git、SQL、HTTP、进程命令或文件遍历。
  • 每个操作使用独立状态,禁止用共享 running 锁住无关按钮。
  • 跨线程数据使用不可变 DTO;敏感信息不得进入 UI 状态或日志。
  • 每阶段完成后运行全量测试、编译、git diff --check 和只读 UI 验收。