1. 项目背景与需求分析
医院挂号难问题一直是困扰患者就医体验的痛点。传统线下挂号方式需要患者清晨排队,而电话预约又常常占线。随着移动互联网的普及,基于微信小程序的挂号系统成为改善这一现状的有效解决方案。
这个项目要实现的核心功能包括:
- 患者端:科室查询、医生排班查看、在线预约挂号、订单管理、就诊提醒
- 管理端:号源管理、排班设置、数据统计、异常处理
- 系统端:与医院HIS系统对接、支付接口集成、消息推送
选择微信小程序作为载体具有天然优势:无需下载安装、用户基数大、开发成本低。而SSM(Spring+SpringMVC+MyBatis)作为后端框架,能够提供稳定的服务支撑和良好的扩展性。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计
2.1 技术选型分析
前端技术栈:
- 微信小程序原生开发(不使用uniapp等跨平台方案)
- vant-weapp组件库提升UI开发效率
- ECharts for WeChat 实现数据可视化
后端技术栈:
- Spring Boot 2.7.x(简化配置)
- Spring MVC(RESTful接口)
- MyBatis-Plus 3.5.x(增强CRUD操作)
- Redis 6.x(缓存热点数据)
- MySQL 8.0(关系型数据存储)
部署环境:
- 腾讯云CVM(2核4G配置)
- Nginx 1.20(反向代理+负载均衡)
- JDK 17(长期支持版本)
2.2 数据库设计要点
核心表结构设计:
- 患者表(patient):openid、姓名、身份证号、手机号
- 医生表(doctor):工号、姓名、职称、所属科室
- 科室表(department):科室ID、名称、简介
- 排班表(schedule):医生ID、日期、时段、号源总数
- 预约表(appointment):订单号、患者ID、排班ID、状态
特别注意:
- 患者openid作为微信生态唯一标识
- 排班表需要建立日期+医生ID的联合唯一索引
- 预约表状态字段使用枚举值(0待支付/1已预约/2已取消/3已完成)
3. 核心功能实现
3.1 微信小程序端开发
首页模块实现技巧:
javascript复制// 获取科室列表
getDepartments() {
wx.reques
