前端开发 · 角色指南¶
假设你已读过
docs/00_overview/与docs/01_onboarding/。
你的工具箱¶
| 工具 | 用途 |
|---|---|
| VS Code | 主 IDE |
| Claude Code + Codex | AI 协作 |
| OpenSpec / Superpowers | 流程 / 工程模式 |
| 本仓库 czerp-frontend | Avue / Element / metadata 范式 |
| pnpm + Vite | 构建 |
| Knife4j(看后端 API 文档) | 接口契约 |
高价值工作流(触发 → AI 做什么 → 人怎么验)¶
| # | 触发 | AI 做什么 | 人怎么验 |
|---|---|---|---|
| 设计稿→代码 | 拿到 Figma 高保真稿 | Figma MCP 读 frame + Code Connect 映射到真实组件生成代码 | 核对是否复用 ef-design-base-elp/封装组件,而非堆单文件 |
| Avue 样板 | 新增 CRUD 页 | 按 Avue 3.7 + Element Plus 范式生成 list/form/dialog 配置 | 跑全交互(失败/权限/边界);字典走 metadata |
| 动态路由 | 新增页面 | 按 avue-router 范式加页 + 提示后端配菜单 |
路由 key=服务名、权限点对齐后端 |
| 视觉 QA | 提 PR 前 | 无头浏览器做响应式/视觉一致性检查、前后态截图 diff、抓控制台报错 | 按设计稿逐屏对比,源码原子化修复后复验 |
现状:控制台中文单一语言(面向企业内员工,无需 i18n / vue-i18n,中文文案直接写);前端暂无单测框架(vitest),质量靠联调 + 视觉 QA + 评审,需要时再引入。
一天典型流程¶
站会后:
- 接故事(前端部分)/ 接联调任务
- /user-story-impl CZPRJ-X
- 看原型(Axure Cloud / Axure LLM Wiki MCP)
实现:
- 按 console-dynamic-router 加新页面 + 后端配菜单(找后端 / PM)
- 列表 / 表单走 avue-and-element 标准
- 字典 / 枚举走 metadata-usage(不要 dicUrl)
- 接口调用走 http-and-api(@/axios)
- 公司封装组件先查 components-catalog(PingCode 目录页 iNW1gUP_)
联调:
- 后端 API 起来后切到真接口
- 跑全套交互(含失败 / 权限 / 边界)
提交前:
- /pre-pr-review
- /code-review
- /pr-describe
必读 skills¶
console-dynamic-router— 动态路由metadata-usage— 字典 / 枚举avue-and-element— 列表 / 表单标准components-catalog— 公司封装组件http-and-api— 接口调用permission-render— 按钮权限
铁律¶
- 不在前端硬编码业务路由 — 全部由后端菜单驱动。
- 字典 / 枚举走
metadata工具,禁止dicUrl单独请求。 request用@/axios(即src/axios.js),禁止裸 axios。- 业务数据取
res.data.data;失败由拦截器统一 reject + 弹错,正常路径不用判 success。 - 前端权限只做 UX 渲染,安全由后端把关。
- 优先查公司封装组件(
@ifinmate/ef-design-base-elp+src/components/)。
联调协作¶
- 后端 API 起来前用 Mock(avue 自带 dicData + 项目内 mock 工具)。
- 拿 OpenAPI 文档(Knife4j)做契约对齐。
- 端到端联调失败时先看后端日志(容易是后端而不是前端的问题)。
常见错误¶
- ❌ 在
src/router/page里硬编码业务路由 - ❌ 表单字段写
dicUrl: '/api/dict/yes-no'(应该用metadata.getDictOptions) - ❌ 文件上传用裸 axios(应该
request({ ..., data: FormData })) - ❌ 按钮
v-if="role === 'admin'"(应该用v-if="permission.xxx"或 avue-crud:permission,权限码下划线风格) - ❌ 接口失败时只在 console.log,没给用户 UI 反馈
进一步¶
- 端到端 SOP:
docs/03_workflows/01_new-feature.md - 自学路径:
docs/04_training/02_self-study-path.md - czerp-console 自身文档:
~/Documents/CZERP/czerp-console/docs/ - 公司前端封装目录:PingCode iNW1gUP_(其下每组件一页)