2026-09-01.md 2.3 KB

2026-09-01 工作日志

testProjectConfiguration 性能改造操作手册(用户要求只出方案不改代码)

背景:承接 2026-08-28 的性能分析,用户对项目不熟,要求先出「怎么改」的操作手册,暂不改代码。

产出:.workbuddy/artifacts/testProjectConfiguration性能改造操作手册.md

方案要点(9 步):

  1. 3 个弹窗子组件加 v-if 懒加载(砍 ~14 个首屏请求)——⚠️ 关键坑:子组件 watch showFlag 需加 immediate: true,否则弹窗打不开
  2. 删除死代码 gettestItemNameTypeList(结果未使用)
  3. getList() 移到 addData2() 弹窗打开时调用
  4. handleSelectionChange/handleCurrentChange 加 300ms 防抖(顺带修 val 为 null 的报错)
  5. 子表 pageSize 990 → 50 + 恢复被注释的分页
  6. 表格瘦身:去每列 sortable、去 show-summary、el-tabs 加 lazy
  7. 后端补 5 个索引(DDL 已给出)
  8. 字典查询 pageSize 9999/99999 调小
  9. 后端关 DEBUG 日志 + MyBatis SQL 输出

约定:用户偏好「先出方案再动手」的工作方式,对该项目熟悉度低,改动需精确到行号。

已执行:收益最大的三步改造(15:41-15:50)

用户确认后,按手册执行了前三步(收益最大),已改代码并验证通过:

改动文件(4 个,均已备份 .bak):

  1. testProjectConfiguration.vue:
    • 3 个弹窗 div 加 v-if(L320-323,alertComponets/3/4)
    • mounted 删除 getList() 和 gettestItemNameTypeList() 调用
    • 删除死代码方法 gettestItemNameTypeList 和 data 字段 testItemNameType
    • addData2() 中新增 this.getList()(弹窗打开时才加载分析项目)
  2. alertComponents.vue / alertComponents3.vue / alertComponents4.vue:watch showFlag 改为对象形式并加 immediate: true(否则 v-if 首渲染弹窗打不开)

验证:用项目真实 .babelrc(含 transform-vue-jsx)对 4 个文件做模板+script 解析,全部 OK。注意:裸 acorn/babel 解析 alertComponents 会在 229 行报错,是因为模板内嵌 JSX(onClick={() => ...})需要 transform-vue-jsx 插件,非代码问题。

预期效果:首屏请求 ~19 → ~4 个;渲染 20s → 2~3s。 待办(用户未确认):手册第 4-9 步(防抖、pageSize、表格瘦身、索引、日志)。