# mind-map-backend **Repository Path**: zhou-wei-0724/mind-map-backend ## Basic Information - **Project Name**: mind-map-backend - **Description**: 性格测试后端 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-16 - **Last Updated**: 2026-03-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 性格测试后端服务 基于 Spring Boot 的性格测试后端服务,支持多种人格测评类型,包括 MBTI、DISC、九型人格等。 ## 项目简介 本项目是一个完整的后端服务,提供用户管理、测试题库、激活码管理、测试结果保存以及 AI 智能分析等功能。采用 RESTful API 设计,支持 JWT 身份认证,可与前端应用无缝对接。 ## 技术栈 - **框架**: Spring Boot 2.x - **数据库**: JPA (支持多种数据库) - **认证**: JWT (JSON Web Token) - **API**: RESTful API - **工具类**: Lombok, Jackson ## 功能特性 ### 用户模块 - 用户注册与登录 - 用户信息查询 - VIP 等级管理 - 付费测试次数管理 ### 测试模块 - 获取所有测试列表 - 获取免费测试 - 获取测试题目 - 提交测试答案 - 检查测试访问权限 ### 激活码模块 - 生成激活码 - 批量生成激活码 - 验证激活码 - 管理员查看所有激活码 - 用户查看自己的激活码 ### 结果模块 - 保存测试结果 - 查看历史测试结果 - 获取最新测试结果 - AI 重新生成分析报告 ### AI 分析 - 基于测试类型生成个性化分析 - 支持 MBTI、DISC、九型人格结果解析 ## API 接口概览 ### 用户接口 | 方法 | 路径 | 描述 | |------|------|------| | POST | /api/user/register | 用户注册 | | POST | /api/user/login | 用户登录 | | GET | /api/user/info | 获取用户信息 | ### 测试接口 | 方法 | 路径 | 描述 | |------|------|------| | GET | /api/tests | 获取所有测试 | | GET | /api/tests/free | 获取免费测试 | | GET | /api/tests/{id} | 获取测试详情 | | GET | /api/tests/{id}/questions | 获取测试题目 | | POST | /api/tests/{id}/submit | 提交测试答案 | ### 激活码接口 | 方法 | 路径 | 描述 | |------|------|------| | POST | /api/activation/generate | 生成激活码 | | POST | /api/activation/batchGenerate | 批量生成激活码 | | POST | /api/activation/verify | 验证激活码 | | GET | /api/activation/codes | 查看用户激活码 | | GET | /api/activation/admin/codes | 管理员查看所有激活码 | ### 结果接口 | 方法 | 路径 | 描述 | |------|------|------| | GET | /api/results/history | 获取历史结果 | | GET | /api/results/{id} | 获取指定结果 | | GET | /api/results/latest/{testId} | 获取最新结果 | | POST | /api/results/{id}/regenerate-ai | 重新生成 AI 分析 | ## 配置说明 在 `application.yml` 中配置以下关键参数: ```yaml server: port: 8080 spring: datasource: # 数据库配置 jpa: # JPA 配置 jwt: secret: your-jwt-secret expiration: 86400000 ai: api-key: your-ai-api-key api-url: your-ai-api-url model: your-ai-model ``` ## 项目结构 ``` src/main/java/com/personalitytest/ ├── PersonalityTestApplication.java # 应用入口 ├── config/ # 配置类 │ ├── CorsConfig.java # 跨域配置 │ └── RestTemplateConfig.java # RestTemplate 配置 ├── controller/ # 控制器 │ ├── ActivationController.java # 激活码控制器 │ ├── ResultController.java # 结果控制器 │ ├── TestController.java # 测试控制器 │ └── UserController.java # 用户控制器 ├── dto/ # 数据传输对象 ├── entity/ # 实体类 ├── repository/ # 数据仓库 ├── service/ # 业务服务 │ ├── ActivationService.java # 激活码服务 │ ├── AiService.java # AI 服务 │ ├── ResultService.java # 结果服务 │ ├── TestService.java # 测试服务 │ └── UserService.java # 用户服务 └── utils/ # 工具类 ├── DateUtil.java # 日期工具 ├── JwtUtil.java # JWT 工具 ├── PasswordUtil.java # 密码工具 └── ResponseUtil.java # 响应工具 ``` ## 使用说明 1. 克隆项目到本地 2. 配置数据库连接 3. 配置 JWT 密钥和过期时间 4. 配置 AI API(如需使用 AI 分析功能) 5. 运行 `PersonalityTestApplication` 启动服务 ## 依赖环境 - JDK 8 或更高版本 - Maven 3.x - MySQL/PostgreSQL 等数据库 ## 许可证 本项目仅供学习交流使用。