# 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
