hl-api-changelog/changelogs-v2/2026-07/16_4732_房务详情询房复制失败-前端修复-管理后台.md
2026-07-03 09:51:05 +08:00

2.9 KiB

房务详情「询房」按钮复制失败

模块:管理后台 · 房务工作台 /housekeeper/orders 类型:前端修复(复制降级修正,无需新增后端接口) 日期2026-07-03 关联工单:#4732 背景:房务详情弹窗中,房务点击每日行程右侧「询房」按钮后,页面提示「复制失败,请手动选中复制」。当前业务口径是“询房=复制话术”,不恢复记录式询房。

问题现象

测试页面:

  • 页面:http://192.168.100.160:9527/housekeeper/orders
  • 弹窗:房务订单详情
  • 订单示例:HL20260702232103376
  • 操作:点击某天行程右侧「询房」
  • 当前结果:右上角 toast 提示「复制失败,请手动选中复制」

后端当前口径

后端不需要新增接口。

询房话术仍使用既有 preview 能力:

POST /v3/admin/order/inquiry/preview

业务口径:

  • 询房已经简化为“复制话术”。
  • 不恢复记录式询房、询房历史、发起询房记录等已删除能力。
  • 前端点击「询房」时,应先拿 preview 返回的话术,再完成复制。

【前端 · 管理后台】需改动

1. 复制逻辑需兼容 HTTP 测试环境

当前测试前端是 http://192.168.100.160:9527,属于非安全源。浏览器可能拒绝 navigator.clipboard.writeText,导致自动复制失败。

前端需要在 Clipboard API 不可用或被拒绝时,提供可靠降级,例如:

  • 优先使用 navigator.clipboard.writeText
  • 失败后降级到临时 textarea + document.execCommand('copy')
  • 降级仍失败时,再提示用户手动复制,并展示可选中的话术内容

2. 不要把 Clipboard API 权限失败当成接口失败

需要区分两类错误:

场景 期望提示
/inquiry/preview 接口失败或返回空话术 提示“生成询房话术失败”或等价接口错误
preview 成功但浏览器拒绝复制 尝试降级复制;降级失败后提示“复制失败,请手动复制”

3. 复制内容为空要阻断

如果 preview 返回的文本为空、只有空白字符,前端不要执行复制,应提示话术为空或生成失败,避免误报“已复制”。

验收标准

场景 期望
http://192.168.100.160:9527/housekeeper/orders 点击「询房」 能复制 preview 话术,不再误报复制失败
Clipboard API 被浏览器拒绝 自动走降级复制
preview 接口失败 显示接口/生成失败,不显示复制成功
preview 返回空文本 不复制,提示话术为空或生成失败
降级复制仍失败 弹出或展示可手动选中的询房话术

影响范围

页面/能力 说明
/housekeeper/orders 房务订单详情弹窗每日行程「询房」按钮
/v3/admin/order/inquiry/preview 仅作为现有话术生成接口使用,无后端改动