特色民宿 · 短租预订小程序

特色民宿短租预订系统:微信小程序按日历选入住退房、报价下单与钱包支付,Vue3 后台维护房源日历价格库存与订单运营,Express+MySQL 统一 API,适合本地生活预订类毕业设计。

评分:4.8/5.0
销量:1
发布:9/29/2026
难度:L3 高级

获取完整源码

演示视频仅作效果参考。完整源码、项目说明与运行答疑,请私聊沟通(适合毕业设计 / 课程设计 / 课设参考)。

获取完整源码观看演示视频
✓含项目说明文档,便于对照学习
✓可本地运行,适合课设演示
✓沟通获取后可咨询运行问题

项目封面

截图 1

项目概览

三端覆盖房客端地区分类房源、半开区间日历、优惠券与收藏评价;管理端含任意月价格库存、订单确认退款、Banner 公告与 RBAC;服务端启动补日历价、待支付超时还库存,适合 Node.js 民宿短租、日历库存与钱包支付类毕业设计选题。

项目说明

特色民宿 · 短租预订小程序

一、项目功能详细介绍

本项目面向特色民宿短租场景,由微信小程序房客端、Vue3 运营管理端与 Express + MySQL 后端组成。房客在小程序浏览地区与分类房源、按日历选入住退房、报价下单并用钱包支付;运营人员在后台维护房源与日历价格库存、处理订单与评价、运营 Banner/公告/优惠券等。

微信小程序(房客端)

  • 首页:轮播 Banner、地区入口、热门/推荐房源列表,进入列表或详情。
  • 房源列表:按地区、分类、关键词筛选浏览。
  • 房源详情:图集、设施、房东信息、评价预览;弹层日历选择入住/退房(酒店半开区间,不可跨不可订日);本地校验后报价;收藏;预约窗口限制为今天起未来两个月内,单次最多 30 晚。
  • 确认下单:联系人、优惠券、备注;进入页强制重报;钱包余额支付或占待支付单。
  • 订单列表/详情:状态流转查看、支付、取消(按房源免费取消时限)。
  • 我的:资料、收藏、优惠券、钱包与充值(本地演示 mock 入账)、意见反馈、公告资讯。
  • 登录:仅微信授权登录(须配置小程序 AppID/Secret)。

管理后台(admin-vue3)

  • 登录页:民宿实景全屏背景;账号密码登录(种子管理员/运营)。
  • 工作台:房源/订单/房客等统计与图表,快捷入口。
  • 房源管理:增删改查;宜住人数、卧室、床位、卫生间、默认库存等;「价格库存」月历任意月份切换与设价/库存/关房(不受小程序两月窗口限制);批量改平日/周末价。
  • 订单管理:确认、入住、完成、取消、退款等运营操作。
  • 房客管理:资料查看与钱包调账。
  • 地区/分类、优惠券、Banner、公告、评价审核、意见反馈。
  • 系统管理:用户、角色、菜单(RBAC 动态路由);独立「库存日历」菜单已下线,日历能力并入房源。

后端 API(Express)

  • 启动时自动检查/导入数据库;为上架房源补齐「今天起约两个月」日历价格(已有行不覆盖);平日价/周末价取房源字段,库存取房源默认库存。
  • 小程序:房源检索与详情、日历不可订日、报价、下单扣库存、钱包支付、优惠券、收藏、评价、反馈等。
  • 管理端:业务 CRUD、日历批量读写(权限随房源菜单)、上传、工作台统计、系统用户角色菜单。
  • 待支付订单超时自动取消并还库存、还券。

二、标准目录和备注

以下目录树放在代码块中展示,避免 Markdown 预览折叠空格导致树形错乱。

node-homestay-booking/
├── homestay.sql                         全库建表、菜单角色与业务种子数据
├── README.md                            功能介绍与目录说明(本文件)
├── 运行手册.md                          本地启动、账号与排错
├── SQL自动导入说明.md                   启动时库检查/导入/修补说明
├── .gitignore                           Git 忽略规则
├── .prettierrc                          根级格式化配置
├── 演示材料/                            答辩或演示用素材
│   └── 演示视频.mp4                     系统演示录像
│
├── express/                             后端 API(默认端口 4924)
│   ├── package.json                     依赖与脚本(dev / start / db)
│   ├── app.js                           Express 应用、中间件、超时取消定时任务
│   ├── prettier.js                      后端 Prettier 相关
│   ├── bin/
│   │   └── www                          启动入口:库就绪 → 补日历价 → 监听端口
│   ├── config/
│   │   ├── index.js                     端口、JWT、微信、CORS、DB、超时分钟等
│   │   └── db.js                        MySQL 连接池
│   ├── routes/
│   │   ├── index.js                     路由总挂载
│   │   ├── dashboard.js                 工作台统计
│   │   ├── upload.js                    文件上传
│   │   ├── sys/                         系统管理路由
│   │   │   ├── user.js                  后台用户
│   │   │   ├── role.js                  角色
│   │   │   └── menu.js                  菜单
│   │   ├── biz/                         管理端业务路由
│   │   │   ├── homestay.js              房源
│   │   │   ├── calendar.js              日历价格库存(权限同房源菜单)
│   │   │   ├── order.js                 订单运营
│   │   │   ├── guest.js                 房客
│   │   │   ├── region.js                地区
│   │   │   ├── category.js              分类
│   │   │   ├── coupon.js                优惠券
│   │   │   ├── banner.js                轮播
│   │   │   ├── notice.js                公告
│   │   │   ├── review.js                评价
│   │   │   └── feedback.js              意见反馈
│   │   └── web/
│   │       └── index.js                 小程序端全部接口
│   ├── controllers/
│   │   ├── dashboardController.js       工作台数据聚合
│   │   ├── sys/                         用户/角色/菜单控制器
│   │   ├── biz/                         管理端业务控制器(含 calendarController)
│   │   └── web/
│   │       ├── authController.js        微信登录与资料
│   │       ├── homeController.js        首页房源日历等
│   │       ├── orderController.js       报价下单支付取消
│   │       └── guestBizController.js    钱包券收藏反馈等
│   ├── scripts/
│   │   ├── init_db.js                   建库、导入 SQL、stock/菜单等修补
│   │   └── ensure_calendar.js           启动补齐约两月日历价(已有行跳过)
│   ├── util/
│   │   ├── orderHelper.js               计价、库存锁、晚数与两月窗口校验
│   │   ├── auth.js                      JWT 与菜单权限中间件
│   │   ├── wechat.js                    微信 jscode2session
│   │   ├── role.js                      角色辅助
│   │   ├── crypto.js                    加解密辅助
│   │   └── index.js                     工具导出
│   ├── services/                        预留业务服务目录
│   └── public/images/                   静态与上传资源根
│       ├── biz/
│       │   ├── banner/                  Banner 种子图
│       │   ├── region/                  地区封面种子图
│       │   ├── homestay/                房源封面与相册种子图
│       │   └── host/                    房东头像种子图
│       ├── default/                     默认图
│       └── file/                        上传落盘目录
│
├── admin-vue3/                          Vue3 + Element Plus 管理端(默认 7842)
│   ├── package.json                     前端依赖与 Vite 脚本
│   ├── vite.config.js                   开发服务器与别名
│   ├── index.html                       Vite HTML 入口
│   ├── eslint.config.js                 ESLint
│   ├── jsconfig.json                    路径提示
│   ├── public/
│   │   └── favicon.ico                  站点图标
│   └── src/
│       ├── main.js                      应用入口、全局注册
│       ├── App.vue                      根组件
│       ├── assets/
│       │   ├── login.jpg                登录页全屏背景
│       │   ├── theme.css                主题色变量
│       │   ├── base.css                 基础样式
│       │   └── main.css                 全局样式入口
│       ├── api/
│       │   ├── index.js                 API 统一导出
│       │   ├── request.js               Axios 实例与 401 处理
│       │   ├── biz.js                   业务接口(含日历)
│       │   ├── sys.js                   系统管理接口
│       │   └── demo.js                  演示用接口残留
│       ├── router/
│       │   ├── index.js                 基础路由、守卫、resetRouter
│       │   └── dynamicRoutes.js         按菜单动态加载页面
│       ├── stores/
│       │   ├── user.js                  登录态与菜单
│       │   └── role.js                  角色相关
│       ├── hooks/
│       │   └── useRole.js               是否管理员等
│       ├── layouts/
│       │   └── MainLayout.vue           侧栏布局与退出
│       ├── components/
│       │   ├── UploadFile.vue           图片上传(v-model)
│       │   ├── Editor.vue               富文本编辑
│       │   └── markedHtml.vue           Markdown/HTML 安全展示
│       ├── utils/
│       │   ├── media.js                 媒体 URL 补全
│       │   ├── formatters.js            格式化
│       │   ├── constants.js             常量
│       │   └── crypto.js                前端加密占位
│       └── views/
│           ├── Login.vue                登录页
│           ├── Dashboard.vue            工作台统计与图表
│           ├── 404.vue                  未匹配路由
│           ├── biz/
│           │   ├── Homestay.vue         房源 CRUD + 任意月价格库存日历
│           │   ├── Order.vue            订单运营
│           │   ├── Guest.vue            房客与调账
│           │   ├── Region.vue           地区
│           │   ├── Category.vue         分类
│           │   ├── Coupon.vue           优惠券
│           │   ├── Banner.vue           轮播
│           │   ├── Notice.vue           公告(HTML 入库消毒)
│           │   ├── Review.vue           评价审核
│           │   └── Feedback.vue         意见反馈
│           └── system/
│               ├── UserManage.vue       后台用户
│               ├── RoleManage.vue       角色
│               ├── MenuManage.vue       菜单
│               └── userCenterMange.vue  个人中心
│
└── min/                                 微信原生小程序房客端
    ├── README.md                        小程序端说明
    ├── app.js                           小程序入口逻辑
    ├── app.json                         页面路由与窗口配置
    ├── app.wxss                         全局样式
    ├── project.config.json              开发者工具项目配置
    ├── project.private.config.json      本机私有配置
    ├── sitemap.json                     索引配置
    ├── utils/
    │   ├── config.js                    baseUrl(对接 Express)
    │   ├── request.js                   请求封装、401 跳登录
    │   ├── api.js                       业务 API 与上传
    │   ├── stayDate.js                  入住区间校验(两月窗、最多 30 晚)
    │   ├── media.js                     媒体地址处理
    │   ├── feedback.js                  Toast/确认框
    │   ├── util.js                      时间等通用工具
    │   ├── date.js                      日期辅助
    │   └── markdown.js                  资讯 Markdown 辅助
    ├── components/
    │   ├── dateRangeCalendar/           入住/退房区间日历(主用)
    │   ├── weekCalendar/                周历组件(保留)
    │   └── wxParse/                     富文本/公告 HTML 解析
    ├── images/
    │   ├── tabbar/                      底部导航图标
    │   ├── biz/                         默认头像、默认房源图
    │   ├── banner.jpg                   本地占位 Banner
    │   ├── star.png / star1.png         评分星标
    │   ├── checked.png                  选中态
    │   └── right.png                    箭头
    └── pages/
        ├── index/                       首页 Banner、地区、推荐房源
        ├── list/                        房源列表筛选
        ├── detail/                      详情、报价、日历弹层、收藏
        ├── confirm/                     确认下单与支付
        ├── orderList/                   订单列表
        ├── orderDetail/                 订单详情
        ├── auth/                        微信授权登录
        ├── my/                          个人中心入口
        ├── userInfo/                    资料编辑
        ├── favorite/                    我的收藏
        ├── coupon/                      我的优惠券
        ├── wallet/                      钱包与流水
        ├── walletAdd/                   充值(本地 mock)
        ├── newsList/                    公告列表
        ├── newsDetail/                  公告详情
        └── feedback/                    意见反馈

获取完整源码

技术分类

包含内容

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

适合方向

适合毕业设计中 Node.js 全栈、微信小程序与 Vue3 运营后台方向;需要入住退房日历、库存锁价与优惠券钱包闭环的同学可直接参考。

关于 AI源码

AI源码 整理计算机毕业设计、课程设计向的可运行项目参考,含说明文档与演示材料。完整源码请通过联系方式沟通获取。

•QQ: 861077046
•邮箱: 861077046@qq.com
•已帮助 5+ 位同学完成选题参考
问能不能做我的题目

相关推荐

查看全部 →
体育场馆预约小程序
高级

体育场馆预约小程序

体育场馆预约小程序毕业设计,Express + 微信小程序 + Vue 后台,支持多门店场馆浏览、场地时段预约、器材租借、钱包充值与 VIP 会员体系。

Node小程序Vue2+1
4.888
静心瑜伽 · 瑜伽课预约小程序
高级·新上架

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

微信原生小程序 + Vue3 管理后台 + Express 后端,瑜伽馆约课管理系统,学员按日期时段预约课程、加购辅具并通过会员钱包虚拟支付,含锻炼趋势统计。

Node小程序Vue3+1
4.81
光影约拍 · 摄影约拍预约小程序
高级·新上架

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

面向摄影门店的三端约拍预约系统:微信小程序选购套餐与档期、Vue3 管理后台运营、Express+MySQL 服务端,含钱包支付、摄影师档期与样片管理,适合 Node.js 全栈毕业设计。

Node小程序Vue3+1
4.81
驾校学员与练车预约小程序
高级·新上架

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

驾校学员练车预约三端系统:小程序完成科目预约、学时购买与考试报名,Vue3 管理端统筹校区教练车辆,Express+MySQL 后端含冲突检测与学时流水,适合驾校信息化毕业设计。

Node小程序Vue3+1
4.81
焕发造型 · 美发门店预约小程序
高级·新上架

焕发造型 · 美发门店预约小程序

美发门店「焕发造型」预约小程序:顾客选项目技师时段、钱包扣款下单,Vue3 运营中台支持改派核销与请假拦截,Express+MySQL 统一 API,适合本地生活服务类毕业设计。

Node小程序Vue3+1
4.81
迷雾剧本杀 · 组局预约小程序
高级·新上架

迷雾剧本杀 · 组局预约小程序

剧本杀门店「迷雾剧本馆」组局预约系统:微信小程序浏览剧本与拼车报名、虚拟钱包订金,Vue3 后台排期核销与运营看板,Express+MySQL 统一 API,适合本地生活预约类毕业设计。

Node小程序Vue3+1
4.81