diff --git a/.claude/agents/frontend-api-types.md b/.claude/agents/frontend-api-types.md index 21662e65..91133232 100644 --- a/.claude/agents/frontend-api-types.md +++ b/.claude/agents/frontend-api-types.md @@ -12,7 +12,7 @@ description: 前端 API 与类型定义专家。用于当前 plus-ui-react 项 3. 能明确写出类型时,不要偷懒用 `any`。 4. 如果当前模块已有特殊返回结构或聚合导出,继续保持一致。 5. 不创建页面,不改路由,除非用户明确要求。 -6. 如果用户要求维护代码生成模板,优先同步当前仓库 `gen/api.ts.vm`、`gen/types.ts.vm`,必要时再看 boot4 后端 generator 字段定义。 +6. 如果用户要求维护代码生成模板,优先同步当前仓库 `gen/api.ts.ftl`、`gen/types.ts.ftl`,必要时再看 boot4 后端 generator 字段定义。 ## API 规则 @@ -45,7 +45,7 @@ description: 前端 API 与类型定义专家。用于当前 plus-ui-react 项 ## gen 模板规则 -- `gen/api.ts.vm` 和 `gen/types.ts.vm` 是当前 React 项目内置模板,优先于外部后端模板。 +- `gen/api.ts.ftl` 和 `gen/types.ts.ftl` 是当前 React 项目内置模板,优先于外部后端模板。 - 保持 Velocity 变量、宏和输出路径约定,不要破坏后端 generator 可替换变量。 - 输出类型应继续使用 `R`、`PageResult`、`PageQuery`、`BaseEntity` from `@/api/types` 和 `request` from `@/api/request`。 - 不输出 Vue 版 `AxiosPromise`、`@/utils/request` 或 `src/views` 约定。 @@ -56,5 +56,5 @@ description: 前端 API 与类型定义专家。用于当前 plus-ui-react 项 - 类型是否覆盖接口真实结构。 - 是否不必要地把类型写宽了。 - 是否保留了当前模块的命名和导出风格。 -- 是否同步维护了当前项目内置 `gen/*.vm` 模板中对应 API/types 输出。 +- 是否同步维护了当前项目内置 `gen/*.ftl` 模板中对应 API/types 输出。 - 是否误用了 Vue 版 `AxiosPromise`、`@/utils/request` 或 `src/views` 约定。 diff --git a/.claude/agents/frontend-crud-coding.md b/.claude/agents/frontend-crud-coding.md index 2fe9723f..54d5fb3a 100644 --- a/.claude/agents/frontend-crud-coding.md +++ b/.claude/agents/frontend-crud-coding.md @@ -1,6 +1,6 @@ --- name: frontend-crud-coding -description: 前端总入口。用于当前 plus-ui-react 项目中的标准 React CRUD 页面、新增 API/types、复杂列表页增强、树筛选、导入导出、权限按钮、状态切换、弹窗表单和项目内置 gen/*.vm React 代码生成模板维护任务,并根据任务类型选择合适的前端子 agent。 +description: 前端总入口。用于当前 plus-ui-react 项目中的标准 React CRUD 页面、新增 API/types、复杂列表页增强、树筛选、导入导出、权限按钮、状态切换、弹窗表单和项目内置 gen/*.ftl React 代码生成模板维护任务,并根据任务类型选择合适的前端子 agent。 --- 你是当前 plus-ui-react 前端项目的总入口 agent。 @@ -10,13 +10,13 @@ description: 前端总入口。用于当前 plus-ui-react 项目中的标准 Rea 1. 如果是新增标准 CRUD 页面、补 `src/api`、`types.ts`、`index.tsx`,优先使用 `frontend-crud-page.md`。 2. 如果是修改已有列表页、增强导入导出、树筛选、详情抽屉、更多操作、状态切换,优先使用 `frontend-page-enhancement.md`。 3. 如果只改接口层和类型定义,优先使用 `frontend-api-types.md`。 -4. 如果是维护代码生成模板,优先读取当前仓库 `gen/api.ts.vm`、`gen/types.ts.vm`、`gen/index.tsx.vm`、`gen/index-tree.tsx.vm`,再按 React 项目真实工具和页面规则修改模板。 +4. 如果是维护代码生成模板,优先读取当前仓库 `gen/api.ts.ftl`、`gen/types.ts.ftl`、`gen/index.tsx.ftl`、`gen/index-tree.tsx.ftl`,再按 React 项目真实工具和页面规则修改模板。 通用要求: - 先读当前目录下最近似页面和 API,再动代码。 - 优先参考 `.codex/skills/frontend-crud-coding/SKILL.md` 和 `references/frontend.md`,保持 Claude agent 与 Codex skill 规则一致。 -- 冲突时优先相信当前项目真实页面,其次是公共组件、hooks、工具和请求封装,再其次是当前仓库 `gen/*.vm` React 模板,最后才是 Vue 参考项目和关联后端工程 generator 模板。 +- 冲突时优先相信当前项目真实页面,其次是公共组件、hooks、工具和请求封装,再其次是当前仓库 `gen/*.ftl` React 模板,最后才是 Vue 参考项目和关联后端工程 generator 模板。 - 默认直接产出可落地代码,而不是只给抽象建议。 - 不要照搬 Vue 项目的 `src/views`、Element Plus、`AxiosPromise`、`v-hasPermi`、`ref/reactive` 写法。 @@ -30,7 +30,7 @@ description: 前端总入口。用于当前 plus-ui-react 项目中的标准 Rea - 多选通过 `useTableSelection`,导出通过 `useTableExport`。 - 行操作优先使用 `RowActions` 和 `@ant-design/icons`。 - 日期范围、字典 options、树表展开、loading、搜索重置和确认弹窗优先使用 `useDateRangeQuery`、`dictOptions`、`useTreeTableExpand`、`useLoading`、`useSearchReset`、`confirmAction`/`confirmTitleSafe`。 -- `gen/index.tsx.vm`、`gen/index-tree.tsx.vm` 内容必须生成 React TSX 页面。 +- `gen/index.tsx.ftl`、`gen/index-tree.tsx.ftl` 内容必须生成 React TSX 页面。 验证要求: diff --git a/.claude/agents/frontend-crud-page.md b/.claude/agents/frontend-crud-page.md index 0d1ca386..cba49cf6 100644 --- a/.claude/agents/frontend-crud-page.md +++ b/.claude/agents/frontend-crud-page.md @@ -1,6 +1,6 @@ --- name: frontend-crud-page -description: 前端标准 React CRUD 页面专家。用于当前 plus-ui-react 项目中的新建列表页、弹窗表单页、标准 API/types/index.tsx 骨架、项目内置 gen/*.vm React 模板维护,以及后端 generator 字段到 React + ProTable 项目风格的落地任务。 +description: 前端标准 React CRUD 页面专家。用于当前 plus-ui-react 项目中的新建列表页、弹窗表单页、标准 API/types/index.tsx 骨架、项目内置 gen/*.ftl React 模板维护,以及后端 generator 字段到 React + ProTable 项目风格的落地任务。 --- 你负责当前 plus-ui-react 项目中的标准 CRUD 页面实现。 @@ -9,7 +9,7 @@ description: 前端标准 React CRUD 页面专家。用于当前 plus-ui-react 1. 先看当前模块最近似页面。 2. 再参考 `.codex/skills/frontend-crud-coding/references/frontend.md`。 -3. 维护或新增生成能力时,优先参考当前仓库 `gen/api.ts.vm`、`gen/types.ts.vm`、`gen/index.tsx.vm`、`gen/index-tree.tsx.vm`。 +3. 维护或新增生成能力时,优先参考当前仓库 `gen/api.ts.ftl`、`gen/types.ts.ftl`、`gen/index.tsx.ftl`、`gen/index-tree.tsx.ftl`。 4. 必要时参考关联后端工程 generator 模板确认接口、字段、权限和导出能力。 5. 默认同时维护: `src/api///index.ts` @@ -58,7 +58,7 @@ description: 前端标准 React CRUD 页面专家。用于当前 plus-ui-react ## gen 模板规则 -- `gen/index.tsx.vm`、`gen/index-tree.tsx.vm` 内容生成 React TSX。 +- `gen/index.tsx.ftl`、`gen/index-tree.tsx.ftl` 内容生成 React TSX。 - 保持 Velocity 变量、宏和后端 generator 可识别结构,不为了格式美化破坏模板语法。 - 模板应输出当前项目公共工具写法:`useTableSelection`、`useTableExport`、`useDateRangeQuery`、`dictOptions`、`useTreeTableExpand`、`confirmAction`、`toPageQuery`、`toTableData`、`handleTree`。 - 不把 Vue `src/views`、Element Plus、`AxiosPromise`、`v-hasPermi` 写入模板。 diff --git a/.claude/agents/frontend-page-enhancement.md b/.claude/agents/frontend-page-enhancement.md index 64901ac0..fdc5299f 100644 --- a/.claude/agents/frontend-page-enhancement.md +++ b/.claude/agents/frontend-page-enhancement.md @@ -46,7 +46,7 @@ description: 复杂前端页面增强专家。用于修改当前 plus-ui-react - 如果页面已有导出参数缓存,继续通过 `updateExportParams` 更新。 - 如果页面已有树筛选状态,查询参数要合并该状态,不要覆盖掉。 - 如果页面已有特殊禁用规则、超级管理员保护或业务状态判断,必须保留。 -- 如果增强的是标准 CRUD 能力或公共工具约定,要评估当前仓库 `gen/*.vm` 是否也应同步更新。 +- 如果增强的是标准 CRUD 能力或公共工具约定,要评估当前仓库 `gen/*.ftl` 是否也应同步更新。 ## 自检 diff --git a/src/pages/tool/gen/index.tsx b/src/pages/tool/gen/index.tsx index 323bcb0c..64ca829a 100644 --- a/src/pages/tool/gen/index.tsx +++ b/src/pages/tool/gen/index.tsx @@ -26,7 +26,7 @@ import ImportTableModal from './components/ImportTableModal'; function previewName(path: string) { const fileName = path.substring(path.lastIndexOf('/') + 1); - return fileName.includes('.vm') ? fileName.substring(0, fileName.indexOf('.vm')) : fileName; + return fileName.includes('.ftl') ? fileName.substring(0, fileName.indexOf('.ftl')) : fileName; } function previewLanguage(name: string) {