--- name: frontend-crud-coding description: 在当前前端项目中按现有 Vue 3 + TypeScript + Element Plus 代码风格生成或修改页面、API、types、组件接入和样式。用于新增列表页、表单弹窗页、树表页、系统管理页、workflow 页面,以及补全与后端接口对应的 src/api 和 src/views 代码。 --- # 前端编码规范 先对齐当前前端项目里的真实实现,再参考关联后端工程中代码生成器产出的前端模板。不要只套通用 Vue 模板,也不要把生成器模板原样照搬而忽略当前前端项目的实际演进。 ## 适用场景 在下面这些任务里优先使用此 skill: - 新增标准 CRUD 列表页、弹窗表单页、树表页。 - 补齐后端新增接口对应的 `src/api`、`src/views`、`types.ts`。 - 按系统管理、监控、工作流、demo 模块现有方式扩展页面功能。 - 调整已有列表页的搜索、导出、导入、树筛选、列显隐、权限按钮、样式壳。 - 把关联后端工程中的 generator 模板转换为符合当前前端项目风格的实际代码。 ## 不适用场景 下面这些任务不要机械套用本 skill 的 CRUD 规则: - 纯展示型落地页、营销页、可视化大屏。 - 完全独立的低代码设计器或第三方嵌入页。 - 全局框架升级、Vite 配置改造、构建链路迁移。 - 与当前项目目录结构明显不同的实验性页面。 ## 执行流程 1. 先定位目标模块,并阅读 `src/api//` 与 `src/views//` 下最近似页面。 2. 再参考关联后端工程 `ruoyi-modules/ruoyi-gen/src/main/resources/vm/ts` 与 `vm/vue` 下的生成器模板,确认标准 CRUD 的基础骨架。 3. 新增代码时同时维护 `api/index.ts`、`api/types.ts`、`views/.../index.vue`,必要时补相关子页面或弹窗页。 4. 页面结构、样式组织、状态管理、权限指令、下载导出、字典使用都以仓库现有模式为准。 5. 如果后端接口与生成器套路一致,可以用 generator 模板作为起点;如果当前前端项目已有更强约定,以当前项目约定覆盖模板默认行为。 ## 优先级规则 发生冲突时按下面顺序决策: 1. 当前目录下最近似页面的真实实现。 2. 当前项目公共组件、公共工具、公共样式约定。 3. 关联后端工程中的 generator 模板。 4. 通用 Vue / Element Plus 习惯。 也就是说: - 同一模块已有页面怎么写,优先怎么写。 - 没有现成页面时,再退回到 generator 模板骨架。 - 没有现成模式时,才使用通用框架默认写法。 ## 主要规则 详细规则见 [references/frontend.md](references/frontend.md)。 使用案例见 [references/examples.md](references/examples.md)。 ## 仓库通用规则 - 遵循 [`.editorconfig`](../../../.editorconfig):UTF-8、LF、默认 2 空格缩进。 - 遵循 [`.prettierrc`](../../../.prettierrc):单引号、分号、`printWidth: 150`、`trailingComma: none`。 - 页面优先使用 `