1. 项目背景与需求分析
在全民健身热潮和互联网+体育的背景下,运动场地预约系统已成为体育场馆数字化升级的标配。传统场地管理普遍存在以下痛点:
- 电话/现场预约方式效率低下,高峰期用户排队时间长
- 纸质登记易出错,场地使用状态更新不及时
- 财务对账困难,人工统计耗时且易出错
- 缺乏用户行为数据分析,难以优化运营策略
我们设计的这套系统采用SpringBoot+NodeJS+Vue3全栈架构,配合微信小程序端,实现了以下核心能力:
- 多端协同:后台管理系统(Web)+ 用户预约端(小程序)
- 智能调度:支持分时段预约、超时自动释放、冲突检测
- 支付集成:微信支付完整流程(押金+尾款模式)
- 数据可视化:场地使用率、营收统计等多维报表
提示:系统设计时特别考虑了体育场馆的实际运营场景,比如支持"晨卡/晚卡"等特殊票种设置,满足不同场馆的差异化需求。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构设计
2.1 整体架构图
code复制[微信小程序] ←HTTP/WebSocket→ [NodeJS API网关] ←REST→ [SpringBoot微服务]
↑ ↑ ↑
微信支付 JWT鉴权 MySQL+Redis
2.2 技术选型解析
后端服务层(SpringBoot 2.7.x)
- 持久层:MyBatis-Plus + Druid连接池
- 缓存:Redis(场地状态实时更新)
- 调度:Quartz(定时释放超时订单)
- 安全:Spring Security + JWT
API网关层(NodeJS 16.x)
- 框架:Express + TypeScript
- 核心作用:
- 协议转换(小程序HTTP→内部gRPC)
- 流量控制(限流熔断)
- 聚合查询(减少小程序请求次数)
前端层
- 管理后台:Vue3 + Element Plus
- 微信小程序:Uniapp(兼容多端)
2.3 关键设计决策
- **为什么用Node
