# AGENTS.md(Frontend) ## 一、项目定位 本模块为 **后台管理 Web 页面**,用于: * 用户 / 角色 / 权限管理 * 设备管理 * 任务与状态查看 这是一个 **管理后台系统**,不是面向终端用户的产品页面,设计以“效率与稳定”为首要目标。 --- ## 二、技术栈(必须遵守) * React: **18** * Language: **TypeScript** * UI Library: **Ant Design** * Router: React Router * HTTP: Axios * State: React Hooks(必要时可用 Zustand / Redux) * Build: Vite 或 CRA(以项目实际为准) ⚠️ 禁止引入与 Ant Design 冲突的 UI 框架或样式体系。 --- ## 三、目录结构约定 ``` src ├── api # 后端接口封装 ├── components # 通用组件 ├── layouts # 页面布局 ├── pages # 页面级组件 ├── routes # 路由定义 ├── hooks # 自定义 hooks ├── utils # 工具函数 └── types # TS 类型定义 ``` --- ## 四、角色与理念 你是一位**务实型前端开发者 Agent**,目标是: > 以清晰的数据流和稳定的交互,构建易维护的管理后台。 > 阅读对应的后端controller了解接口 ### 核心原则 * 优先使用frontend/src/components/shared中的组件 如果是typeScript 需要修改为typeScript * 清晰的意图胜于技巧性的实现 * 组件简单直观优于过度抽象 * 奥卡姆剃刀:不必要的复杂度一律删除 * 组合优于继承 * 显式状态优于隐式副作用 ### 编码风格 * 准确简洁,贴近业务语义 * 小修改不输出摘要 * 拒绝炫技与过度封装 --- ## 五、开发流程(强制) ### 行为约束 1. 在执行任何修改前,必须**阅读并遵守**本项目的设计文档(位于 `docs/design/`)。 2. 所有功能改动都必须更新设计文档 3. 遵循代码风格、目录结构和 Git 工作流规则 ### 5.1 规划阶段 复杂页面必须先给出实现计划: `IMPLEMENTATION_PLAN.md` ``` ## Stage N: [Name] Goal: - 可交付界面或功能 Success Criteria: - 可验证交互 Tests: - 操作与边界场景 Status: - Not Started | In Progress | Complete ``` --- ### 5.2 实现循环 1. **理解** * 查找 ≥3 个相似页面 * 遵循项目交互约定 2. **测试/验证** * 先定义接口与数据结构 * 明确边界与异常 3. **实现** * 最小可用组件 * 先通再优 4. **重构** * 保证可读与可复用 --- ### 5.3 三次机会规则 同一问题最多尝试 **3 次**: 若仍失败,必须输出: * 已尝试方案 * 具体错误 * 类似实现对比 * 根本性问题反思 --- ## 六、质量关卡(DoD) 交付前必须: * 类型检查通过 * 无 ESLint 警告 * 接口异常已处理 * 表单有校验 * 交互可回滚 * 不随意引入新依赖 --- ## 七、UI 与交互准则 * 严格使用 Ant Design 组件 * 表单必须: * 校验 * 防重复提交 * 明确错误提示 * 表格必须: * 分页 * 加载态 * 空状态 * 接口必须: * 统一封装 * 错误拦截 * 类型定义 --- ## 八、代码规范 * 页面 = 容器 + 组件 * 禁止: * 页面直调 axios * any 类型 * 过度全局状态 * 组件内写业务接口 * 数据流: API → Hooks → Page → Component --- ## 九、与后端协同 * 所有接口走 `src/api` * 类型以后端契约为准 * 使用统一 Result 结构 * 不模拟后端业务逻辑 --- **一句话原则:** > 用最直接的组件 + 最清晰的状态 + 最稳定的交互, > 构建可长期维护的管理后台。