# clinic_management **Repository Path**: shhzxt/clinic_management ## Basic Information - **Project Name**: clinic_management - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-28 - **Last Updated**: 2026-05-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 医疗挂号管理系统 一个基于 `Vue 3 + Spring Boot 3` 的前后端分离医疗挂号管理系统,覆盖患者端、医生端和管理端三类角色,支持医生查询、排班查看、就诊人管理、预约挂号、预约取消、医生接诊管理和后台排班管理等核心业务。 当前项目已完成基础挂号能力,并已补充 AI 问诊助手的产品方案与知识库文档,后续可基于 `Dify + DeepSeek + Spring Boot` 扩展挂号前导诊、医生推荐和规则问答能力。 ## 项目简介 本项目面向门诊/诊所场景,目标是提升患者线上挂号效率、优化医生接诊流程,并为管理员提供统一的科室、医生、排班与预约管理能力。 项目当前包含以下主要模块: - 患者端:注册登录、找医生、查看科室、查看排班、就诊人管理、预约挂号、查看预约、取消预约 - 医生端:查看个人排班、查看预约患者、处理就诊状态 - 管理端:数据看板、医生管理、排班管理、预约管理 ## 技术栈 ### 前端 - Vue 3 - Vue Router 4 - Element Plus - Axios - Vite ### 后端 - Java 17 - Spring Boot 3.2.4 - Spring Security - Spring Data JPA - MySQL 8 - Redis - JWT ## 项目结构 ```text clinic_management/ ├─ backend/ # Spring Boot 后端 ├─ frontend/ # Vue 3 前端 ├─ docs/ # 项目文档 │ ├─ INSTALLATION_GUIDE.md # 安装与运行说明 │ ├─ AI问诊助手_PRD.md # AI 问诊助手产品需求文档 │ └─ ai-knowledge/ # AI 问诊助手知识库文档 ├─ prototypes/ # 原型页面 ├─ miniProgram/ # 小程序相关目录(如后续使用) ├─ init.sql # 数据库初始化脚本 └─ README.md ``` ## 核心功能 ### 患者端 - 科室与医生查询 - 医生详情查看 - 医生排班查看 - 就诊人新增、编辑、删除 - 在线预约挂号 - 我的预约列表与详情 - 待就诊预约取消 ### 医生端 - 我的排班查看 - 预约患者查看 - 就诊状态处理 ### 管理端 - 数据统计看板 - 医生信息管理 - 排班管理 - 全局预约记录管理 ## AI 问诊助手规划 项目已整理 AI 问诊助手相关文档,作为下一阶段的扩展方向。 能力目标包括: - 症状到科室导诊 - 医生方向推荐 - 挂号规则问答 - 高风险症状提醒 - 与实时医生、排班、号源接口联动 相关文档位置: - [AI问诊助手_PRD.md](./docs/AI问诊助手_PRD.md) - [ai-knowledge/00-README.md](./docs/ai-knowledge/00-README.md) ## 部署教程 以下步骤适用于本地开发环境部署。 ### 1. 环境要求 请先安装以下环境: - JDK 17 及以上 - Node.js 16 及以上,建议使用 LTS 版本 - Maven 3.6 及以上 - MySQL 8.0 及以上 - Redis 6.0 及以上 ### 2. 克隆项目 ```bash git clone cd clinic_management ``` ### 3. 初始化数据库 1. 启动 MySQL 2. 登录 MySQL 3. 执行项目根目录下的 `init.sql` 示例: ```sql mysql -u root -p source init.sql; ``` 执行完成后会自动创建 `clinic_db` 数据库及相关表结构,并初始化部分测试数据。 ### 4. 启动 Redis 启动本地 Redis 服务,默认端口为 `6379`。 如果你的 Redis 配置了密码,需要同步修改后端配置文件。 ### 5. 配置后端 打开后端配置文件: - `backend/src/main/resources/application.yml` 根据本地环境修改以下内容: - MySQL 地址、用户名、密码 - Redis 地址、端口 - 可选:JWT 密钥 默认关键配置示例: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/clinic_db?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true username: root password: 123456 data: redis: host: localhost port: 6379 ``` ### 6. 启动后端 进入后端目录: ```bash cd backend ``` 方式一:使用 Maven 运行 ```bash mvn clean package -DskipTests java -jar target/clinic-management-0.0.1-SNAPSHOT.jar ``` 方式二:在 IntelliJ IDEA 中运行启动类: - `backend/src/main/java/com/sijibiguo/clinic/ClinicApplication.java` 默认后端启动地址: - `http://localhost:8080` ### 7. 启动前端 进入前端目录: ```bash cd frontend ``` 安装依赖: ```bash npm install ``` 启动开发环境: ```bash npm run dev ``` 默认前端访问地址通常为: - `http://localhost:5173` ### 8. 前后端联调说明 前端通过 `vite.config.js` 中的代理把 `/api` 请求转发到后端。 请确认 `frontend/vite.config.js` 中的代理目标与后端端口一致,例如: ```js server: { proxy: { '/api': { target: 'http://127.0.0.1:8080', changeOrigin: true } } } ``` ## 测试账号 执行 `init.sql` 后可使用以下内置账号测试: - 管理员:`admin` / `123456` - 医生:`doctor1` ~ `doctor10` / `123456` - 患者:请在前端注册页面自行注册 ## 常见问题 ### 1. 后端启动失败,提示数据库连接错误 请检查: - MySQL 是否已启动 - `application.yml` 中数据库用户名和密码是否正确 - `clinic_db` 是否已成功初始化 ### 2. 前端接口请求报错 请检查: - 后端是否已正常启动 - 前端代理配置是否正确 - 前后端端口是否一致 ### 3. Redis 未启动 如果 Redis 未启动,部分依赖缓存的能力可能无法正常使用。请先启动 Redis,再重新启动后端。 ### 4. 页面刷新后 404 如果后续部署到 Nginx,需要为前端 History 路由配置回退规则,例如: ```nginx try_files $uri $uri/ /index.html; ``` ## 相关文档 - [安装与运行说明](./docs/INSTALLATION_GUIDE.md) - [AI 问诊助手 PRD](./docs/AI问诊助手_PRD.md) - [AI 知识库目录说明](./docs/ai-knowledge/00-README.md)