|
|
# 紫云广播同步屏(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"`):
|
|
|
|
|
|
```json
|
|
|
{
|
|
|
"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. 与呼叫终端、后台的关系
|
|
|
|
|
|
```text
|
|
|
排队叫号后台 ──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 接入降低了现场布线后的调试成本,与紫云呼叫终端共同构成**窗口办理 + 大厅引导**的完整智慧办税展示方案。
|