feat: 2026-07-11 全量更新 - 代办集成+会议室预定+知识迭代修复+UI统一+Bug修复
== 已部署上线 (9项) == - 代办事项真实数据源集成 (企微审批API 8bug修复链) - H5/坐席端 Logo样式统一+绿色背景 - 视频引导页修复 (localStorage key v2) - 坐席端 v9 Vue版本修复 (ElMessage._context) - 截图按钮 v10 修复 (getDisplayMedia user gesture) - 扫码样式恢复+H5扫码登录跳转修复 - H5截图快捷键提示 == 代码完成待部署 (3项) == - 知识迭代3Bug修复 (#8 POST端点/#7 MERGE幂等/#6 过期检查) - 会议室预定-小鱼易联终端 (40文件, 40/40测试通过) - IT资产升级审批推送 (asset_service.py) == 需求文档 (2项) == - 坐席端AI辅助消息框-PRD (4项新功能确认) - 坐席端布局优化建议 v2.0 (7天计划) == 新增文档 == - 日报-2026-07-11.md - 知识迭代Bug修复报告-20260711.md - 会议室预定-部署指南.md - CHANGELOG.md 更新 == 测试 == - test_todo_integration.py: 40/40 - test_meetingroom.py: 40/40 - test_bugfix_ki_suggestions.py: 21/21
This commit is contained in:
@@ -20,9 +20,14 @@ from app.constants import (
|
||||
AUTOMATION_SILENT_CLOSE_TTL,
|
||||
AUTOMATION_WS_ACTION_REQUIRED,
|
||||
AUTOMATION_WS_ERROR,
|
||||
AUTOMATION_WS_INFO_CORRECTED,
|
||||
AUTOMATION_WS_INFO_SUPPLEMENTED,
|
||||
AUTOMATION_WS_PAUSED,
|
||||
AUTOMATION_WS_PROGRESS,
|
||||
AUTOMATION_WS_RESOLVED,
|
||||
AUTOMATION_WS_RESUMED,
|
||||
AUTOMATION_WS_TAKEOVER,
|
||||
AUTOMATION_WS_TIMEOUT_CLOSED,
|
||||
)
|
||||
from app.services.ws_manager import manager as ws_manager
|
||||
|
||||
@@ -150,6 +155,139 @@ async def publish_error(session_id: str, code: int, message: str) -> None:
|
||||
await _publish(AUTOMATION_WS_ERROR, session_id, {"code": code, "message": message})
|
||||
|
||||
|
||||
# ==========================================================================
|
||||
# 复杂场景重构第一阶段 — 新增 WS 事件推送
|
||||
# ==========================================================================
|
||||
async def publish_paused(
|
||||
session_id: str,
|
||||
title: str,
|
||||
paused_at: str,
|
||||
resume_hint: str = "",
|
||||
) -> None:
|
||||
"""推送会话暂停事件。
|
||||
|
||||
Args:
|
||||
session_id: 会话ID
|
||||
title: 会话标题
|
||||
paused_at: 暂停时间(ISO 字符串)
|
||||
resume_hint: 恢复提示文案
|
||||
"""
|
||||
await _publish(
|
||||
AUTOMATION_WS_PAUSED,
|
||||
session_id,
|
||||
{
|
||||
"session_id": session_id,
|
||||
"title": title,
|
||||
"paused_at": paused_at,
|
||||
"resume_hint": resume_hint,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
async def publish_resumed(
|
||||
session_id: str,
|
||||
title: str,
|
||||
resumed_at: str,
|
||||
current_step: str = "",
|
||||
) -> None:
|
||||
"""推送会话恢复事件。
|
||||
|
||||
Args:
|
||||
session_id: 会话ID
|
||||
title: 会话标题
|
||||
resumed_at: 恢复时间(ISO 字符串)
|
||||
current_step: 当前步骤描述
|
||||
"""
|
||||
await _publish(
|
||||
AUTOMATION_WS_RESUMED,
|
||||
session_id,
|
||||
{
|
||||
"session_id": session_id,
|
||||
"title": title,
|
||||
"resumed_at": resumed_at,
|
||||
"current_step": current_step,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
async def publish_timeout_closed(
|
||||
session_id: str,
|
||||
closed_at: str,
|
||||
reason: str = "",
|
||||
) -> None:
|
||||
"""推送暂停超时关闭事件。
|
||||
|
||||
Args:
|
||||
session_id: 会话ID
|
||||
closed_at: 关闭时间(ISO 字符串)
|
||||
reason: 关闭原因
|
||||
"""
|
||||
await _publish(
|
||||
AUTOMATION_WS_TIMEOUT_CLOSED,
|
||||
session_id,
|
||||
{
|
||||
"session_id": session_id,
|
||||
"closed_at": closed_at,
|
||||
"reason": reason,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
async def publish_info_corrected(
|
||||
session_id: str,
|
||||
field: str,
|
||||
old_value: str,
|
||||
new_value: str,
|
||||
version: int,
|
||||
) -> None:
|
||||
"""推送信息更正事件。
|
||||
|
||||
Args:
|
||||
session_id: 会话ID
|
||||
field: 更正的字段名
|
||||
old_value: 旧值
|
||||
new_value: 新值
|
||||
version: 更正后的版本号
|
||||
"""
|
||||
await _publish(
|
||||
AUTOMATION_WS_INFO_CORRECTED,
|
||||
session_id,
|
||||
{
|
||||
"session_id": session_id,
|
||||
"field": field,
|
||||
"old_value": old_value,
|
||||
"new_value": new_value,
|
||||
"version": version,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
async def publish_info_supplemented(
|
||||
session_id: str,
|
||||
field: str,
|
||||
supplement_value: str,
|
||||
new_value: str,
|
||||
) -> None:
|
||||
"""推送信息补充事件。
|
||||
|
||||
Args:
|
||||
session_id: 会话ID
|
||||
field: 补充的字段名
|
||||
supplement_value: 本次补充的值
|
||||
new_value: 补充后的完整值
|
||||
"""
|
||||
await _publish(
|
||||
AUTOMATION_WS_INFO_SUPPLEMENTED,
|
||||
session_id,
|
||||
{
|
||||
"session_id": session_id,
|
||||
"field": field,
|
||||
"supplement_value": supplement_value,
|
||||
"new_value": new_value,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
def schedule_silent_close(
|
||||
session_id: str, ttl: int = AUTOMATION_SILENT_CLOSE_TTL, on_expire=None
|
||||
) -> None:
|
||||
|
||||
Reference in New Issue
Block a user