# CLAUDE.md 本文档为 Claude Code 在本项目中工作提供指导。 ## 项目目录结构(重要) | 目录 | 说明 | |------|------| | `java-backend/` | **后端项目目录** - Spring Boot 应用 | | `java-frontend/` | **前端项目目录** - Vue 3 应用 | **所有后续开发都基于这两个项目进行。** ## JDK 版本要求(重要) **必须使用 JDK 17** 进行编译和运行。 如果系统环境变量配置的是 JDK 1.8,请在编译前设置 `JAVA_HOME`: ```bash # Windows (Git Bash) - 根据实际安装路径调整 export JAVA_HOME="/f/Java/jdk-17" export PATH="$JAVA_HOME/bin:$PATH" # 编译项目 cd java-backend mvn clean compile -DskipTests # 启动项目 mvn spring-boot:run -Djava.home="/f/Java/jdk-17" ``` ## 快速开始 ```bash # 前端 - 安装依赖并启动 cd java-frontend pnpm install pnpm dev # 后端 - 安装依赖并启动 cd java-backend mvn clean install mvn spring-boot:run -Dspring.profiles.active=dev ``` ## 技术栈 ### 后端 (java-backend/) - **框架**: Spring Boot 3.2 + Java 17 - **持久层**: MyBatis-Plus 3.5+ - **数据库**: MySQL 8.0 + Flyway 迁移 - **认证**: Spring Security + JWT - **缓存**: Redis - **对象映射**: MapStruct 1.5+ ### 前端 (java-frontend/) - **框架**: Vue 3 + TypeScript + Vite - **UI 组件**: Ant Design Vue - **状态管理**: Pinia - **样式**: Tailwind CSS + SCSS ## 核心命令 ### 后端开发 (java-backend/) ```bash cd java-backend # 编译 mvn clean compile -DskipTests # 启动 mvn spring-boot:run -Dspring.profiles.active=dev # 打包 mvn clean package -DskipTests # 数据库迁移 mvn flyway:migrate ``` ### 前端开发 (java-frontend/) ```bash cd java-frontend # 安装依赖 pnpm install # 启动开发服务器 pnpm dev # 构建 pnpm build ``` ## 架构概览 ### 目录结构 ``` library-picturebook-activity/ ├── java-backend/ # Spring Boot 后端 │ ├── src/main/java/ │ │ └── com/lesingle/creation/ │ │ ├── common/ # 公共模块(常量、异常、工具) │ │ ├── config/ # 配置类 │ │ ├── controller/ # REST 控制器 │ │ ├── dto/ # 数据传输对象 │ │ ├── entity/ # 实体类 │ │ ├── mapper/ # MyBatis Mapper │ │ ├── service/ # 业务逻辑层 │ │ │ └── impl/ # Service 实现 │ │ └── vo/ # 视图对象 │ └── src/main/resources/ │ ├── application*.yml # 配置文件 │ ├── db/migration/ # Flyway 迁移脚本 │ └── mapper/ # MyBatis XML │ └── java-frontend/ # Vue 3 前端 ├── src/ │ ├── api/ # API 接口 │ ├── views/ # 页面组件 │ ├── components/ # 公共组件 │ ├── stores/ # Pinia 状态 │ ├── router/ # 路由配置 │ ├── composables/ # 组合式函数 │ └── utils/ # 工具函数 └── public/ ``` ### 后端模块结构 每个功能模块包含: - `XxxController.java` - REST 控制器 - `XxxService.java` / `XxxServiceImpl.java` - 业务逻辑 - `XxxMapper.java` - 数据访问层 - `Xxx.java` (entity/) - 实体类 - `XxxDTO.java` / `XxxVO.java` - 数据传输对象 ## 关键开发规范 ### 后端规范 1. **三层架构原则**: - Controller 层:DTO ↔ VO 转换 - Service 层:使用 Entity,继承 `IService` - Mapper 层:使用 Entity 2. **日志规范**: - **所有日志必须使用中文** - 使用 MDC 实现 TraceId 链路追踪 - 开发/测试环境:DEBUG 级别 - 生产环境:INFO/WARN 级别 3. **权限控制**:使用权限注解进行接口保护 4. **DTO 验证**:使用 Validation 注解 ### 前端规范 1. **API 调用**:放在 `src/api/` 目录,按模块组织 2. **状态管理**:使用 Pinia,store 命名 `xxxStore` 3. **组件语法**:使用 `