execution-log.md 78 KB

执行日志 — 应用内低代码搭建器

基线

时间 范围 命令/检查 结果 警告、跳过与服务清理
2026-07-21 HARD-GATE 与后端契约静态核查 阅读应用 options 更新、快照/恢复代码与前端 API passed AiBusinessApplication.options 已存在;应用恢复会写回 options;发布版本快照服务会记录应用/入口 options。未启动服务、未调用真实 API。
2026-07-21 变更前工作区 git branch --show-currentgit status --short passed 当前为 feature-lowcode-1.1.0,不是 master;工作区已有用户 .DS_Store、环境文件、工具目录、输出与 lockfile 变更,均不触碰。

增量验证

后续每次验证在本表追加命令、结果、警告、跳过项和本轮启动/停止的服务。

时间 范围 命令/检查 结果 警告、跳过与服务清理
2026-07-21 Task 1 Red pnpm --dir forge-admin-ui test src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js failed-as-expected 测试无法解析尚不存在的 in-app-builder-schema 模块,证明用例先于实现执行;未启动服务。
2026-07-21 Task 1 Green 同上 passed 1 test file、4 tests 全部通过;未启动服务。
2026-07-21 Task 1 lint pnpm --dir forge-admin-ui exec eslint src/views/app-center/in-app-builder/in-app-builder-schema.js src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js passed 首次发现 style/quote-propsstyle/arrow-parens 共 8 项并用 apply_patch 修复;最终 0 error、0 warning;未启动服务。
2026-07-21 Task 2 pnpm --dir forge-admin-ui test src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js passed options 合并用例加入后共 5 tests 通过;未启动服务。
2026-07-21 Task 2-3 lint pnpm --dir forge-admin-ui exec eslint …(运行壳、工作台头、路由、Schema、测试) passed 初次运行壳仅有格式错误,已使用 ESLint --fix 机械格式化;最终 0 error、0 warning。
2026-07-21 Task 2-3 build pnpm --dir forge-admin-ui build passed Vite 生产构建 8694 modules、3m25s;保留仓库既有动态导入与 CSS 注释告警,未启动开发服务。
2026-07-21 Task 7-8 实现 更新运行壳与应用编排 Schema completed-static 组件入口移至页面树下方并改为 Popover;组件新增图标槽位、拖动手柄、八向缩放锚点和 frame 持久化;右侧仅在选中组件时显示。未修改后端、Flyway 或全局菜单。
2026-07-21 Task 7-8 lint pnpm --dir forge-admin-ui exec eslint --fix … 后再次执行 ESLint passed 初检发现拖拽上下文声明顺序与格式问题;修正后 0 error、0 warning。未启动服务。
2026-07-21 Task 7-8 unit pnpm --dir forge-admin-ui test src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js passed 1 test file、5 tests passed;覆盖既有应用编排 Schema 与 options 合并基线。
2026-07-21 Task 7-8 build pnpm --dir forge-admin-ui build passed Vite 生产构建完成并更新 forge-admin-ui/dist;仅见仓库既有 UserSelectModal 自动组件命名冲突提示,未启动开发服务。
2026-07-21 Task 7-8 浏览器验收 未执行 pending 未启动 Vite/浏览器;待人工确认 Popover 贴边定位、拖动、八向缩放和保存后回显。
2026-07-21 Task 7-8 复用改造 运行页直接嵌入 ListPageGridDesigner,并为其增加 embedded 模式 completed-static 删除应用页自写拖拽/缩放/右侧属性逻辑;嵌入模式隐藏列表设计器自身组件库、工具栏、视口控制和网格辅助线,仅在选中区块时显示原有属性面板。
2026-07-21 Task 7-8 lint/unit ESLint 与 in-app-builder-schema.spec.js passed ESLint 0 error、0 warning;1 test file、6 tests passed,新增应用 gridLayout 持久化回归用例。
2026-07-21 Task 7-8 build pnpm --dir forge-admin-ui build incomplete Vite 输出停在 transforming 后被当前执行会话终止,dist 未生成完整产物;不能视为构建通过。需由本地终端补跑完整构建。
2026-07-22 Task 7-8 交互收敛 应用页由嵌入列表设计器改为最终页面流 completed-static 组件目录直接复用 listPageBlockCatalog,区块渲染复用 GridBlockRenderer;只保留组件拖入、排序手柄和选中边框。移除中间网格、自由拖拽、缩放锚点、设计器工具栏和右侧属性壳。未启动服务。
2026-07-22 Task 7-8 lint source ~/.nvm/nvm.sh && nvm use v20.20.0 && pnpm --dir forge-admin-ui exec eslint … passed 目标 Vue、列表设计器、Schema 与单测均为 0 error、0 warning。项目记忆中的 Node 20.19.0 未安装,使用当前可用的 20.20.0。
2026-07-22 Task 7-8 unit source ~/.nvm/nvm.sh && nvm use v20.20.0 && pnpm --dir forge-admin-ui test src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js passed 1 test file、6 tests passed;未启动服务。
2026-07-22 Task 7-8 build source ~/.nvm/nvm.sh && nvm use v20.20.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui build passed Vite 生产构建 8720 modules、2m21s;保留仓库既有 UserSelectModal 自动组件命名冲突、动态导入和 CSS 注释告警。未启动 Vite 或业务服务。
2026-07-22 Task 7-8 交互与默认尺寸收敛 对齐列表设计器的覆盖层视觉,并将应用页保持为页面流 completed-static 复用同款拖拽手柄、选中边框、拖拽占位和更多操作入口;页面流只保留复制、排序、置顶/置底、删除,省略无页面流语义的图层前后移。默认宽度按组件目录宽度收敛,渲染高度改为内容自适应。
2026-07-22 Task 7-8 回归 ESLint、定向 Vitest 与生产构建 passed ESLint 0 error、0 warning;in-app-builder-schema.spec.js 6 tests passed;生产构建 8720 modules、2m12s。保留仓库既有 Vite 警告;未启动 Vite 或业务服务。
2026-07-22 Task 7-8、6、10 交互收敛 页面流拖拽原位占位/双胞胎阴影、同款八向锚点和更多操作;空页推荐;草稿预览与发布跳转 completed-static 拖拽仍是页面流排序,不重新引入网格背景或完整列表设计器工作台;更多操作沿用列表设计器命名,页面流中的前后层映射为相邻顺序调整。草稿预览会先复用应用保存接口持久化;未启动服务。
2026-07-22 Task 7-8、6、10 回归 source ~/.nvm/nvm.sh && nvm use v20.20.0 && pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue';定向 Vitest;NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui buildgit diff --check passed ESLint 0 error、0 warning;Schema 1 文件 6 用例通过;Vite 生产构建 8720 modules、1m46s;仅有仓库既有 UserSelectModal、动态导入及 CSS 注释告警。未启动 Vite 或业务服务。
2026-07-22 Task 9 首批实现 新建业务数据页时选择对象并仅保存对象引用 completed-static 创建页会校验对象选择并写入 objectId/objectCode/pageKey=list;随后仍通过既有对象设计器深链配置列表、表单、规则与流程,未复制对象 Schema。
2026-07-22 Task 9 静态回归 source ~/.nvm/nvm.sh && nvm use v20.20.0 && pnpm --dir forge-admin-ui exec eslint --fix 'src/views/app-center/application-runtime.[applicationCode].vue';定向 Vitest;git diff --check passed ESLint 自动修正 1 处多行条件表达式格式;最终 0 error、0 warning;Schema 6 用例通过;未启动服务。生产构建将在本轮最后一次运行壳改动后重新执行。
2026-07-22 Task 9 生产构建 source ~/.nvm/nvm.sh && nvm use v20.20.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui build passed Vite 生产构建 8720 modules、2m17s。保留仓库既有 UserSelectModal 自动组件命名冲突、动态导入与 CSS 注释告警;未启动 Vite 或业务服务。
2026-07-22 Task 5 页面树操作 在运行壳接入页面树更多菜单与确认弹窗 completed-static 复用既有编排 Schema 的创建、移动与删除纯函数;不新增应用导航的第二套数据模型。删除有子项的页面组必须显式选择子项删除或移动策略。
2026-07-22 Task 5 验证尝试 source ~/.nvm/nvm.sh && nvm use v20.20.0 && pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' blocked 命令启动后立即被执行环境以退出码 137 终止、无命令输出;未启动 Vite 或业务服务。此前 Task 9 的生产构建仍为最近一次有效构建,不能替代本次页面树改动验证。
2026-07-22 Task 6 页面模板 新增轻量页面模板目录并接入新建页面弹窗 completed-static 模板仅引用 page-titleinfo-panelstats-stripAiCrudPage 等已注册区块,通过当前应用 gridLayout 写入;空白页继续使用组件推荐。未新增对象字段、表单或流程 Schema。
2026-07-22 Task 9 深链回流 对象页拆分列表、表单、详情与流程配置入口 completed-static 入口全部指向既有对象设计器路由,携带 objectId、目标面板、详情标签和 returnTo。应用配置仍只保存 objectRef,不复制字段、表单、规则或流程 JSON。验证待终端资源恢复。
2026-07-22 Task 10 草稿体验 退出未保存确认、草稿预览标识和发布跳转 completed-static 预览前沿用既有应用更新接口保存草稿;预览路由以 draft=1 明确标识。放弃修改只从当前已保存 application.options 恢复前端模型,不写入 LocalStorage。验证待终端资源恢复。
2026-07-22 组件页面交互收敛 自由拖动、真实高度调整、右侧轻量配置、可移动组件入口与侧栏布局修正 completed-static 中间保持最终页面展示且无网格背景;区块坐标、宽高存入当前应用 gridLayout.items[].props.style。更多菜单新增配置入口,右侧面板只编辑轻量页面属性。命令环境仍因退出码 137 无法复跑验证。
2026-07-22 组件拖拽反馈与入口布局收敛 原位条纹双胞胎阴影、落点交换、灰底居中新建、画布左下角可移动添加组件 completed-static 组件自由移动期间禁用自身命中以识别底层目标,释放到其他组件会交换位置;添加组件入口从侧栏移至当前页面内容区左下角,带加号图标且位置可拖动。命令环境仍因退出码 137 无法复跑验证。
2026-07-22 拖拽落点与侧栏重构 以区块矩形交集确定交换目标;灰色定位影子;应用垂直侧栏结构 completed-static 不再依赖 elementFromPoint,按移动区块与其他区块的最大实际重叠面积交换坐标;删除重复的斜纹层,只保留灰色虚线定位影子;侧栏按标题栏、滚动页面列表和新建节点三个层级重排。命令环境仍因退出码 137 无法复跑验证。
2026-07-22 实时交换与手柄收敛 拖动进入区块即实时置换;横向六点手柄按需显示 completed-static 在指针移动阶段用虚拟移动矩形计算最大重叠目标,目标区块立即移至已释放的位置,松手不再负责首次交换;手柄改为 CSS 绘制的完整横向六点,仅在区块 hover 或选中时显示。命令环境仍因退出码 137 无法复跑验证。
2026-07-22 侧栏操作与新建交互 图标化更多操作、图标编辑/复制/移动、紧邻新建 Popover completed-static 页面菜单更多操作补充重命名、更改图标、复制、移动至以及排序/删除,并为每项提供图标;主新建入口改为紧邻按钮的 Popover,不再打开居中 Modal。命令环境仍因退出码 137 无法复跑验证。
2026-07-22 图标与动效收敛 复用 IconSelector、统一菜单 Icon、区块位置缓动 completed-static 更改图标操作改用项目现成 IconSelector,菜单图标改用 Naive NIcon 与 Ionicons;区块自身跟手时关闭位置过渡,其他被实时置换的区块对 left/top/width/height 使用缓动动画。命令环境仍因退出码 137 无法复跑验证。
2026-07-22 图标即时写入与拖动帧同步 选中菜单灰黑主题、图标立即回写、rAF 位置调度 completed-static 更改图标的值变化会立即写入当前导航节点并由 IconRenderer 回显;拖动坐标更新按 animation frame 合并,目标区块位置动画延长至 260ms,减少连续鼠标事件造成的跳位。命令环境仍因退出码 137 无法复跑验证。
2026-07-22 直接图标浮层与 FLIP 交换动画 去除图标外层 Modal;强制目标区块位移动画 completed-static 选择图标操作直接打开左侧图标选择浮层,IconSelector 写入的值由计算属性立即同步至菜单节点;实时交换前后记录目标矩形并通过 Web Animations FLIP 过渡动画移动目标区块。右侧完整属性面板待从列表设计器提取为可复用组件后接入。命令环境仍因退出码 137 无法复跑验证。
2026-07-22 列表设计器交互复用重构启动 停止运行壳仿制拖拽;切换到共享实现路线 in_progress 用户要求零差异交互,后续不再追加运行壳专属拖拽补丁,改为复用列表设计器同一移动/落点/属性面板实现。图标选择绑定同步调整为组件默认 v-model 协议。终端命令仍以退出码 137 终止,尚不能读取和验证提取边界。
2026-07-22 图标选择直接触发 自动打开 IconSelector 自带选择弹层 completed-static 点击更改图标后在 next tick 直接触发 IconSelector 的原生按钮,移除二次点击;选择回写后关闭外层定位容器。命令环境仍因退出码 137 无法复跑验证。
2026-07-22 中间组件镜像拖拽与实时换位 拖动源只移动独立镜像;目标悬停即腾位;松手一次性提交位置 completed-static 拖动期间真实组件保留为单层灰色虚线定位占位,GridBlockRenderer 镜像跟随指针;命中其他组件时该组件立即移动到源组件原槽位,并以 FLIP 动画过渡;离开目标会恢复其原槽位。未改后端、Flyway 或全局菜单。
2026-07-22 中间组件镜像拖拽验证 pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue'git diff --check -- 'forge-admin-ui/src/views/app-center/application-runtime.[applicationCode].vue'pnpm --dir forge-admin-ui build passed ESLint 与 diff 检查 0 error、0 warning;Vite 生产构建 8721 modules、3m21s。保留仓库既有 UserSelectModal 命名冲突、动态导入与 CSS 注释告警;未启动 Vite 或业务服务,浏览器拖拽验收仍待执行。
2026-07-22 动态拖拽阴影 将灰色定位影子从源区块移至拖拽预览层下方 completed-static 阴影与 dragPreview 同步使用 left/top/width/height,不再固定留在原位;命中计算继续使用同一实时预览矩形,因此影子进入目标区块时目标立即腾位。
2026-07-22 动态拖拽阴影验证 pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue'git diff --check -- 'forge-admin-ui/src/views/app-center/application-runtime.[applicationCode].vue'pnpm --dir forge-admin-ui build passed ESLint 与 diff 检查 0 error、0 warning;Vite 生产构建 8721 modules、3m09s。保留仓库既有 UserSelectModal 命名冲突、动态导入与 CSS 注释告警;未启动 Vite 或业务服务。
2026-07-22 拖动源覆盖层与阴影层次 拖动期间隐藏源区块锚点/操作层,动态影子偏移改为 16px completed-static 原位区块仅保留透明占位,不再显示手柄、更多操作或八向锚点;影子与镜像保持实时同步并形成清晰前后层次。
2026-07-22 拖动源覆盖层与阴影层次验证 pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue'git diff --check -- 'forge-admin-ui/src/views/app-center/application-runtime.[applicationCode].vue'pnpm --dir forge-admin-ui build passed ESLint 与 diff 检查 0 error、0 warning;Vite 生产构建 8721 modules、2m44s。保留仓库既有 UserSelectModal 命名冲突、动态导入与 CSS 注释告警;未启动 Vite 或业务服务。
2026-07-23 表单资产优先应用搭建 source ~/.nvm/nvm.sh && nvm use v20.20.0 && pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' 'src/views/app-center/in-app-builder/in-app-builder-schema.js' 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js'pnpm --dir forge-admin-ui test src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.jsgit diff --check -- …NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui build passed ESLint 0 error、0 warning;Vitest 1 文件 7 用例通过;git diff --check 无输出;Vite 生产构建 8721 modules、1m48s。保留仓库既有 UserSelectModal、动态导入和 CSS 注释告警;未启动 Vite 或业务服务。
2026-07-23 表单资产入口可发现性 source ~/.nvm/nvm.sh && nvm use v20.20.0 && pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue'NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui build passed 顶栏表单资产入口与组件单击展开配置已接入;ESLint 0 error、0 warning;Vite 生产构建 8721 modules、2m01s。保留既有构建告警;未启动 Vite 或业务服务。
2026-07-23 表单设计字段回填与右侧体验 source ~/.nvm/nvm.sh && nvm use v20.20.0 && pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue'git diff --check -- …NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui build passed 修复现有绑定控件未进入字段目录导致的 0 字段,并在首次产生字段时回填引用组件;右侧调整为 408px 独立滚动列,禁用内部半收起空白状态,更多操作补齐图标。ESLint 0 error、0 warning;构建 8721 modules、1m49s;未启动 Vite 或业务服务。
2026-07-23 单表单默认关联与页面外观收敛 pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' 'src/views/app-center/in-app-builder/in-app-builder-schema.js' 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js'pnpm --dir forge-admin-ui exec vitest run 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js'pnpm --dir forge-admin-ui buildgit diff --check -- … passed 唯一表单会自动关联到既有和新建的表单/列表组件;字段统一归一为可选页面字段,表单新增字段会合并进已关联组件;右侧唯一表单选择禁用以避免重复选择。收敛重复保存入口、紧凑页面标题、侧栏默认图标/可点击收起、组件复制和外观菜单。ESLint 0 error、0 warning;Vitest 1 文件 7 用例通过;Vite 构建通过,仅保留既有 UserSelectModal 自动组件命名冲突提示;未启动 Vite 或业务服务。
2026-07-23 字段可选性、内联外观与沉浸运行页 pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' 'src/router/index.js'pnpm --dir forge-admin-ui exec vitest run 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js'pnpm --dir forge-admin-ui buildgit diff --check -- … passed 单表单关联时会补齐字段引用,并为首次绑定或“全部字段已被旧配置隐藏”的组件恢复可见字段;表单后续新增字段默认可见且保留用户单列隐藏选择。组件外观改为右侧内联区,不再弹窗;标题默认只读、点击图标编辑;运行路由使用 empty layout,不显示系统菜单框架。ESLint 0 error、0 warning;Vitest 1 文件 7 用例通过;Vite 构建通过,仅保留既有 UserSelectModal 自动组件命名冲突提示;未启动 Vite 或业务服务。
2026-07-23 组件悬浮三级外观菜单与标题自适应 pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' 'src/router/index.js'pnpm --dir forge-admin-ui buildgit diff --check -- … passed 撤销右侧内联外观区;组件更多菜单改为“更换背景色 / 背景描边 / 粗细”三级悬浮子菜单,背景色提供常用预设,描边提供主题、颜色和 0–4px(含 0.5px)预设。页面标题与说明仅在点击编辑图标后显示输入框,并改为容器自适应宽度。ESLint 0 error、0 warning;Vite 构建通过,仅保留既有 UserSelectModal 自动组件命名冲突提示;未启动 Vite 或业务服务。
2026-07-23 设计器尺寸控件、就地取色与工具栏收敛 pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' 'src/components/lowcode-builder/page/ListPageGridDesigner.vue' 'src/components/lowcode-builder/page/page-schema.js'pnpm --dir forge-admin-ui exec vitest run 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js'pnpm --dir forge-admin-ui buildgit diff --check -- … passed 组件“更换背景色”改为紧贴更多按钮的颜色选择器;描边保留三级菜单。运行页右侧面板在嵌入模式只保留位置、宽高和对齐,宽高/对齐统一为图标分段控件;高度模式支持默认、适应内容和填充容器并写入现有 Schema。顶栏改为工作台路径、应用图标/名称、状态和主次操作。ESLint 0 error、0 warning;Vitest 1 文件 7 用例通过;生产构建生成最新 dist,仅保留既有 UserSelectModal 自动组件命名冲突提示;未启动 Vite 或业务服务。
2026-07-23 运行页 AiCrudPage 字段选择回归 pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue'pnpm --dir forge-admin-ui exec vitest run 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js'git diff --check -- … passed 运行页右侧组件配置此前只传入 fields,未传入同一份 modelSchemaListPageGridDesigner 初始化时据空 Schema 过滤掉 AiCrudPage 的表格/查询字段引用。现将已关联表单字段同步给 modelSchema;选择字段、查询字段和列表字段计数均使用同一字段集。ESLint 0 error、0 warning;Vitest 1 文件 7 用例通过;未启动 Vite 或业务服务。
2026-07-23 运行页浮层、尺寸作用域与表单选择器 ESLint(运行页与列表设计器)、定向 Vitest、pnpm --dir forge-admin-ui buildgit diff --check -- … passed 背景取色改为组件更多按钮下方的本地浮层,避开嵌套 Popover 锚点漂移;取色与描边分别使用填色/边框图标。运行页加载复用 DesignerAsyncLoader 进度条;页面壳开始消费区块的宽度、高度和文字对齐样式,填充高度使用父页面底边。表单绑定改为搜索、图标、选中勾选及直达编辑入口的选择器。ESLint 0 error、0 warning;Vitest 7 用例通过;构建保留仓库既有 UserSelectModal 自动组件命名冲突提示;未启动 Vite 或业务服务。
2026-07-23 标题组件与文字格式工具条 pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' 'src/components/lowcode-builder/page/GridBlockRenderer.vue' 'src/components/lowcode-builder/page/page-schema.js' 'src/views/app-center/in-app-builder/in-app-builder-schema.js'pnpm --dir forge-admin-ui exec vitest run 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js'git diff --check -- …NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui build passed ESLint 0 error、0 warning;Vitest 1 文件 7 用例通过;git diff --check 无输出;Vite 生产构建完成,仅保留仓库既有 UserSelectModal 自动组件命名冲突提示。未启动 Vite 或业务服务;浏览器级验收(标题拖拽、锚点、工具条选中态和格式即时回显)待执行。
2026-07-23 内联标题富文本重构 pnpm --dir forge-admin-ui exec eslint 'src/components/lowcode-builder/shared/InlineRichText.vue' 'src/components/lowcode-builder/page/GridBlockRenderer.vue' 'src/views/app-center/application-runtime.[applicationCode].vue' 'src/components/lowcode-builder/page/page-schema.js'pnpm --dir forge-admin-ui exec vitest run 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js'NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui build passed 新增复用的 InlineRichText,文本行以 contenteditable 编辑并通过 Teleport 将工具条动态定位到当前行/选区附近,避免遮挡区块内容;主标题与副标题分别持久化文案与样式。ESLint 0 error、0 warning;Vitest 1 文件 7 用例通过;Vite 构建完成,仅保留既有 UserSelectModal 自动组件命名冲突提示。未启动 Vite 或业务服务,真实鼠标选区与浮层位置待浏览器验收。
2026-07-23 内联编辑交互修正 pnpm --dir forge-admin-ui exec eslint 'src/components/lowcode-builder/shared/InlineRichText.vue' 'src/components/lowcode-builder/page/GridBlockRenderer.vue' 'src/views/app-center/application-runtime.[applicationCode].vue'NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui buildgit diff --check -- … passed 移除工具条对指针事件的全局阻断,字号原生下拉可正常打开;文本在组件编辑态下直接 contenteditable 输入,工具条仅在同一文本行存在非空选区时显示,点击空白/其他区域会收起。ESLint 0 error、0 warning;diff 无输出;构建仅保留既有 UserSelectModal 自动组件命名冲突提示。未启动 Vite 或业务服务。
2026-07-23 标题富文本块模型重构 pnpm --dir forge-admin-ui exec eslint 'src/components/lowcode-builder/shared/InlineRichText.vue' 'src/components/lowcode-builder/page/GridBlockRenderer.vue' 'src/components/lowcode-builder/page/ListPageGridDesigner.vue' 'src/views/app-center/application-runtime.[applicationCode].vue' 'src/components/lowcode-builder/page/page-schema.js'pnpm --dir forge-admin-ui exec vitest run 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js'NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui buildgit diff --check -- … passed 标题组件收敛为单个原生 contenteditable HTML 编辑区,默认用 h1/p 生成标题与说明;不再用两个受控文本行或拦截选区事件。编辑时鼠标选中、复制、回车与连续输入交由浏览器原生处理,右侧仅保留 HTML 源码兜底编辑。ESLint 0 error、0 warning;Vitest 1 文件 7 用例通过;diff 无输出;构建仅保留既有 UserSelectModal 自动组件命名冲突提示。未启动 Vite 或业务服务。
2026-07-23 文本光标与根页面非重叠布局 pnpm --dir forge-admin-ui exec eslint 'src/components/lowcode-builder/shared/InlineRichText.vue' 'src/components/lowcode-builder/page/GridBlockRenderer.vue' 'src/views/app-center/application-runtime.[applicationCode].vue'pnpm --dir forge-admin-ui exec vitest run 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js'git diff --check -- …NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui build passed-static ESLint 0 error、0 warning;Vitest 1 文件 7 用例通过;git diff --check 无输出。标题编辑区/内部文字显式使用 text 光标,格式工具条只在同一编辑区存在非空文字选区时显示。根页面组件在移动结束、尺寸调整结束、尺寸模式变更和新增时按横向交集下推,阻止普通根组件重叠;组合布局 children 不纳入该规则。未启动 Vite 或业务服务。构建仅输出到 Vite transforming,本轮不将其视为通过;保留既有 UserSelectModal 命名冲突提示。
2026-07-24 标题块改为完整富文本输入器 pnpm --dir forge-admin-ui exec eslint 'src/components/lowcode-builder/shared/InlineRichText.vue' 'src/components/lowcode-builder/page/GridBlockRenderer.vue' 'src/views/app-center/application-runtime.[applicationCode].vue'pnpm --dir forge-admin-ui exec vitest run 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js'git diff --check -- …NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui build passed-static 标题区不再使用手写 contenteditableexecCommand 或 Teleport 选区工具条,改为复用项目内已集成的 WangEditor。文本获得焦点后才显示工具栏,输入、回车、粘贴、拖选和格式编辑均由编辑器原生处理;页面预览仍只展示内容。标题区默认高度提升为 176px,旧页面自动补标题时同步下移后续区块。ESLint 0 error、0 warning;Vitest 1 文件 7 用例通过;diff 无输出。构建只返回 transforming 与仓库既有 UserSelectModal 命名冲突提示,未作为成功结论;未启动 Vite 或业务服务。
2026-07-24 富文本菜单层级与无边框收敛 pnpm --dir forge-admin-ui exec eslint 'src/components/lowcode-builder/shared/InlineRichText.vue' 'src/components/lowcode-builder/page/GridBlockRenderer.vue' 'src/views/app-center/application-runtime.[applicationCode].vue'git diff --check -- … passed 修复 .grid-block、标题编辑器和富文本容器的 overflow 裁切,WangEditor 的字号、颜色等弹出菜单可越过正文容器显示。富文本获得焦点时应用页区块自动抬高层级并隐藏原拖动/更多/锚点操作层,避免旧操作层压住编辑器。移除编辑器与工具栏默认边框。ESLint 0 error、0 warning;diff 无输出;未启动 Vite 或业务服务。
2026-07-24 富文本首次点击事件修复 pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue'git diff --check -- … passed 顶部 page-block-node-overlay 过去即使透明也会占据整条点击区域,使第一次点击被旧区块操作层接收。现将其改为不接收指针事件,仅拖动手柄、更多按钮和颜色浮层保留可点击性,文本首击直接进入 WangEditor。ESLint 0 error、0 warning;diff 无输出;未启动 Vite 或业务服务。
2026-07-24 富文本工具栏选区触发 pnpm --dir forge-admin-ui exec eslint 'src/components/lowcode-builder/shared/InlineRichText.vue'git diff --check -- … passed 工具栏不再随输入焦点立即出现;监听原生 selectionchange,仅当编辑器内部存在非空文字选区时显示。首次点击只显示输入光标,用户拖选文字后才展示字号、格式等操作,点击外部立即收起。ESLint 0 error、0 warning;diff 无输出;未启动 Vite 或业务服务。
2026-07-24 富文本编辑态保留尺寸锚点 pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue'git diff --check -- … passed 富文本聚焦时仍隐藏顶部拖动/更多操作层,避免挡住编辑区;但取消对 .page-block-resize-anchor 的隐藏,四周尺寸锚点在输入和选字时保持可见可用。ESLint 0 error、0 warning;diff 无输出;未启动 Vite 或业务服务。
2026-07-24 富文本浮动工具条和锚点层级修复 pnpm --dir forge-admin-ui exec eslint 'src/components/lowcode-builder/shared/InlineRichText.vue' 'src/views/app-center/application-runtime.[applicationCode].vue'git diff --check -- … passed 移除 WangEditor 内部固定顶部工具栏,改为仅在非空选区时 Teleport 到 body、贴近选区的浮动工具条,正文首击与输入时不再有富文本头部。移除富文本根容器的高 z-index,外层页面区块继续提升,确保四周 resize anchors 位于输入区之上并可拖动改变宽高。ESLint 0 error、0 warning;diff 无输出;未启动 Vite 或业务服务。
2026-07-24 富文本重复工具条与首次锚点回归 pnpm --dir forge-admin-ui exec eslint 'src/components/lowcode-builder/shared/InlineRichText.vue' 'src/components/lowcode-builder/page/GridBlockRenderer.vue' 'src/views/app-center/application-runtime.[applicationCode].vue'git diff --check -- … passed WangEditor 默认文字 hoverbar 与平台浮动格式条曾在首次选字时并存;已通过 hoverbarKeys.text.menuKeys=[] 关闭内置短条。富文本 focus 改为触发 blockActivate,运行页收到后直接选中对应区块,首次输入即可出现八向尺寸锚点并支持调宽高。ESLint 0 error、0 warning;diff 无输出;未启动 Vite 或业务服务。
2026-07-24 富文本内置短 Hoverbar 完全关闭 source ~/.nvm/nvm.sh && nvm use v20.20.0 && pnpm --dir forge-admin-ui exec eslint 'src/components/lowcode-builder/shared/InlineRichText.vue' 'src/components/lowcode-builder/page/GridBlockRenderer.vue' 'src/views/app-center/application-runtime.[applicationCode].vue' && git diff --check -- 'forge-admin-ui/src/components/lowcode-builder/shared/InlineRichText.vue' 'forge-admin-ui/src/components/lowcode-builder/page/GridBlockRenderer.vue' 'forge-admin-ui/src/views/app-center/application-runtime.[applicationCode].vue' passed 配置从带 text 键的空菜单改为真正空的 hoverbarKeys,并通过组件内 .w-e-hover-bar { display: none !important; } 防御全局配置回合并。ESLint 0 error、0 warning;diff 无输出。未启动 Vite 或业务服务。
2026-07-24 富文本 Hoverbar 动态挂载兜底 source ~/.nvm/nvm.sh && nvm use v20.20.0 && pnpm --dir forge-admin-ui exec eslint 'src/components/lowcode-builder/shared/InlineRichText.vue' && git diff --check -- 'forge-admin-ui/src/components/lowcode-builder/shared/InlineRichText.vue' passed 原生 hoverbar 可能动态挂在编辑器根容器外,组件内深度选择器无法覆盖。规则提升为全局 .w-e-hover-bar 强制隐藏,外部 Teleport 浮动工具条不受影响。ESLint 0 error、0 warning;diff 无输出;未启动 Vite 或业务服务。
2026-07-24 富文本选区触发时序稳定化 source ~/.nvm/nvm.sh && nvm use v20.20.0 && pnpm --dir forge-admin-ui exec eslint 'src/components/lowcode-builder/shared/InlineRichText.vue' 'src/components/lowcode-builder/page/GridBlockRenderer.vue' 'src/views/app-center/application-runtime.[applicationCode].vue' && git diff --check -- 'forge-admin-ui/src/components/lowcode-builder/shared/InlineRichText.vue' passed 删除全局 selectionchange 作为格式条唯一触发源,避免首次 focus 读取到历史选区。现在仅在一次 pointer 选择完成后的 animation frame,或键盘选区完成后的 keyup 读取真实选区;普通首次点击保持只有光标。ESLint 0 error、0 warning;diff 无输出;未启动 Vite 或业务服务。
2026-07-24 富文本格式条实例稳定化 source ~/.nvm/nvm.sh && nvm use v20.20.0 && pnpm --dir forge-admin-ui exec eslint 'src/components/lowcode-builder/shared/InlineRichText.vue' && git diff --check -- 'forge-admin-ui/src/components/lowcode-builder/shared/InlineRichText.vue' passed WangToolbar 过去随每次选区收起被 v-if 卸载,后续再挂载可能失去 editor 绑定。现仅在 editorRef 就绪后创建一次,显示状态使用 v-show 切换。ESLint 0 error、0 warning;diff 无输出;未启动 Vite 或业务服务。
2026-07-24 应用运行页 AiCrudPage 列字段回显 source ~/.nvm/nvm.sh && nvm use v20.20.0 && pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' 'src/components/lowcode-builder/page/GridBlockRenderer.vue' && pnpm --dir forge-admin-ui exec vitest run 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js' && git diff --check -- 'forge-admin-ui/src/views/app-center/application-runtime.[applicationCode].vue' passed 运行页根 GridBlockRenderer 原本始终收到了空字段数组,AiCrudPage 因而只保留内置操作列。现在根据区块 formAssetId(单表单场景自动回退)解析表单字段并传入运行和拖拽预览渲染。ESLint 0 error、0 warning;Vitest 1 文件 7 用例通过;diff 无输出;未启动 Vite 或业务服务。
2026-07-24 运行页编辑入口与组件选择器收敛 source ~/.nvm/nvm.sh && nvm use v20.20.0 && pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' && pnpm --dir forge-admin-ui exec vitest run 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js' && git diff --check -- 'forge-admin-ui/src/views/app-center/application-runtime.[applicationCode].vue' passed 非编辑态隐藏 runtime-header,内容区恢复全屏高度;编辑入口移入侧栏标题操作区并使用 CreateOutline 图标。组件选择浮层改为响应式四列图标网格,按列表/图表/视图/其他分组,搜索结果仍来自原 listPageBlockCatalog。ESLint 0 error、0 warning;Vitest 1 文件 7 用例通过;diff 无输出;未启动 Vite 或业务服务。
2026-07-24 组件选择器搜索区视觉间距 source ~/.nvm/nvm.sh && nvm use v20.20.0 && pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' && git diff --check -- 'forge-admin-ui/src/views/app-center/application-runtime.[applicationCode].vue' passed 搜索输入区底部间距由 12px 提升至 22px(含安全留白),组件分组间距提升至 20px;搜索框补充浅灰底、8px 圆角和聚焦蓝色描边。ESLint 0 error、0 warning;diff 无输出;未启动 Vite 或业务服务。
2026-07-24 组件选择器复用表单图标资源 source ~/.nvm/nvm.sh && nvm use v20.20.0 && pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' && git diff --check -- 'forge-admin-ui/src/views/app-center/application-runtime.[applicationCode].vue' passed /src/assets/images/form/*.png 预加载既有图标并建立 blockType → 拼音文件名 映射,CRUD、表单、表格、布局、提示和媒体组件均可直接渲染对应图标;缺失项保留 SVG 回退。ESLint 0 error、0 warning;diff 无输出;未启动 Vite 或业务服务。
2026-07-24 扩展页面组件图标映射补全 source ~/.nvm/nvm.sh && nvm use v20.20.0 && pnpm exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' && git diff --check -- 'src/views/app-center/application-runtime.[applicationCode].vue'(工作目录:forge-admin-ui passed 重新扫描 assets/images/form 后确认新增图标文件存在;为 page-widget-schema 的穿梭框、水印、Vue 组件、Markdown、条形码、二维码、日历、代码、倒计时、描述、公示、列表、日志、数值动画、面包屑、菜单、分页补齐拼音文件映射。ESLint 0 error、0 warning;diff 无输出;未启动 Vite 或业务服务。
2026-07-24 侧栏标题系统 Logo source ~/.nvm/nvm.sh && nvm use v20.20.0 && pnpm exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' && git diff --check -- 'src/views/app-center/application-runtime.[applicationCode].vue'(工作目录:forge-admin-ui passed 侧栏标题由 FolderOpenOutline 替换为租户系统 Logo;沿用 AuthImage 处理远程 logo,logo.png 作为回退。ESLint 0 error、0 warning;diff 无输出;未启动 Vite 或业务服务。
2026-07-24 页面内添加组件入口与空间收敛 source ~/.nvm/nvm.sh && nvm use v20.20.0 && pnpm exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' && git diff --check -- 'src/views/app-center/application-runtime.[applicationCode].vue'(工作目录:forge-admin-ui passed 添加组件浮层触发器移入 page-surface,开始拖动时以页面表面作为容器并按真实宽高钳制坐标。按钮默认 46px 圆形加号,hover 扩展文字;runtime-main 由 18px 收紧到 12px,页面内容边距同步缩小。ESLint 0 error、0 warning;diff 无输出;未启动 Vite 或业务服务。
2026-07-24 添加组件图标居中、应用编辑历史 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' && pnpm exec vitest run 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js' && git diff --check -- 'src/views/app-center/application-runtime.[applicationCode].vue' 'code-copilot/changes/in-app-lowcode-builder/test-spec.md' 'code-copilot/changes/in-app-lowcode-builder/execution-log.md' passed-static 添加组件的 + 改为 Flex 双轴居中,避免行高基线偏移。应用编辑页新增与列表设计器同款 ArrowUndoOutline/ArrowRedoOutline、50 步历史快照,以及 Ctrl/Cmd + ZCtrl/Cmd + Shift + ZCtrl/Cmd + Y;输入控件和富文本不拦截快捷键。ESLint 0 error、0 warning;Vitest 1 文件 7 用例通过;diff 无输出。pnpm 11 要求 Node 22+,故使用机器已有 Node 24;未启动 Vite 或业务服务。
2026-07-24 应用编辑历史生产构建 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm --dir forge-admin-ui build inconclusive Vite 已开始转换模块,并仅输出仓库既有 UserSelectModal 自动组件命名冲突警告;命令未返回完成汇总,不能作为构建通过结论。本轮静态检查与定向 Vitest 已通过。
2026-07-24 应用页 CRUD 运行规则与富文本操作层 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' 'src/components/lowcode-builder/page/GridBlockRenderer.vue' && pnpm exec vitest run 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js' && git diff --check -- 'src/views/app-center/application-runtime.[applicationCode].vue' 'src/components/lowcode-builder/page/GridBlockRenderer.vue' … passed-static “填充容器”无条件覆盖遗留的 pageFlowWidth 与横向偏移。富文本聚焦不再关闭顶部操作层的 pointer events。无真实 API 的 CRUD 预览将保持静态,不再把新增/导入/导出提交到空地址导致 404。ESLint 0 error、0 warning;Vitest 1 文件 7 用例通过;diff 无输出。
2026-07-24 静态 CRUD 新增入口回归 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm exec eslint 'src/components/lowcode-builder/page/GridBlockRenderer.vue' && git diff --check -- 'src/components/lowcode-builder/page/GridBlockRenderer.vue' 'code-copilot/changes/in-app-lowcode-builder/test-spec.md' 'code-copilot/changes/in-app-lowcode-builder/execution-log.md' passed-static 恢复静态预览中的“新增”按钮;提交由局部 beforeSubmit 拦截并提示绑定真实接口,不产生请求或 404。ESLint 0 error、0 warning;diff 无输出。
2026-07-24 应用页 CRUD 默认真实运行绑定 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' 'src/components/lowcode-builder/shared/runtime-crud-props.js' 'src/components/lowcode-builder/preview/LowcodePreviewPane.vue' 'src/components/lowcode-builder/page/GridBlockRenderer.vue' && pnpm exec vitest run 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js' && git diff --check -- 'forge-admin-ui/src/views/app-center/application-runtime.[applicationCode].vue' 'forge-admin-ui/src/components/lowcode-builder/shared/runtime-crud-props.js' 'forge-admin-ui/src/components/lowcode-builder/preview/LowcodePreviewPane.vue'(工作目录:forge-admin-ui);NODE_OPTIONS=--max-old-space-size=8192 pnpm build passed-static / build-inconclusive 应用页的 AiCrudPage 现在优先以工作台对象快照的 configKey 拉取已有 CRUD 配置并转换为运行参数;业务对象页默认当前对象,单对象应用默认唯一对象,多对象普通页面不猜测数据源而保留安全静态预览。ESLint 0 error/0 warning;Vitest 1 文件 7 用例通过;diff 无输出。生产构建仅输出 Vite transforming 与仓库既有 UserSelectModal 命名冲突提示,未取得完成汇总,因此未作为通过结论。未启动 Vite、业务服务或数据库。
2026-07-24 未绑定对象页的 CRUD 预加载防御 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' && git diff --check -- 'forge-admin-ui/src/views/app-center/application-runtime.[applicationCode].vue'(工作目录:forge-admin-ui passed-static 多对象普通内容页的 CRUD 未绑定对象时,缓存键解析会返回空字符串并跳过预加载;不再读取 null 的 objectId,页面可正常打开并保留静态预览。ESLint 0 error/0 warning;diff 无输出。
2026-07-24 CRUD 当前配置占位接口替换 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' 'src/components/lowcode-builder/shared/runtime-crud-props.js' 'src/components/lowcode-builder/page/GridBlockRenderer.vue' && git diff --check -- 'forge-admin-ui/src/views/app-center/application-runtime.[applicationCode].vue' 'forge-admin-ui/src/components/lowcode-builder/shared/runtime-crud-props.js' 'forge-admin-ui/src/components/lowcode-builder/page/GridBlockRenderer.vue'(工作目录:forge-admin-ui passed-static 新组件向列表设计器传递真实业务对象 configKey,默认接口直接生成为 /ai/crud/{configKey};已有区块的 /ai/crud/当前配置 覆盖值在运行时统一替换为真实配置键,缺少配置键时不再透传占位接口。ESLint 0 error/0 warning;diff 无输出。
2026-07-24 旧区块属性面板占位值迁移 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' 'src/components/lowcode-builder/shared/runtime-crud-props.js' 'src/components/lowcode-builder/page/GridBlockRenderer.vue' && git diff --check -- 'forge-admin-ui/src/views/app-center/application-runtime.[applicationCode].vue' 'forge-admin-ui/src/components/lowcode-builder/shared/runtime-crud-props.js' 'forge-admin-ui/src/components/lowcode-builder/page/GridBlockRenderer.vue'(工作目录:forge-admin-ui passed-static 应用草稿加载后按每个页面绑定业务对象替换已存区块 props 中所有 /ai/crud/当前配置,因此接口、数据源等右侧属性会直接显示真实配置键;运行时替换仍作为兼容兜底。ESLint 0 error/0 warning;diff 无输出。
2026-07-24 CRUD 字段目录与真实运行配置统一 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' 'src/components/lowcode-builder/shared/runtime-crud-props.js' 'src/components/lowcode-builder/page/GridBlockRenderer.vue' && pnpm exec vitest run 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js' && git diff --check -- 'forge-admin-ui/src/views/app-center/application-runtime.[applicationCode].vue' 'forge-admin-ui/src/components/lowcode-builder/shared/runtime-crud-props.js' 'forge-admin-ui/src/components/lowcode-builder/page/GridBlockRenderer.vue'(工作目录:forge-admin-ui passed-static CRUD 运行配置新增字段目录,合并模型、编辑、列表和查询字段;应用页右侧列表设计器改读该目录,不再读取无关应用内表单的两个字段。已绑定业务对象的 CRUD 显示“业务对象字段”,表单/列表入口打开真实对象设计器。ESLint 0 error/0 warning;Vitest 1 文件 7 用例通过;diff 无输出。
2026-07-25 右侧数据表单入口收敛 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' && git diff --check -- 'forge-admin-ui/src/views/app-center/application-runtime.[applicationCode].vue'(工作目录:forge-admin-ui passed-static 已绑定 CRUD 不再展示“对象名 + 字段数 + 两个按钮”的说明块,恢复统一的“数据表单”下拉。下拉列出应用关联对象并可切换当前 CRUD 数据源;右侧单个编辑图标直达选中对象的真实表单设计。切换对象会清空旧接口覆盖并加载新对象运行配置。ESLint 0 error/0 warning;diff 无输出。
2026-07-25 数据表单下拉切换循环修复 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' && pnpm exec vitest run 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js' && git diff --check -- 'forge-admin-ui/src/views/app-center/application-runtime.[applicationCode].vue'(工作目录:forge-admin-ui passed-static 取消以当前选中区块对象动态重建 ListPageGridDesigner.modelSchema;页面级模型保持稳定,当前 CRUD 的字段目录通过独立 fields prop 更新。切换对象直接更新该区块的数据源和标准接口,不触发根页面碰撞重算或列表设计器“模型同步 → 布局回写”循环。ESLint 0 error/0 warning;Vitest 1 文件 7 用例通过;diff 无输出。
2026-07-26 标题组件顶部操作层可点击 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm exec eslint 'src/components/lowcode-builder/page/GridBlockRenderer.vue' 'src/views/app-center/application-runtime.[applicationCode].vue' && git diff --check -- 'forge-admin-ui/src/components/lowcode-builder/page/GridBlockRenderer.vue' 'forge-admin-ui/src/views/app-center/application-runtime.[applicationCode].vue'(工作目录:forge-admin-ui passed-static 标题富文本块原本创建了高于应用页操作层的内部 stacking context,导致中部拖拽和右侧更多按钮被标题正文覆盖。其层级降为正常内容层,应用页壳的操作层重新可点击;正文仍可编辑,浮动文本工具条继续使用 body Teleport。ESLint 0 error/0 warning;diff 无输出。
2026-07-26 页面设计与业务对象设计边界收敛 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application.[applicationCode].vue' 'src/views/app-center/application-runtime.[applicationCode].vue' src/views/app-center/application-workspace/ApplicationWorkspaceHeader.vue src/views/app-center/application-workspace/ApplicationWorkspaceNav.vue src/views/app-center/components/ApplicationTable.vue src/views/app-center/components/designer/BusinessObjectDesignerShell.vue && pnpm --dir forge-admin-ui exec vitest run 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js' && git diff --check -- … passed-static ESLint 0 error/0 warning;Vitest 1 文件 7 tests passed;diff 无输出。应用工作台现明确分为“管理业务对象 / 设计页面 / 预览草稿 / 运行应用”;页面设计顶部标注“应用页面设计”,页面内独立表单统一归为“页面资源”;对象设计器标注“业务对象设计”,并说明其维护字段、表单、列表和业务规则。生产构建启动后仅返回 Vite transforming 和既有 UserSelectModal 命名冲突提示,未获得完成汇总,记录为 build-inconclusive。未启动 Vite、业务服务或数据库。
2026-07-26 空页面组件引导与工作台按钮一致性 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' src/views/app-center/application-workspace/ApplicationWorkspaceHeader.vue && pnpm --dir forge-admin-ui exec vitest run 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js' && git diff --check -- … passed-static “设计页面”已改为与其他顶部操作一致的描边按钮,清除重复旧入口。空页面引导升级为白底淡蓝横版页面线框预览,组件入口是带现有 Ionicons 的可点击模块;不改变 appendPageBlock 原插入逻辑。ESLint 0 error、0 warning;Vitest 1 文件 7 tests passed;diff 无输出。生产构建仅返回 Vite transforming 和既有 UserSelectModal 命名冲突提示,未取得完成汇总;未启动 Vite、业务服务或数据库。
2026-07-26 菜单空图标、CRUD 默认尺寸与右侧属性优先 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' src/components/lowcode-builder/page/page-schema.js src/components/lowcode-builder/page/ListPageGridDesigner.vue && pnpm --dir forge-admin-ui exec vitest run 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js' && git diff --check -- … passed-static 无图标菜单项不再渲染 。新建 AiCrudPage 统一采用 heightMode=fullheight=100%。右侧配置新增“属性 / 数据”上层页签,默认显示属性;嵌入式列表设计器的默认内部页签也由样式调整为属性。数据表单绑定只在数据页显示,并整理为说明+选择器+编辑操作的紧凑卡片。ESLint 0 error、0 warning;Vitest 1 文件 7 tests passed;diff 无输出。未启动 Vite、业务服务或数据库。
2026-07-26 新页面标题、CRUD 预览滚动与极简新建 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' src/components/lowcode-builder/page/GridBlockRenderer.vue && pnpm --dir forge-admin-ui exec vitest run 'src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js' && git diff --check -- … passed-static 空白页面模板现在也调用标题初始化,新页面创建后立即有 page-title-preview size-medium 对应标题组件。CRUD 预览容器改为 flex 填充并让 CRUD 主区/表格区可滚动,避免中间内容不可见。左侧“新建”不再出现表单或弹窗,只提供“新建页面 / 新建页面组”;页面名称自动按现有数量生成,更多菜单仍可重命名。ESLint 0 error、0 warning;Vitest 1 文件 7 tests passed;diff 无输出。未启动 Vite、业务服务或数据库。
2026-07-26 CRUD 预览纵向分区与表格单滚动区 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm --dir forge-admin-ui exec eslint src/components/lowcode-builder/page/GridBlockRenderer.vue && pnpm --dir forge-admin-ui exec vitest run src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js && NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui build && git diff --check -- … passed 预览容器此前同时横向排列 CRUD 与静态提示,并覆盖了三个内部容器为 overflow:auto,造成内容区高度互相争抢。现改为“主体 flex 填充 + 底部提示固定”的纵向结构,恢复 AiCrudPage/AiTable 的原有 flex 链路,由 Naive 表格 body 作为唯一滚动区;删除 360px 强制最小高,避免区块缩小时越界覆盖其他组件。ESLint 0 error/0 warning;Vitest 1 文件 7 tests passed;生产构建成功(8779 modules,约 2 分钟);diff 无输出。构建警告为既有 UserSelectModal 命名冲突、动态导入和 CSS 注释提示;未启动 Vite、业务服务或数据库。
2026-07-26 页面创建、组件移入与紧凑顶栏 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' && pnpm --dir forge-admin-ui exec vitest run src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.js && NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui build && git diff --check -- … passed 左侧更多按钮 hover 统一为侧栏浅灰。新页面默认创建为无预置组件的介绍页,并写入初始化标记避免旧迁移逻辑自动插入标题。根组件的更多菜单新增“移入布局”,可移入栅格、盒子、卡片或标签页;无目标时显示“暂无布局组合和标签页”。添加组件入口默认改到页面表面左上,小屏固定 12px 边距可见;顶栏将业务对象设计、草稿预览和退出编辑收进更多菜单。ESLint 0 error/0 warning;Vitest 1 文件 7 tests passed;生产构建成功(8779 modules,2 分 33 秒);diff 无输出。构建有仓库既有命名冲突、动态导入和 CSS 注释警告;未启动 Vite、业务服务或数据库。
2026-07-26 左下添加组件入口与空页初始滚动 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' && git diff --check -- … passed-static 添加组件入口默认改为页面表面左下角;拖动后继续使用用户自定义的左/上坐标。页面表面改为 border-box,空页的组件流不再固定 680px,而是按当前视口可用高度撑开,避免头部、内边距、边框和最小高度叠加造成初始纵向滚动。小屏入口固定左/下 12px。ESLint 0 error/0 warning;diff 无输出;未启动 Vite、业务服务或数据库。
2026-07-26 组件更多菜单图标语义 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm --dir forge-admin-ui exec eslint 'src/views/app-center/application-runtime.[applicationCode].vue' && git diff --check -- 'forge-admin-ui/src/views/app-center/application-runtime.[applicationCode].vue' passed-static “复制到当前页面”使用双页复制图标,“复制到其他页面”使用复制图标,“移入布局”使用分支嵌套图标;不再与移动操作共用同一个图标。ESLint 0 error/0 warning;diff 无输出;未启动 Vite、业务服务或数据库。
2026-07-26 第二阶段发布菜单同步骨架 mvn -pl forge-framework/forge-plugin-parent/forge-plugin-generator -am compile -DskipTestsmvn -pl forge-framework/forge-plugin-parent/forge-plugin-generator compile -DskipTests blocked-environment 已新增发布/回滚的 PAGE_MENUS 步骤、页面菜单受控 DTO、发布菜单解析服务和 Admin 菜单/角色资源同步适配。聚合编译在尚未编到生成器模块前,被现有 forge-starter-jobTypeTag::UNKNOWN 注解处理器/JDK 初始化错误中断;单模块编译因本地 Maven 仓库缺少 Forge 内部依赖而尝试远程解析,未进入源码编译。未将其记为通过;未启动服务或执行数据库变更。
2026-07-26 新建应用直达页面设计 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm --dir forge-admin-ui exec eslint src/views/app-center/components/ApplicationEditorDrawer.vue && git diff --check -- forge-admin-ui/src/views/app-center/index.vue forge-admin-ui/src/views/app-center/components/ApplicationEditorDrawer.vue passed-static 默认新建起点改为 BLANK,隐藏模板步骤并在基础信息提交后直接创建;成功后新开应用运行壳编辑态(edit=1&fresh=1)。ESLint 0 error/0 warning;diff 无输出。未启动 Vite 或业务服务。
2026-07-26 新建应用双模式入口 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm --dir forge-admin-ui exec eslint src/views/app-center/index.vue src/views/app-center/components/ApplicationEditorDrawer.vue && git diff --check -- forge-admin-ui/src/views/app-center/index.vue forge-admin-ui/src/views/app-center/components/ApplicationEditorDrawer.vue passed-static 主按钮默认创建“页面应用”;下拉可进入完整“传统业务对象应用”、已有对象整理和数据库表导入。传统模式继续展示原模板/起点选择。ESLint 无 error;存在 3 条原有属性顺序 warning。diff 无输出。未启动 Vite 或业务服务。
2026-07-26 空应用介绍页与页面模板创建 source ~/.nvm/nvm.sh && nvm use v24.13.0 && pnpm --dir forge-admin-ui exec vitest run src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.jspnpm --dir forge-admin-ui exec eslint src/views/app-center/index.vue src/views/app-center/application-runtime.[applicationCode].vue src/views/app-center/in-app-builder/in-app-builder-schema.js src/views/app-center/in-app-builder/page-template-catalog.js src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.jsgit diff --check -- … passed-static Schema Vitest 1 文件 9 用例通过;ESLint 0 error(index.vue 保留 3 条已有属性排序 warning);diff 无输出。空应用不再自动生成 page_home,首个真实页面成为默认入口,删除最后一个页面允许回到介绍空态。页面模板包含空白、介绍、CRUD、左树右表、主子表;数据模板仅保存已有对象的轻量引用和页面模式。生产构建已修复 @vicons/utilsrenderIcon 导入错误并重新执行,但终端在 Vite transforming 阶段未返回完成汇总,未作为构建通过结论;未启动 Vite 或业务服务。
2026-07-26 介绍页内联模板与组件入口 pnpm --dir forge-admin-ui exec eslint src/views/app-center/application-runtime.[applicationCode].vuepnpm --dir forge-admin-ui exec vitest run src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.jsgit diff --check -- … passed-static 移除“新建页面”模板弹窗。空应用介绍页现在上方直接展示模板卡片、下方展示常用组件;普通模板单击创建,单对象数据模板单击直接创建,多对象数据模板仅在介绍页原位显示业务对象下拉。组件入口会创建空白页并直接插入所选组件。ESLint 0 error/0 warning;Schema Vitest 9 tests passed;diff 无输出。
2026-07-26 应用介绍页工作台视觉 pnpm --dir forge-admin-ui exec eslint src/views/app-center/application-runtime.[applicationCode].vuepnpm --dir forge-admin-ui exec vitest run src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.jsgit diff --check -- … passed-static 空态从居中按钮/普通白卡调整为页面起步工作台:左侧应用设计说明,右侧独立的“新建页面组”组织入口;模板卡片具备层级、创建反馈与悬停状态,常用组件收为下方快捷工具栏。980px 以下模板改为双列,业务对象选择器同步自适应。ESLint 0 error/0 warning;Schema Vitest 9 tests passed;diff 无输出。
2026-07-26 数据模板无业务对象引导 pnpm --dir forge-admin-ui exec eslint src/views/app-center/application-runtime.[applicationCode].vuegit diff --check -- … passed-static 数据模板选择区在没有业务对象时不再显示空下拉,而是显示“还没有可用的业务对象”、说明与“创建业务对象”直达按钮;有业务对象时保留原地选择并创建。ESLint 0 error/0 warning;diff 无输出。
2026-07-26 应用中心业务域树视觉收敛 pnpm --dir forge-admin-ui exec eslint src/views/app-center/index.vuegit diff --check -- forge-admin-ui/src/views/app-center/index.vue passed-static 左侧业务域树移除每项的彩色图标卡片和大圆角高亮块,收紧行高、间距与文字层级;选中态改为细左侧状态线、6% 主色底和加重标题,保留轻量悬停。ESLint 0 error;存在 3 条已有 ApplicationFilterBar 属性排序 warning。diff 无输出。
2026-07-26 应用中心一体式工作区 pnpm --dir forge-admin-ui exec eslint src/views/app-center/index.vuegit diff --check -- forge-admin-ui/src/views/app-center/index.vue passed-static 移除业务域树选中态的伪元素状态线;app-center-page 去除外层 padding,应用面板去除 margin、边框和圆角,外层布局同步取消卡片边框/圆角,页面改为一体式工作区。新建入口由分裂主按钮+箭头收敛为单一“新建应用”下拉按钮。ESLint 0 error;保留 3 条已有属性排序 warning。diff 无输出。
2026-07-27 统一应用开发与按需发布门禁后端验证 JAVA_HOME=/opt/homebrew/Cellar/openjdk@17/17.0.13/libexec/openjdk.jdk/Contents/Home PATH=/opt/homebrew/Cellar/openjdk@17/17.0.13/libexec/openjdk.jdk/Contents/Home/bin:$PATH mvn -Penable-tests -pl forge-framework/forge-plugin-parent/forge-plugin-generator -am test-compile -DskipTests;随后以相同 JDK 执行 mvn -Penable-tests -pl forge-framework/forge-plugin-parent/forge-plugin-generator surefire:test -Dtest=BusinessApplicationPageDependencyInspectorTest,BusinessApplicationObjectServiceTest,BusinessApplicationWorkspaceServiceTest,BusinessApplicationRuntimeServiceTest,BusinessApplicationPublishRunServiceTest,BusinessApplicationControllerTest passed Reactor 29 个模块 BUILD SUCCESS,生成器编译 91 个测试源;定向 JUnit 26 tests,0 failure、0 error、0 skipped。首次直接运行 surefire:test 复用了旧测试 class,先补 test-compile 后验证通过。
2026-07-27 统一应用开发前端验证 source /Users/yaomindong/.nvm/nvm.sh && nvm use v24.14.0 && pnpm --dir forge-admin-ui exec eslint src/api/business-application.js 'src/views/app-center/application-runtime.[applicationCode].vue' src/views/app-center/application-workspace/ApplicationObjectsPanel.vue src/views/app-center/application-workspace/ApplicationPublishPanel.vue src/views/app-center/index.vuepnpm --dir forge-admin-ui exec vitest run src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.jsNODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui build passed ESLint 0 error,index.vue 保留 3 条既有属性顺序 warning;Vitest 1 文件 9 tests passed;补充 pageId 路由监听后最终 Vite 重跑 8789 modules,2m50s 构建成功。保留仓库既有 UserSelectModal 重名、动态/静态导入和 CSS // 注释警告。
2026-07-27 统一应用开发静态审查与环境边界 git diff --check;逐文件审查发布快照、页面权限、隐藏导航、对象/发布抽屉生命周期 passed-static 修正超级管理员角色过滤、无权 pageId 内部回退、对象变化整页重载导致的画布/选择丢失风险。未启动 MySQL、Flyway、后端、Vite 或浏览器;无服务 PID 需要清理,真实角色和发布菜单 E2E 留给人工验收。
2026-07-28 页面表单升级与 CRUD 字段配置 source /Users/yaomindong/.nvm/nvm.sh && nvm use v24.14.0 && pnpm --dir forge-admin-ui exec eslint 'src/components/lowcode-builder/page/ListPageGridDesigner.vue' src/components/lowcode-builder/page/page-schema.js src/components/lowcode-builder/page/__tests__/page-schema.spec.js 'src/views/app-center/application-runtime.[applicationCode].vue' src/views/app-center/application-workspace/ApplicationObjectsPanel.vue src/views/app-center/components/BusinessObjectWizardDrawer.vue src/views/app-center/in-app-builder/page-form-object-promotion.js src/views/app-center/in-app-builder/__tests__/page-form-object-promotion.spec.jspnpm --dir forge-admin-ui exec vitest run src/components/lowcode-builder/page/__tests__/page-schema.spec.js src/views/app-center/in-app-builder/__tests__/page-form-object-promotion.spec.js src/views/app-center/in-app-builder/__tests__/in-app-builder-schema.spec.jsNODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui buildgit diff --check -- … passed 先以缺失同步模型构造器和表单升级模块得到预期失败,再实现后通过。ESLint 0 error/0 warning;Vitest 3 文件 13 tests passed;Vite 8790 modules,1m54s 构建成功;diff 无输出。构建仅有仓库既有组件重名、动态/静态导入与 CSS 注释警告。未启动 MySQL、Flyway、后端服务、Vite 或浏览器,未执行 DDL/对象发布,无服务需要清理。
2026-07-28 保存表单自动准备数据存储 JDK 17:mvn -Penable-tests -pl forge-framework/forge-plugin-parent/forge-plugin-generator -am test-compile -DskipTestsmvn -Penable-tests -pl forge-framework/forge-plugin-parent/forge-plugin-generator surefire:test -Dtest=BusinessApplicationFormDataServiceTest,BusinessApplicationPageDependencyInspectorTest,BusinessApplicationObjectServiceTest,BusinessApplicationWorkspaceServiceTest,BusinessApplicationRuntimeServiceTest,BusinessApplicationPublishRunServiceTest,BusinessApplicationControllerTest。Node v20.19.0:相关文件 pnpm --dir forge-admin-ui exec eslint …pnpm --dir forge-admin-ui exec vitest run 4 个定向文件;NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui buildgit diff --check passed Reactor 29 个模块 BUILD SUCCESS、生成器 92 个测试源编译成功;JUnit 7 类 32 tests、Vitest 4 文件 18 tests 均 0 failure;ESLint 0 error/0 warning;Vite 8791 modules、2m10s 构建成功;diff 无输出。覆盖默认可写数据源、创建/复用/恢复、失败关闭、多 CRUD/嵌套/页面级手工绑定保护和 19 位 ID。构建仅有仓库既有组件重名、动态/静态导入与 CSS 注释警告。未启动数据库、Flyway、后端、Vite 或浏览器,未执行 DDL、对象发布或应用发布,无服务需要清理;真实接口和浏览器点击链路留人工验收。
2026-07-28 自动回绑后的未发布提示修复 Node v20.19.0pnpm --dir forge-admin-ui exec eslint src/components/lowcode-builder/shared/runtime-crud-props.js src/components/lowcode-builder/shared/__tests__/runtime-crud-props.spec.js src/components/lowcode-builder/page/GridBlockRenderer.vue 'src/views/app-center/application-runtime.[applicationCode].vue'pnpm --dir forge-admin-ui exec vitest run src/components/lowcode-builder/shared/__tests__/runtime-crud-props.spec.js src/views/app-center/in-app-builder/__tests__/page-form-data-provisioning.spec.js src/components/lowcode-builder/page/__tests__/page-schema.spec.jsNODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui buildgit diff --check passed ESLint 0 error/0 warning;Vitest 3 文件 9 tests 全通过;Vite 8791 modules、2m13s 构建成功;diff 无输出。设计态渲染和 CRUD 端点统一携带 designPreview,正式运行保持发布门禁;设计画布默认静态预览,不在未执行 DDL 时自动查表。构建仅有仓库既有组件重名、动态/静态导入和 CSS 注释警告。未启动后端、Vite、MySQL、Flyway 或浏览器,未执行 DDL/发布,无服务需要清理;真实保存表单和 Network 链路待用户重启环境后验收。
2026-07-28 模型编码边界与应用编码自动生成 JDK 17:生成器 reactor mvn -Penable-tests -pl forge-framework/forge-plugin-parent/forge-plugin-generator -am test-compile -DskipTestsmvn -Penable-tests -pl forge-framework/forge-plugin-parent/forge-plugin-generator surefire:test -Dtest=BusinessNamingServiceTest,BusinessApplicationFormDataServiceTest,BusinessApplicationServiceTest,BusinessApplicationControllerTest。Node v20.19.0:相关文件 ESLint;3 个定向 Vitest;NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui buildgit diff --check passed Reactor 29 个模块、生成器 93 个测试源编译成功;JUnit 4 类 27 tests、Vitest 3 文件 10 tests 全通过;ESLint 最终 0 error/0 warning;Vite 8792 modules、1m50s 构建成功。模型编码统一为最多 48 位;应用编码由后端生成/避重并随创建响应返回,前端普通路径不再必填。构建仅有仓库既有组件重名、动态/静态导入和 CSS 注释警告。未启动 MySQL、Flyway、后端、Vite 或浏览器,未执行 DDL/发布,无服务需要清理;真实接口重试和跳转留人工验收。
2026-07-28 Task 25 自动托管表单创建并同步数据表 JDK 17:mvn -Penable-tests -pl forge-framework/forge-plugin-parent/forge-plugin-generator -am test-compile -DskipTestsmvn -Penable-tests -pl forge-framework/forge-plugin-parent/forge-plugin-generator surefire:test -Dtest=BusinessApplicationFormDataServiceTest,BusinessObjectDatabaseSyncServiceTest,BusinessObjectTableMappingServiceTestgit diff --check passed Reactor 29 个模块 BUILD SUCCESS,生成器 93 个测试源编译成功;定向 21 tests,0 failure、0 error、0 skipped。覆盖元数据先提交、首次/重复同步、DDL 失败保留、自动建表开关、非托管对象与非追加式 DDL 拒绝,以及历史快照不覆盖数据源当前能力。未启动 MySQL、Flyway、后端、Vite 或浏览器,未实际执行 DDL,无服务需要清理;真实建表由用户重启后重新保存表单验收。
2026-07-28 Task 26 查询字段、真实预览与发布数据库状态收敛 Node v20.19.0:目标 ESLint;3 个定向 Vitest;NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui build。JDK 17:生成器 reactor test-compilemvn -Penable-tests -pl forge-framework/forge-plugin-parent/forge-plugin-generator surefire:test -Dtest=BusinessApplicationDraftPreviewContractTest,BusinessApplicationFormDataServiceTest,BusinessObjectDatabaseSyncServiceTest,BusinessApplicationPhaseFiveControllerTest,BusinessApplicationControllerTestgit diff --check passed Reactor 29 个模块 BUILD SUCCESS、生成器编译 93 个测试源;ESLint 0 error/0 warning;Vitest 3 文件 15 tests、JUnit 5 类 32 tests 均 0 failure;Vite 8792 modules、4m39s 构建成功;diff 无输出。发布检查和最终发布会先安全同步当前应用自己的自动托管表;查询字段不再被 ID 或列表列覆盖,遗留未绑定初始化状态可自动修复。构建只有仓库既有警告。未启动数据库、Flyway、后端、Vite 或浏览器,未执行真实 DDL/发布,无服务需要清理。
2026-07-28 Task 27 真实预览请求去环与发布操作去重 Node v20.19.0:目标 ESLint;3 个定向 Vitest;NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui build。JDK 17:生成器 reactor test-compilemvn -Penable-tests -pl forge-framework/forge-plugin-parent/forge-plugin-generator surefire:test -Dtest=BusinessApplicationDraftPreviewContractTest,BusinessApplicationFormDataServiceTest,BusinessObjectDatabaseSyncServiceTestgit diff --check passed ESLint 0 error/0 warning;Vitest 3 文件 17 tests、JUnit 3 类 23 tests 均 0 failure;reactor 29 模块和 93 个测试源编译成功;Vite 8792 modules、3m29s 构建成功;diff 无输出。预览结果写回不再形成列表请求闭环;发布抽屉取消隐式全量预检;相同设计版本 IN_SYNC 的托管表不再额外同步。对象最终表校验和可恢复步骤更新继续保留。未启动数据库、服务或浏览器,未执行真实 DDL/发布,无服务需要清理。
2026-07-28 Task 28 动态页面查询条件运行协议 JDK 17:mvn -Penable-tests -pl forge-framework/forge-plugin-parent/forge-plugin-generator -am test-compile -DskipTestsmvn -Penable-tests -pl forge-framework/forge-plugin-parent/forge-plugin-generator surefire:test -Dtest=DynamicCrudControllerTest,DynamicCrudServiceAutoGenerationTest。Node v20.19.0:目标 pnpm --dir forge-admin-ui exec eslint ...pnpm --dir forge-admin-ui exec vitest run src/components/lowcode-builder/shared/__tests__/runtime-crud-props.spec.js src/views/app-center/in-app-builder/__tests__/page-form-data-provisioning.spec.js src/components/lowcode-builder/page/__tests__/page-schema.spec.jsNODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui buildgit diff --check passed 先以 2 个前端红灯证明页面查询设置和操作符未进入运行协议,再实现受控查询元数据。ESLint 0 error/0 warning;Vitest 3 文件 19 tests、JUnit 2 类 6 tests 均 0 failure;reactor 29 模块和 94 个测试源编译成功;Vite 8792 modules、2m19s 构建成功;diff 无输出。查询字段、组件、方式和映射字段已贯通列表/导出请求,后端仅接受公开字段和固定操作符。构建只有仓库既有警告。未启动数据库、服务、Vite 或浏览器,未执行真实查询、DDL/发布,无服务需要清理。
2026-08-01 应用发布数据库同步误判修复 JDK 17:生成器 reactor test-compile;生成器模块定向执行 5 个测试类;Admin 聚合 mvn -pl forge-admin-server -am package -DskipTestsgit diff --check passed Reactor 30 模块编译成功、生成器 95 个测试源;定向 33 tests 全通过;Admin 47 模块打包成功;diff 无输出。发布门禁改为实时表结构检查,标准系统列不再制造差异,阻断提示会列出具体列/类型/DDL。首次带 -am 定向测试被上游 datascope 的既有 JUnit engine 问题中断,随后按模块直接执行并确认非 0 测试。未重启用户现有服务、未执行真实 DDL 或发布,真实离职申请场景待用户重启 Admin 后验收。
2026-08-01 数据库保留列与逻辑删除类型兼容 JDK 17:生成器模块 test-compilesurefire:test -Dtest=BusinessApplicationObjectServiceTest,BusinessObjectTableMappingServiceTest,BusinessApplicationReadinessServiceTest,BusinessObjectDatabaseSyncServiceTest,BusinessApplicationFormDataServiceTest;Admin 聚合 mvn -pl forge-admin-server -am package -DskipTests。Node v20.19.0:目标 Vue ESLint;NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui buildgit diff --check passed 先得到缺少 blockingDifference 的预期编译红灯,首次实现后旧断言产生 1 个行为冲突并更新;最终 5 类 37 tests 全通过,ESLint 0 error/0 warning,Admin 47 模块和 Vite 8818 模块构建成功,前端退出码 0。del_flag 字符/整数存储按系统逻辑删除语义兼容;可空、有默认值、自动递增或生成的未映射列保留可见但不阻断;必填无默认值列继续阻断并给出修复建议。未启动或重启任何服务,未执行真实 DDL/发布。