# cloud-platform-healthy-manager **Repository Path**: chenqian1995/cloud-platform-healthy-manager ## Basic Information - **Project Name**: cloud-platform-healthy-manager - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-04 - **Last Updated**: 2026-04-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 医疗检测报告管理系统 ## 项目概述 基于 Spring Boot + Vue3 的医疗检测报告管理系统,支持血常规、肿瘤标志物等检测报告的 OCR 识别、指标存储和趋势分析。 ## 技术栈 ### 后端 - Spring Boot 2.7.18 - JDK 1.8 - MyBatis Plus 3.5.3 - MySQL 8.0 - JWT 认证 - 百度 OCR SDK ### 前端 - Vue 3.3 - Vite 4.4 - Vant 4.6 (移动端组件) - ECharts 5.4 (图表) - Pinia (状态管理) ## 功能特性 ### 第一期功能 - ✅ 用户注册/登录(JWT Token) - ✅ 图片上传(拍照/相册) - ✅ OCR 文字识别 - ✅ 指标数据提取 - ✅ 指标存储(关联用户) - ✅ 历史指标列表 - ✅ 单指标趋势查询(折线图) ## 快速开始 ### 环境要求 - JDK 1.8+ - MySQL 8.0+ - Node.js 16+ - 百度 OCR API 账号 ### 后端配置 1. **初始化数据库** ```bash mysql -u root -p < src/main/resources/schema.sql ``` 2. **修改配置文件** (`application.yml`) ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/medical_report username: your_username password: your_password baidu-ocr: app-id: your_app_id api-key: your_api_key secret-key: your_secret_key jwt: secret: your_jwt_secret_key ``` 3. **启动后端** ```bash cd medical-report-service mvn clean package -DskipTests java -jar target/medical-report-service-1.0.0-SNAPSHOT.jar ``` 访问:http://localhost:8080/api ### 前端配置 1. **安装依赖** ```bash cd medical-report-h5 npm install ``` 2. **启动开发服务器** ```bash npm run dev ``` 访问:http://localhost:3000 ## API 接口 ### 认证接口 | 方法 | 路径 | 说明 | |------|------|------| | POST | /auth/register | 用户注册 | | POST | /auth/login | 用户登录 | ### 报告接口 | 方法 | 路径 | 说明 | |------|------|------| | POST | /report/upload | 上传报告+OCR | | POST | /report/{id}/confirm | 确认报告 | | GET | /report/list | 报告列表 | ### 指标接口 | 方法 | 路径 | 说明 | |------|------|------| | GET | /indicator/list | 指标列表 | | GET | /indicator/names | 指标名称列表 | | GET | /indicator/history?name=xxx | 指标历史数据 | ## 数据库设计 ### user 用户表 | 字段 | 类型 | 说明 | |------|------|------| | id | BIGINT | 主键 | | username | VARCHAR(50) | 用户名 | | password | VARCHAR(100) | 密码 (BCrypt) | | phone | VARCHAR(20) | 手机号 | ### report 报告表 | 字段 | 类型 | 说明 | |------|------|------| | id | BIGINT | 主键 | | user_id | BIGINT | 用户 ID | | report_type | VARCHAR(20) | 报告类型 | | image_url | VARCHAR(500) | 图片 URL | | ocr_result | TEXT | OCR 结果 | | status | TINYINT | 状态 | ### indicator 指标表 | 字段 | 类型 | 说明 | |------|------|------| | id | BIGINT | 主键 | | user_id | BIGINT | 用户 ID | | report_id | BIGINT | 报告 ID | | name | VARCHAR(100) | 指标名称 | | value | DECIMAL(10,2) | 数值 | | unit | VARCHAR(50) | 单位 | | ref_range | VARCHAR(100) | 参考范围 | | is_abnormal | TINYINT | 是否异常 | ## 项目结构 ``` medical-report-service/ # 后端 ├── src/main/java/com/medical/report/ │ ├── config/ # 配置类 │ ├── controller/ # 控制器 │ ├── service/ # 服务层 │ ├── dao/ # Mapper │ ├── entity/ # 实体类 │ ├── dto/ # 数据传输对象 │ └── common/ # 公共类 └── src/main/resources/ ├── application.yml # 配置文件 └── schema.sql # 数据库脚本 medical-report-h5/ # 前端 ├── src/ │ ├── views/ # 页面组件 │ ├── router/ # 路由 │ ├── api/ # API 封装 │ ├── utils/ # 工具函数 │ └── styles/ # 样式 └── package.json ``` ## 注意事项 1. **OCR 识别精度**:当前使用简单的文本解析,实际生产环境需要根据报告格式优化解析逻辑 2. **文件存储**:当前使用本地临时目录,生产环境建议使用 OSS/CDN 3. **安全性**:生产环境需要加强 JWT 密钥管理、HTTPS 加密等 4. **性能优化**:大数据量趋势查询建议增加缓存 ## 后续规划 - [ ] 支持更多报告类型(生化、免疫等) - [ ] 智能异常指标提醒 - [ ] 多报告对比功能 - [ ] 导出 PDF 报告 - [ ] 医生端审核功能 ## 许可证 内部项目,仅供学习使用。