Files
Simon bea288e414 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
2026-07-11 23:13:10 +08:00

31 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 头像修复完成 — 后端代理方案
## 一句话
通过新建后端头像代理端点 `/api/avatar/proxy`,不修改 nginx 安全头,解决 COEP / Mixed Content / CSP 三层拦截导致的头像不显示问题。
## 验证结果
- **API 代理**:✅ 正常返回 image/jpeg42KB / 65KB 测试均通过)
- **浏览器控制台**:✅ 零 COEP / Mixed Content / CSP 错误
- **Network 请求**:✅ 3 个头像全部通过 `/api/avatar/proxy?url=...` 200 加载
- **视觉验证**:✅ 坐席工作台头像正常显示(左侧会话列表 + 顶部导航栏)
## 修改文件
| 文件 | 操作 |
|-----|------|
| `backend/app/services/avatar_service.py` | 修改(新增 `wrap_avatar_url` + HTTP→HTTPS 转换) |
| `backend/app/services/session_service.py` | 修改(3 个头像返回路径统一包装) |
| `backend/app/api/avatar.py` | 新建(代理端点 + SSRF 白名单) |
| `backend/app/api/router.py` | 修改(注册路由) |
## 已部署
- 4 个文件已上传 → 复制到 `/opt/wecom-it-desk/app/``docker compose restart backend`
- Redis 头像缓存 `employee:avatar:*` 已清除(3 个 key
- 代理端点即时生效
## 关于"获取坐席列表失败"
本次浏览器验证未复现该错误。如持续出现,需检查后端日志中 `/api/agents` 的具体报错。
## 交付物
- `deliverables/software-bugfix-avatar-coep-delivery-2026-07-10.md` — 详细修复报告
- 截图 `screenshot-1783683005062.png` — 验证截图