AI源码
AI源码AI 精选 · 优质源码 · 助力学习

驾校学员与练车预约小程序

面向驾校的学员练车预约全栈系统:学员端微信小程序预约练车、购买学时、考试报名与评价;管理员通过 Vue3 后台维护校区/教练/车辆/学员、审核预约与考试、发布公告,后端为 Express + MySQL。

评分:4.8/5.0
销量:1
发布:8/6/2026
难度:L2 进阶级
💬 联系咨询观看视频介绍
永久使用权限
免费更新维护
技术支持服务

项目封面

截图 1

项目说明

驾校学员与练车预约小程序

技术栈:微信原生小程序(学员端)+ Vue3 / Element Plus(管理端)+ Node.js Express + MySQL


一、各端功能介绍

1. 微信小程序(min/)— 学员端

面向报名学员,完成学车过程中的预约、学时、考试与信息查询。底部 Tab:首页 / 预约 / 公告 / 我的

模块功能说明
登录认证微信一键授权登录;未登录可浏览首页/校区/公告等公开内容;需登录操作时跳转登录页,登录态本地持久化
首页轮播图、快捷入口(预约练车 / 购买学时 / 考试报名)、训练校区列表、学时套餐推荐
校区详情校区封面、地址电话、开放时段、教练团队、训练车辆;底部跳转预约
预约练车步骤:场地 → 科目(科二/科三)→ 日期/时段 → 教练(仅展示该时段空闲教练)→ 车辆可选;切换时 loading 防闪屏;确认页默认可编辑姓名/手机号,提交扣学时
我的预约按状态筛选;待确认/已确认可取消(开始前≥2 小时退学时,临近取消不退);进入预约详情
预约详情状态与练车信息;已完成且未评价时五星评分 + 评语,评分回写教练均分
学时账户剩余学时、近 14 日练车消耗示意、学时流水(购买入账 / 预约扣减 / 取消退回 / 后台调整)
购买学时选择学时套餐,购买后学时即时到账(从确认页跳转购买返回后会同步最新学时)
考试报名仅可报当前阶段科目;填写期望日期与备注;查看进度(待审核/已通过/已拒绝/考试通过/考试未通过);未通过后可同科目重新报名
驾校公告Tab 公告列表;详情富文本阅读
个人信息头像、姓名、昵称、手机号、身份证、性别等维护
意见反馈提交反馈;查看历史与后台回复

2. 管理后台(admin-vue3/)— 运营端

面向驾校管理员与工作人员,基于 RBAC 动态菜单。默认开发地址:http://localhost:5173

菜单功能说明
登录 / 权限账号密码登录(MD5);JWT;按角色加载菜单与路由;角色含管理员 / 教练工作人员 / 普通用户
工作台学员、教练、车辆、今日预约等指标;近 7 日预约趋势、状态分布、科目占比、学员阶段、校区预约量、教练 TOP、套餐销量、完成学时等图表;待办入口
校区管理校区增改查;封面、地址、电话、开放时段、备注;启用/停用 与物理删除
教练管理教练档案;绑定校区;准驾车型、可带科目、教龄、评分、头像与简介;在职/离职
车辆管理教练车档案;车牌、品牌型号、准驾车型、所属校区、封面;状态(可用/维修/停用)
学员管理学员检索;报名校区、绑定教练、科目阶段;学时增减(写流水);查看学时流水
学时套餐套餐上下架;学时数、价格、适用科目、封面与说明
练车预约预约列表与状态流转(待确认→已确认→进行中→已完成 / 取消 / 爽约);状态 Tag 配色区分;代客预约;时段占用查询
考试报名待审核:通过 / 拒绝;已通过:登记 考试通过(升下一科目)或 考试未通过(不升阶段,学员可重报);安排/登记考试日期与回复
轮播管理首页 Banner、排序、跳转类型、启停
公告管理标题、封面、富文本、所属校区(空=全校区)、发布状态
意见反馈查看学员反馈并回复
个人中心当前登录账号资料与改密
用户管理后台账号 CRUD、角色分配、启停等
角色管理角色 CRUD、分配菜单权限
菜单管理菜单树维护(标题/路径/组件/图标/排序)

3. 后端 API(express/)— 服务端

Express + MySQL,默认端口 4923。启动时自动检测数据库:不存在或未初始化则导入 driving_school.sql,已有业务表则跳过。

模块功能说明
鉴权管理端 JWT(sys_user);学员端 JWT(ds_studentuserType 区分);接口按端隔离
系统管理 /api/sys/*登录、用户/角色/菜单 CRUD 与授权
业务管理 /api/biz/*校区、教练、车辆、学员、套餐、预约、考试审核(含通过/未通过)、轮播、公告、反馈等
小程序 /api/web/*公开首页数据;微信登录;预约下单/取消/评价;学时购买与流水;考试申请(支持未通过后重报);个人资料;反馈
工作台 /api/dashboard/stats聚合统计与图表数据
上传 /api/upload/file图片等上传至 public/images/,返回可访问 URL
预约规则至少提前 1 小时;校区时段/空闲教练;教练·车辆·学员冲突检测;学时预扣与取消退回;评价更新教练均分

二、文件目录说明

二、文件目录说明

node-driving-school-min/
├── 项目说明.md                 # 本文件:功能与目录说明
├── 运行手册.md                 # 本地启动步骤
├── SQL自动导入.md              # 数据库自动建库/导入说明
├── driving_school.sql          # 全量库表 + 种子数据
│
├── express/                    # ========== 后端 Express(:4923)==========
│   ├── app.js                  # 应用入口:中间件、静态资源、路由挂载
│   ├── package.json            # 依赖与脚本(dev/start/db)
│   ├── bin/
│   │   └── www                 # HTTP 服务启动;先 ensureDatabase 再监听端口
│   ├── config/
│   │   ├── dbConfig.js         # MySQL 连接参数(host/user/password/库名)
│   │   ├── db.js               # mysql2 连接池(utf8mb4)
│   │   ├── initDb.js           # 启动时建库/导入 SQL / 已存在则跳过
│   │   ├── security.js         # JWT 密钥等安全相关配置
│   │   └── index.js            # 配置聚合导出
│   ├── routes/                 # 全部挂载在 /api 下(见下方「路由明细」)
│   │   ├── index.js            # 路由总入口:CORS、挂载 sys/biz/web/upload/dashboard
│   │   ├── upload.js           # POST /api/upload/file  文件上传(需登录)
│   │   ├── dashboard.js        # GET  /api/dashboard/stats  工作台统计(管理端)
│   │   ├── sys/                # ----- 系统管理(管理端 JWT)-----
│   │   │   ├── user.js         # /api/sys/user/*  登录、用户 CRUD、个人中心、审批准入
│   │   │   ├── role.js         # /api/sys/role/*  角色 CRUD、分配菜单
│   │   │   └── menu.js         # /api/sys/menu/*  菜单 CRUD、按角色取菜单树
│   │   ├── biz/                # ----- 驾校业务(管理端 JWT)-----
│   │   │   ├── campus.js       # /api/biz/campus/*   校区列表/详情/增改删
│   │   │   ├── coach.js        # /api/biz/coach/*    教练列表/详情/增改删
│   │   │   ├── vehicle.js      # /api/biz/vehicle/*  车辆列表/全部/增改删
│   │   │   ├── student.js      # /api/biz/student/*  学员列表、改资料、调学时、流水
│   │   │   ├── package.js      # /api/biz/package/*  套餐 CRUD、学时购买订单列表
│   │   │   ├── booking.js      # /api/biz/booking/*  预约列表/详情/时段/代约/改状态
│   │   │   ├── exam.js         # /api/biz/exam/*     考试报名列表、审核
│   │   │   ├── banner.js       # /api/biz/banner/*   轮播增改删查
│   │   │   ├── notice.js       # /api/biz/notice/*   公告增改删查
│   │   │   └── feedback.js     # /api/biz/feedback/* 反馈列表、回复
│   │   └── web/                # ----- 小程序学员端 -----
│   │       └── index.js        # /api/web/*  登录、公开数据、预约/学时/考试/反馈(见明细)
│   ├── controllers/
│   │   ├── dashboardController.js   # 看板指标与多图表数据
│   │   ├── sys/                     # 系统管理控制器
│   │   │   ├── userController.js
│   │   │   ├── roleController.js
│   │   │   └── menuController.js
│   │   ├── biz/                     # 管理端业务控制器
│   │   │   ├── campusController.js  # 校区
│   │   │   ├── coachController.js   # 教练
│   │   │   ├── vehicleController.js # 车辆
│   │   │   ├── studentController.js # 学员与学时调整
│   │   │   ├── packageController.js # 学时套餐
│   │   │   ├── bookingController.js # 预约管理与状态流转
│   │   │   ├── examController.js    # 考试审核
│   │   │   ├── bannerController.js  # 轮播
│   │   │   ├── noticeController.js  # 公告
│   │   │   └── feedbackController.js# 反馈回复
│   │   └── web/                     # 小程序控制器
│   │       ├── authController.js    # 微信/手机号登录、资料
│   │       ├── homeController.js    # 轮播/校区/教练/套餐/公告公开接口
│   │       ├── bookingController.js # 学员预约、取消、评价
│   │       └── studentBizController.js # 学时购买、流水、考试申请、反馈
│   ├── util/
│   │   ├── auth.js             # JWT 签发/校验、学员/管理员鉴权中间件
│   │   ├── bookingHelper.js    # 时段冲突、开放时段、可约校验
│   │   ├── crypto.js           # 密码 MD5 等
│   │   ├── role.js             # 角色相关辅助
│   │   ├── wechat.js           # 微信 code 换 openid
│   │   └── index.js
│   ├── scripts/
│   │   └── init_db.js          # 手动触发库初始化
│   ├── public/
│   │   └── images/
│   │       ├── seed/           # 业务种子图片(轮播/校区/教练头像/车辆/套餐等)
│   │       ├── file/           # 上传文件目录
│   │       └── default/        # 默认静态资源目录
│   └── services/               # 预留业务服务层
│
├── admin-vue3/                 # ========== 管理端 Vue3 ==========
│   ├── index.html              # HTML 入口
│   ├── vite.config.js          # Vite 开发/代理配置
│   ├── package.json
│   ├── public/
│   │   ├── favicon.ico
│   │   └── default-avatar.jpg  # 后台默认头像
│   └── src/
│       ├── main.js             # 应用启动、Element Plus 注册
│       ├── App.vue
│       ├── api/
│       │   ├── request.js      # Axios 实例、Token、基地址
│       │   ├── sys.js          # 系统管理 API
│       │   ├── biz.js          # 驾校业务 API
│       │   └── index.js        # API 统一导出
│       ├── router/
│       │   ├── index.js        # 基础路由、登录守卫、标题
│       │   └── dynamicRoutes.js# 按菜单动态挂载业务页
│       ├── stores/
│       │   ├── user.js         # 登录用户状态
│       │   └── role.js         # 角色/菜单状态
│       ├── layouts/
│       │   └── MainLayout.vue  # 侧栏 + 顶栏主布局
│       ├── components/
│       │   ├── UploadFile.vue  # 图片上传组件
│       │   ├── Editor.vue      # 富文本编辑
│       │   └── markedHtml.vue  # Markdown/HTML 展示
│       ├── hooks/
│       │   └── useRole.js      # 角色能力钩子
│       ├── utils/
│       │   ├── constants.js    # 状态/科目等枚举文案
│       │   ├── crypto.js       # 前端 MD5
│       │   ├── formatters.js   # 展示格式化
│       │   └── media.js        # 相对图片路径补全
│       ├── assets/
│       │   ├── login.jpg       # 登录页背景
│       │   ├── base.css
│       │   └── main.css
│       └── views/
│           ├── Login.vue       # 登录页
│           ├── Dashboard.vue   # 工作台看板
│           ├── 404.vue         # 404 页面
│           ├── biz/            # 驾校业务页面
│           │   ├── Campus.vue    # 校区管理
│           │   ├── Coach.vue     # 教练管理
│           │   ├── Vehicle.vue   # 车辆管理
│           │   ├── Student.vue   # 学员管理
│           │   ├── Package.vue   # 学时套餐
│           │   ├── Booking.vue   # 练车预约
│           │   ├── Exam.vue      # 考试报名审核
│           │   ├── Banner.vue    # 轮播管理
│           │   ├── Notice.vue    # 公告管理
│           │   └── Feedback.vue  # 意见反馈
│           └── system/         # 系统管理页面
│               ├── UserManage.vue       # 用户管理
│               ├── RoleManage.vue       # 角色管理
│               ├── MenuManage.vue       # 菜单管理
│               └── userCenterMange.vue  # 个人中心
│
└── min/                        # ========== 微信小程序学员端 ==========
    ├── app.js                  # 小程序入口
    ├── app.json                # 页面路由、窗口、TabBar 配置
    ├── app.wxss                # 全局主题变量与基础样式
    ├── project.config.json     # 微信开发者工具项目配置
    ├── project.private.config.json
    ├── sitemap.json
    ├── images/
    │   ├── tabbar/             # Tab 图标(未选中/选中)
    │   ├── banner.jpg          # 本地默认封面图
    │   └── avatar-default.jpg  # 本地默认头像
    ├── utils/
    │   ├── request.js          # wx.request 封装、baseUrl、401 处理
    │   ├── api.js              # 各业务接口方法
    │   ├── media.js            # 媒体 URL 补全/相对化
    │   ├── md5.js              # 密码 MD5
    │   ├── util.js             # 时间格式化、取消/退学时判断、流水文案等
    │   ├── date.js             # 日期辅助
    │   ├── feedback.js         # Toast / Confirm 封装
    │   └── markdown.js         # Markdown 辅助(如有)
    ├── components/
    │   ├── weekCalendar/       # 预约页周历选择组件
    │   └── wxParse/            # 旧富文本组件(公告详情已改用 rich-text)
    └── pages/
        ├── index/              # 首页
        ├── trend/              # 预约练车(Tab)
        ├── newsList/           # 公告列表(Tab)
        ├── newsDetail/         # 公告详情
        ├── my/                 # 我的(Tab)
        ├── auth/               # 登录
        ├── detail/             # 校区详情
        ├── comfirm/            # 确认预约
        ├── orderList/          # 我的预约列表
        ├── orderDetail/        # 预约详情 / 评价
        ├── wallet/             # 学时记录
        ├── walletAdd/          # 购买学时
        ├── exam/               # 考试报名
        ├── userInfo/           # 个人信息
        └── question/           # 意见反馈

获取完整源码

技术分类

包含内容

完整源码
项目说明文档
演示材料
运行手册

适用人群

学习参考与二次开发

关于 AI源码

AI源码 专注优质项目源码分享,提供完整源码、详细文档与技术支持,助力源码设计与课程作业。

QQ: 861077046
邮箱: 861077046@qq.com
已服务 1+ 位用户
立即咨询

相关推荐

查看全部 →
体育场馆预约小程序
Node
进阶

体育场馆预约小程序

这是一个完整的体育场馆预约服务平台,包含微信小程序端和PC管理后台。系统实现了场馆浏览、场地预约、器材租借、订单管理、钱包充值、会员管理等核心功能,采用前后端分离架构,适合作为微信小程序全栈开发学习项目或计算机设计参考。项目附带完整文章资料。

Node小程序Vue2+1
4.888
自习室预约小程序
Node
进阶

自习室预约小程序

这是一个完整的自习室预约管理平台,包含微信小程序端和PC管理后台。系统实现了自习室展示、座位预约、器材租赁、订单管理、钱包充值、会员管理等核心功能,采用前后端分离架构,适合作为微信小程序全栈开发学习项目或计算机设计参考。

Node小程序Vue2+1
4.834
宿舍洗衣房自助预约小程序
Node
NEW
进阶

宿舍洗衣房自助预约小程序

面向高校宿舍的洗衣房自助预约全栈系统:学生端微信小程序按时段预约洗衣机/烘干机、加购耗材、钱包支付;管理员通过 Vue3 后台维护洗衣房与设备、处理订单、发布公告并查看运营数据,后端为 Express + MySQL。

Node小程序Vue3+1
4.82
静心瑜伽 · 瑜伽课预约小程序
Node
NEW
进阶

静心瑜伽 · 瑜伽课预约小程序

面向瑜伽馆的约课全栈系统:学员端微信小程序浏览门店与课程、按日期时段预约、加购辅具、会员钱包支付;管理员通过 Vue3 后台维护门店/课程、核销订单、发布公告并查看运营数据,后端为 Express + MySQL。

Node小程序Vue3+1
4.81
光影约拍 · 摄影约拍预约小程序
Node
NEW
进阶

光影约拍 · 摄影约拍预约小程序

面向摄影工作室的约拍全栈系统:用户端微信小程序浏览套餐与样片、选择摄影师与档期、加购项报价、会员钱包支付;管理员通过 Vue3 后台维护分类/套餐/摄影师/样片、确认订单改档期、发布公告并查看运营数据,后端为 Express + MySQL。

Node小程序Vue3+1
4.81