慢性病(糖尿病、高血压)发病率攀升,患者健康数据需长期记录与趋势分析。传统纸质记录易丢失难统计,市面App功能繁杂。本项目提供轻量微信小程序,实现血糖、血压、体重、腰围等指标的便捷录入与可视化趋势分析,辅助慢病管理决策。
**立项背景**:面向慢病管理领域,通过微信小程序提供零门槛健康数据录入,结合后端趋势分析,实现从"被动治疗"到"主动管理"的转变。
点击空白处退出提示
慢性病(糖尿病、高血压)发病率攀升,患者健康数据需长期记录与趋势分析。传统纸质记录易丢失难统计,市面App功能繁杂。本项目提供轻量微信小程序,实现血糖、血压、体重、腰围等指标的便捷录入与可视化趋势分析,辅助慢病管理决策。
**立项背景**:面向慢病管理领域,通过微信小程序提供零门槛健康数据录入,结合后端趋势分析,实现从"被动治疗"到"主动管理"的转变。
**核心功能模块**:
| 模块 | 说明 |
|------|------|
| 首页仪表盘 | BMR、四指标最新值、最近10条混合记录 |
| 血糖/血压/体重/腰围 | 各指标录入、历史列表、删除(体重自动算BMI) |
| 健康统计 | 按指标+周期(7/30/90天)趋势图、均值/极值/次数统计 |
| 健康档案 | 性别、出生日期、身高,为BMR/BMI提供基础数据 |
| 后台管理 | 客户管理、RBAC权限、菜单配置、SQL日志 |
**业务流程**:微信登录 → 首页查看指标 → 录入数据 → 统计页查看趋势 → 档案页完善信息
前后端分离B/S架构,后端遵循 **Controller → Service → Model** 三层划分。
**前端(UniApp + Vue 3 + Vite)**:9个页面,封装统一 `api.js`,POST+JSON通信,Token认证。
**后端(Webman + PHP 8.2)**:
- **后台**:EasyAdmin8-webman + Layui + Blade,注解路由自动生成权限节点
- **MCP**:php-mcp/server,17工具+3资源,支持AI辅助开发
**存储(MySQL + Redis)**:ThinkORM连接池(max=5)+断线重连;Redis缓存Token(24h自动续期)
### 我的负责模块和成果
- 独立全栈开发,API接口 **17个**,小程序页面 **9个**,后台控制器 **6个**
- BMR自动计算(Mifflin-St Jeor公式)、BMI自动计算、Canvas趋势图绘制
- 集成MCP AI服务(17工具+3资源)
### 难点和解决方案
1. **Canvas图表**:小程序Canvas与H5差异大 → 原生Canvas API手绘折线图,兼容性100%
2. **BMI依赖身高**:用户可能未填档案 → 查Profile,身高为0则BMI返回0,前端展示"--"
3. **Token过期**:频繁重新登录 → `verifyToken`验证成功后自动续期24h
4. **混合记录排序**:4种指标需按时间混合展示 → 各查5条合并,`usort`降序取前10
5. **常驻内存断连**:MySQL wait_timeout断开 → 连接池(max=5)+断线重连+心跳50s






评论