xinli/项目结构分析报告.md
2025-11-26 14:14:19 +08:00

17 KiB
Raw Blame History

项目结构分析报告

📋 项目概述

项目名称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
分析状态 完成