Anson舞台助手发布

从舞台现场出发:我用 PHP 做了一套舞台助理系统

一场演出的顺利完成,离不开台前演员的精彩发挥,也离不开幕后工作人员之间准确、高效的配合。

节目单、彩排时间、演职人员、设备状态、无线频率、签到信息和临时公告……这些内容往往分散在不同的表格、聊天记录和文件中。一旦现场发生临时调整,工作人员就需要在多个地方反复确认信息,不仅效率较低,也容易出现遗漏。

为了解决这些问题,我开发了 Anson Stage Assistant(Anson 舞台助理系统),希望用一个统一的平台管理演出现场需要使用的各类信息。

为什么要开发这个系统

最初的想法很简单:把舞台工作中常用的表格集中到一起。

在传统的演出准备过程中,节目单可能放在 Excel 中,联系人保存在手机里,谱子和歌词通过聊天软件传输,无线频率又单独记录在另一张表中。到了演出当天,如果节目临时调整、设备状态发生变化或者需要插播节目,就很难保证所有工作人员能够同时获得最新信息。

因此,这套系统不仅要“保存资料”,还要能够服务于真实的演出现场:

  • 信息集中管理
  • 手机和电脑均可查看
  • 管理员能够随时修改
  • 游客只能查看,避免误操作
  • 页面能够自动获得最新数据
  • 不同演出项目之间相互独立

系统包含哪些功能

系统围绕演出准备、现场执行和项目归档三个阶段进行设计。

节目单与现场执行

节目单是整个系统的核心。

每个节目可以记录开始时间、节目名称、英文名称、时长、执行说明以及所需演出人员。演出人员可以直接从演职人员名单中多选,不需要重复输入。

现场控制区域会显示当前节目和下一个节目,并根据节目单时间计算剩余时间。节目开始后,界面会改为显示预计结束时间,让工作人员能够快速判断现场进度。

如果演出过程中出现特殊情况,管理员还可以:

  • 暂停或恢复节目进度
  • 添加临时插播内容
  • 删除或调整节目
  • 查看当前节目所需人员

这些功能让节目单不再只是一张静态表格,而是能够参与现场执行的动态工具。

时间轴与彩排安排

时间轴用于展示演出当天的重要时间节点,例如人员集合、设备调试、观众入场和正式演出。

彩排安排则可以单独记录每个节目或团队的彩排时间、地点和注意事项。管理员可以随时添加、修改和删除安排,方便在演出前统一协调时间。

演职人员与签到

演职人员名单和签到表使用同一份人员数据。

人员资料可以记录姓名、职位、分组及联系方式。签到页面会直接读取演职人员名单,避免同一个人需要在多个页面重复维护。

系统还支持二维码签到。工作人员可以扫描二维码进入签到页面,管理员也可以导出适合打印的 A4 签到表,满足电子签到和纸质签到两种使用场景。

舞台与技术资料

舞台相关资料包括:

  • 舞台分工
  • 输入输出表
  • 通道表
  • 无线频率管理
  • 设备清单
  • 联系人
  • 道具、话筒和设备领用归还

无线频率管理可以记录频道名称、设备类型、频率和亚音频参数,方便统一管理对讲机及其他无线设备。

设备清单的状态可以从已有选项中选择,也可以根据现场需求输入新的状态,例如“已到场”“调试中”“使用中”或“需要维修”。

领用归还功能则用于记录设备当前由谁保管、何时领用以及是否归还,减少现场设备遗失或责任不清的问题。

实时公告

管理员可以发布普通、重要或紧急公告,并根据实际情况选择优先级。

已经发布的公告可以继续编辑或删除。当节目时间、集合地点或现场流程发生变化时,工作人员可以直接从系统中查看最新通知。

系统取消了“已读”设计,避免在游客模式下产生没有实际意义的交互状态。

文件管理

文件管理页面用于集中保存谱子、歌词、流程文件和 PDF 等演出资料。

管理员可以上传和删除文件,游客无需登录即可查看和下载。这样,工作人员只需要进入系统,就可以找到当前项目所需的全部文件,不必再翻找聊天记录。

项目管理

系统支持同时管理多个演出项目。

管理员可以新建、修改和删除项目,并设置默认向游客展示的项目。游客是否能够自行切换项目,也可以由管理员决定。

一个项目结束后,还可以将整个项目一键打包归档,便于长期保存项目数据和相关文件。

游客与管理员权限

为了兼顾使用便利和数据安全,系统提供了两种使用方式。

游客无需登录,可以直接查看管理员允许公开的内容以及下载文件,但不能添加、修改、删除或提交任何数据。

管理员登录后,才会显示管理功能。不同管理员可以拥有不同权限,例如节目单管理、人员管理、公告管理、项目管理和文件管理。

系统还设置了总管理员。总管理员可以添加或删除其他管理员、分配权限,并管理所有项目。每位管理员也可以在登录后修改自己的密码。

这种设计既方便现场工作人员快速查看资料,也能防止重要数据被误操作。

数据如何保存

系统采用 PHP 开发,所有可修改的信息都独立保存在 data 数据目录中,包括:

  • 系统设置
  • 项目资料
  • 演职人员
  • 管理员账号
  • 上传文件

这样设计的好处是,更新程序版本时,只要保留原来的 data 文件夹,就可以继续使用以前的数据,不需要重新录入项目内容。

对于使用宝塔面板和 CDN 部署的环境,也可以将程序文件与数据目录分别备份,让后续升级更加方便。

手机端与实时更新

舞台现场不可能一直守在电脑前,因此手机端显示是这个项目的重要部分。

系统针对手机屏幕重新调整了导航、表格、操作按钮和内容卡片的布局。节目单、公告、签到、人员名单以及技术资料都可以直接在手机上查看。

页面还会定时检查数据是否发生变化。当管理员发布公告、修改节目单或更新设备状态后,其他已经打开系统的设备可以自动获取最新内容,不必一直手动刷新网页。

如果用户正在填写表单,系统会尽量避免自动刷新,以防尚未提交的内容丢失。

开发过程中的体会

目前大部分使用的是php开发,使用了一些codex的技能

并且我也在思考是否可以销售这个系统,如果你目前可能需要这套系统,欢迎联系我!本系统支持本地部署也支持使用我们的平台

写在最后

Anson Stage Assistant 目前已经覆盖演出筹备、彩排、现场执行、人员签到、技术资料管理和项目归档等主要环节。

它可能还不是一套非常庞大的商业系统,但它解决的是舞台工作中真实存在的问题。我的目标,是让复杂的现场信息变得更集中、更清楚,也让每一位工作人员都能及时获得自己需要的内容。

未来,我还计划继续优化实时同步、操作记录、数据备份、现场大屏和通知提醒等功能,让它能够适应更多类型的演出与活动。

对于我来说,这不仅是一个 PHP 项目,也是一次把实际工作经验转化为数字化工具的尝试。

目前完整功能清单

一、系统基础

  • 使用 PHP 8.1+ 开发
  • PHP 服务端渲染,无需 Node.js
  • 默认无需登录即可访问
  • 网站名称:Anson Stage Assistant
  • 中文名称:Anson 舞台助理系统
  • 自定义网站图标和 favicon
  • 页脚显示 © 当前年份 Anson. 版权所有
  • 支持宝塔、Nginx、Apache、PHP-FPM
  • 针对腾讯 EdgeOne/CDN 添加 CSS 版本号和防缓存设置

二、游客模式

游客无需登录,可以:

  • 查看所有允许访问的项目
  • 查看节目单、时间轴和彩排安排
  • 查看演职人员、舞台分工和联系人
  • 查看输入输出表、通道表和无线频率
  • 查看设备清单和设备领用状态
  • 查看实时公告
  • 查看签到情况
  • 下载管理员上传的文件
  • 使用搜索功能
  • 在管理员允许时自由切换项目

游客不能:

  • 修改或删除数据
  • 发布公告
  • 操作签到
  • 上传文件
  • 领用或归还设备
  • 管理项目和管理员

三、管理员系统

  • 管理员登录和安全退出
  • 密码使用哈希方式存储
  • CSRF 表单安全防护
  • 管理员可以修改自己的密码
  • 总管理员可以添加管理员
  • 总管理员可以删除普通管理员
  • 总管理员可以修改管理员显示名称
  • 总管理员可以重设普通管理员密码
  • 总管理员可以分别开启不同权限

支持的独立权限:

  • 项目管理
  • 节目单编辑
  • 人员与签到
  • 公告管理
  • 技术资料编辑
  • 文件上传与删除

总管理员拥有全部权限,默认显示名称为 Anson。

四、项目管理

  • 新增项目
  • 切换当前项目
  • 修改项目名称
  • 修改演出场地
  • 修改演出日期
  • 修改项目状态
  • 设置游客默认看到的项目
  • 设置游客是否可以自行切换项目
  • 每个项目保存独立的节目、公告、技术资料和设备状态
  • 新项目可以复制当前项目的基础资料
  • 复制项目时重新生成独立的人员和设备标识
  • 整个项目一键打包归档

项目归档 ZIP 包含:

  • 项目信息
  • 节目单
  • 技术资料
  • 人员名单
  • 签到信息
  • 项目配置清单
  • 管理员上传的项目文件
  • 归档时间和版权信息

项目归档需要服务器启用 PHP zip 扩展。

五、节目单 Run Sheet

  • 显示节目开始时间
  • 显示节目预计时长
  • 中英文节目名称
  • 执行部门标签
  • 执行备注
  • 节目状态
  • 新增节目
  • 删除节目
  • 修改节目顺序对应的数据
  • 保存节目单
  • 搜索节目名称、备注和演出人员
  • 当前节目高亮显示
  • 显示 NOW 当前节目
  • 显示 NEXT 下一节目
  • 未开始时显示“距离开始”
  • 节目开始后显示“预计结束”
  • 根据节目单时间自动计算整场预计结束时间
  • 支持节目暂停
  • 支持恢复节目
  • 支持临时插播节目
  • 临时插播可以填写名称、时长、人员和执行备注
  • 临时插播表单采用页面内展开,不会被公告栏遮挡

六、节目演出人员安排

  • 每个节目可以选择所需演出人员
  • 人员直接来自演职人员名单
  • 使用下拉面板多选
  • 可以同时选择多人
  • 显示人员姓名和角色
  • 保存人员的唯一标识,避免重名
  • 节目单默认显示已选择人员
  • 人员标签使用紧凑样式
  • NOW 和 NEXT 区域显示对应演出人员
  • 临时插播同样支持选择人员

七、时间轴 Timeline

  • 查看全天关键时间节点
  • 显示时间、节点、负责人和状态
  • 管理员可以新增记录
  • 管理员可以修改记录
  • 管理员可以删除记录
  • 支持搜索

八、彩排安排

  • 显示彩排时段
  • 显示节目名称
  • 显示重点检查内容
  • 显示彩排状态
  • 新增彩排记录
  • 修改彩排记录
  • 删除彩排记录

九、演职人员名单

  • 姓名
  • 身份、部门或乐器
  • Call Time
  • 签到状态
  • 新增人员
  • 修改人员
  • 删除人员
  • 与签到表使用同一份人员数据
  • 人员名单独立保存在 data/people.json

十、签到 Check-in

  • 管理员手动签到或取消签到
  • 显示已签到人数
  • 显示未到场人数
  • 自动计算到场率
  • 生成项目签到二维码
  • 手机扫码后选择姓名自助签到
  • 签到结果实时同步到演职人员名单
  • 支持 A4 签到表导出
  • 导出表包含项目名称、日期、场地和导出时间
  • 跨页打印时自动重复表头
  • 打印时隐藏导航、按钮和二维码
  • 打印表显示姓名、部门、Call Time 和签到状态

十一、实时公告

  • 发布公告
  • 编辑公告
  • 删除公告
  • 首页显示最新公告
  • 公告支持三级优先级:
    • 紧急
    • 普通
    • 仅通知
  • 不显示“已读”信息
  • 不同优先级使用不同颜色
  • 游客可以实时查看公告

十二、舞台与人员资料

舞台分工

  • 舞台区域
  • 负责人
  • 工作任务
  • 对讲频道
  • 新增、修改和删除记录

联系人

  • 姓名
  • 职责
  • 电话
  • 对讲频道
  • 新增、修改和删除记录

十三、技术资料

输入输出表

  • 输入通道
  • 信号源
  • 话筒或 DI
  • 舞台位置
  • 支持新增、修改和删除

通道表 Patch List

  • 通道编号
  • Stagebox
  • 调音台通道
  • 备注
  • 支持新增、修改和删除

无线频率管理

  • 无线频道或编号
  • 设备和使用者
  • 频率
  • 亚音频参数
  • 已移除电量字段
  • 已加入对讲机 CH-1 至 CH-9
  • 支持新增、修改和删除频率

设备清单

  • 设备名称
  • 数量
  • 负责人
  • 设备状态
  • 状态可以从已有内容中选择
  • 可以手动输入新的状态
  • 支持新增、修改和删除设备

十四、道具、话筒和设备领用归还

  • 新增领用物品
  • 物品分类:
    • 道具
    • 话筒
    • 设备
  • 设置物品名称和编号
  • 输入领用人
  • 确认领用
  • 确认归还
  • 显示当前领用状态
  • 保存领用时间
  • 保存归还时间
  • 删除物品记录
  • 游客可以查看实时领用状态

十五、文件管理

  • 独立文件管理页面
  • 游客可以下载文件
  • 管理员可以上传文件
  • 管理员可以删除文件
  • 支持设置文件显示名称
  • 支持设置版本号
  • 显示文件格式和大小
  • 文件通过 PHP 接口受控下载
  • 上传文件存放在 data/uploads/<项目ID>/

支持的常见格式包括:

  • PDF
  • TXT
  • Word
  • Excel
  • CSV
  • PowerPoint
  • PNG、JPG
  • ZIP
  • MP3、WAV

十六、实时自动更新

  • 页面每 3 秒检查一次数据版本
  • 数据变化后自动刷新
  • 无需用户频繁手动刷新
  • 管理员正在编辑时不会强制刷新
  • 有新数据时显示更新提示
  • 点击提示可以刷新
  • 刷新后恢复原来的滚动位置
  • 页面切回前台时立即检查更新
  • 使用防缓存参数减少 CDN 返回旧数据

十七、手机端适配

  • 手机端项目选择框
  • 横向滑动主导航
  • 节目单转换为节目卡片
  • 人员、技术资料和设备表转换为信息卡片
  • NOW、NEXT 和倒计时重新排列
  • 文件下载使用手机卡片布局
  • 签到统计使用紧凑布局
  • 表单按钮扩大触控区域
  • 临时插播在手机端页面内展开
  • 人员多选面板适配触控操作
  • 主要查看页面不存在横向溢出
  • 支持减少动画的系统设置

十八、数据独立存储

所有可修改信息都与程序代码分开保存


Anson舞台助手发布
http://blog.ansonq.com/stage_assistant/
作者
Anson
发布于
2026年8月3日
许可协议