# Healthy_communityPlatform
**Repository Path**: zeron2022/Healthy_communityPlatform
## Basic Information
- **Project Name**: Healthy_communityPlatform
- **Description**: 智慧健康社区平台是一个集 **AI 健康顾问、社区互动、健康数据管理、食物营养分析、地图服务** 于一体的综合性健康管理平台。平台融合多个 AI 服务(百度文心、阿里云通义千问、Clarifai 等),为用户提供个性化的健康管理体验。
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2026-07-26
- **Last Updated**: 2026-07-26
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 🌿 智慧健康社区平台
**基于 Spring Boot 3 + Vue 3 的 AI 驱动个性化健康管理平台**
[](https://openjdk.org/)
[](https://spring.io/projects/spring-boot)
[](https://vuejs.org/)
[](https://www.mysql.com/)
[](https://redis.io/)
[](https://www.docker.com/)
[](LICENSE)
[功能演示](#-功能截图) · [快速开始](#-快速开始) · [技术架构](#-技术架构) · [部署指南](#-部署指南)
---
## 📖 项目简介
智慧健康社区平台是一个集 **AI 健康顾问、社区互动、健康数据管理、食物营养分析、地图服务** 于一体的综合性健康管理平台。平台融合多个 AI 服务(百度文心、阿里云通义千问、Clarifai 等),为用户提供个性化的健康管理体验。
### ✨ 核心亮点
- 🤖 **AI 驱动** — 集成 5+ 个 AI 服务,提供智能健康顾问、食物识别、图像/视频生成
- 🗺️ **地图服务** — 高德地图集成,支持定位、天气、路线规划、周边搜索
- 👤 **人脸识别** — 百度人脸识别,支持人脸注册与登录
- 💬 **实时通信** — WebSocket 驱动的私信系统与实时通知
- 📊 **数据可视化** — ECharts + D3.js + Three.js 多维度数据展示
- 🔒 **安全可靠** — JWT + Spring Security + 内容审核全方位保障
---
## 🚀 功能模块
### 用户端功能
|
#### 🏠 首页
- 动态粒子背景效果
- 平台功能导航入口
- 响应式布局设计
#### 🤖 AI 健康顾问
- 实时 AI 多轮对话
- 热门健康问题推荐
- 聊天历史记录管理
- 支持语音输入
#### 📰 社区动态
- 文章发布(富文本编辑器)
- 文章点赞 / 收藏 / 评论
- 作者主页 / 用户主页
- 关注 / 取消关注
- 内容标签分类
#### 💬 消息中心
- 私信实时收发(WebSocket)
- 图片 / 视频 / 文件发送
- 语音消息录制发送
- 消息撤回功能
- 回复通知 / 互动集合 / 系统通知
- 用户拉黑管理
- 发送频率限制(防骚扰)
|
#### 🍎 食物营养分析
- 食物图像 AI 识别(Clarifai / Gemini)
- 营养成分详细分析(Edamam / USDA)
- 营养报告生成与导出
- 个性化膳食建议
#### 🥗 膳食计划
- 个性化餐单智能规划
- 营养均衡计算
- 食材推荐与替换
- 计划导出(PDF)
#### 💪 健康管理
- 健康数据录入(步数、睡眠、体重等)
- 健康指标趋势追踪
- 健康评分计算
- 健康报告生成
#### 🗺️ 地图服务
- 实时定位(GPS + IP 定位)
- 周边设施搜索(医院、健身房等)
- 步行 / 驾车路线规划
- 公交路线查询
|
|
#### 📚 健康科普
- 科普知识卡片浏览
- 科普视频播放
- 分类检索与搜索
#### 🌤️ 天气预报
- 实时天气查询
- 未来天气预报
- 基于天气的健康建议
#### 👤 个人中心
- 个人资料管理
- 头像上传
- 健康数据查看
- 账号安全设置
|
#### 🧬 人脸识别
- 人脸数据注册
- 人脸快速登录
- 人脸数据管理
#### 🔔 通知系统
- 实时消息推送
- 点赞 / 评论 / 关注通知
- 系统公告通知
#### 🎮 3D 实验室
- Three.js 3D 可视化展示
- 交互式 3D 场景
#### 📝 用户反馈
- 问题反馈提交
- 反馈处理状态追踪
|
---
### 管理员端功能
|
#### 📊 数据分析中心
- 平台核心指标概览
- 用户增长趋势分析
- 内容发布效果统计
- 科普贡献看板
- 数据可视化图表
#### 📝 内容管理
- 文章 CRUD 管理
- 评论内容审核(百度 AI 审核)
- 审核历史记录查询
- 热门文章统计管理
- 健康科普卡片 / 视频管理
#### 👥 用户管理
- 用户账户管理(启用 / 禁用)
- 用户权限分配
- 用户健康数据查看
- 用户反馈处理
|
#### 🤖 AI 服务管理
- AI 服务配置(百度、阿里云、OpenAI 等)
- AI 问答系统提示词配置
- 热门问题统计与管理
- 人脸数据管理
#### ⚙️ 系统管理
- 系统参数配置
- 维护模式控制
- 操作日志查询
- 管理员账户管理
- 消息清理策略配置
#### 🔌 第三方服务管理
- 地图服务 Key 配置(高德 / 腾讯)
- QQ 登录配置
- 邮箱服务配置
- 短信服务配置
- 动态配置热更新
#### 🆘 帮助中心
- 帮助文章管理
- 用户反馈管理
|
---
## 🏗️ 技术架构
### 整体架构
```
┌─────────────────────────────────────────────────────────┐
│ 用户 / 管理员 │
└─────────────────────────┬───────────────────────────────┘
│ HTTPS
┌─────────────────────────▼───────────────────────────────┐
│ Nginx (前端) │
│ Vue 3 + Vite + Element Plus │
└─────────────────────────┬───────────────────────────────┘
│ REST API / WebSocket
┌─────────────────────────▼───────────────────────────────┐
│ Spring Boot 3.2.3 (后端) │
│ Spring Security │ JWT │ JPA │ MyBatis │ WebSocket │
└──────┬──────────┬──────────┬──────────┬─────────────────┘
│ │ │ │
┌────▼───┐ ┌───▼───┐ ┌───▼───┐ ┌───▼──────┐
│ MySQL │ │ Redis │ │Rabbit │ │ 第三方 │
│ 8.0 │ │ 7 │ │ MQ │ │ 服务 │
└────────┘ └───────┘ └───────┘ └──────────┘
```
### 后端技术栈
| 技术 | 版本 | 用途 |
|------|------|------|
| Java | 17 | 开发语言 |
| Spring Boot | 3.2.3 | 核心框架 |
| Spring Security | 6.x | 认证授权 |
| Spring Data JPA | 3.x | ORM 框架 |
| MyBatis | 3.0.4 | SQL 映射 |
| MySQL | 8.0 | 主数据库 |
| Redis | 7 | 缓存 / 会话 |
| RabbitMQ | 3.x | 消息队列 |
| WebSocket | - | 实时通信 |
| JWT (jjwt) | 0.11.5 | Token 认证 |
| Knife4j | 4.4.0 | API 文档 |
| Lombok | - | 代码简化 |
| Hutool | 5.7.5 | 工具库 |
### 前端技术栈
| 技术 | 版本 | 用途 |
|------|------|------|
| Vue | 3.4 | 核心框架 |
| Vite | 5.x | 构建工具 |
| Element Plus | 2.9 | UI 组件库 |
| Pinia | 3.x | 状态管理 |
| Vue Router | 4.x | 路由管理 |
| Axios | 1.8 | HTTP 请求 |
| ECharts | 5.6 | 数据可视化 |
| D3.js | 7.x | 数据可视化 |
| Three.js | 0.176 | 3D 渲染 |
| WanEditor | 5.x | 富文本编辑 |
| SockJS + STOMP | - | WebSocket |
| GSAP | 3.x | 动画效果 |
| html2canvas + jsPDF | - | 报告导出 |
### 第三方服务集成
| 服务 | 提供商 | 用途 |
|------|--------|------|
| 文心一言 | 百度 | AI 健康顾问对话 |
| 通义千问 | 阿里云 DashScope | AI 对话 / 图像生成 / 视频生成 |
| GPT | OpenAI | 备用 AI 服务 |
| 食物识别 | Clarifai | 食物图像识别 |
| 图像分析 | Google Gemini | 食物识别备用 |
| 营养分析 | Edamam | 营养成分分析 / 膳食规划 |
| 食物数据库 | USDA | 食物营养数据 |
| 地图服务 | 高德地图 | 地图 / 定位 / 天气 / 路线 |
| 人脸识别 | 百度 AI | 人脸登录 / 注册 |
| 内容审核 | 百度 AI | 文章 / 评论审核 |
| 第三方登录 | QQ 互联 | QQ 账号登录 |
| 邮件服务 | QQ 邮箱 SMTP | 验证码 / 通知邮件 |
| 短信服务 | 阿里云 | 短信验证码 |
| 翻译服务 | 百度翻译 | 文本翻译 |
---
## 📁 项目结构
```
├── health-platform-backend/ # 后端项目
│ ├── src/main/java/com/health/
│ │ ├── annotation/ # 自定义注解
│ │ ├── aop/ # AOP 切面(操作日志)
│ │ ├── common/ # 公共响应类
│ │ ├── config/ # 配置类(Security、Redis、RabbitMQ 等)
│ │ ├── controller/
│ │ │ ├── admin/ # 管理员接口(19个)
│ │ │ └── user/ # 用户接口(22个)
│ │ ├── dto/ # 数据传输对象
│ │ ├── entity/ # 数据库实体(30+个)
│ │ ├── enums/ # 枚举类
│ │ ├── event/ # 事件类
│ │ ├── exception/ # 异常处理
│ │ ├── listener/ # 事件监听器
│ │ ├── message/ # 消息处理
│ │ ├── mq/ # RabbitMQ 消息队列
│ │ ├── repository/ # 数据访问层
│ │ ├── schedule/ # 定时任务
│ │ ├── service/ # 业务逻辑层(40+个)
│ │ ├── utils/ # 工具类
│ │ ├── vo/ # 视图对象
│ │ └── websocket/ # WebSocket 处理
│ └── src/main/resources/
│ ├── application.yml # 主配置文件
│ └── application-prod.yml # 生产环境配置
│
├── health-platform-frontend/ # 前端项目
│ ├── src/
│ │ ├── adminComponents/ # 管理员端组件(21个模块)
│ │ ├── api/ # API 请求封装
│ │ ├── assets/ # 静态资源
│ │ ├── components/ # 用户端组件
│ │ ├── config/ # 前端配置
│ │ ├── router/ # 路由配置
│ │ ├── services/ # 服务层
│ │ ├── stores/ # Pinia 状态管理
│ │ ├── utils/ # 工具函数
│ │ └── views/ # 页面视图
│ └── vite.config.js # Vite 配置
│
├── files/ # 上传文件存储目录
├── docker-compose.yml # Docker 编排配置
└── README.md
```
---
## ⚡ 快速开始
### 环境要求
- Java 17+
- Node.js 18+
- MySQL 8.0+
- Redis 7+
- RabbitMQ 3.x(可选,用于消息队列)
- Maven 3.8+
### 1. 克隆项目
```bash
git clone https://github.com/your-username/health-platform.git
cd health-platform
```
### 2. 数据库初始化
```bash
# 创建数据库
mysql -u root -p
CREATE DATABASE health CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# 导入初始数据(如有)
mysql -u root -p health < health-platform-backend/docs/health.sql
```
### 3. 后端配置
编辑 `health-platform-backend/src/main/resources/application.yml`:
```yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/health?useSSL=false&serverTimezone=Asia/Shanghai
username: your_username
password: your_password
data:
redis:
host: localhost
port: 6379
password: your_redis_password
```
### 4. 启动后端
```bash
cd health-platform-backend
mvn clean package -DskipTests
java -jar target/springboot-0.0.1-SNAPSHOT.jar
```
后端启动后访问 API 文档:http://localhost:8080/doc.html
### 5. 启动前端
```bash
cd health-platform-frontend
npm install
npm run dev
```
前端访问地址:http://localhost:5173
---
## 🐳 Docker 部署
### 一键部署
```bash
# 修改 docker-compose.yml 中的数据库密码等配置
vim docker-compose.yml
# 启动所有服务
docker-compose up -d
# 查看服务状态
docker-compose ps
# 查看日志
docker-compose logs -f backend
```
### 服务端口
| 服务 | 端口 | 说明 |
|------|------|------|
| 前端 (Nginx) | 80 / 443 | HTTP / HTTPS |
| 后端 (Spring Boot) | 8080 | REST API |
| MySQL | 3306 | 数据库 |
| Redis | 6379 | 缓存 |
| RabbitMQ | 5672 / 15672 | 消息队列 / 管理界面 |
### HTTPS 配置
将 SSL 证书放置到 `/home/project/nginx/ssl/` 目录,Nginx 配置已支持 HTTPS。
---
## ⚙️ 配置说明
### 必须配置项
| 配置项 | 说明 | 位置 |
|--------|------|------|
| 数据库连接 | MySQL 连接信息 | `application.yml` |
| Redis 连接 | Redis 连接信息 | `application.yml` |
| JWT 密钥 | Token 签名密钥 | `application.yml` |
### 可选配置项(第三方服务)
| 服务 | 配置项 | 说明 |
|------|--------|------|
| 百度 AI | `baidu.ai.api-key` | AI 对话服务 |
| 阿里云 | `aliyun.dashscope.api-key` | 通义千问 |
| 高德地图 | 管理后台配置 | 地图 / 天气服务 |
| QQ 登录 | `qq.auth.app-id` | QQ 第三方登录 |
| 邮件服务 | `spring.mail.*` | 验证码邮件 |
| 阿里云短信 | `aliyun.sms.*` | 短信验证码 |
| Edamam | `edamam.*` | 营养分析 |
| Clarifai | `clarifai.api-key` | 食物识别 |
| 百度人脸 | `baidu.face.*` | 人脸识别登录 |
> 💡 大部分第三方服务可在管理后台的「第三方服务管理」中动态配置,无需重启服务。
---
## 🔐 账号说明
### 用户端
- 支持手机号 / 邮箱注册
- 支持 QQ 第三方登录
- 支持人脸识别登录
### 管理员端
- 访问地址:`/admin/login`
- 首次使用需通过 `/admin/register` 注册管理员账号
---
## 📊 数据库设计
主要数据表(30+ 张):
| 表名 | 说明 |
|------|------|
| `user` | 用户信息 |
| `articles` | 文章内容 |
| `article_comment` | 文章评论 |
| `article_like` | 点赞记录 |
| `article_collection` | 收藏记录 |
| `health_data` | 健康数据 |
| `health_profile` | 健康档案 |
| `health_score` | 健康评分 |
| `direct_message` | 私信消息 |
| `direct_message_thread` | 私信会话 |
| `notification` | 通知消息 |
| `follow` | 关注关系 |
| `user_block` | 拉黑关系 |
| `knowledge_cards` | 科普卡片 |
| `knowledge_videos` | 科普视频 |
| `chat_history` | AI 聊天历史 |
| `hot_question` | 热门问题 |
| `ai_config` | AI / 第三方服务配置 |
| `face_data` | 人脸数据 |
| `system_log` | 系统操作日志 |
| `system_config` | 系统配置 |
| `user_feedback` | 用户反馈 |
| `admin` | 管理员信息 |
---
## 🔄 定时任务
| 任务 | 执行周期 | 说明 |
|------|----------|------|
| 聊天历史清理 | 每天凌晨 3:00 | 清理 7 天前的 AI 聊天记录 |
| 私信清理 | 每天凌晨 3:00 | 清理过期私信 |
| 健康数据清理 | 定期 | 清理过期健康数据 |
| 通知清理 | 定期 | 清理过期通知 |
---
## 🛡️ 安全特性
- **JWT 认证** — 无状态 Token 认证,支持 Token 刷新
- **Spring Security** — 细粒度权限控制,用户端 / 管理端完全隔离
- **内容审核** — 百度 AI 自动审核文章和评论内容
- **XSS 防护** — 前端 DOMPurify 过滤,后端输入校验
- **CORS 配置** — 严格的跨域访问控制
- **操作日志** — AOP 自动记录管理员所有操作
- **发送限制** — 私信防骚扰机制(未关注用户限制发送数量)
- **文件安全** — 上传文件类型校验,禁止可执行文件
---
## 📈 性能优化
- **Redis 缓存** — 热门问题、用户会话、API 响应缓存
- **RabbitMQ 异步** — 通知推送、事件处理异步化
- **分页查询** — PageHelper 统一分页,避免大数据量查询
- **前端缓存** — API 响应本地缓存,减少重复请求
- **图片懒加载** — 列表页图片按需加载
- **WebSocket 连接复用** — 单连接多频道订阅
---
## 🤝 贡献指南
1. Fork 本仓库
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 提交 Pull Request
---
## 📄 开源协议
本项目基于 [MIT License](LICENSE) 开源。
---
## 👨💻 作者
**黄日盛**
- 项目地址:[GitHub](https://github.com/your-username/health-platform)
- 个人网站:[raysonsun.cn](https://raysonsun.cn)
---
如果这个项目对你有帮助,欢迎 ⭐ Star 支持一下!