You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
7.3 KiB
7.3 KiB
紫云广播同步屏(broadcast-client)产品介绍
1. 产品定位
紫云广播同步屏(工程名 broadcast-client)是面向政务大厅、办税服务厅等场景的大厅信息展示与叫号播报桌面客户端。它在办事窗口外的 LED 条屏、同步屏或综合大屏上,实时展示窗口编号、叫号提示、滚动字幕、时钟及综合业务信息,并通过 Socket 接收排队系统推送,与窗口呼叫终端联动。
产品基于 Tauri 2 + Vue 3 + TypeScript 构建,支持同步屏与综合屏两种展示模式,提供可视化配置界面、Socket 服务、系统托盘与内网 APT 升级能力,适配 Linux 桌面(含麒麟 V10) 的 amd64 / arm64 部署。
2. 典型应用场景
| 场景 | 说明 |
|---|---|
| 窗口条屏 | 在屏幕顶部横条展示多窗口编号与「请 XX 号办理」等动态文案 |
| 叫号联动 | 接收后台 CALL 类 Socket 报文,按 windowId 更新对应窗口区域文字 |
| 滚动字幕 | 配置横幅区域,持续滚动宣传或提示语 |
| 时钟展示 | 将某窗口区域切换为 hh:mm 时钟,用于非叫号时段 |
| 综合大屏 | 全屏展示大厅名称、多行叫号文字、底部字幕及可选视频轮播 |
| 多屏分工 | 通过勾选「同步屏 / 综合屏 / 语音播报」控制各通道是否启用 |
3. 核心功能
3.1 同步屏(BroadcastView)
同步屏面向超宽横条显示设备,核心能力包括:
标尺与分段显示
- 逻辑画布宽度可达数千像素(可配置),高度默认 64px 量级。
- 当物理屏幕宽度小于逻辑宽度时,按「横向切片、纵向堆叠」自动分段,保证超宽内容在窄屏上完整可见。
- 标尺刻度:10px 小格、50px 中格、100px 大格,便于运维对齐物理 LED 布局。
窗口区域
- 可配置多个「窗口区域」,每个区域包含:
- 窗口号区域:显示窗口编号,支持圆圈边框、字号、颜色、粗细等样式。
- 文本区域:分为静态文本与动态文本;动态文本由 Socket 报文驱动更新。
- 支持将区域切换为时钟模式(仅显示时间,样式沿用动态文本配置)。
- 子元素支持跨分段连续显示,避免在切断处出现错位或缺失。
滚动字幕
- 独立配置字幕区域的位置、尺寸、文字内容、字号颜色与滚动速度,文字自左向右循环滚动。
窗口行为
- 无边框、黑色背景、置顶显示;支持最小化后从任务栏恢复。
- 右键菜单:打开配置、最小化、退出等。
3.2 综合屏(CompositeView)
综合屏面向大厅全屏电视或投影,布局分为:
| 区域 | 占比(约) | 内容 |
|---|---|---|
| 头部 | 12% | 大厅名称(可配字号、颜色) |
| 中部 | 76% | 左右分栏:左侧文字叫号区;右侧可选文字区或视频轮播区 |
| 底部 | 12% | 滚动字幕 |
文字叫号逻辑
- 展示报文中的
voiceText(语音文案同步为可见文字)。 - 按配置行数从上往下堆叠:新叫号占据第一行,旧内容下移;超出行数时淘汰最早一条。
- 无视频时,左右文字区可分担溢出内容。
视频轮播
- 可配置多个视频 URL(分号分隔)、音量,支持轮播播放。
交互
- 启动后全屏显示;双击在全屏与窗口化之间切换。
3.3 Socket 叫号服务
- 配置界面可启动本地 Socket 服务(默认监听 9501 端口)。
- 界面以红绿灯指示服务运行状态。
- 典型报文示例(
action: "CALL"):
{
"action": "CALL",
"windowId": 1,
"windowName": "A12窗口",
"ledAddress": "192.168.1.100",
"timestamp": 1712567890000,
"payload": {
"ticketNumber": "A001",
"displayText": "请 A001 号办理",
"voiceText": "请 A001 号到 A12 窗口办理",
"flash": true
}
}
windowId对应配置中的窗口区域编号;displayText更新同步屏动态文本;综合屏使用voiceText参与文字区展示。
3.4 可视化配置(ConfigView)
- 独立配置窗口:可拖动、白底、折叠面板组织各配置项。
- 支持配置:主画布尺寸、分段列表(手动添加/编辑每段长度与起点)、标尺开关、窗口区域、滚动字幕、综合屏参数、Socket 与输出通道勾选等。
- 配置持久化至
broadcast-config.json,启动时加载并实时生效同步屏布局。 - 保存配置后可启动 Socket 服务;支持「同步屏 / 综合屏 / 语音播报」多选输出(语音通道按产品规划扩展)。
3.5 系统托盘与生命周期
- 托盘图标:双击激活应用;右键菜单可打开配置窗口、退出应用。
- 退出时从系统托盘移除图标,兼容麒麟 V10 等桌面环境。
- 未勾选「同步屏」时,同步屏窗口不显示且不渲染内容,仅保留综合屏或其他已启用通道。
3.6 日志与升级
- Socket 服务启动、停止、收包与处理过程写入本地日志(文件名含时间戳,支持大小与保留天数限制)。
- 支持内网 APT 检查更新 与紫云软件源自动配置(与 call-client 同源发布体系)。
4. 与呼叫终端、后台的关系
排队叫号后台 ──HTTP──► call-client(窗口呼叫、办理)
│
└──Socket(9501)──► broadcast-client(同步屏 / 综合屏展示)
- call-client:办事员在窗口侧发起呼叫,后台可向条屏推送叫号报文。
- broadcast-client:在条屏或大厅屏上呈现叫号结果,无需办事员手动刷新页面。
- 两者可独立部署:仅展示大厅时可只装广播客户端;完整方案建议组合部署。
5. 部署与运行环境
| 项目 | 说明 |
|---|---|
| 操作系统 | Linux 桌面(推荐麒麟 V10;亦支持 Windows 开发调试) |
| 安装方式 | .deb 包或内网 APT 仓库 |
| 架构 | amd64、arm64 |
| 网络 | 需开放 Socket 监听端口(默认 9501),并保证叫号推送源可达 |
| 配置目录 | ~/.config/com.ziyun.broadcastclient/broadcast-config.json |
| 日志目录 | 同配置目录下 socket-service-*.log |
| 显示建议 | 同步屏:超宽横屏或分段拼接屏;综合屏:1080p 及以上电视/投影 |
| 当前版本 | 0.1.1(以 tauri.conf.json 为准) |
6. 技术特点(简述)
- 分段渲染引擎:
segmentService、childSliceService等模块将超宽逻辑坐标映射到物理屏幕,保证窗口区与子元素在切段处视觉连续。 - 数据驱动 UI:配置变更即驱动重算布局,无需重启进程即可更新同步屏。
- 多视图单入口:通过 URL hash / query 区分同步屏、综合屏、配置页,Tauri 多窗口复用同一前端构建产物。
- 轻量 Tauri 壳:适合 7×24 小时常驻大厅设备,资源占用低于传统 Electron 方案。
7. 产品价值总结
紫云广播同步屏将排队叫号结果自动、醒目、可配置地呈现给大厅群众:窗口条屏解决「看哪号、去哪窗」的问题,综合屏解决「大厅级信息汇总与宣传」的问题。可视化配置与 Socket 接入降低了现场布线后的调试成本,与紫云呼叫终端共同构成窗口办理 + 大厅引导的完整智慧办税展示方案。