# 健康资讯小程序 **Repository Path**: YuJiJing/MedicineInformationMerge ## Basic Information - **Project Name**: 健康资讯小程序 - **Description**: 医疗信息+健康咨询小程序 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-02-26 - **Last Updated**: 2026-05-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智疗云联 · 医疗信息综合平台 > 一个面向普通用户、医生与管理员的医疗信息综合服务系统,涵盖药品查询、在线挂号、健康课程、患者圈、AI 智能咨询等核心功能。 --- ## 项目简介 **智疗云联_老版本(MedicineInformationMerge_old)**:是去年计设时候的项目,没有管理端和后端,只有unicloud云服务,需自行补充云服务数据库,多为前端演示,界面也较为粗糙。 **智疗云联**(MedicineInformation)是一个前后端分离的项目,由三端组成: | 端 | 技术栈 | 说明 | |---|---|---| | **用户端**(小程序/H5) | uni-app | 面向普通用户,提供查药、挂号、健康+、患者圈、AI 咨询等功能 | | **管理端** | Vue 3 + Vite + Element Plus | 面向医生与管理员,提供数据管理与统计功能 | | **后端服务** | Spring Boot 3 + MyBatis-Plus | 统一 RESTful API,JWT 鉴权,集成 Redis、MinIO、DeepSeek | --- ## 功能模块 ### 用户端(uni-app) - **首页**:科普文章浏览、药品与疾病快速查询入口 - **挂号**:医院排行 → 选科室 → 选医生 → 查看排班 → 提交预约 → 预约记录管理 - **健康+**:运动课程、冥想课程、个人用药管理 - **患者圈**:发帖、评论、点赞,构建患者社区 - **AI 咨询**:基于 DeepSeek 的流式 AI 健康问答 - **我的**:个人资料、预约记录、推送通知、隐私设置 ### 管理端(Vue 3) - **仪表盘**:用户数、预约数、药品数等核心指标可视化(ECharts) - **用户管理**:查看、封禁/解封用户 - **医院 & 科室**:医院与科室 CRUD - **药品 & 分类**:药品及分类维护 - **疾病管理**:疾病百科维护 - **文章管理**:科普文章发布与审核(医生/管理员) - **帖子管理**:患者圈内容管理 - **课程管理**:运动课程、冥想课程维护 - **预约管理**:查看与处理所有预约 - **排班管理**:医生排班设置 ### 后端服务(Spring Boot) - JWT 无状态鉴权 + Spring Security 角色控制(普通用户 / 医生 / 管理员) - Redis 缓存加速 - MinIO 文件存储(图片上传) - DeepSeek API 流式 AI 对话 --- ## 技术栈 ### 后端 | 组件 | 版本/说明 | |---|---| | Java | 17 | | Spring Boot | 3.2.4 | | Spring Security | JWT 鉴权 | | MyBatis-Plus | 3.5.5 | | MySQL | 8.x | | Redis | 缓存 | | MinIO | 文件存储 | | DeepSeek | AI 对话 | ### 管理端 | 组件 | 版本/说明 | |---|---| | Vue | 3.x | | Vite | 5.x | | Element Plus | UI 组件库 | | Pinia | 状态管理 | | ECharts | 数据可视化 | | Axios | HTTP 请求 | ### 用户端 | 组件 | 版本/说明 | |---|---| | uni-app | 跨端框架 | | uni-ui | UI 组件库 | | echarts | 数据可视化 | | marked | Markdown 渲染 | --- ## 项目结构 ``` MedicineInformationCode/ ├── admin/ # 管理端(Vue 3 + Vite) │ ├── src/ │ │ ├── api/ # 接口封装 │ │ ├── layout/ # 布局组件 │ │ ├── router/ # 路由配置 │ │ ├── store/ # Pinia 状态 │ │ ├── utils/ # 工具函数(request 等) │ │ └── views/ # 各功能页面 │ │ ├── dashboard/ # 仪表盘 │ │ ├── user/ # 用户管理 │ │ ├── hospital/ # 医院 & 科室 │ │ ├── drug/ # 药品 & 分类 │ │ ├── disease/ # 疾病管理 │ │ ├── article/ # 文章管理 │ │ ├── post/ # 帖子管理 │ │ ├── course/ # 课程管理 │ │ ├── reservation/ # 预约管理 │ │ └── schedule/ # 排班管理 │ └── vite.config.js │ ├── back/MedicineInformation/ # 后端(Spring Boot) │ └── src/main/java/com/yumou/ │ ├── config/ # Security、MyBatisPlus 配置 │ ├── controller/ # 17 个 Controller │ ├── service/ # 业务逻辑层 │ ├── mapper/ # MyBatis-Plus Mapper │ ├── entity/ # 15 个实体类 │ └── dto/ # 数据传输对象 │ ├── front/ # 用户端(uni-app) │ ├── pages/ │ │ ├── index/ # 首页 │ │ ├── login/ & register/ # 账号 │ │ ├── registration/ # 挂号流程 │ │ ├── healthPlus/ # 健康+ │ │ ├── patientCircle/ # 患者圈 │ │ ├── chat/ # AI 咨询 │ │ └── me/ # 我的 │ ├── common/ # 公共配置与请求封装 │ └── static/ # 静态资源 │ └── sql/ ├── schema.sql # 建表脚本 ├── data.sql # 初始化数据 └── alter_user_status.sql # 用户状态字段增量脚本 ``` --- ## 数据库表结构 | 表名 | 说明 | |---|---| | `t_user` | 用户(含角色:1普通/2医生/3管理员) | | `t_hospital` | 医院 | | `t_department` | 科室 | | `t_hospital_department` | 医院-科室关联 | | `t_doctor` | 医生 | | `t_doctor_schedule` | 医生排班 | | `t_reservation` | 预约记录 | | `t_drug_category` | 药品分类 | | `t_drug` | 药品 | | `t_disease` | 疾病 | | `t_article` | 科普文章 | | `t_post` | 患者圈帖子 | | `t_comment` | 评论 | | `t_post_like` | 点赞记录 | | `t_exercise_course` | 运动课程 | | `t_meditation_course` | 冥想课程 | --- ## 快速启动 ### 前置要求 - Java 17+ - Node.js 18+ - MySQL 8.x - Redis - MinIO(可选,用于文件上传) - HBuilderX(运行 uni-app 用户端) ### 1. 数据库初始化 ```sql CREATE DATABASE medicineinformationmerge CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 依次执行: ```bash mysql -u root -p medicineinformationmerge < sql/schema.sql mysql -u root -p medicineinformationmerge < sql/data.sql mysql -u root -p medicineinformationmerge < sql/alter_user_status.sql ``` ### 2. 启动后端 修改 `back/MedicineInformation/src/main/resources/application.yml` 中的数据库账号密码、Redis 密码、MinIO 配置及 DeepSeek API Key,阿里云oss需自行获取key,然后可以在idea中启动,或者在powershell中: ```bash cd back/MedicineInformation mvn spring-boot:run ``` 后端默认运行在 **http://localhost:8082** ### 3. 启动管理端 ```bash cd admin npm install npm run dev ``` 管理端默认运行在 **http://localhost:3000**,已配置代理到 `8082` 端口。 ### 4. 启动用户端 到相应目录下使用npm install 使用 **HBuilderX** 打开 `front/` 目录,选择运行到浏览器(H5)或微信开发者工具(小程序)。 --- ## 默认账号 | 角色 | 账号 | 密码 | 说明 | |---|---|---|---| | 管理员 | `admin` | `123456` | 拥有全部管理权限 | | 医生 | 见 `data.sql` | `123456` | 可管理文章、预约、排班 | | 普通用户 | 注册即可 | — | 使用用户端功能 | --- ## 角色权限说明 | 功能 | 普通用户 | 医生 | 管理员 | |---|:---:|:---:|:---:| | 查药/查病 | ✓ | ✓ | ✓ | | 挂号预约 | ✓ | — | — | | 患者圈 | ✓ | — | — | | AI 咨询 | ✓ | ✓ | ✓ | | 发布文章 | — | ✓ | ✓ | | 预约 & 排班管理 | — | ✓ | ✓ | | 用户/药品/医院管理 | — | — | ✓ | | 帖子/课程管理 | — | — | ✓ | | 数据统计仪表盘 | — | ✓ | ✓ | --- ## 主要接口说明 后端统一前缀 `/api`,采用 JWT Bearer Token 鉴权。 | 模块 | 路径前缀 | |---|---| | 认证 | `/api/auth` | | 用户 | `/api/users` | | 医院 & 科室 | `/api/hospitals`、`/api/departments` | | 药品 & 分类 | `/api/drugs`、`/api/drug-categories` | | 疾病 | `/api/diseases` | | 预约 | `/api/reservations` | | 排班 | `/api/doctor-schedules` | | 文章 | `/api/articles` | | 帖子 & 评论 | `/api/posts`、`/api/comments` | | 课程 | `/api/exercise-courses`、`/api/meditation-courses` | | 统计 | `/api/stats` | | AI 对话 | `/api/deepseek` | | 文件上传 | `/upload` | --- ## 注意事项 1. **DeepSeek API Key**:请在 `application.yml` 中替换为自己申请的 Key,切勿将密钥提交到公开仓库。 2. **MinIO**:若不需要文件上传功能,可注释掉相关配置,上传接口会降级处理。 3. **Redis**:本地开发可使用无密码 Redis,生产环境请设置密码。 4. **跨域**:后端已配置 CORS,管理端通过 Vite proxy 代理,用户端需在 `front/common/config.js` 中修改 `baseUrl`。 ---