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

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

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

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

项目封面

截图 1

项目说明

摄影约拍预约小程序

一、功能介绍

「光影约拍」是一套面向摄影门店 / 工作室的约拍预约系统,覆盖用户选购套餐、选择摄影师与档期、下单支付,以及运营侧对套餐、订单、样片等内容的统一管理。系统由三端组成:微信小程序(用户端)Vue3 管理后台(运营端)Express + MySQL API(服务端)。用户侧以钱包余额完成支付(演示场景,不接入微信支付);后台按角色菜单动态授权,支持订单确认、改档期、退款及客户反馈等日常运营。


1. 微信小程序(min/

底部 Tab:首页、公告、订单、我的。

1.1 浏览与选购

功能说明
首页展示轮播图(可跳套餐 / 样片 / 复制外链)、拍摄品类入口、热门/推荐套餐、精选样片、摄影师速览
套餐列表(趋势页)按分类、关键词筛选套餐;可携带摄影师编号,进入详情时预选该摄影师
套餐详情图集预览、简介、加购项勾选、实时报价、评价列表、收藏开关;选择摄影师、拍摄日期与时段(上午/下午/全天,含档期冲突校验)后进入确认页
样片详情展示样片标题与图集(与套餐封面解耦);可跳转关联套餐预约、可进摄影师主页
摄影师列表搜索姓名/擅长风格,进入摄影师主页
摄影师主页简介、擅长、作品、档期概览、代表样片;可「预约拍摄」进入套餐列表并透传当前摄影师

1.2 预约与订单

功能说明
确认预约展示套餐、摄影师、日期时段、加购与应付金额;填写联系人/电话/备注;余额不足可去充值
创建订单校验套餐、摄影师、档期冲突后落单,状态为待支付
钱包支付用账户余额支付;超时未支付订单会自动释放档期
订单列表按状态筛选:全部 / 待支付 / 待确认 / 待拍摄 / 已完成 / 已取消 / 已退款;支持去支付、取消
订单详情查看完整信息;待支付可支付;可取消;已完成后可评价;待拍摄等状态可申请改档期;套餐名/摄影师名可跳转对应页面

1.3 账户与资产

功能说明
登录微信登录(本地无密钥时可用演示身份);登录成功回跳原操作页;「暂不登录」离开登录页,避免死循环
个人资料头像、昵称、真实姓名、性别、手机号
钱包查看余额与流水(充值、支付、退款等)
充值预设金额或自定义金额,直接增加钱包余额
收藏收藏/取消套餐,收藏列表进入套餐详情
意见反馈提交反馈,查看历史与回复状态

1.4 公告

功能说明
公告列表已发布公告,按日期展示
公告详情标题与正文内容

2. 管理后台(admin-vue3/

登录后按角色菜单动态渲染路由;超级管理员可管理权限体系。

2.1 工作台

功能说明
数据概览订单数、营收、用户数、摄影师数等统计卡片
待办指标待支付、待确认、待拍摄、待回复反馈等
图表近 7 日订单趋势、套餐订单占比、摄影师档期负荷
快捷入口跳转常用业务模块

2.2 业务管理

模块功能说明
分类管理拍摄品类的增删改、排序、启用/禁用;小程序首页与套餐筛选依赖分类
套餐管理套餐增删改查、封面与图集、价格时长、热门标记、启用/禁用;管理加购项(增删改、启用/禁用);下架套餐会清理相关收藏
摄影师管理摄影师资料、擅长、作品图、评分等;档期屏蔽(不可约日期/时段);启用/禁用;新增/删除等高权限操作受限
样片管理样片增删改查,关联分类、摄影师、套餐;封面与图集;精选与排序;启用/禁用
订单管理订单列表与详情;确认订单、完成拍摄、取消、退款;后台改档期;列表/详情会同步释放超时未支付单
评价管理查看用户评价,管理员回复;启用/禁用展示
客户管理小程序用户列表;查看资料与余额;启用/禁用(封禁后不可登录)
轮播管理首页轮播图;链接类型(套餐/样片/外链);启用/禁用、排序
公告管理公告发布/下架、标题检索、物理删除
反馈管理用户反馈列表、回复、状态处理

2.3 系统管理

模块功能说明
用户管理后台账号增删改、重置密码、启用/禁用、分配角色
角色管理角色增删改查、菜单权限分配;有用户绑定时禁止删除
菜单管理后台菜单树维护,驱动动态路由与侧栏
个人中心当前登录管理员资料与密码等

3. 服务端(express/

统一接口服务,分三大块:系统管理、业务后台、小程序用户端。

3.1 系统接口

模块能力
用户登录、当前用户信息、后台用户增删改查、改密、启停
角色角色增删改查、角色菜单授权
菜单菜单树增删改查、按角色返回可访问菜单

3.2 业务后台接口

模块能力
分类 / 套餐 / 摄影师 / 样片对应后台业务的列表、详情、增删改、状态切换;套餐含加购子接口;摄影师含档期屏蔽
订单订单列表/详情、状态变更(确认/完成/取消/退款)、改档期
评价 / 客户 / 轮播 / 公告 / 反馈评价、客户、轮播、公告、反馈的后台管理接口

3.3 小程序接口

模块能力
登录认证微信登录、手机号登录、资料查询与更新
公开内容轮播、分类、套餐列表/详情、摄影师列表/详情/档期、样片列表/详情、公告、评价列表、品牌介绍
订单报价、下单、我的订单、详情、取消、钱包支付、用户改档期;支付与列表会释放超时未支付单并校验档期
钱包余额充值、流水查询
收藏收藏切换、收藏列表
评价 / 反馈提交评价、提交/查询反馈

3.4 公共能力

能力说明
文件上传图片等静态资源上传与访问
工作台工作台统计与图表数据
鉴权区分后台用户与小程序客户;部分公开接口可匿名,写操作需登录

二、菜单目录介绍

1. 小程序目录(min/

min/
├── app.js / app.json / app.wxss   # 小程序入口、全局配置、全局样式
├── project.config.json           # 微信开发者工具项目配置
├── sitemap.json                  # 搜索索引配置
├── images/                       # 本地静态图(含 tabBar 图标)
├── components/                   # 可复用组件
│   ├── weekCalendar/             # 周历组件
│   └── wxParse/                  # 富文本解析
├── utils/                        # 工具与请求封装
│   ├── api.js                    # 接口方法汇总
│   ├── request.js                # wx.request 封装、401 跳登录
│   ├── auth.js                   # 登录跳转与登录后回跳
│   ├── media.js                  # 媒体 URL 拼接/规范化
│   ├── util.js                   # 订单状态文案、支付失败处理等
│   ├── feedback.js               # Toast / Confirm 封装
│   ├── date.js                   # 日期工具
│   └── markdown.js               # Markdown 相关
└── pages/                        # 页面
    ├── index/                    # 首页
    ├── newsList/                 # 公告列表
    ├── newsDetail/               # 公告详情
    ├── orderList/                # 订单列表
    ├── orderDetail/              # 订单详情
    ├── my/                       # 我的
    ├── auth/                     # 登录
    ├── trend/                    # 套餐列表
    ├── detail/                   # 套餐详情(选摄影师/日期/加购)
    ├── comfirm/                  # 确认预约与支付(历史命名保留)
    ├── sampleDetail/             # 样片详情
    ├── exam/                     # 摄影师列表
    ├── photographer/             # 摄影师主页
    ├── wallet/                   # 钱包
    ├── walletAdd/                # 充值
    ├── star/                     # 我的收藏
    ├── userInfo/                 # 个人资料
    └── question/                 # 意见反馈

2. 管理后台目录(admin-vue3/

admin-vue3/
├── index.html
├── vite.config.js
├── package.json
├── public/                       # 静态公共资源
└── src/
    ├── main.js                   # 应用入口
    ├── App.vue
    ├── api/                      # 接口层
    │   ├── request.js            # Axios 封装
    │   ├── index.js              # 导出聚合
    │   ├── sys.js                # 系统管理接口
    │   └── biz.js                # 业务管理接口
    ├── router/
    │   ├── index.js              # 路由与守卫
    │   └── dynamicRoutes.js      # 按菜单生成动态路由
    ├── stores/
    │   ├── user.js               # 登录用户状态
    │   └── role.js               # 角色相关状态
    ├── layouts/
    │   └── MainLayout.vue        # 侧栏 + 顶栏主布局
    ├── hooks/
    │   └── useRole.js            # 角色/权限相关逻辑
    ├── components/
    │   ├── UploadFile.vue        # 上传
    │   ├── MediaThumb.vue        # 媒体缩略图
    │   ├── Editor.vue            # 富文本编辑
    │   └── markedHtml.vue        # Markdown/HTML 展示
    ├── utils/                    # 常量、加解密、格式化、媒体、菜单图标
    ├── assets/                   # 前端静态资源
    └── views/
        ├── Login.vue             # 登录
        ├── Dashboard.vue         # 工作台
        ├── 404.vue               # 404 页面
        ├── biz/
        │   ├── Category.vue      # 套餐分类
        │   ├── Package.vue       # 套餐管理
        │   ├── Photographer.vue  # 摄影师管理
        │   ├── Order.vue         # 订单管理
        │   ├── Sample.vue        # 样片案例
        │   ├── Review.vue        # 评价管理
        │   ├── Customer.vue      # 客户列表
        │   ├── Banner.vue        # 轮播管理
        │   ├── Notice.vue        # 公告管理
        │   └── Feedback.vue      # 意见反馈
        └── system/
            ├── UserManage.vue        # 用户管理
            ├── RoleManage.vue        # 角色管理
            ├── MenuManage.vue        # 菜单管理
            └── userCenterMange.vue   # 个人中心

3. 服务端目录(express/

express/
├── app.js                        # Express 应用组装(中间件、静态目录、挂载路由)
├── bin/www                       # 进程启动入口(监听端口)
├── package.json
├── config/
│   ├── index.js                  # 配置汇总
│   ├── db.js / dbConfig.js       # MySQL 连接池与库配置(直接改 dbConfig.js,无 .env)
│   ├── initDb.js                 # 库初始化辅助
│   └── security.js               # 安全相关配置
├── routes/
│   ├── index.js                  # 路由总入口(CORS、挂载各子路由)
│   ├── upload.js                 # /api/upload 文件上传
│   ├── dashboard.js              # /api/dashboard 工作台统计
│   ├── sys/                      # 挂载前缀 /api/sys/*(后台系统管理)
│   │   ├── user.js               # /api/sys/user/*
│   │   ├── role.js               # /api/sys/role/*
│   │   └── menu.js               # /api/sys/menu/*
│   ├── biz/                      # 挂载前缀 /api/biz/*(后台业务管理)
│   │   ├── category.js           # /api/biz/category/*
│   │   ├── package.js            # /api/biz/package/*(含 addon 加购)
│   │   ├── photographer.js       # /api/biz/photographer/*(含 block 档期屏蔽)
│   │   ├── sample.js             # /api/biz/sample/*
│   │   ├── order.js              # /api/biz/order/*
│   │   ├── review.js             # /api/biz/review/*
│   │   ├── customer.js           # /api/biz/customer/*
│   │   ├── banner.js             # /api/biz/banner/*
│   │   ├── notice.js             # /api/biz/notice/*
│   │   └── feedback.js           # /api/biz/feedback/*
│   └── web/                      # 挂载前缀 /api/web/*(小程序 C 端,单文件聚合)
│       └── index.js              # 认证 / 公开内容 / 订单 / 钱包 / 收藏 / 评价反馈
├── controllers/
│   ├── dashboardController.js    # 工作台统计
│   ├── sys/
│   │   ├── userController.js     # 后台用户
│   │   ├── roleController.js     # 角色
│   │   └── menuController.js     # 菜单
│   ├── biz/
│   │   ├── categoryController.js     # 套餐分类
│   │   ├── packageController.js      # 套餐管理
│   │   ├── photographerController.js # 摄影师管理
│   │   ├── sampleController.js       # 样片案例
│   │   ├── orderController.js        # 订单管理
│   │   ├── reviewController.js       # 评价管理
│   │   ├── customerController.js     # 客户列表
│   │   ├── bannerController.js       # 轮播管理
│   │   ├── noticeController.js       # 公告管理
│   │   └── feedbackController.js     # 意见反馈
│   └── web/
│       ├── authController.js         # 登录认证与个人资料
│       ├── homeController.js         # 首页公开内容(轮播/分类/套餐/摄影师/样片/公告等)
│       ├── orderController.js        # 小程序订单(报价/下单/支付/改档期)
│       └── customerBizController.js  # 钱包/收藏/评价/反馈
├── util/
│   ├── auth.js                   # JWT 鉴权、后台用户 / 客户身份校验
│   ├── orderHelper.js            # 报价、档期冲突、超时未支付释放等订单公共逻辑
│   ├── crypto.js                 # 加解密
│   ├── role.js                   # 角色判断辅助
│   ├── wechat.js                 # 微信相关调用
│   └── index.js                  # 通用工具
├── services/                     # 预留业务服务层(当前可为空)
├── scripts/
│   ├── init_db.js                # 初始化数据库脚本
│   └── full_api_review.py        # 接口巡检辅助脚本
└── public/
    └── images/                   # 上传与静态图(banner / sample / photographer 等)

获取完整源码

技术分类

包含内容

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

适用人群

学习参考与二次开发

关于 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