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.
tauri-client/docs/call-client-产品介绍.md

128 lines
6.2 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 紫云呼叫终端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. 产品价值总结
紫云呼叫终端将窗口办事员的**高频叫号操作**收敛在一块常驻工具条中,减少切换成本;通过自动叫号/开始、票池选号、转移与异常恢复,提升高峰时段吞吐与业务连续性;通过与广播同步屏、综合屏联动,实现**窗口内操作、大厅外可见**的一体化办税服务体验。