# NeuralInterventionPlatform_backend **Repository Path**: c6enton9/NeuralInterventionPlatform ## Basic Information - **Project Name**: NeuralInterventionPlatform_backend - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-17 - **Last Updated**: 2026-04-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NeuralInterventionPlatform Backend Spring Boot 后端服务 ## 快速开始 ### 前置要求 - JDK 25+ - Maven 3.6+ - MySQL 8.0+ - RabbitMQ 3.12+ ### 配置文件说明 - `src/main/resources/application.yml` - 公共配置 - 默认 profile 已设置为 `dev` - `src/main/resources/application-dev.yml` - 本地开发环境配置 - 本地启动时主要修改这个文件 - `src/main/resources/application-prod.yml` - 服务器生产环境配置 - 生产部署时主要修改环境变量,必要时再补充修改这个文件里的非敏感项 ### 本地启动前要改哪里 主要改 `src/main/resources/application-dev.yml`: - `spring.datasource` - 改成本机 MySQL 的库名、用户名、密码 - `spring.mail` - 改成你本地能用的发信邮箱配置 - `spring.rabbitmq` - 改成本机或开发环境的 RabbitMQ 配置 - `file.storage` - 改成本机文件存储目录 - `aliyun.oss` - 本地上传头像、作品、文件时会用到 - `aliyun.sms` - 默认会优先读 `ALIYUN_SMS_ACCESS_KEY_ID / ALIYUN_SMS_ACCESS_KEY_SECRET` - 如果你没单独配短信 AK/SK,会默认复用 OSS 的 AK/SK ### 服务器启动前要改哪里 优先改环境变量,其次再看 `src/main/resources/application-prod.yml`: - 数据库 - `SPRING_DATASOURCE_URL` - `SPRING_DATASOURCE_USERNAME` - `SPRING_DATASOURCE_PASSWORD` - 邮件 - `SPRING_MAIL_HOST` - `SPRING_MAIL_PORT` - `SPRING_MAIL_USERNAME` - `SPRING_MAIL_PASSWORD` - RabbitMQ - `SPRING_RABBITMQ_HOST` - `SPRING_RABBITMQ_PORT` - `SPRING_RABBITMQ_USERNAME` - `SPRING_RABBITMQ_PASSWORD` - `SPRING_RABBITMQ_VIRTUAL_HOST` - OSS - `ALIYUN_OSS_ENDPOINT` - `ALIYUN_OSS_ACCESS_KEY_ID` - `ALIYUN_OSS_ACCESS_KEY_SECRET` - `ALIYUN_OSS_BUCKET_NAME` - `ALIYUN_OSS_BASE_URL` - 短信 - `ALIYUN_SMS_ENDPOINT` - `ALIYUN_SMS_ACCESS_KEY_ID` - `ALIYUN_SMS_ACCESS_KEY_SECRET` - `ALIYUN_SMS_SIGN_NAME` - `ALIYUN_SMS_TEMPLATE_CODE` - 文件存储路径 - `FILE_STORAGE_AVATAR_PATH` - `FILE_STORAGE_AI_ART_PATH` - `FILE_STORAGE_CHAT_FILES_PATH` - `FILE_STORAGE_DRUG_IMAGES_PATH` - 生产域名 - `APP_CORS_ALLOWED_ORIGINS` - `APP_WEBSOCKET_ALLOWED_ORIGINS` ### 运行 本地开发环境: ```bash mvn spring-boot:run -Dspring-boot.run.profiles=dev ``` 也可以直接运行,默认就是 `dev`: ```bash mvn spring-boot:run ``` 生产环境: ```bash mvn clean package java -jar target/SpringBoot-5.2.2.jar --spring.profiles.active=prod ``` ## API 端点 ### 公开端点(无需认证) - `/login` - 登录 - `/register` - 注册 - `/account/reset-password` - 重置密码 - `/avatars/**` - 头像资源 - `/ai-art-works/**` - AI 艺术作品 - `/chat-files/**` - 聊天文件 - `/websocket` - WebSocket 连接 - `/drugs/**` - 药物信息 - `/drug-classes/**` - 药物分类 ### 需要认证的端点 所有其他端点需要在请求头中包含 JWT token: ``` Authorization: Bearer ``` ## 开发指南 ### 项目结构 ``` src/main/java/com/chy/springboot/ ├── config/ # 配置类 ├── controller/ # REST 控制器 ├── dao/ # 数据访问层 ├── entity/ # JPA 实体 ├── security/ # 安全配置 ├── service/ # 业务逻辑 └── util/ # 工具类 ``` ### 添加新的 API 1. 创建实体类(如果需要) 2. 创建 Repository 接口 3. 创建 Service 类 4. 创建 Controller 类 5. 在 SecurityConfig 中配置访问权限 ## 故障排查 ### 常见问题 1. **端口已被占用** - 修改 `application.yml` 中的 `server.port` 2. **数据库连接失败** - 检查 MySQL 是否运行 - 本地检查 `application-dev.yml` - 服务器检查 `application-prod.yml` 和数据库环境变量 - 确认数据库已创建 3. **RabbitMQ 连接失败** - 检查 RabbitMQ 是否运行 - 本地检查 `application-dev.yml` - 服务器检查 `application-prod.yml` 和 RabbitMQ 环境变量 4. **SSL 证书错误** - 开发环境可以禁用 SSL:`server.ssl.enabled=false` - 生产环境需要配置有效证书