--- # CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## 项目概述 这是一个基于 **RuoYi-Vue 3.9.0** 的企业管理系统,集成了跨境电商 ERP 功能。项目包含: * **RuoYi-Vue 核心**:基于 Spring Boot 2.5.15 后端和 Vue.js 2.6.12 前端的企业管理平台 * **ERP 客户端 (erp_client_sb)**:独立的跨境电商 ERP 桌面应用 (JavaFX + Spring Boot 3.5.4) * **客户端监控扩展**:实时监控、数据报表、API 集成等自定义功能 ## 项目架构 ### 主项目模块结构 (Maven 多模块) ``` ruoyi-admin/ # 主应用入口,Web 控制器层 ruoyi-framework/ # 核心框架配置 (Spring Security, Redis, MyBatis) ruoyi-system/ # 系统核心模块 (实体类、Mapper、Service) ruoyi-common/ # 公共工具类和常量定义 ruoyi-quartz/ # 定时任务管理模块 ruoyi-generator/ # 代码生成器模块 ruoyi-ui/ # Vue.js 前端应用 erp_client_sb/ # 独立的跨境电商 ERP 客户端 ``` ### 技术栈详情 **后端 (Spring Boot 2.5.15)** - Java 17 + Maven 3.11.0 - Spring Security 5.7.12 + JWT 0.9.1 认证 - MyBatis + PageHelper 1.4.7 分页 - MySQL + Redis 缓存 - Druid 1.2.23 连接池 - Swagger 3.0.0 API 文档 - FastJSON 2.0.57 JSON 处理 **前端 (Vue.js 2.6.12)** - Element UI 2.15.14 组件库 - Vue Router 3.4.9 + Vuex 3.6.0 - Axios 0.28.1 HTTP 客户端 - ECharts 5.4.0 图表库 - Webpack 构建 (vue-cli-service 4.4.6) **ERP 客户端 (JavaFX + Spring Boot 3.5.4)** - OpenJFX 17.0.1 桌面 UI - SQLite 3.42.0 本地数据库 + JPA/Hibernate - WebMagic 1.0.3 + Selenium 4.23.0 网页爬取 - HutoolUtils 5.8.36 工具库 - 七牛云 7.12.1 存储服务 ## 常用开发命令 ### 后端开发 (Maven) ```bash # 启动主应用 (推荐) cd ruoyi-admin && mvn spring-boot:run # 从根目录启动 mvn spring-boot:run -pl ruoyi-admin # 打包部署 mvn clean package -DskipTests # 运行测试 mvn test # 编译项目 mvn clean compile ``` ### 前端开发 (npm) ```bash cd ruoyi-ui # 安装依赖 (建议使用国内镜像) npm install --registry=https://registry.npmmirror.com # 启动开发服务器 (端口 80) npm run dev # 生产环境构建 npm run build:prod # 测试环境构建 npm run build:stage ``` ### ERP 客户端开发 ```bash cd erp_client_sb # 启动 JavaFX 应用 mvn spring-boot:run # 或者 mvn javafx:run # 打包可执行 JAR mvn clean package ``` ## 核心配置与架构要点 ### Maven 依赖管理 - 使用阿里云 Maven 镜像 (maven.aliyun.com) - 父 POM 统一管理版本号和依赖 - 安全版本覆盖:Tomcat 9.0.106, Logback 1.2.13, Spring Framework 5.3.39 ### 前端开发配置 - **开发服务器**:端口 80,支持热重载 - **代理配置**:`vue.config.js` 中配置后端 API 代理 (`http://8.138.23.49:8080`) - **构建优化**:Gzip 压缩、代码分割、Element UI 单独打包 ### 数据库与缓存 - **MySQL**:主数据库,通过 Druid 连接池管理 - **Redis**:会话存储、缓存、分布式锁 - **SQLite**:ERP 客户端本地数据存储 ### 安全与认证 - **JWT 无状态认证**:支持多终端 - **RBAC 权限模型**:角色-菜单-按钮权限 - **跨域配置**:支持前后端分离部署 - **XSS 防护**:输入过滤和输出编码 ## 开发工作流 ### 新功能开发标准流程 1. **后端开发**: - 在 `ruoyi-system/src/main/java/com/ruoyi/system/domain/` 创建实体类 - 在 `ruoyi-system/src/main/java/com/ruoyi/system/mapper/` 创建 Mapper 接口 - 在 `ruoyi-system/src/main/resources/mapper/system/` 创建 MyBatis XML - 在 `ruoyi-system/src/main/java/com/ruoyi/system/service/` 实现业务逻辑 - 在 `ruoyi-admin/src/main/java/com/ruoyi/web/controller/` 创建 REST 控制器 2. **前端开发**: - 在 `ruoyi-ui/src/api/` 创建 API 服务模块 - 在 `ruoyi-ui/src/views/` 创建页面组件 - 更新路由配置和菜单权限 3. **代码生成器**: - 访问 `/tool/gen` 快速生成 CRUD 代码 - 支持 Java、Vue、SQL 代码自动生成 ### 客户端集成开发 ERP 客户端提供的核心功能: - 多平台数据采集 (Amazon, Rakuten, Shopee, 1688) - 实时状态监控与错误上报 - 与主系统的 API 集成 (`/monitor/client/api/**`) ## 重要配置文件 ### 后端配置 - **主配置**:`ruoyi-admin/src/main/resources/application.yml` - **数据源配置**:`ruoyi-admin/src/main/resources/application-druid.yml` - **Maven 配置**:根目录 `pom.xml` (父 POM) ### 前端配置 - **构建配置**:`ruoyi-ui/vue.config.js` - **包管理**:`ruoyi-ui/package.json` ### ERP 客户端配置 - **应用配置**:`erp_client_sb/src/main/resources/application.yml` - **Maven 配置**:`erp_client_sb/pom.xml` ## 系统监控与工具 ### 内置监控功能 - 系统性能监控:`/monitor/server` - Redis 缓存监控:缓存信息查询和命令统计 - Druid 连接池监控:SQL 性能分析 - 在线用户监控:当前活跃用户状态 - 操作日志:系统操作记录和异常日志 ### API 文档 - Swagger UI:`/swagger-ui/index.html` - 自动生成的接口文档 ## 部署和环境 ### 开发环境要求 - **Java**:JDK 17 - **Node.js**:>= 8.9 - **npm**:>= 3.0.0 - **MySQL**:5.7+ 或 8.0+ - **Redis**:6.0+ ### 常见问题排查 - **端口冲突**:前端默认 80 端口,可在 `vue.config.js` 修改 - **跨域问题**:检查 `vue.config.js` 代理配置和后端 CORS 设置 - **Maven 依赖**:已配置阿里云镜像加速 - **JavaFX 运行**:确保 JDK 包含 JavaFX 模块或单独安装 OpenJFX --- ⚠️ **额外要求**:回答时必须使用中文。 💡 **操作提示**:在每次修改代码前,我会先向您说明修改的思路和方案,请您确认同意后再进行代码更改。 ---