xinli/项目结构分析报告.md

491 lines
17 KiB
Markdown
Raw Normal View History

2025-11-26 14:14:19 +08:00
# 项目结构分析报告
## 📋 项目概述
**项目名称**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/ # 心理测评Mapper20+个)
│ │ └── Sys*.java # 系统Mapper
│ └── service/ # 业务逻辑层
│ ├── psychology/ # 心理测评Service接口25个
│ └── impl/ # Service实现类
│ ├── psychology/ # 心理测评Service实现24个
│ └── Sys*.java # 系统Service实现
└── src/main/resources/mapper/ # MyBatis XML映射文件
├── psychology/ # 心理测评Mapper XML39个
└── 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/ # 心理测评API19个
│ │ │ ├── scale.js # 量表API
│ │ │ ├── assessment.js # 测评API
│ │ │ ├── report.js # 报告API
│ │ │ ├── questionnaire.js # 问卷API
│ │ │ └── ...
│ │ ├── system/ # 系统API10个
│ │ └── monitor/ # 监控API7个
│ ├── 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
**分析状态**:✅ 完成