bea288e414
== 已部署上线 (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
1.5 KiB
1.5 KiB
头像修复完成 — 后端代理方案
一句话
通过新建后端头像代理端点 /api/avatar/proxy,不修改 nginx 安全头,解决 COEP / Mixed Content / CSP 三层拦截导致的头像不显示问题。
验证结果
- API 代理:✅ 正常返回 image/jpeg(42KB / 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— 验证截图