|
|
# 紫云呼叫终端(call-client)产品介绍
|
|
|
|
|
|
## 1. 产品定位
|
|
|
|
|
|
**紫云呼叫终端**(工程名 `call-client`)是面向政务大厅、办税服务厅等场景的**窗口叫号与办理桌面客户端**。工作人员通过本终端完成选窗登录、呼叫下一位、开始/完成办理、暂停服务、票号转移与评价等操作,并与紫云排队叫号后台服务实时联动。
|
|
|
|
|
|
产品基于 **Tauri 2 + Vue 3 + TypeScript** 构建,采用轻量原生壳 + Web 前端的混合架构,在 Linux(含麒麟 V10 等国产化桌面)上提供 `.deb` 安装包,支持 **amd64 / arm64** 双架构发布与内网 APT 在线升级。
|
|
|
|
|
|
---
|
|
|
|
|
|
## 2. 典型应用场景
|
|
|
|
|
|
| 场景 | 说明 |
|
|
|
|------|------|
|
|
|
| 窗口叫号 | 办事员一键呼叫下一位等候群众,支持重呼、弃号 |
|
|
|
| 业务办理 | 呼叫成功后开始办理,完成后进入评价流程 |
|
|
|
| 服务暂停 | 临时暂停窗口服务并记录暂停原因 |
|
|
|
| 票号调度 | 将当前票号转移至其他窗口或业务队列 |
|
|
|
| 票池选号 | 从票号列表中检索并指定呼叫特定票号 |
|
|
|
| 纳税人辅助 | 打开办税员信息页,配合实名与业务办理 |
|
|
|
| 大屏联动 | 可选开启主屏同步,将窗口画面推送至外显设备 |
|
|
|
| 异常恢复 | 应用异常退出后重新登录,可提示是否继续办理中断前的票号 |
|
|
|
|
|
|
---
|
|
|
|
|
|
## 3. 核心功能
|
|
|
|
|
|
### 3.1 登录与窗口选择
|
|
|
|
|
|
- **账号登录**:对接排队系统 `/auth/login`,获取 `queueToken` 等会话凭据。
|
|
|
- **服务窗口选择**:登录后从 `/windows/list` 拉取可办窗口列表,选择本机对应窗口。
|
|
|
- **呼号端初始化**:选窗后调用 `/call-terminal/caller-init`,加载自动叫号/自动开始、转移开关、纳税人信息 URL 等窗口级策略。
|
|
|
- **服务地址配置**:首次使用可配置后台服务器地址(`config.json`),支持路由守卫自动跳转配置页。
|
|
|
|
|
|
### 3.2 主叫号操作(主窗口)
|
|
|
|
|
|
主窗口为**置顶窄条工具栏**形态,常驻桌面,便于办事员快速操作:
|
|
|
|
|
|
| 操作 | 说明 |
|
|
|
|------|------|
|
|
|
| 呼叫 / 重呼 | 呼叫下一位或对已叫票号重呼 |
|
|
|
| 开始 | 群众到站后开始办理 |
|
|
|
| 完成 | 办理结束并进入评价阶段 |
|
|
|
| 弃号 | 放弃当前票号 |
|
|
|
| 暂停 / 恢复 | 窗口服务暂停与恢复 |
|
|
|
| 转移 | 打开票号转移子窗口,将票转至其他窗口或业务(二选一) |
|
|
|
| 评价 | 触发评价接口,并轮询是否已完成评价 |
|
|
|
|
|
|
**智能辅助:**
|
|
|
|
|
|
- **自动叫号**:待机状态下按配置秒数倒计时,结束后自动发起呼叫。
|
|
|
- **自动开始**:呼叫成功后倒计时,结束后自动开始办理。
|
|
|
- **等候人数**:轮询 `/call-terminal/queue-count`,在主界面日志区展示当前窗口等候人数。
|
|
|
- **手动打断**:用户手动点击「呼叫」「开始」时,自动停止对应倒计时,避免与人工操作冲突。
|
|
|
|
|
|
### 3.3 多窗口协同
|
|
|
|
|
|
| 窗口 | 用途 |
|
|
|
|------|------|
|
|
|
| 登录窗 | 账号登录、选窗、检查更新 |
|
|
|
| 主窗口 | 叫号与办理主流程 |
|
|
|
| 票号列表 | 票池查询、筛选、从列表发起呼叫/评价 |
|
|
|
| 票号转移 | 选择目标窗口或目标业务并提交转移 |
|
|
|
| 办税员信息 | 展示纳税人相关业务页面(URL 由后台 init 下发) |
|
|
|
|
|
|
各子窗口通过 Tauri 事件总线(`emit` / `listen`)与主窗口通信;会话状态写入磁盘 `runtime_session.json`,多窗口共享。
|
|
|
|
|
|
### 3.4 异常中断恢复
|
|
|
|
|
|
呼叫或开始办理成功后,系统将**票号、票号显示名、流程状态**(呼叫中 / 办理中 / 已暂停)持久化到本地配置。若应用异常退出,用户重新登录并进入主界面后:
|
|
|
|
|
|
- 弹出**原生确认框**,询问是否继续办理中断前的票号;
|
|
|
- 选择「是」则恢复对应界面状态与票号上下文;
|
|
|
- 选择「否」则清除缓存,进入正常待机流程。
|
|
|
|
|
|
### 3.5 系统托盘与单实例
|
|
|
|
|
|
- 启动时**单实例锁**,防止重复打开多个客户端。
|
|
|
- **系统托盘**:快速显示/最小化主窗口、打开票号列表、退出应用。
|
|
|
- 主窗口支持无边框、置顶、最小化等桌面交互。
|
|
|
|
|
|
### 3.6 升级与运维
|
|
|
|
|
|
- 登录页支持**检查 APT 更新**(内网紫云软件源),可引导配置源、执行 `apt` 升级。
|
|
|
- 本地 **app.log** 日志轮转,错误弹窗可一键打开日志文件。
|
|
|
- 配置与会话路径遵循 XDG 规范(见仓库根目录 `README.md`)。
|
|
|
|
|
|
---
|
|
|
|
|
|
## 4. 与后台服务的关系
|
|
|
|
|
|
客户端通过 HTTP 与紫云排队叫号服务通信,主要接口域包括:
|
|
|
|
|
|
- 认证:`/auth/login`、`/auth/logout`
|
|
|
- 窗口:`/windows/list`
|
|
|
- 呼号端:`/call-terminal/*`(呼叫、开始、完成、暂停、恢复、弃号、评价、票池、排队统计、转移、业务列表等)
|
|
|
|
|
|
广播侧(`broadcast-client`)可通过 Socket 接收叫号推送,与呼叫终端形成**「窗口操作 + 大厅展示」**的完整闭环(见《broadcast-client 产品介绍》)。
|
|
|
|
|
|
---
|
|
|
|
|
|
## 5. 部署与运行环境
|
|
|
|
|
|
| 项目 | 说明 |
|
|
|
|------|------|
|
|
|
| 操作系统 | Linux 桌面(推荐麒麟 V10 等;亦支持 Windows 开发与调试) |
|
|
|
| 安装方式 | `.deb` 包或内网 APT 仓库 |
|
|
|
| 架构 | amd64、arm64 |
|
|
|
| 网络 | 需能访问排队叫号后台 HTTP 服务 |
|
|
|
| 配置目录 | `~/.config/com.ziyun.callclient/`(`config.json`、`app.log` 等) |
|
|
|
| 会话目录 | `~/.local/share/com.ziyun.callclient/runtime_session.json` |
|
|
|
| 当前版本 | 0.1.6(以 `tauri.conf.json` 为准) |
|
|
|
|
|
|
---
|
|
|
|
|
|
## 6. 技术特点(简述)
|
|
|
|
|
|
- **Tauri 2 原生壳**:体积小、启动快,Rust 侧负责窗口、会话、日志、升级、屏幕同步等能力。
|
|
|
- **Vue 3 + Element Plus**:业务界面组件化,类型安全(TypeScript)。
|
|
|
- **宿主适配层(`src/host`)**:统一封装配置、会话、对话框、窗口、事件,便于维护与测试。
|
|
|
- **从 Electron 平滑迁移**:保留原业务语义,面向 Linux 打包与国产化环境优化。
|
|
|
|
|
|
---
|
|
|
|
|
|
## 7. 产品价值总结
|
|
|
|
|
|
紫云呼叫终端将窗口办事员的**高频叫号操作**收敛在一块常驻工具条中,减少切换成本;通过自动叫号/开始、票池选号、转移与异常恢复,提升高峰时段吞吐与业务连续性;通过与广播同步屏、综合屏联动,实现**窗口内操作、大厅外可见**的一体化办税服务体验。
|