更新记录
1.0.0(2026-08-10)
- 首个版本:多行业服务预约系统(云端一体项目模板)
- 功能:服务管理、时间段排期、批量生成排期、预约下单(防超卖)、我的预约、订单状态流转、数据看板、门店设置、管理密码(MD5)
- 支持 App / 小程序 / H5 全端
平台兼容性
云端兼容性
| 阿里云 | 腾讯云 | 支付宝云 |
|---|---|---|
| √ | × | × |
uni-app(3.8.1)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| - | √ | √ | - | √ | - | - | - | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| √ | - | - | - | - | - | - | - | - | - | - | - |
云函数类插件通用教程
使用云函数类插件的前提是:使用HBuilderX 2.9+
闪约 · 多行业服务预约系统(云端一体项目模板)
开箱即用的预约 SaaS 雏形:服务管理 + 时间段排期 + 预约下单(防超卖)+ 管理后台,一次部署,全端可用(App / 小程序 / H5)。 适用于:美容美发、健身房、牙科口腔、宠物店、家政保洁、会议室、场地租赁、摄影、按摩理疗等任何线下服务预约场景。
✨ 核心卖点
| 能力 | 说明 |
|---|---|
| 🗓 时间段排期 | 按服务 + 日期 + 时间段精细排期,每段可设可约人数(场地类设 1,服务类设 N) |
| 🔒 防超卖 | 下单采用数据库条件原子更新,并发场景下也不会超卖 |
| 📱 用户端完整 | 服务列表、选日期、选时段、填信息、下单、查单、取消,手机号即可查询(无需注册) |
| 🛠 管理后台完整 | 服务管理、排期管理(含批量生成)、订单状态流转、数据看板、门店设置 |
| 🏪 门店信息 | 店名、地址、电话(可点击拨打)、营业时间、公告,用户在首页可见 |
| 🔐 管理密码 | MD5 加密存储,管理端接口统一校验,防越权 |
| 💰 付费可加密 | 核心云对象加密,试用期后自动失效,防止白嫖 |
🚀 快速开始(3 步上线)
前置条件:安装 HBuilderX(3.5+),注册 DCloud 账号。
1. 导入项目并关联服务空间
- 解压插件包,用 HBuilderX 打开
shanyue-booking项目。 - 在
manifest.json中填写你自己的appid(可点击"重新获取")。 - 在 HBuilderX 中右键
uniCloud-aliyun→ 关联云服务空间(没有则免费开通一个阿里云服务空间)。
2. 上传云对象与数据库
- 右键
uniCloud-aliyun/cloudfunctions/booking→ 上传部署(选择"云端一体模板"关联的服务空间)。 - 右键
uniCloud-aliyun/database下的 4 个.schema.json→ 上传 DB Schema(自动建表)。- 建议在 uniCloud 控制台为
booking-schedule表添加索引:service_id+date(提升查询速度)。
- 建议在 uniCloud 控制台为
3. 运行
- 运行到浏览器/小程序/App 即可看到用户端首页。
- 用户端首页底部点击「管理后台」,输入默认管理密码
123456登录。- ⚠️ 登录后请立即在「系统设置」中修改密码!
上线流程
- 在管理后台添加服务 → 为服务生成排期 → 用户即可预约。
- 正式发布:HBuilderX 发行菜单选择对应平台打包/上传。
📖 使用说明
管理后台(手机端或浏览器打开项目均可进入)
| 模块 | 功能 |
|---|---|
| 数据看板 | 今日预约、待确认/已确认/已完成数量、未来 7 天预约趋势 |
| 预约管理 | 按状态筛选、确认/完成/取消订单(取消自动释放名额) |
| 服务管理 | 增删改查服务,支持上/下架 |
| 排期管理 | 按服务查看排期、手动增删、批量生成(选开始日期 + 天数 + 时间段 + 每段时长,一键生成 N 天排期) |
| 系统设置 | 门店信息、公告、修改管理密码 |
用户端
- 首页:门店信息 + 上架服务列表
- 服务详情:选日期(自动剔除已约满/关闭的日期)→ 选时间段(显示剩余名额)→ 立即预约
- 我的预约:手机号查询订单,可取消(恢复名额)
📁 目录结构
shanyue-booking/
├── package.json # uni_modules 项目插件配置(含加密配置)
├── manifest.json / pages.json # uni-app 项目配置(页面已全部注册)
├── common/booking.js # 前端公共封装(管理端自动携带密码)
├── pages/
│ ├── index/ # 用户端首页(门店信息 + 服务列表)
│ ├── service/detail # 服务详情(选日期 + 时间段)
│ ├── booking/confirm # 确认预约
│ ├── my/booking # 我的预约
│ └── admin/ # 管理后台(登录/看板/服务/排期/订单/设置)
└── uniCloud-aliyun/
├── database/ # 4 张表 DB Schema
└── cloudfunctions/booking/ # 核心云对象(全部业务逻辑)
🔌 云对象接口一览(二次开发参考)
统一返回 { code, msg, data },code === 0 表示成功。
用户端: getSettingPublic / getServiceList / getServiceDetail / getDates / getSchedule / createOrder / cancelOrder / getMyOrders
管理端(自动校验管理密码):adminLogin / adminChangePassword / adminGetSetting / adminSaveSetting / adminListServices / adminSaveService / adminDeleteService / adminListSchedules / adminSaveSchedule / adminDeleteSchedule / adminQuickGenSchedules / adminListOrders / adminUpdateOrderStatus / adminStats
数据表: booking-service(服务)/ booking-schedule(排期)/ booking-order(订单)/ booking-setting(设置,含 MD5 管理密码)
🔧 二次开发提示
- 对接真实账号体系:将用户端手机号查询替换为
uni-id登录态即可(订单表已含user_id预留位可按需添加)。 - 预约提醒:可在
createOrder/adminUpdateOrderStatus中接入uni-push或短信。 - 门店扩展:如需多门店,给
booking-service增加shop_id字段并按此过滤即可。 - 前端页面为 Vue3(
manifest.json中vueVersion: "3"),如需 Vue2 请自行改造。
⚠️ 常见问题
Q:忘记管理密码怎么办?
A:在 uniCloud 控制台打开 booking-setting 表,将 admin_password 改为 e10adc3949ba59abbe56e057f20f883e(即 123456 的 MD5),重新登录后立即修改。
Q:为什么下单提示"手慢了,该时间段刚刚被约满"? A:说明该时间段剩余名额在并发下被抢完,属正常防超卖保护。
Q:排期如何关闭某天? A:排期管理 → 编辑该排期 → 关闭"开放预约"开关;或删除该排期。
Q:想更换云服务商(腾讯云)?
A:将 uniCloud-aliyun 目录改名为 uniCloud-tcb 并重新上传部署即可(如同时保留两目录,需在 uni_modules.config.json 中配置归属)。
📄 许可
MIT License,详见 license.md。

收藏人数:
购买源码授权版(
导入插件并试用
赞赏(0)
下载 0
赞赏 0
下载 34903
赞赏 159
赞赏
京公网安备:11010802035340号