云医院是一个由 Vue Web 前端、Kotlin Android 客户端和 Spring Boot 后端组成的医院信息管理系统,覆盖用户、科室、医生、挂号、门诊、处方、检查、检验、缴费、发药和智能导诊等业务。
当前仓库是 Vue Web 前端;Spring Boot 后端位于同级目录
../cloud-hospital。Android 工程不在当前工作区中,其工程名称、SDK 版本和具体依赖需要根据实际源码补充。
- 数据看板:展示挂号、医生、科室、药品和缴费统计
- 科室、医生、药品管理
- 检查、检验和治疗项目管理
- 挂号查询、修改、取消及状态推进
- 病历填写、处方管理和发药
- 用户与缴费记录管理
- 用户注册与登录
- 自助挂号
- 查看个人挂号记录
- 查看个人处方和检查报告
- 在线缴费
- 智能导诊
| 模块 | 技术 |
|---|---|
| Web 前端 | Vue 3、Vue Router、Vite、Element Plus、Axios、ECharts |
| Android 端 | Kotlin |
| 后端 | Java 8、Spring Boot 2.7.18、MyBatis-Plus、Maven |
| 数据库 | MySQL 8 |
Vue Web 前端 ───────┐
├── HTTP/JSON ──> Spring Boot :8081 ──> MySQL
Kotlin Android 端 ──┘
Web 前端本地访问后端时使用:
http://localhost:8081
Android 模拟器不能通过 localhost 访问电脑上的后端,应使用:
http://10.0.2.2:8081
真机调试时,需要使用电脑的局域网 IP。
JavaWebWork/
├─ cloud-hospital-web/ # Vue Web 前端
│ ├─ public/ # 公共静态资源
│ ├─ src/
│ │ ├─ assets/ # 样式和图片
│ │ ├─ components/ # 公共组件
│ │ ├─ router/ # 路由和权限控制
│ │ └─ views/ # 业务页面
│ ├─ package.json
│ └─ vite.config.js
├─ cloud-hospital/ # Spring Boot 后端
│ ├─ src/main/java/
│ │ ├─ controller/ # REST 接口
│ │ ├─ entity/ # 实体类
│ │ └─ mapper/ # 数据访问层
│ ├─ src/main/resources/
│ │ └─ application.properties
│ └─ pom.xml
└─ <android-project>/ # Kotlin Android 工程
- Node.js
22.18+或24.12+ - npm
- JDK 8
- MySQL 8.x
- Android Studio 和 Android SDK
推荐启动顺序:
MySQL → Spring Boot 后端 → Vue/Android 客户端
创建数据库:
CREATE DATABASE cloud_hospital
DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;修改后端的 application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/cloud_hospital?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8
spring.datasource.username=<你的 MySQL 用户名>
spring.datasource.password=<你的 MySQL 密码>
server.port=8081当前项目中未发现数据库初始化 SQL。首次启动前,需要先导入项目实际使用的建表和初始化数据脚本。
Windows:
cd ..\cloud-hospital
.\mvnw.cmd spring-boot:runmacOS 或 Linux:
cd ../cloud-hospital
./mvnw spring-boot:run启动成功后的后端地址:
http://localhost:8081
安装依赖:
npm install启动开发服务器:
npm run dev生产构建:
npm run build本地预览生产构建:
npm run previewVite 默认访问地址通常为:
http://localhost:5173
- 使用 Android Studio 打开 Android 工程。
- 等待 Gradle Sync 完成。
- 配置后端 Base URL。
- 选择模拟器或真机。
- 适配Android 16及以上版本
- 运行
app模块。
模拟器使用:
http://10.0.2.2:8081/
局域网真机使用:
http://<电脑局域网IP>:8081/
确认 AndroidManifest.xml 中已声明网络权限:
<uses-permission android:name="android.permission.INTERNET" />如果开发环境使用 HTTP,还需要根据 Android 版本配置明文流量策略。正式环境建议使用 HTTPS。
后端默认地址为 http://localhost:8081。
| 模块 | 接口前缀 | 主要功能 |
|---|---|---|
| 用户 | /user |
登录、注册、查询、修改、删除 |
| 科室 | /department |
查询、新增、修改、删除 |
| 医生 | /doctor |
查询、新增、修改、删除 |
| 药品 | /drug |
查询、新增、修改、删除 |
| 检查 | /examination |
查询、新增、修改、删除 |
| 检验 | /inspection |
查询、新增、修改、删除 |
| 治疗 | /treatment |
查询、新增、修改、删除 |
| 挂号 | /registration |
挂号、个人记录、状态推进、取消 |
| 病历 | /record |
新增、个人病历查询、发药 |
| 缴费 | /payment |
个人账单、支付、缴费列表 |
| 统计 | /statistics |
汇总统计 |
| AI | /ai |
智能对话和导诊 |
Web 端根据浏览器 localStorage 中的 role 控制页面访问:
- 未登录用户跳转到登录页
user角色只能访问患者自助服务页面admin角色可以访问管理功能
前端路由控制不能替代后端鉴权。正式部署前,应在后端增加身份认证、接口权限校验和密码加密。
- 确认后端已经监听
8081端口 - 确认 MySQL 已经启动
- 检查浏览器开发者工具中的 Network 请求
- 检查前端代码中的后端地址是否正确
- 模拟器不要使用
localhost,应使用10.0.2.2 - 真机与电脑需要连接同一局域网
- 检查电脑防火墙是否允许访问
8081 - 检查网络权限和 HTTP 明文流量配置
- 确认
cloud_hospital数据库已经创建 - 检查 MySQL 用户名、密码和端口
- 确认 MySQL 服务已经启动
- 确认数据库用户拥有读写权限
- 补充数据库建表与初始化数据脚本
- 将前端硬编码的后端地址抽取为环境变量
- 增加后端身份认证和权限校验
- 对用户密码进行加密存储
- 增加统一异常处理
- 接入 Swagger/OpenAPI
- 增加 Web、Android 和后端自动化测试
- 补充项目截图、演示账号和部署说明
- 补充 Android 工程名称、SDK 版本及依赖
- 增加医疗操作审计
- 补充日志脱敏,增加可靠性和后期运维能力
本项目仅用于学习、研究和技术交流,不构成医疗建议,也不应直接用于真实医疗机构的诊断、治疗或临床决策。
在生产环境中使用前,应完成安全测试、隐私保护、数据合规、医疗业务审核和必要的监管审批。项目作者不对因使用本软件产生的医疗、数据安全或业务损失承担责任。
本项目基于 MIT License 开源。
你可以自由使用、复制、修改、合并、发布和分发本项目,但必须保留原始版权声明和许可证声明。
Copyright © 2026 SuiS