学弟学妹们,大家好👋!作为已经顺利毕业的计算机专业学长,回望毕业设计的攻坚时光,依旧深有感触🌟。当初熬夜调试后端接口、反复核对数据库结构、一点点梳理论文逻辑、打磨系统功能的点点滴滴,现在回想起来依旧记忆犹新。最近看到很多学弟学妹在纠结毕设选题,我真心推荐大家选择基于SpringBoot+Vue+微信小程序的医院挂号就诊陪诊问诊智能系统这类生活化、实用性拉满的主流课题💻。
这套技术栈是计算机毕设最稳妥、最通用的搭配,资料多、易上手、踩坑少,不用钻研复杂算法,重点锻炼前后端分离开发的实战能力,非常适合本科毕业生。大家开发时一定要循序渐进、主次分明。优先攻克微信授权登录、医生科室展示、在线挂号预约、线上问诊、后台权限与订单管理这些核心模块,保证系统整体流程完整、稳定运行✅。基础功能跑通之后,再拓展病历管理、陪诊订单评价、公告推送等进阶功能,一步步迭代优化。该选题场景贴合智慧医疗热点,功能饱满、论文好写、答辩展示效果极佳,是性价比超高的保底优质选题!
博主介绍:
深耕计算机专业项目开发多年,基于springboot,vue,node,javaweb,微信小程序,安卓,android,鸿蒙,Harmony,python,毕业设计,课程设计,支持定制开发,全套资料包完。
文末有本题目的源码+全套资料 ⬇️⬇️⬇️
摘要
随着国内医疗服务需求持续增长,传统线下医院挂号排队、问诊沟通不便、陪诊服务缺乏规范化管理等问题日益突出。为优化就医流程,降低患者就医成本,本文设计并实现一套基于 SpringBoot+Vue + 微信小程序的医院挂号就诊陪诊问诊智能系统。系统后端采用 SpringBoot 框架搭建服务接口,管理后台使用 Vue 进行页面开发,患者端依托微信小程序作为访问载体,选用 MySQL 数据库完成业务数据持久化存储。系统划分为管理员、医生、患者、陪诊员四类用户,分别实现账号管理、科室管理、在线挂号、线上问诊、陪诊预约、订单管理、病历查看等核心业务功能。本文通过需求分析、系统设计、编码实现与功能测试,完成系统开发。测试结果表明,该系统能够稳定完成线上挂号、图文问诊、陪诊服务预约等业务,简化患者就医流程,减轻医院窗口工作压力,规范化陪诊服务流程,提升医疗服务效率。本系统可为中小型医疗机构线上就医服务提供参考方案。
关键词:SpringBoot;Vue;微信小程序;医院挂号;陪诊问诊;MySQL
Abstract
With the continuous growth of domestic medical service demand, problems such as long queuing for offline hospital registration, inconvenient consultation communication and non-standard management of accompanying diagnosis services have become increasingly prominent. To optimize the medical process and reduce patients' medical costs, this paper designs and implements an intelligent hospital registration, consultation and accompanying diagnosis system based on SpringBoot, Vue and WeChat Mini Program. The back end of the system uses SpringBoot framework to build service interfaces, the management background adopts Vue for page development, the patient side takes WeChat Mini Program as the access carrier, and MySQL database is used for persistent storage of business data. The system is divided into four types of users: administrators, doctors, patients and accompanying staff, which respectively realize account management, department management, online registration, online consultation, accompanying appointment, order management, medical record viewing and other core business functions. Through requirement analysis, system design, coding implementation and functional test, the system development is completed. The test results show that the system can stably complete online registration, graphic consultation, accompanying service reservation and other businesses, simplify the medical process of patients, reduce the work pressure of hospital windows, standardize the process of accompanying services, and improve the efficiency of medical services. This system can provide a reference scheme for online medical services of small and medium-sized medical institutions.
Key words: SpringBoot; Vue; WeChat Mini Program; Hospital Registration; Accompanying Consultation; MySQL
一、研究目的与意义
研究目的
传统就医模式下,患者需要前往医院现场排队挂号,耗费大量时间;行动不便、老年患者独自就诊存在困难,市场上陪诊服务零散,缺少统一线上管理平台;患者简单咨询病情也需要到院,造成医疗资源浪费。本系统研究目的是搭建一体化线上就医平台,患者通过微信小程序就能完成科室查看、医生预约挂号、在线图文问诊、陪诊人员预约下单;医生可在线接诊、回复问诊、管理挂号订单;管理员在 Vue 后台统一管理科室、用户、订单信息;陪诊员接收预约订单,完成陪诊服务。旨在打通线上就医服务链路,解决线下就医排队久、陪诊服务不规范、轻症咨询不方便等痛点,实现就医流程数字化。
研究意义
理论意义:将 SpringBoot、Vue、微信小程序技术组合应用于医疗陪诊问诊场景,丰富医疗类 Web + 小程序复合系统的设计案例,为同类智慧医疗毕业设计提供设计思路与实现参考。
现实意义:对患者而言,足不出户即可完成挂号和线上问诊,有需要时预约陪诊人员陪同就医,减少来回奔波,提升就医体验。对医院和医生来说,分流轻症咨询,减少门诊压力,合理分配号源。对于陪诊行业,平台统一管理陪诊人员信息、服务订单,规范陪诊服务流程,降低医患、陪诊之间信息不对称问题。管理员通过后台可视化管理各类业务数据,方便维护科室、用户、订单。本系统轻量化、部署简单,适合中小型医疗机构使用,助力医疗服务数字化转型。
二、需求分析
2.1 用户角色划分
系统一共四类用户:管理员、医生、患者、陪诊员
- 管理员(后台):系统最高权限,管理所有基础数据,审核账号,查看全部订单。
- 医生(后台):管理个人号源,处理挂号订单,回复患者线上问诊,查看就诊病历。
- 患者(前端):浏览科室医生,预约挂号,发起在线问诊,预约陪诊,查看个人订单、病历。
- 陪诊员(前端):维护个人信息,接收陪诊订单,更新订单服务状态,查看收入记录。
2.2 各角色功能模块详细描述
管理员模块
- 用户管理:新增、启用 / 禁用医生、陪诊员账号;查看患者用户信息,删除违规用户。
- 科室管理:新增、修改、删除医院科室信息,设置科室简介。
- 订单管理:查看所有挂号订单、陪诊订单;查看订单状态,处理异常订单。
- 系统公告:发布医院通知、平台公告,小程序端患者可以查看公告。
医生模块
- 号源管理:设置每日可预约号源数量,开启或关闭当日挂号。
- 挂号订单管理:查看预约自己的患者挂号记录,确认就诊。
- 在线问诊管理:查看患者发起的问诊消息,图文回复问诊,保存问诊记录。
- 病历管理:填写就诊病历,患者小程序端可查看本人病历。
患者模块
- 首页模块:查看科室列表、医生信息、平台公告。
- 挂号模块:选择科室、医生、就诊日期,提交挂号预约,查看挂号订单,取消未就诊预约。
- 在线问诊模块:选择医生,上传图片、文字描述病情,发起问诊,查看医生回复。
- 陪诊预约模块:查看陪诊员列表,选择陪诊人员和就诊时间,提交陪诊订单。
- 个人中心:查看个人所有订单(挂号、陪诊),查看病历,修改个人资料。
陪诊员模块
- 个人信息模块:完善个人简介、服务价格、擅长服务项目。
- 陪诊订单模块:接收患者预约订单,确认接单、完成服务,修改订单状态。
- 收入模块:查看历史订单收入明细。
三、系统开发技术介绍
- SpringBoot:后端核心框架,简化 Spring 项目配置,自动装配,快速开发 RESTful 接口,负责接收小程序和 Vue 后台请求,处理业务逻辑,操作数据库,返回 JSON 数据。无需大量 XML 配置文件,开发效率高,适合中小型管理系统。
- Vue.js:前端管理后台框架,采用 MVVM 模式,组件化开发页面。管理员、医生使用的后台页面由 Vue 实现,页面局部刷新,提升交互体验,搭配 Element UI 组件库快速搭建表单、表格页面。
- 微信小程序:移动端客户端,不需要下载安装,微信直接打开,面向患者和陪诊员。小程序通过网络请求调用 SpringBoot 后端接口,实现挂号、问诊、陪诊下单等功能,降低用户使用门槛。
- MySQL:关系型数据库,存储系统所有业务数据,支持事务,稳定可靠,适合存储用户、科室、订单、问诊记录等结构化数据。
四、数据库表结构
- 用户表 user:id(主键,长度 10),username(账号,长度 50),password(密码,长度 50),role(角色,长度 50,区分管理员 / 医生 / 患者 / 陪诊员),phone(手机号,长度 50),isEnable(是否启用)。
- 科室表 department:id(主键,长度 10),deptName(科室名称,长度 50),deptDesc(科室简介,长度 50),createTime(创建时间)。
- 医生表 doctor:id(主键,长度 10),userId(关联用户 id,长度 10),doctorName(医生姓名,长度 50),title(职称,长度 50),deptId(所属科室 id,长度 10)。
- 挂号订单表 register_order:id(主键,长度 10),patientId(患者 id,长度 10),doctorId(医生 id,长度 10),orderTime(预约时间),status(订单状态,长度 50)。
- 问诊表 consult:id(主键,长度 10),patientId(患者 id,长度 10),doctorId(医生 id,长度 10),content(问诊内容,长度 50),reply(医生回复,长度 50)。
- 陪诊员表 accompany_staff:id(主键,长度 10),userId(关联用户 id,长度 10),staffName(陪诊员姓名,长度 50),price(服务价格),info(个人介绍,长度 50)。
- 陪诊订单表 accompany_order:id(主键,长度 10),patientId(患者 id,长度 10),staffId(陪诊员 id,长度 10),appointTime(预约时间),status(订单状态,长度 50)。
- 病历表 medical_record:id(主键,长度 10),patientId(患者 id,长度 10),doctorId(医生 id,长度 10),recordContent(病历内容,长度 50),createTime(创建时间)。
- 公告表 notice:id(主键,长度 10),title(公告标题,长度 50),content(公告内容,长度 50),publishTime(发布时间)。
五、系统详细设计 + 核心代码片段
5.1 后端 SpringBoot 结构设计
后端采用分层架构:Controller 控制层接收前端请求,Service 业务层处理逻辑,Mapper 数据访问层操作 MySQL,Entity 实体类对应数据库表。
挂号订单 Controller 核心片段
@RestController @RequestMapping("/register") public class RegisterOrderController { @Autowired private RegisterOrderService registerOrderService; // 提交挂号预约 @PostMapping("/add") public Result addRegister(@RequestBody RegisterOrder registerOrder){ boolean res = registerOrderService.save(registerOrder); if(res){ return Result.success("挂号预约成功"); } return Result.error("号源不足,预约失败"); } // 根据患者id查询挂号记录 @GetMapping("/list/{patientId}") public Result getRegisterList(@PathVariable Integer patientId){ List<RegisterOrder> list = registerOrderService.getByPatientId(patientId); return Result.success(list); } }5.2 Vue 管理后台页面设计(医生号源管理示例)
Vue 后台使用 ElementUI 表格展示号源信息,核心 js 片段:
export default { data(){ return{ tableData:[], doctorId:'' } }, mounted(){ this.getSourceList() }, methods:{ getSourceList(){ this.$axios.get('/source/list?doctorId='+this.doctorId).then(res=>{ this.tableData = res.data.data }) } } }5.3 微信小程序端挂号请求代码片段
小程序端通过 wx.request 调用后端接口提交挂号:
wx.request({ url: 'https://localhost:8080/register/add', method:'POST', data:{ patientId:1001, doctorId:2001, orderTime:"2026-09-28", status:"待就诊" }, success(res){ if(res.data.code == 200){ wx.showToast({title:'挂号成功'}) }else{ wx.showToast({title:res.data.msg,icon:'none'}) } } })5.4 数据库交互 MyBatis Mapper 示例(查询患者挂号订单)
<select id="selectByPatientId" resultType="RegisterOrder"> select * from register_order where patient_id = #{patientId} </select>5.5 业务流程简要说明
患者打开微信小程序,登录后选择科室与医生,选择就诊日期提交挂号请求,小程序把数据传给 SpringBoot 后端;后端 Service 层校验剩余号源,号源充足则插入挂号订单表,返回成功信息。医生登录 Vue 后台查看挂号列表;问诊、陪诊订单流程逻辑类似。管理员在 Vue 后台统一维护科室、公告和全部订单数据。
上面分享的这套系统,完整的项目代码、MySQL 数据库文件、全套文档、界面效果图、PPT 我都已经打包整理好了🎓。 正在准备同题目的学弟学妹,想要拿来参考学习的,可以点击下面的链接进行咨询。👇👇👇👇👇