🎯 员工结束会话功能 · 原型图 v1.4
v1.4 调整(2026-08-03)— 方案 A 整合区:操作按钮/进度胶囊/引导语三元素(状态条已删除,v1.3.5 决策)
设计哲学:4 维度分离(v1.2 新增"退出兜底"独立维度)
v1.1 三维度基础上,新增"退出兜底"作为独立维度——顶部按钮语义收窄到 AI 场景,与操作按钮 end 态场景互斥。
| 维度 |
性质 |
UI 形式 |
位置 |
v1.2 变化 |
| A. 服务可用性 |
系统状态 |
标题栏徽章 🟢/⚫ |
顶部 |
沿用 |
| B. 会话进程 |
用户动作 |
操作按钮 6 态 + 引导语 |
输入栏 |
5 态 → 6 态 + 引导语 |
| C. 排队进度 |
实时反馈 |
底部消息胶囊 |
输入框上方 |
沿用 |
| D. 退出兜底 🆕 |
AI 场景专属 |
标题栏红色退出按钮 |
顶部右侧 |
仅 AI 场景显示 |
💡 维度 D 与维度 B 的 end 态场景互斥,任何时候只有一个可用,从根本上避免"双入口混乱"
⭐ 操作按钮 · 6 态 + 4 种引导语(v1.2 核心变更)
v1.1 的 5 态调整:❌ 移除 hidden / ✅ 恢复 end / ✅ 新增 reopen。
新增 4 种场景引导语,按钮永远可见(仅状态变化),用户不会再"找不到入口"。
disabled · 无会话
💡 先描述一下你遇到的问题,AI 助手会先帮你看看
用户刚打开应用
disabled · AI <3 轮
请继续描述您的问题或需求
AI 对话早期
disabled · 坐席离线
⚠️ 坐席当前离线,建议先用 AI 解答
!store.agentOnline
active · AI ≥3 轮
可呼叫
urgent · 紧急关键词
高优一键呼叫
waiting · 排队中
点击取消排队
end 🆕 · 坐席服务中
v1.2 恢复 · 主动挂断人工
reopen 🆕 · 24h 内重开
v1.2 新增 · 蓝色填充
disabled · 会话过期
⏰ 上一会话已过期,开始新对话吧
>24h 不可重开
⚠️ 优先级:end > reopen > waiting > active/urgent > disabled。hidden 已完全移除。
⭐⭐ 顶部退出按钮 · 仅 AI 场景显示(v1.2 G7 关键变更)
产品澄清:顶部按钮的语义被收窄为"AI 会话兜底退出"——告诉系统"我走了,别发倒计时"。
人工咨询启动后(waiting / serving),顶部按钮自动隐藏,由操作按钮 end 态接管"结束人工"动作。
| 会话场景 |
顶部"退出会话" |
操作按钮 |
说明 |
| 无会话 |
❌ 隐藏 |
🔒 disabled(引导"先说问题") |
用户还没开始 |
| AI 对话中(任何状态) |
✅ 显示 |
🎧 active / 🔒 disabled |
顶部 = AI 兜底退出 |
| 人工咨询启动后(waiting) |
❌ 隐藏 |
⏳ waiting(取消排队) |
操作按钮接管 |
| 坐席服务中(serving) |
❌ 隐藏 |
📴 end(结束咨询) |
操作按钮 end 态接管 |
| 会话已关闭(24h 内) |
❌ 隐藏 |
🔄 reopen(重新打开) |
操作按钮 reopen 接管 |
| 会话已关闭(>24h) |
❌ 隐藏 |
🔒 disabled(引导"开新会话") |
过期失效 |
场景对比 mockup:AI 对话 vs 坐席服务中
AI 对话中(顶部按钮可见)
▲ 顶部红色按钮可用 · 用户可主动告诉系统"我走了"
坐席服务中(顶部按钮隐藏)
VPN 连不上
请尝试重启...
客服小王已接入服务
您好,我是小王,我来帮您处理 VPN 问题
▲ 顶部按钮已隐藏 · 操作按钮 end 态接管"结束人工"
💡 两个按钮场景互斥,从根源避免"两个都能结束,点哪个"的混乱
🔄 「重新打开」按钮 mockup(v1.2 新增)
会话已关闭 + 24h 内,按钮变 🔄 重新打开(蓝色)。不显示 24h 倒计时数字,避免紧迫感。
好的,谢谢小王
不客气,随时找我
✅ 会话已关闭。24 小时内可重新打开。
💡 颜色选择:蓝色(--info: #1989fa),与"激活"绿色和"危险"红色明确区分,传达"中性恢复"语义
⑥ 完整流程 · 双入口场景分流(v1.2 修订)
AI 会话走顶部退出路径,人工会话走操作按钮 end路径,两个入口场景互斥。
🅰️ AI 会话路径(顶部退出入口)
🎧 AI 咨询
→
⏏ 点击顶部退出
→
确认弹窗
→
😊 满意度评价
→
🚪 关闭窗口
🅱️ 人工会话路径(操作按钮 end 入口)
🎧 呼叫人工
→
⏳ 排队
→
📴 服务中 end
→
📴 点击结束
→
😊 满意度评价
→
🚪 关闭窗口
⑧ v1.1 → v1.2 关键变更(已有) · v1.2 → v1.3 增量变更(待评审 ⏳)
| 变更项 |
v1.2 |
v1.3(待评审 ⏳) |
| 操作按钮状态数 |
6 态(移除 hidden / 恢复 end / 新增 reopen) |
沿用 6 态(不动) |
| 引导语 |
4 种场景分阶段引导语 |
迁移至整合区按钮下方 |
| 顶部按钮可见性 |
仅 AI 场景显示 |
沿用(仅 AI 场景显示) |
| 「重新打开」按钮 |
新增(蓝色) |
沿用(位置从 InputBar 移至整合区) |
| {n}/3 进度提示 |
移除(避免催促感) |
沿用(移除) |
| 顶部按钮文案 |
加 tooltip + 确认弹窗 |
沿用 |
| 状态机互斥保证 |
showHeaderExitBtn 计算逻辑 |
沿用(整合区状态条 v1.4 已删除) |
| 结束会话入口 |
顶部(AI)+ 操作按钮 end(人工)双入口 |
沿用(按钮位置从 InputBar 移至整合区) |
| 维度划分 |
4 维度(新增"退出兜底"独立维度) |
4 维度(整合区降为三元素,状态条 v1.4 已删除) |
| 整合区结构 🆕 |
4 维度分散(标题栏徽章 / 输入栏按钮 / 消息胶囊) |
4 维度整合区(按钮 + 进度胶囊 + 引导语) |
| 标题栏坐席徽章 🆕 |
显示 🟢/⚫ |
移至整合区顶部(标题栏瘦身) |
| InputBar 操作按钮 🆕 |
在工具栏内(与发送按钮并列) |
移至整合区(InputBar 工具栏更简洁) |
| 引导语位置 🆕 |
InputBar 按钮下方 |
整合区按钮下方(v1.3 待评审) |
📌 对应 PRD:PRD-REQ-会话-001-员工结束会话-v1.4.md
📌 对应技术方案:技术方案-REQ-会话-001-员工结束会话-v1.4.md
✅ v1.3 方案 A 5 项细节已拍板(2026-07-31),见章节 9.6;⚠️ v1.4(2026-08-03)反转删除状态条
⑨ 方案 A 整合区设计(v1.3 已拍板 ✅ · v1.4 删除状态条)
把 v1.2 的 4 维度分离(服务可用性 / 会话进程 / 排队进度 / 退出兜底)重新组织为 "整合区 + 顶部退出" 两段式。
整合区统一收容三元素:操作按钮(核心 CTA) + 进度消息胶囊(按需) + 引导语,标题栏瘦身(移除坐席徽章),InputBar 工具栏更简洁。
✅ 5 项细节已拍板(2026-07-31),详见 9.6 节;⚠️ v1.4(2026-08-03)反转删除状态条,整合区降为三元素
9.2 整合区结构示意(3 元素纵向堆叠,v1.4 移除状态条)
| 元素 |
位置 |
性质 |
视觉表现(沿用 v1.2 类) |
| 状态条(v1.4 已删除) |
— |
v1.3 永久可见 → v1.4 删除 |
不再渲染坐席在线/离线(v1.3.5 决策) |
| 操作按钮 |
整合区中部 |
核心 CTA |
6 态样式(.call-btn--disabled/active/urgent/waiting/end/reopen) |
| 进度消息胶囊 |
整合区下部 |
按需显示 |
.queue-capsule 4 态(含 --connected 变体) |
| 引导语 |
按钮下方 |
4 种场景 |
.input-bar-mock__guide(含 --warn 变体) |
| (整合区边界容器) |
InputBar 上方 |
浅色背景容器 |
用 inline 样式表达,不新增 CSS 类 |
| 背景色 ✅ |
整合区整体 |
浅色容器 |
#fafafa(浅灰,沿用 chat-mock) |
9.3 9 场景 mockup(用 v1.2 现有 .header-mock / .chat-mock / .call-btn--* / .queue-capsule 表达,3 列网格共 3 行)
场景 1 · 无会话
💡 先描述一下你遇到的问题
用户刚打开应用
场景 2 · AI < 3 轮
请继续描述您的问题或需求
AI 对话早期
场景 3 · AI ≥ 3 轮
可呼叫
场景 4 · 紧急关键词
高优一键呼叫
场景 5 · 坐席离线
⚠️ 坐席当前离线,建议先用 AI 解答
!store.agentOnline
场景 6 · 排队中
🟠 排队中 · 前面 2 人 · 预计 1 分钟
点击取消排队
场景 7 · 已接入
🟢 已接入 · 客服小王(3 秒淡出)
v1.2 恢复 · 主动挂断人工
场景 8 · 重新打开(24h 内)
v1.2 新增 · 蓝色填充
场景 9 · 会话过期(>24h)
⏰ 上一会话已过期,开始新对话吧
>24h 不可重开
💡 每个 mockup 的整合区由"操作按钮 + 引导语/进度胶囊"纵向堆叠(v1.4 移除状态条),标题栏瘦身(无坐席徽章),退出按钮仅 AI 场景(场景 2-4)可见
9.4 关键交互细节(R1-R5 · 沿用 v1.2 已 PASS 内容)
R1 · 状态条三态文案(v1.3 已拍板 ✅ → v1.4 已删除 ❌)
🟢 在线 · 9:00-18:00 / 🟡 繁忙 · 预计 N 分钟 / ⚫ 客服暂休 · 9:00-18:00
v1.4 依 v1.3.5 决策删除状态条,不再向员工暴露坐席在线/离线;`store.shiftHours` 计划同步取消
R2 · 操作按钮 6 态保持
disabled / active / urgent / waiting / end / reopen 文案不变
waiting 态文案"排队取消"(v1.2y 已拍板),end 态"结束咨询",reopen 态"重新打开"
R3 · 进度消息按需显示
无排队时隐藏;queued 显示"🟠 排队中 · 前面 N 人"(整合区按钮下方);serving 显示"🟢 已接入 · 客服小王"(3 秒淡出);resolved 显示灰色"会话已关闭"
位置从消息流底部 → 整合区(与按钮同一容器)
R4 · 引导语迁移
原 InputBar 4 种引导语(无会话 / AI<3 轮 / 坐席离线 / 会话过期)迁移到 整合区按钮下方,作为灰色小字
InputBar 工具栏更简洁(移除引导语容器)
R5 · 不动 v1.2y 已 PASS 内容
6 态按钮文案 / 坐席离线拦截(shakeAgent agentOnline=false)/ 取消入口合并(只通过按钮)/ 3 秒淡出(serving capsule)全部保持
本次只做"位置迁移 + 容器整合",不动交互逻辑
9.5 与 v1.2 对比
| 位置 |
v1.2 现状 |
v1.3 方案 A |
变化 |
| 标题栏 |
logo + 标题 + 坐席状态🟢⚫ + 主题 + 头像 + 退出 |
logo + 标题 + 主题 + 头像 + 退出 |
-1 元素(坐席状态) |
| 整合区(永久) |
无 |
v1.4 已移除(原状态条 3 态文案) |
-1 永久元素(v1.4 移除) |
| 整合区(按钮) |
InputBar 工具栏内 |
整合区中部 |
位置迁移 |
| 整合区(按需胶囊) |
消息流底部独立 |
整合区下部(与按钮同容器) |
位置迁移 |
| InputBar 工具栏 |
😊📎[输入框][🎧人工坐席][发送] |
😊📎[输入框][发送] |
-1 元素(按钮) |
9.6 6 项已拍板结论(2026-07-31 五项 + 2026-08-03 v1.4 反转一项)
| # |
维度 |
拍板结果 |
| 1 |
状态条策略 |
❌ v1.3 永久显示 → v1.4 删除 |
| 2 |
状态条文案 |
❌ 随状态条一并删除 |
| 6 |
状态条反转(v1.4) |
✅ 2026-08-03 反转:删除整合区状态条(v1.3.5 决策),整合区降为三元素 |
| 3 |
整合区背景色 |
✅ 浅灰 #fafafa |
| 4 |
引导语位置 |
✅ 整合区按钮下方(方案 A 默认) |
| 5 |
移动端折叠 |
✅ 不折叠,默认展开 |
📌 拍板日期:2026-07-31 下午。后续 PRD/技术方案/任务说明书将同步更新。
✅ 本章节为 v1.3 方案 A 已拍板方案(2026-07-31),v1.2 已 PASS 的 6 态按钮 / 引导语 / 坐席离线拦截 / 取消入口合并 / 淡出交互 全部保留不动,v1.4(2026-08-03)反转删除状态条