大学生在线焦虑测试系统

专为大学生设计的在线心理健康评估平台,Spring Boot 3+Vue3 实现焦虑测评、在线咨询与个性化建议,支持学生、医生、管理员三角色,含 JWT 认证与 ECharts 结果分析,适合 Java 心理健康类毕业设计。

评分:4.8/5.0
销量:33
发布:12/2/2025
难度:L3 高级

获取完整源码

演示视频仅作效果参考。完整源码、项目说明与运行答疑,请私聊沟通(适合毕业设计 / 课程设计 / 课设参考)。

获取完整源码观看演示视频
含项目说明文档,便于对照学习
可本地运行,适合课设演示
沟通获取后可咨询运行问题

项目封面

截图 1

项目概览

本项目是专为大学生设计的在线心理健康评估与咨询平台,集成了焦虑测评、在线咨询、个性化建议等核心功能,采用前后端分离架构。后端基于 Spring Boot 3.4、MyBatis-Plus 与 JWT 认证,前端使用 Vue 3.5、Vite 6 与 Element Plus。系统支持学生、医生、管理员三种角色:学生可在线答题提交焦虑测评、发起咨询并与医生实时消息沟通、查看疾病知识库;医生可管理咨询与提供针对性建议;管理员负责用户与系统配置。测评结果支持图表展示与趋势分析,集成 Knife4j API 文档,适合心理健康信息化方向 Java 毕业设计。

项目说明

大学生在线焦虑测试系统

项目简介

这是一个专为大学生设计的在线心理健康评估与咨询平台,集成了焦虑测评、在线咨询、个性化建议等核心功能。系统采用前后端分离架构,支持学生、医生、管理员三种角色,提供专业的心理健康服务。

技术栈

后端技术

技术版本/说明
开发语言Java 17
框架Spring Boot 3.4.3
ORM框架MyBatis-Plus 3.5.8
数据库MySQL 8.0+
API文档Knife4j 4.5.0 (Swagger增强)
工具库Hutool 5.8.36
身份认证JWT (jjwt 0.12.3)
构建工具Maven

前端技术

技术版本/说明
框架Vue 3.5.13
构建工具Vite 6.2.4
UI组件库Element Plus 2.9.8
状态管理Pinia 3.0.1
路由管理Vue Router 4.5.0
HTTP请求Axios 1.8.4
包管理器pnpm
代码规范ESLint + Prettier + Oxlint

项目特点

  • 前后端分离:后端提供RESTful API,前端独立开发部署
  • 多角色管理:支持学生、医生、管理员三种角色
  • 专业测评:标准化焦虑测评问卷,科学评估心理状态
  • 在线咨询:实时消息系统,支持学生与医生在线沟通
  • 个性化建议:医生根据测评结果提供针对性建议
  • 数据可视化:测评结果图表展示,趋势分析
  • API文档:集成Knife4j,提供美观的API文档界面

功能模块

学生端功能

1. 用户管理

  • 用户注册/登录
  • 个人信息管理
  • 密码修改
  • 个人资料编辑

2. 焦虑测评

  • 查看可用问卷列表
  • 在线答题
  • 提交测评
  • 查看测评结果
  • 历史测评记录
  • 测评结果分析

3. 在线咨询

  • 发起咨询请求
  • 选择咨询医生
  • 实时消息沟通
  • 查看咨询历史
  • 咨询状态跟踪

4. 个性化建议

  • 查看医生建议
  • 建议收藏
  • 建议分类浏览

5. 疾病知识库

  • 浏览心理疾病信息
  • 症状查询
  • 治疗方法了解
  • 预防措施学习

6. 系统通知

  • 查看系统公告
  • 接收测评提醒
  • 咨询消息通知

医生端功能

1. 测评管理

  • 查看待处理测评
  • 测评结果分析
  • 填写处理意见
  • 测评统计分析

2. 在线咨询

  • 接收咨询请求
  • 回复学生消息
  • 咨询会话管理
  • 咨询记录查看

3. 个性化建议

  • 创建个性化建议
  • 编辑建议内容
  • 发布建议
  • 建议管理

4. 患者管理

  • 查看患者列表
  • 患者测评历史
  • 患者咨询记录
  • 患者档案管理

管理员功能

1. 用户管理

  • 用户列表查看
  • 用户信息编辑
  • 用户状态管理
  • 角色权限分配

2. 医生管理

  • 医生信息管理
  • 医生资质审核
  • 医生职称管理
  • 医生专业设置

3. 问卷管理

  • 问卷创建/编辑
  • 问题管理
  • 选项配置
  • 问卷发布/下架

4. 疾病管理

  • 疾病信息录入
  • 疾病分类管理
  • 症状描述编辑
  • 治疗方案维护

5. 通知管理

  • 发布系统通知
  • 通知编辑
  • 通知状态管理
  • 通知历史查看

6. 数据统计

  • 测评数据统计
  • 咨询数据分析
  • 用户活跃度统计
  • 系统使用报表

项目结构

java-kaoshijiaolv/
├── backend/                        # 后端项目(Spring Boot)
│   ├── src/
│   │   └── main/
│   │       ├── java/
│   │       │   └── org/sqa/anxiety/
│   │       │       ├── controller/     # 控制器层
│   │       │       ├── service/        # 业务逻辑层
│   │       │       ├── mapper/         # 数据访问层
│   │       │       ├── entity/         # 实体类
│   │       │       ├── dto/            # 数据传输对象
│   │       │       ├── vo/             # 视图对象
│   │       │       ├── config/         # 配置类
│   │       │       ├── common/         # 公共类
│   │       │       ├── exception/      # 异常处理
│   │       │       └── util/           # 工具类
│   │       └── resources/
│   │           ├── application.yml     # 应用配置
│   │           └── mapper/             # MyBatis映射文件
│   ├── sql/
│   │   └── anxiety.sql                 # 数据库脚本
│   └── pom.xml                         # Maven配置
│
├── web-java/                           # 前端项目(Vue 3)
│   ├── public/                         # 静态资源
│   ├── src/
│   │   ├── api/                        # API接口封装
│   │   ├── assets/                     # 静态资源
│   │   ├── components/                 # 公共组件
│   │   ├── router/                     # 路由配置
│   │   ├── stores/                     # Pinia状态管理
│   │   ├── views/                      # 页面视图
│   │   │   ├── student/                # 学生端页面
│   │   │   ├── doctor/                 # 医生端页面
│   │   │   ├── admin/                  # 管理员页面
│   │   │   └── common/                 # 公共页面
│   │   ├── App.vue                     # 根组件
│   │   └── main.js                     # 入口文件
│   ├── package.json                    # 依赖配置
│   └── vite.config.js                  # Vite配置
│
├── 大学生在线焦虑测试系统.xmind         # 项目思维导图
├── 功能图.jpg                          # 功能架构图
└── 演示视频.mp4                        # 系统演示视频

数据模型

用户表 (users)

{
  id: BIGINT,                    // 用户ID
  username: VARCHAR(50),         // 用户名
  password: VARCHAR(100),        // 密码
  nickname: VARCHAR(50),         // 昵称
  phone: VARCHAR(20),            // 手机号
  email: VARCHAR(100),           // 邮箱
  role: ENUM,                    // 角色 (user/doctor/admin)
  status: ENUM,                  // 状态 (active/disabled)
  created_at: TIMESTAMP,         // 创建时间
  updated_at: TIMESTAMP          // 更新时间
}

医生信息表 (doctor_profiles)

{
  id: BIGINT,                    // 医生ID
  user_id: BIGINT,               // 关联用户ID
  title: VARCHAR(50),            // 职称
  specialty: VARCHAR(100)        // 专业
}

问卷表 (questionnaires)

{
  id: BIGINT,                    // 问卷ID
  title: VARCHAR(100),           // 问卷标题
  cate: VARCHAR(100),            // 问卷类型
  description: TEXT,             // 问卷描述
  status: ENUM,                  // 状态 (active/inactive)
  created_at: TIMESTAMP,         // 创建时间
  updated_at: TIMESTAMP          // 更新时间
}

问卷问题表 (questionnaire_questions)

{
  id: BIGINT,                    // 问题ID
  questionnaire_id: BIGINT,      // 问卷ID
  content: TEXT,                 // 问题内容
  question_order: INT            // 问题顺序
}

问卷选项表 (questionnaire_options)

{
  id: BIGINT,                    // 选项ID
  question_id: BIGINT,           // 问题ID
  content: VARCHAR(255),         // 选项内容
  value: INT,                    // 选项值
  option_order: INT              // 选项顺序
}

测评结果表 (test_results)

{
  id: BIGINT,                    // 测评结果ID
  user_id: BIGINT,               // 用户ID
  questionnaire_id: BIGINT,      // 问卷ID
  doctor_id: BIGINT,             // 处理医生ID
  total_score: INT,              // 总分
  level: ENUM,                   // 评估等级 (normal/mild/moderate/severe)
  answers: JSON,                 // 答案记录
  status: ENUM,                  // 处理状态 (pending/processed)
  doctor_opinion: TEXT,          // 医生处理意见
  created_at: TIMESTAMP,         // 创建时间
  updated_at: TIMESTAMP          // 更新时间
}

在线咨询会话表 (consultation_sessions)

{
  id: BIGINT,                    // 会话ID
  user_id: BIGINT,               // 用户ID
  doctor_id: BIGINT,             // 医生ID
  title: VARCHAR(100),           // 咨询标题
  status: ENUM,                  // 咨询状态 (pending/processing/completed/cancelled)
  created_at: TIMESTAMP,         // 创建时间
  updated_at: TIMESTAMP          // 更新时间
}

咨询消息表 (consultation_messages)

{
  id: BIGINT,                    // 消息ID
  session_id: BIGINT,            // 会话ID
  sender_id: BIGINT,             // 发送者ID
  receiver_id: BIGINT,           // 接收者ID
  content: TEXT,                 // 消息内容
  message_type: ENUM,            // 消息类型 (text/image/file)
  is_read: BOOLEAN,              // 是否已读
  created_at: TIMESTAMP          // 创建时间
}

个性化建议表 (personalized_advice)

{
  id: BIGINT,                    // 建议ID
  user_id: BIGINT,               // 用户ID
  doctor_id: BIGINT,             // 医生ID
  title: VARCHAR(100),           // 建议标题
  content: TEXT,                 // 建议内容
  status: ENUM,                  // 状态 (draft/published)
  created_at: TIMESTAMP,         // 创建时间
  updated_at: TIMESTAMP          // 更新时间
}

疾病表 (diseases)

{
  id: BIGINT,                    // 疾病ID
  name: VARCHAR(100),            // 疾病名称
  description: TEXT,             // 疾病描述
  symptoms: TEXT,                // 症状
  treatments: TEXT,              // 治疗方法
  preventions: TEXT,             // 预防措施
  severity: ENUM,                // 严重程度 (mild/moderate/severe)
  created_at: TIMESTAMP,         // 创建时间
  updated_at: TIMESTAMP          // 更新时间
}

通知表 (notifications)

{
  id: BIGINT,                    // 通知ID
  title: VARCHAR(100),           // 通知标题
  content: TEXT,                 // 通知内容
  status: ENUM,                  // 状态 (draft/published)
  created_at: TIMESTAMP,         // 创建时间
  updated_at: TIMESTAMP          // 更新时间
}

焦虑评估等级

等级英文标识分数范围说明
正常normal0-20分心理状态良好,无明显焦虑症状
轻度mild21-40分存在轻微焦虑,建议自我调节
中度moderate41-60分焦虑症状明显,建议咨询专业人士
重度severe61分以上焦虑严重,需要及时就医治疗

运行环境要求

后端环境

  • JDK 17+
  • Maven 3.6+
  • MySQL 8.0+
  • IDE: IntelliJ IDEA / Eclipse

前端环境

  • Node.js 18.0+
  • pnpm 8.0+
  • 现代浏览器(Chrome、Firefox、Edge等)

快速开始

1. 数据库配置

  1. 创建MySQL数据库
CREATE DATABASE exam_anxiety CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  1. 导入数据库文件
mysql -u root -p exam_anxiety < backend/sql/anxiety.sql
  1. 修改数据库配置 编辑 backend/src/main/resources/application.yml
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/exam_anxiety?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: your_password  # 修改为你的密码

2. 启动后端服务

# 进入后端目录
cd backend

# 使用Maven编译
mvn clean install

# 启动Spring Boot应用
mvn spring-boot:run

后端服务默认运行在 http://localhost:8080

API文档访问地址: http://localhost:8080/doc.html

3. 启动前端服务

# 进入前端目录
cd web-java

# 安装依赖
pnpm install

# 启动开发服务器
pnpm dev

前端服务默认运行在 http://localhost:5173

4. 配置前端API地址

如果后端地址不是默认的 http://localhost:8080,需要修改前端配置:

编辑 web-java/src/api/request.js 或相关配置文件,修改API基础地址。

默认账号

管理员账号

  • 用户名:admin
  • 密码:123456

测试账号

系统启动后可以通过注册功能创建新账号,或由管理员添加。

核心业务流程

1. 学生测评流程

  1. 学生登录系统
  2. 选择焦虑测评问卷
  3. 逐题作答
  4. 提交测评
  5. 系统自动计算分数和等级
  6. 查看测评结果
  7. 等待医生处理
  8. 查看医生意见

2. 医生处理流程

  1. 医生登录系统
  2. 查看待处理测评列表
  3. 查看学生测评详情
  4. 分析测评结果
  5. 填写处理意见
  6. 提交处理结果
  7. 可选:创建个性化建议

3. 在线咨询流程

  1. 学生发起咨询请求
  2. 选择咨询医生
  3. 填写咨询标题和初始问题
  4. 医生接收咨询请求
  5. 双方实时消息沟通
  6. 医生提供专业建议
  7. 咨询完成或取消

API接口说明

用户相关

  • POST /api/auth/register - 用户注册
  • POST /api/auth/login - 用户登录
  • GET /api/user/profile - 获取个人信息
  • PUT /api/user/profile - 更新个人信息
  • PUT /api/user/password - 修改密码

问卷相关

  • GET /api/questionnaires - 获取问卷列表
  • GET /api/questionnaires/{id} - 获取问卷详情
  • POST /api/questionnaires - 创建问卷(管理员)
  • PUT /api/questionnaires/{id} - 更新问卷(管理员)
  • DELETE /api/questionnaires/{id} - 删除问卷(管理员)

测评相关

  • POST /api/test-results - 提交测评
  • GET /api/test-results - 获取测评列表
  • GET /api/test-results/{id} - 获取测评详情
  • PUT /api/test-results/{id}/process - 处理测评(医生)

咨询相关

  • POST /api/consultations - 创建咨询会话
  • GET /api/consultations - 获取咨询列表
  • GET /api/consultations/{id} - 获取咨询详情
  • POST /api/consultations/{id}/messages - 发送消息
  • GET /api/consultations/{id}/messages - 获取消息列表

建议相关

  • POST /api/advice - 创建建议(医生)
  • GET /api/advice - 获取建议列表
  • GET /api/advice/{id} - 获取建议详情
  • PUT /api/advice/{id} - 更新建议(医生)

疾病相关

  • GET /api/diseases - 获取疾病列表
  • GET /api/diseases/{id} - 获取疾病详情
  • POST /api/diseases - 创建疾病(管理员)
  • PUT /api/diseases/{id} - 更新疾病(管理员)

通知相关

  • GET /api/notifications - 获取通知列表
  • GET /api/notifications/{id} - 获取通知详情
  • POST /api/notifications - 发布通知(管理员)

扩展建议

如需进一步完善项目,可考虑以下扩展:

  1. 数据分析:添加数据可视化图表,展示测评趋势
  2. 预约系统:支持学生预约医生咨询时间
  3. 视频咨询:集成WebRTC实现视频通话
  4. 移动端:开发微信小程序或APP
  5. AI辅助:集成AI进行初步心理评估
  6. 报告导出:支持测评报告PDF导出
  7. 提醒功能:定期测评提醒、复诊提醒
  8. 匿名模式:支持匿名咨询保护隐私
  9. 社区功能:添加心理健康交流社区
  10. 多语言支持:国际化支持

注意事项

  1. 本项目为学习演示项目,实际应用需完善安全机制
  2. 生产环境部署需要配置HTTPS
  3. 敏感信息需要加密存储
  4. 建议定期备份数据库数据
  5. 心理咨询功能需要专业资质支持
  6. 遵守相关法律法规和隐私保护政策

常见问题

Q: 后端启动失败?

A: 检查JDK版本是否为17+,MySQL服务是否启动,数据库配置是否正确

Q: 前端无法连接后端?

A: 检查后端服务是否启动,前端API地址配置是否正确,跨域配置是否正确

Q: 数据库连接失败?

A: 检查MySQL服务是否启动,数据库名称、用户名、密码是否正确

Q: API文档无法访问?

A: 确认后端服务已启动,访问 http://localhost:8080/doc.html

Q: 前端页面空白?

A: 检查浏览器控制台错误信息,确认Node.js版本是否符合要求

技术支持

如有问题,请查看:

  • 项目思维导图:大学生在线焦虑测试系统.xmind
  • 功能架构图:功能图.jpg
  • 演示视频:演示视频.mp4

许可证

本项目仅供学习交流使用,请勿用于商业用途。


祝学习顺利! 📚💻

获取完整源码

技术分类

包含内容

完整源码
项目说明文档
演示材料

适合方向

适合 Spring Boot 3+Vue3 全栈开发、心理健康评估系统方向课程设计,以及多角色 Web 应用 Java 毕业设计参考。

关于 AI源码

AI源码 整理计算机毕业设计、课程设计向的可运行项目参考,含说明文档与演示材料。完整源码请通过联系方式沟通获取。

QQ: 861077046
邮箱: 861077046@qq.com
已帮助 33+ 位同学完成选题参考
问能不能做我的题目

相关推荐

查看全部 →
社区医疗服务可视化系统
高级

社区医疗服务可视化系统

Spring Boot+Vue2 社区医疗服务可视化管理系统,面向社区医疗机构,含患者管理、预约挂号、病历药品管理与 ECharts 数据统计,集成 Shiro 权限与百度 AI 辅助,适合 Java 医疗信息化毕业设计。

SpringBootVue2MySQL
4.876
社区医院儿童健康信息管理系统
高级

社区医院儿童健康信息管理系统

Spring Boot 3+Vue 3 社区医院儿童健康信息管理系统,支持儿童档案、健康测评、疫苗预约与在线咨询,JWT 认证含管理员、医生与普通用户三角色,适合 Java 医疗健康类毕业设计。

SpringBootVue2MySQL
4.827
AI在线问诊平台
高级

AI在线问诊平台

基于若依框架的 AI 在线问诊平台,管理端、医生端与患者端三端分离,支持 WebSocket 即时聊天、AI 辅助诊断与 ECharts 数据可视化,Spring Boot+Vue2 技术栈,适合 Java 医疗 AI 毕业设计。

SpringBootVue2MySQL
4.892
社区医院儿童健康信息管理系统(java)
高级

社区医院儿童健康信息管理系统(java)

Spring Boot 3+Vue3 社区医院儿童健康档案管理平台,含儿童档案录入、健康数据统计、就诊记录、疫苗接种与成长曲线追踪,JWT 认证与医生工作台,适合 Java 社区医疗类毕业设计。

SpringBootVue2MySQL
4.836
心理健康教育小程序
进阶

心理健康教育小程序

微信小程序原生开发的心理健康教育与自助服务系统,涵盖情绪管理、压力应对、正念冥想、心理测评与自助工具箱等模块,纯前端 Mock 数据实现,适合心理健康主题毕业设计。

小程序
4.854
AI在线问诊平台
高级

AI在线问诊平台

AI 在线问诊平台毕业设计,Egg.js 三端(管理/医生/患者)+ OpenAI 辅助诊断 + Socket.io 实时通讯,覆盖预约挂号、电子病历与医生资质审核。

NodeVue2MySQL
4.835