1. 项目背景与需求分析
在当代社会结构转型的背景下,养老服务行业正面临前所未有的数字化升级需求。传统养老机构普遍存在信息孤岛、服务响应滞后等问题,而这款基于SpringBoot+Vue的大健康养老公寓管理系统,正是针对这些痛点设计的全栈解决方案。
系统核心要解决三个层面的问题:
- 管理效率层面:通过信息化手段替代纸质档案,实现健康数据自动采集、服务需求智能分配
- 服务质量层面:建立标准化服务流程,支持服务评价反馈机制
- 家属参与层面:提供实时健康数据可视化和消息推送功能
典型用户场景包括:
- 护工通过移动端接收服务工单,完成服务后扫码确认
- 家属通过微信小程序查看老人当日血压波动曲线
- 管理员在后台生成月度服务满意度统计报表
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构设计
2.1 前后端分离架构
采用经典的B/S架构模式,前端使用Vue3+Element Plus实现响应式界面,后端基于SpringBoot2.7构建RESTful API。这种架构选择主要基于以下考量:
- 开发效率:Vue的组件化开发与SpringBoot的自动配置特性完美契合
- 性能优化:Axios拦截器实现Token自动刷新,减少重复登录
- 维护成本:Swagger UI文档与Postman集合双重保障接口可维护性
技术栈全景图:
code复制前端层:Vue3 + Pinia + Vite + Element Plus
网关层:Spring Cloud Gateway
服务层:SpringBoot + MyBatis-Plus + Redis
数据层:MySQL8.0 + Elasticsearch(日志)
2.2 数据库设计要点
系统共设计28张核心表,这里重点解析三个典型表的设计思路:
2.2.1 住户健康档案表(health_record)
sql复制CREATE TABLE `health_record` (
`health_id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
`resident_code` VARCHAR(32) NOT NULL COMMENT '关联住户',
`blood_pressure` VARCHAR(20) DEFAULT NULL COMMENT '格式:收缩压/舒张压',
`blood_sugar` DECIMAL(5,2) DEFAULT NULL COMMENT '单位mmol/L',
`heart_rate` INT DEFAULT NULL COMMENT '次/分钟',
`temperature` DECIMAL(3,1) DEFAULT NULL COMMENT '摄氏度',
`spo2` TINYINT DEFAULT NULL COMMENT '血氧饱和度%',
`fall_detection` TINYINT(1) DEFAULT 0 COMMENT '跌倒检测',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`health_id`),
INDEX `idx_resident` (`resident_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
设计特点:
- 采用复合健康指标存储,适应不同智能设备数据格式
- 建立居民维度索引,支持按人查询历史数据
- 时间戳自动更新,确保数据时效性
2.2.2 服务订单表(service_order)
java复制@Entity
@Table(name = "service_order")
public class ServiceOrder {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long orderId;
@Enumerated(EnumType.STRING)
private ServiceType serviceType; // 枚举定义服务类型
@ManyToOne
@JoinColumn(name = "resident_id")
