# 项目结构分析报告 ## 📋 项目概述 **项目名称**:AI心理健康测评系统 (ry-xinli) **项目类型**:心理健康测评管理系统 **技术架构**:前后端分离 + 移动端 **开发框架**:基于 RuoYi-Vue 框架改造 **版本**:1.0.0 **开发者**:wanxiubin --- ## 🏗️ 整体架构 ### 架构分层 ``` ┌─────────────────────────────────────────────────────────────┐ │ 用户层 │ │ 桌面浏览器 │ 移动浏览器 │ 微信小程序 │ 第三方系统API │ └─────────────────────────────────────────────────────────────┘ ↕ ┌─────────────────────────────────────────────────────────────┐ │ 前端应用层 │ │ Vue 2.6 + Element UI + Vuex + Router │ └─────────────────────────────────────────────────────────────┘ ↕ (HTTP/RESTful API) ┌─────────────────────────────────────────────────────────────┐ │ 应用服务层 │ │ Spring Boot 2.5 + Spring Security │ │ Controller层 → Service层 → Mapper层 (MyBatis) │ └─────────────────────────────────────────────────────────────┘ ↕ ┌─────────────────────────────────────────────────────────────┐ │ 数据存储层 │ │ ┌──────────────┬──────────────┬──────────────┐ │ │ │ MySQL │ Redis │ 文件存储 │ │ │ │ (数据持久) │ (缓存/会话) │ (报告/音频) │ │ │ └──────────────┴──────────────┴──────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` --- ## 📦 后端模块结构 ### Maven 多模块架构 ``` ry-xinli (根模块) ├── ry-xinli-admin # 启动模块(Web入口) ├── ry-xinli-system # 系统模块(业务逻辑) ├── ry-xinli-framework # 框架模块(安全配置) ├── ry-xinli-common # 公共模块(工具类) ├── ry-xinli-generator # 代码生成器 └── ry-xinli-quartz # 定时任务 ``` ### 模块详细说明 #### 1. ry-xinli-admin(启动模块) **路径**:`ry-xinli-admin/` **职责**:Web 应用入口,包含 Controller 层和配置 **结构**: ``` ry-xinli-admin/ ├── src/main/java/com/ddnai/ │ ├── XinliApplication.java # 启动类 │ └── web/controller/ # 控制器层 │ ├── psychology/ # 心理测评控制器(20个) │ │ ├── PsyScaleController.java │ │ ├── PsyAssessmentController.java │ │ ├── PsyAssessmentReportController.java │ │ ├── PsyFactorController.java │ │ ├── PsyQrcodeController.java │ │ ├── PsyQuestionnaireController.java │ │ ├── PsyUserProfileController.java │ │ ├── PsyWarningController.java │ │ └── ... │ ├── system/ # 系统管理控制器(15个) │ │ ├── SysUserController.java │ │ ├── SysRoleController.java │ │ ├── SysMenuController.java │ │ └── ... │ ├── monitor/ # 监控控制器(5个) │ ├── common/ # 通用控制器 │ └── api/ # 开放API └── src/main/resources/ ├── application.yml # 应用配置 └── mapper/ # MyBatis映射文件 ``` **关键配置**: - 服务端口:30081 - 文件上传路径:`D:\wwwroot\xinli_web\web\profile\uploadPath` - Redis 缓存配置 - 数据库连接配置 #### 2. ry-xinli-system(系统模块) **路径**:`ry-xinli-system/` **职责**:核心业务逻辑,包含 Domain、Mapper、Service **结构**: ``` ry-xinli-system/ ├── src/main/java/com/ddnai/system/ │ ├── domain/ # 实体类 │ │ ├── psychology/ # 心理测评实体(20+个) │ │ │ ├── PsyScale.java # 量表 │ │ │ ├── PsyScaleItem.java # 量表题目 │ │ │ ├── PsyScaleOption.java # 题目选项 │ │ │ ├── PsyAssessment.java # 测评记录 │ │ │ ├── PsyAssessmentAnswer.java # 测评答案 │ │ │ ├── PsyAssessmentReport.java # 测评报告 │ │ │ ├── PsyFactor.java # 因子 │ │ │ ├── PsyFactorRule.java # 因子规则 │ │ │ ├── PsyQrcode.java # 二维码 │ │ │ ├── PsyQuestionnaire.java # 自定义问卷 │ │ │ ├── PsyUserProfile.java # 用户档案 │ │ │ ├── PsyWarning.java # 危机预警 │ │ │ └── ... │ │ └── vo/ # 视图对象 │ ├── mapper/ # 数据访问层 │ │ ├── psychology/ # 心理测评Mapper(20+个) │ │ └── Sys*.java # 系统Mapper │ └── service/ # 业务逻辑层 │ ├── psychology/ # 心理测评Service接口(25个) │ └── impl/ # Service实现类 │ ├── psychology/ # 心理测评Service实现(24个) │ └── Sys*.java # 系统Service实现 └── src/main/resources/mapper/ # MyBatis XML映射文件 ├── psychology/ # 心理测评Mapper XML(39个) └── system/ # 系统Mapper XML ``` #### 3. ry-xinli-framework(框架模块) **路径**:`ry-xinli-framework/` **职责**:框架配置、安全、通用组件 **主要功能**: - Spring Security 安全配置 - 系统配置管理 - 通用 Web 组件 - 拦截器、过滤器 #### 4. ry-xinli-common(公共模块) **路径**:`ry-xinli-common/` **职责**:公共工具类、常量、核心类 **结构**: ``` ry-xinli-common/ ├── src/main/java/com/ddnai/common/ │ ├── core/ # 核心类 │ ├── utils/ # 工具类 │ │ ├── file/ # 文件工具 │ │ ├── http/ # HTTP工具 │ │ ├── ip/ # IP工具 │ │ ├── poi/ # Excel工具 │ │ ├── sign/ # 签名工具 │ │ └── ... │ ├── constants/ # 常量 │ └── config/ # 配置类 ``` #### 5. ry-xinli-generator(代码生成器) **路径**:`ry-xinli-generator/` **职责**:代码自动生成工具 #### 6. ry-xinli-quartz(定时任务) **路径**:`ry-xinli-quartz/` **职责**:定时任务调度 --- ## 🎨 前端模块结构 ### Vue 前端项目 **路径**:`xinli-ui/` **技术栈**: - Vue 2.6.12 - Element UI 2.15.14 - Vuex 3.6.0 - Vue Router 3.4.9 - Axios 0.28.1 - ECharts 5.4.0 **结构**: ``` xinli-ui/ ├── src/ │ ├── api/ # API接口定义(40个文件) │ │ ├── psychology/ # 心理测评API(19个) │ │ │ ├── scale.js # 量表API │ │ │ ├── assessment.js # 测评API │ │ │ ├── report.js # 报告API │ │ │ ├── questionnaire.js # 问卷API │ │ │ └── ... │ │ ├── system/ # 系统API(10个) │ │ └── monitor/ # 监控API(7个) │ ├── views/ # 页面视图(76个Vue文件) │ │ ├── psychology/ # 心理测评页面 │ │ │ ├── scale/ # 量表管理 │ │ │ ├── assessment/ # 测评执行 │ │ │ ├── report/ # 测评报告 │ │ │ ├── questionnaire/ # 自定义问卷 │ │ │ ├── qrcode/ # 二维码管理 │ │ │ ├── userProfile/ # 用户档案 │ │ │ ├── warning/ # 危机预警 │ │ │ └── website/ # 心理网站 │ │ └── system/ # 系统管理页面 │ ├── components/ # 组件(32个) │ │ ├── Psychology/ # 心理测评组件 │ │ └── RuoYi/ # 若依通用组件 │ ├── store/ # Vuex状态管理(8个文件) │ ├── router/ # 路由配置 │ ├── utils/ # 工具函数(24个文件) │ ├── assets/ # 静态资源 │ │ ├── icons/ # 图标(89个SVG) │ │ ├── images/ # 图片 │ │ └── styles/ # 样式文件 │ └── main.js # 入口文件 ├── public/ # 公共资源 └── package.json # 依赖配置 ``` --- ## 📱 移动端项目 ### Android 应用 **路径**:`xinli-App/` **技术栈**:Android + Gradle **结构**: ``` xinli-App/ ├── app/ │ ├── src/main/ │ │ ├── java/ # Java代码 │ │ ├── res/ # 资源文件 │ │ └── AndroidManifest.xml # 清单文件 │ └── build.gradle # 构建配置 ├── build.gradle # 项目构建配置 ├── gradle/ # Gradle配置 └── README.md # 说明文档 ``` --- ## 🗄️ 数据库设计 ### 核心表结构 #### 心理测评核心表(20+个) 1. **量表相关** - `psy_scale` - 量表基本信息 - `psy_scale_item` - 量表题目 - `psy_scale_option` - 题目选项 - `psy_scale_permission` - 量表权限 2. **测评相关** - `psy_assessment` - 测评记录 - `psy_assessment_answer` - 测评答案 - `psy_assessment_report` - 测评报告 3. **因子与计分** - `psy_factor` - 因子定义 - `psy_factor_rule` - 因子计分规则 - `psy_factor_score` - 因子得分 - `psy_result_interpretation` - 结果解释 4. **扩展功能** - `psy_questionnaire` - 自定义问卷 - `psy_questionnaire_item` - 问卷题目 - `psy_questionnaire_answer` - 问卷答案 - `psy_user_profile` - 用户档案 - `psy_qrcode` - 二维码管理 - `psy_warning` - 危机预警 - `psy_website_content` - 心理网站内容 #### 系统管理表 - `sys_user` - 用户表 - `sys_role` - 角色表 - `sys_menu` - 菜单表 - `sys_dept` - 部门表 - `sys_config` - 系统配置 - `sys_dict_*` - 字典表 --- ## 🔧 技术栈详情 ### 后端技术栈 | 技术 | 版本 | 用途 | |------|------|------| | Spring Boot | 2.5.15 | 应用框架 | | Spring Security | 5.7.14 | 安全框架 | | MyBatis | - | ORM框架 | | MySQL | - | 数据库 | | Redis | - | 缓存/会话 | | Druid | 1.2.23 | 数据库连接池 | | JWT | 0.9.1 | 令牌认证 | | Swagger | 3.0.0 | API文档 | | Apache POI | 4.1.2 | Excel处理 | | PDFBox | 2.0.29 | PDF处理 | | ZXing | 3.5.1 | 二维码生成 | ### 前端技术栈 | 技术 | 版本 | 用途 | |------|------|------| | Vue | 2.6.12 | 前端框架 | | Element UI | 2.15.14 | UI组件库 | | Vuex | 3.6.0 | 状态管理 | | Vue Router | 3.4.9 | 路由管理 | | Axios | 0.28.1 | HTTP客户端 | | ECharts | 5.4.0 | 图表库 | | Quill | 2.0.2 | 富文本编辑器 | --- ## 📊 核心功能模块 ### 1. 量表管理模块 ✅ - 量表CRUD操作 - 量表导入导出(Excel) - 量表状态管理 - 量表权限控制 ### 2. 题目管理模块 ✅ - 题目编辑(富文本) - 选项配置 - 批量导入题目 - 题目排序拖拽 ### 3. 因子与计分模块 ✅ - 因子配置 - 因子公式设置 - 权重配置 - 反向计分设置 ### 4. 测评执行模块 ✅ - 开始测评 - 暂停/恢复测评 - 提交测评 - 防重复提交 - 断点续测 ### 5. 报告生成模块 ✅ - 自动生成报告 - 因子分计算 - 结果解释 - 报告导出(PDF/Excel) ### 6. 用户档案管理 ✅ - 档案字段自定义 - 不同年龄段模板 - 档案信息CRUD - 档案导入导出 ### 7. 自定义问卷模块 ✅ - 问卷创建/编辑 - 多种题目类型支持(9种) - 自动计分 - 成绩排名统计 ### 8. 二维码功能 ✅ - 生成测评二维码 - 扫码测试 - 扫码查看报告 - 扫码注册/登录 ### 9. 危机预警模块 - 预警规则设置 - 预警记录管理 - 预警解除记录 ### 10. 心理网站模块 - 文章发布/编辑 - 栏目管理 - 留言评论 - 个性化配置 --- ## 📁 项目目录结构总览 ``` xinli/ ├── bin/ # 构建脚本 │ ├── clean.bat │ ├── package.bat │ └── run.bat ├── doc/ # 文档 ├── pom.xml # Maven根配置 ├── ry-xinli-admin/ # 启动模块 ├── ry-xinli-system/ # 系统模块 ├── ry-xinli-framework/ # 框架模块 ├── ry-xinli-common/ # 公共模块 ├── ry-xinli-generator/ # 代码生成器 ├── ry-xinli-quartz/ # 定时任务 ├── xinli-ui/ # Vue前端 ├── xinli-App/ # Android移动端 ├── sql/ # SQL脚本 ├── z_Project change/ # 项目变更文档 │ ├── 进度汇总/ # 开发进度文档 │ └── 量表示例/ # 量表示例数据 └── 项目介绍/ # 项目介绍文档 ``` --- ## 🔐 安全配置 - Spring Security 认证授权 - JWT Token 机制 - 密码加密存储 - XSS 攻击防护 - 防盗链配置 - 操作日志记录 --- ## 📈 项目规模统计 ### 代码统计(估算) | 模块 | Java文件 | Vue文件 | 总行数(估算) | |------|---------|---------|---------------| | 后端 | 400+ | - | 50,000+ | | 前端 | - | 76 | 30,000+ | | 移动端 | 1 | - | 1,000+ | | **总计** | **400+** | **76** | **80,000+** | ### 功能模块统计 - **Controller**: 40+ 个 - **Service**: 50+ 个 - **Mapper**: 60+ 个 - **实体类**: 30+ 个 - **前端页面**: 76 个 - **API接口**: 100+ 个 --- ## 🎯 项目特点 1. **模块化设计**:前后端分离,Maven多模块架构 2. **功能完整**:覆盖心理测评全流程 3. **扩展性强**:支持自定义问卷、用户档案扩展 4. **安全可靠**:完善的权限控制和数据安全 5. **多端支持**:Web端 + 移动端 6. **易于维护**:代码规范,文档完善 --- ## 📝 开发状态 ### 已完成功能 ✅ - 第一阶段:数据库设计与初始化 - 第二阶段:核心功能模块(量表、测评、报告) - 第三阶段D3-1:用户档案管理 - 第三阶段D3-2:自定义问卷基础功能 - 第三阶段D3-3:二维码管理功能 ### 进行中功能 🟡 - 第三阶段剩余模块(心理网站、数据统计等) --- ## 🔗 相关文档 - 技术架构设计:`z_Project change/进度汇总/3-技术架构设计.md` - 开发计划:`z_Project change/进度汇总/1-开发计划.md` - 使用指南:`使用指南-*.md` - 项目改造说明:`项目介绍/项目改造说明.md` --- **报告生成时间**:2025-01-27 **项目版本**:1.0.0 **分析状态**:✅ 完成