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:
Simon
2026-07-11 23:13:10 +08:00
parent 3d152fc8eb
commit bea288e414
928 changed files with 85169 additions and 54205 deletions
@@ -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: