考试焦虑测评与辅助治疗系统 考试焦虑测评与辅助治疗系统项目简介这是一个完整的考试焦虑测评与辅助治疗平台采用前后端分离架构实现了焦虑测评问卷、测评结果分析、医生咨询、治疗建议、疾病知识等核心功能。系统支持管理员、医生、用户三种角色适合作为Vue3全栈开发学习项目或计算机设计参考。技术栈后端技术技术版本/说明运行环境Node.js 18.0Web框架Egg.js 3.17.5数据库MySQL 5.7数据库插件egg-mysql 5.0.0身份认证egg-jwt跨域处理egg-cors表单验证egg-validate密码加密bcryptjs前端技术技术版本/说明前端框架Vue 3.5.13构建工具Vite 6.2.4UI组件库Element Plus 2.9.8路由管理Vue Router 4.5.0状态管理Pinia 3.0.1HTTP请求Axios 1.8.4工具库Lodash 4.17.21项目特点前后端分离后端提供RESTful API前端独立开发部署三角色系统支持管理员、医生、用户三种角色专业测评标准化焦虑测评问卷和评分系统医患互动用户可与医生进行在线咨询治疗建议医生可针对测评结果给出专业建议知识科普提供焦虑相关疾病知识功能模块管理员端功能1. 管理员布局 (admin/AdminLayout.vue)侧边栏导航顶部信息栏2. 用户管理 (admin/UserManagement.vue)用户列表新增/编辑/删除用户用户角色分配用户状态管理3. 医生管理 (admin/DoctorManagement.vue)医生列表新增/编辑/删除医生医生资质管理4. 问卷管理 (admin/QuestionnaireManagement.vue)问卷列表新增/编辑/删除问卷问卷题目管理评分规则设置5. 疾病管理 (admin/DiseaseManagement.vue)疾病知识列表新增/编辑/删除疾病信息疾病分类管理6. 通知管理 (admin/NotificationManagement.vue)通知公告列表新增/编辑/删除通知通知发布管理医生端功能1. 医生布局 (doctor/DoctorLayout.vue)侧边栏导航顶部信息栏2. 测评结果查看 (doctor/TestResults.vue)用户测评结果列表测评详情查看结果分析3. 在线咨询 (doctor/Consultation.vue)咨询消息列表与用户实时沟通消息回复4. 治疗建议 (doctor/Suggestion.vue)建议列表新增/编辑建议针对用户给出专业建议5. 个人资料 (doctor/Profile.vue)医生信息编辑资质信息管理密码修改用户端功能1. 用户布局 (user/UserLayout.vue)侧边栏导航顶部信息栏2. 自我测评 (user/SelfTest.vue)问卷列表在线答题提交测评3. 测评结果 (user/TestResults.vue)我的测评记录测评详情查看结果分析图表4. 在线咨询 (user/Consultation.vue)选择医生咨询发送咨询消息查看医生回复5. 治疗建议 (user/Suggestion.vue)查看医生建议建议详情6. 疾病知识 (user/DiseaseInfo.vue)疾病知识列表知识详情阅读7. 通知公告 (user/Notifications.vue)系统通知列表通知详情8. 个人资料 (user/Profile.vue)用户信息编辑密码修改公共功能登录注册登录页 (Login.vue)注册页 (Register.vue)角色选择项目结构kaoshijiaolvzhiliao/ ├── egg版本/ # Egg.js版本 │ ├── egg/ # 后端服务Egg.js MySQL │ │ ├── app/ │ │ │ ├── controller/ # 控制器 │ │ │ │ ├── diseases.js # 疾病接口 │ │ │ │ ├── messages.js # 消息接口 │ │ │ │ ├── notifications.js # 通知接口 │ │ │ │ ├── questionnaires.js # 问卷接口 │ │ │ │ ├── questionnairesResult.js # 测评结果接口 │ │ │ │ ├── suggestion.js # 建议接口 │ │ │ │ └── user.js # 用户接口 │ │ │ ├── middleware/ # 中间件 │ │ │ │ └── jwt.js # JWT验证 │ │ │ ├── public/ # 静态资源 │ │ │ ├── service/ # 业务逻辑层 │ │ │ │ ├── diseases.js # 疾病服务 │ │ │ │ ├── messages.js # 消息服务 │ │ │ │ ├── notifications.js # 通知服务 │ │ │ │ ├── questionnaires.js # 问卷服务 │ │ │ │ ├── questionnairesResult.js # 测评结果服务 │ │ │ │ ├── suggestion.js # 建议服务 │ │ │ │ └── user.js # 用户服务 │ │ │ ├── router.js # 路由配置 │ │ │ └── utils.js # 工具函数 │ │ ├── config/ │ │ │ ├── config.default.js # 默认配置 │ │ │ └── plugin.js # 插件配置 │ │ ├── logs/ # 日志目录 │ │ └── package.json │ │ │ ├── web-egg/ # 前端Vue3 Element Plus │ │ ├── public/ # 静态资源 │ │ ├── src/ │ │ │ ├── api/ # API接口封装 │ │ │ │ ├── index.js # API定义 │ │ │ │ └── request.js # 请求封装 │ │ │ ├── assets/ # 静态资源 │ │ │ ├── components/ # 公共组件 │ │ │ ├── router/ # 路由配置 │ │ │ ├── stores/ # Pinia状态管理 │ │ │ ├── views/ # 页面视图 │ │ │ │ ├── admin/ # 管理员页面 │ │ │ │ │ ├── AdminLayout.vue # 管理员布局 │ │ │ │ │ ├── DiseaseManagement.vue # 疾病管理 │ │ │ │ │ ├── DoctorManagement.vue # 医生管理 │ │ │ │ │ ├── NotificationManagement.vue # 通知管理 │ │ │ │ │ ├── QuestionnaireManagement.vue # 问卷管理 │ │ │ │ │ └── UserManagement.vue # 用户管理 │ │ │ │ ├── doctor/ # 医生页面 │ │ │ │ │ ├── Consultation.vue # 在线咨询 │ │ │ │ │ ├── DoctorLayout.vue # 医生布局 │ │ │ │ │ ├── Profile.vue # 个人资料 │ │ │ │ │ ├── Suggestion.vue # 治疗建议 │ │ │ │ │ └── TestResults.vue # 测评结果 │ │ │ │ ├── user/ # 用户页面 │ │ │ │ │ ├── Consultation.vue # 在线咨询 │ │ │ │ │ ├── DiseaseInfo.vue # 疾病知识 │ │ │ │ │ ├── Notifications.vue # 通知公告 │ │ │ │ │ ├── Profile.vue # 个人资料 │ │ │ │ │ ├── SelfTest.vue # 自我测评 │ │ │ │ │ ├── Suggestion.vue # 治疗建议 │ │ │ │ │ ├── TestResults.vue # 测评结果 │ │ │ │ │ └── UserLayout.vue # 用户布局 │ │ │ │ ├── Login.vue # 登录页 │ │ │ │ └── Register.vue # 注册页 │ │ │ ├── App.vue # 根组件 │ │ │ └── main.js # 入口文件 │ │ ├── package.json │ │ └── vite.config.js # Vite配置 │ │ │ └── express/ # Express静态服务可选 │ ├── java版本/ # Java版本备选 ├── web-static/ # 静态资源 ├── 封面/ # 项目封面图 └── 功能图.jpg # 功能结构图数据模型用户表 (users){id:int,// 用户IDusername:varchar(50),// 用户名唯一password:varchar(255),// 密码加密name:varchar(50),// 姓名phone:varchar(20),// 手机号email:varchar(100),// 邮箱role:varchar(20),// 角色admin-管理员doctor-医生user-用户avatar:varchar(500),// 头像status:int,// 状态1正常 0禁用create_time:datetime,// 创建时间update_time:datetime// 更新时间}问卷表 (questionnaires){id:int,// 问卷IDtitle:varchar(200),// 问卷标题description:text,// 问卷描述questions:longtext,// 题目列表JSON格式scoring_rules:longtext,// 评分规则JSON格式status:int,// 状态1启用 0禁用create_time:datetime,// 创建时间update_time:datetime// 更新时间}测评结果表 (questionnaire_results){id:int,// 结果IDuser_id:int,// 用户IDquestionnaire_id:int,// 问卷IDanswers:longtext,// 答案JSON格式score:int,// 得分level:varchar(50),// 焦虑等级analysis:text,// 结果分析create_time:datetime,// 创建时间update_time:datetime// 更新时间}消息表 (messages){id:int,// 消息IDsender_id:int,// 发送者IDreceiver_id:int,// 接收者IDcontent:text,// 消息内容is_read:int,// 是否已读0未读 1已读create_time:datetime,// 创建时间update_time:datetime// 更新时间}治疗建议表 (suggestions){id:int,// 建议IDdoctor_id:int,// 医生IDuser_id:int,// 用户IDresult_id:int,// 测评结果IDcontent:text,// 建议内容create_time:datetime,// 创建时间update_time:datetime// 更新时间}疾病知识表 (diseases){id:int,// 疾病IDtitle:varchar(200),// 标题category:varchar(50),// 分类content:longtext,// 内容cover:varchar(500),// 封面图status:int,// 状态1发布 0草稿create_time:datetime,// 创建时间update_time:datetime// 更新时间}通知表 (notifications){id:int,// 通知IDtitle:varchar(200),// 标题content:text,// 内容type:varchar(50),// 类型status:int,// 状态1发布 0草稿create_time:datetime,// 创建时间update_time:datetime// 更新时间}焦虑等级说明分数范围等级说明0-20正常无明显焦虑症状21-40轻度焦虑存在轻微焦虑建议自我调节41-60中度焦虑焦虑症状明显建议咨询医生61-80重度焦虑焦虑症状严重需要专业治疗81-100极重度焦虑需要立即就医运行环境要求后端环境Node.js 18.0MySQL 5.7npm 或 pnpm前端环境Node.js 18.0npm 或 pnpm现代浏览器Chrome、Firefox、Edge等快速开始1. 数据库配置创建MySQL数据库CREATEDATABASEkaoshijiaolvCHARACTERSETutf8mb4COLLATEutf8mb4_general_ci;导入数据库文件如有提供修改数据库配置编辑egg版本/egg/config/config.default.jsconfig.mysql{client:{host:localhost,port:3306,user:root,password:root,// 修改为你的密码database:kaoshijiaolv,},};2. 启动后端服务# 进入后端目录cdegg版本/egg# 安装依赖npminstall# 或使用 pnpmpnpminstall# 启动服务开发模式npmrun dev后端服务默认运行在http://localhost:70013. 启动前端# 进入前端目录cdegg版本/web-egg# 安装依赖npminstall# 或使用 pnpmpnpminstall# 启动开发服务器npmrun dev前端默认运行在http://localhost:5173默认账号角色用户名密码说明管理员admin123456拥有所有管理权限医生doctor123456医生权限用户user123456普通用户权限界面预览项目包含功能结构图功能图.jpg- 系统功能结构图扩展建议如需进一步完善项目可考虑以下扩展视频咨询集成WebRTC实现视频咨询预约系统添加医生预约功能支付功能集成支付实现付费咨询数据分析测评数据统计和趋势分析AI辅助接入AI进行初步诊断建议移动端开发小程序或APP版本报告导出测评报告PDF导出提醒功能定期测评提醒注意事项本项目为学习演示项目不能替代专业医疗诊断生产环境部署需要配置HTTPS建议定期备份数据库数据密码使用bcrypt加密存储常见问题Q: 数据库连接失败A: 检查MySQL服务是否启动数据库配置是否正确Q: 登录后页面空白A: 检查用户角色是否正确确认路由配置Q: 问卷无法提交A: 检查问卷题目格式是否正确确认所有必填项已填写许可证本项目仅供学习交流使用请勿用于商业用途。