ERPTurbo_Admin/openspec/project.md
shenyifei 1ee0bf173c docs(openspec): 添加OpenSpec指令和项目上下文文档
- 创建AGENTS.md,定义AI助手的OpenSpec使用规范
- 添加project.md,描述ERPTurbo_Admin项目的技术栈和约定
- 建立完整的OpenSpec目录结构和工作流指引
- 包含代码风格、命名约定和架构模式等项目规范
- 提供API设计、测试策略和Git工作流指导原则
2025-11-21 14:28:55 +08:00

5.9 KiB
Raw Blame History

Project Context

Purpose

ERPTurbo_Admin 是寻鸿科技的企业资源规划ERP管理系统为企业提供全面的生产管理、库存管理、经销商管理、订单处理等核心业务功能。系统旨在提高企业运营效率实现业务流程数字化和智能化管理。

Tech Stack

前端框架

  • React 18 - 主要UI框架使用TypeScript开发
  • UmiJS Max 4.4.9 - 企业级React应用框架提供路由、构建、部署等一体化解决方案
  • Ant Design 5.25.2 - 企业级UI设计语言和组件库
  • Ant Design Pro Components 2.8.6 - 高级业务组件
  • NutUI React 3.0.18 - 移动端UI组件库用于移动端适配

状态管理

  • Valtio - 现代化状态管理库
  • DVA - 数据流方案(兼容性考虑)
  • React Query - 服务端状态管理和数据获取

表单处理

  • Formily 2.3.2 - 企业级表单解决方案
  • @formily/antd-v5 - Formily与Ant Design v5的集成

样式和主题

  • TailwindCSS 3.4.17 - 原子化CSS框架
  • antd-style 3.7.1 - Ant Design样式增强方案
  • Styled Components 6.1.17 - CSS-in-JS样式库

工具库

  • Lodash 4.17.21 - 实用工具函数库
  • Day.js 1.11.13 - 轻量级日期处理库
  • Axios 1.7.4 - HTTP客户端
  • UUID 10.0.0 - 唯一标识符生成
  • CryptoJS 4.2.0 - 加密解密功能

编辑器和文档

  • @wangeditor-next/editor - 富文本编辑器
  • Markdown-it 14.1.0 - Markdown解析器
  • XLSX 0.18.5 - Excel文件处理

地图服务

  • 腾讯地图API - 地图功能集成

开发工具

  • TypeScript 5.6.3 - 类型安全的JavaScript超集
  • PNPM - 包管理器,支持工作空间
  • Prettier 3.3.3 - 代码格式化
  • ESLint - 代码质量检查
  • Husky 9.1.6 - Git钩子管理
  • Lint-staged 15.2.10 - 暂存文件检查

Project Conventions

代码风格

  • 缩进: 使用Tab缩进大小为4个空格宽度
  • 行长度: 最大80字符
  • 文件编码: UTF-8
  • 换行符: LF (Unix风格)
  • 尾随空格: 删除所有尾随空格
  • 文件结尾: 所有文件以换行符结尾

命名约定

  • 组件文件: PascalCase (例: UserList.tsx)
  • 函数/变量: camelCase (例: getUserList)
  • 常量: SCREAMING_SNAKE_CASE (例: API_BASE_URL)
  • 文件/目录: kebab-case (例: user-management/)
  • 接口/类型: PascalCase以I或T开头可选 (例: UserVO, APIResponse)

目录结构

packages/app-operation/src/
├── components/        # 通用组件
├── pages/            # 页面组件
├── services/         # API服务
├── models/           # 数据模型
├── utils/            # 工具函数
├── constants/        # 常量定义
├── layout/           # 布局组件
├── locales/          # 国际化文件
├── assets/           # 静态资源
└── wrappers/         # 高阶组件包装器

架构模式

  • 微前端架构: 使用PNPM工作空间管理多个应用
  • 分层架构:
    • 表现层 (Presentation): React组件和页面
    • 业务层 (Business): 业务逻辑和状态管理
    • 数据层 (Data): API调用和数据持久化
  • 模块化设计: 按业务领域划分模块 (dealer, product, operation等)
  • 组件化开发: 优先使用可复用组件

测试策略

  • 当前状态: 项目暂无专门的测试配置
  • 推荐策略:
    • 单元测试使用Jest + Testing Library
    • 集成测试使用Cypress或Playwright
    • 代码覆盖率:目标 > 80%
    • 测试文件命名: *.test.tsx*.spec.tsx

Git工作流

  • 分支策略:
    • master: 主分支,生产环境代码
    • feature/*: 功能开发分支
    • hotfix/*: 紧急修复分支
  • 提交规范: 使用Conventional Commits
    • feat: 新功能
    • fix: 修复bug
    • refactor: 重构代码
    • docs: 文档更新
    • style: 代码格式调整
    • test: 测试相关
    • chore: 构建过程或辅助工具变动
  • 代码质量: 使用Husky + Lint-staged进行预提交检查

API设计规范

  • RESTful API: 遵循REST设计原则
  • OpenAPI: 使用Swagger进行API文档化
  • 数据格式: 统一使用JSON
  • 错误处理: 标准化错误响应格式
  • 分页: 统一分页参数和响应格式

Domain Context

业务模块

  • 经销商管理 (Dealer): 经销商信息、返点计算、配置管理
  • 产品管理 (Product): 产品数据、规格管理
  • 订单管理 (Order): 订单处理、发货管理
  • 基础数据 (Basic Data): 生产预付、工人预付、固定费用
  • 纸箱管理 (Box): 纸箱规格管理
  • 系统设置 (Setting): 智能识别配置、系统参数

核心概念

  • 用户角色: 普通用户、管理员、经销商
  • 权限管理: 基于角色的访问控制 (RBAC)
  • 多租户: 支持多平台/渠道隔离
  • 国际化: 默认中文,支持多语言扩展

Important Constraints

技术约束

  • 浏览器支持: 现代浏览器 (Chrome 80+, Firefox 75+, Safari 13+)
  • 响应式设计: 支持桌面端和移动端
  • 性能要求: 页面加载时间 < 3秒
  • 安全要求:
    • XSS防护
    • CSRF防护
    • 敏感数据加密
    • API鉴权

业务约束

  • 数据一致性: 关键业务数据必须保持一致性
  • 审计日志: 重要操作需要记录审计日志
  • 数据备份: 定期备份关键业务数据
  • 合规要求: 符合企业数据管理规范

External Dependencies

云服务

  • 阿里云OSS: 文件存储服务
  • 腾讯地图API: 地图功能服务

API服务

  • 业务API: 自建后端API服务
  • 认证服务: SSO单点登录服务

第三方集成

  • 支付接口: 支付宝、微信支付(预留)
  • 短信服务: 短信通知服务(预留)
  • 邮件服务: 邮件通知服务(预留)

开发环境

  • Node.js: >= 16.0.0
  • PNPM: >= 8.0.0
  • Git: >= 2.30.0