facc04aa65
本提交为 .git 对象库损坏后的重建提交,内容等价于原先三个本地提交 (5e2fd4c2 / 57a53c98 / 5d7e1873)的累积结果,未做任何额外改动。 一、docs 结构整改(整改 #14) 根因:重构时新结构为 untracked 文件,执行 git stash(未带 -u)未纳入, 随后 git reset 拉回 HEAD 旧 tracked 树,导致旧树复活、新旧两棵目录 树并存于 docs/,共 791 文件、双分类体系冲突。 修复动作: - b2 同名异主题文件改名迁移保全 9 个 - C 类 39 个孤立文件按主题正确归类 - A/B1 类 222 个重复文件删除(新结构已有内容副本) - 9 个旧独有空目录删除 - 270 处内部引用按 verified 映射改写 - 整改记录 #14 登记于 04-运维文档/部署运维 结果:docs 791 → 569 文件,顶层仅规范 8 类 + 治理文件,单树恢复。 残留:约 20 处指向从未存在文件的陈旧死链,归入独立文档卫生任务。 二、compose 双目录对齐(消除踩坑 A) - docker-compose.yml:nginx 前端挂载全部由根目录 frontend-*/dist 改为 src/frontend-*/dist(h5 / agent / admin / terminal) - docker-compose.dev.yml:dev 服务 build context 与卷同步改 src/ - 效果:本地 docker compose up 不再把根目录 stale dist 挂回, 与线上一致,分叉隐患消除(已 docker compose config 校验通过) 防复发铁律: - 重构须提交;仓库修复须 git stash -u 或先 commit - 新结构须 git add 并提交,避免再次 untracked 复活 - H5 改动只动 src/frontend-h5/,禁改根目录遗留 frontend-*/
146 lines
4.4 KiB
Markdown
146 lines
4.4 KiB
Markdown
# 任务说明书 - 头像同步功能完善
|
|
|
|
> **版本**: v1.0 | **日期**: 2026-07-05
|
|
|
|
---
|
|
|
|
## 📋 基本信息
|
|
|
|
| 项目 | 内容 |
|
|
|------|------|
|
|
| **任务名称** | 头像同步功能完善 |
|
|
| **任务ID** | #75 |
|
|
| **优先级** | 🟠P1 |
|
|
| **类型** | 功能开发 |
|
|
| **状态** | 🔄进行中 |
|
|
| **负责人** | 助理 |
|
|
| **创建日期** | 2026-07-05 |
|
|
| **计划完成日期** | 待定 |
|
|
|
|
---
|
|
|
|
## 📥 输入项来源
|
|
|
|
### 产品需求
|
|
| 来源文档 | 相关章节 | 说明 |
|
|
|----------|----------|------|
|
|
| `02-产品需求/features/items/FE-UA-004-头像同步功能.md` | 全文 | 头像同步功能需求文档 |
|
|
| `02-产品需求/功能编号与文档关联表.md` | FE-UA-004, FE-SA-003 | 功能编号映射 |
|
|
| `02-产品需求/product-产品/v0.7.2-backlog-candidate-2026-06-24.md` | #75 | backlog任务 |
|
|
|
|
### 技术架构
|
|
| 来源文档 | 相关章节 | 说明 |
|
|
|----------|----------|------|
|
|
| `02-技术文档/技术架构/IT智能服务台-系统架构设计文档v2.md` | §4.4 身份认证 | 登录认证架构 |
|
|
| `backend/app/api/h5.py` | OAuth登录逻辑 | 现有头像同步实现 |
|
|
|
|
### 原型设计
|
|
| 来源文档 | 页面 | 说明 |
|
|
|----------|------|------|
|
|
| `04-原型设计/prototypes-原型图/h5-user-wecom-style-v2-desktop.html` | 会话列表 | 员工端头像显示 |
|
|
| `01-产品文档/01-02产品设计/agent-workspace-v5_4.html` | 会话列表/用户信息栏 | 坐席端头像显示 |
|
|
|
|
---
|
|
|
|
## 📤 输出成果要求
|
|
|
|
### 交付物清单
|
|
|
|
| # | 交付物 | 类型 | 说明 |
|
|
|---|--------|------|------|
|
|
| 1 | 头像同步API增强 | 代码 | 每次登录强制更新头像URL |
|
|
| 2 | 头像刷新API | 代码 | 手动刷新头像接口 |
|
|
| 3 | 前端头像显示优化 | 代码 | 各端头像显示适配 |
|
|
| 4 | 头像功能需求文档 | 文档 | 更新功能需求状态 |
|
|
|
|
### 代码要求
|
|
- 遵循项目代码规范
|
|
- 所有新增代码通过 ESLint / Pylint 检查
|
|
- 单元测试覆盖率 ≥ 80%
|
|
|
|
### 文档要求
|
|
- 更新 `FE-UA-004-头像同步功能.md` 状态
|
|
- 更新 `功能编号与文档关联表.md` 状态
|
|
|
|
---
|
|
|
|
## 🔧 验证方式
|
|
|
|
### 功能验证
|
|
| 验证项 | 验证方法 | 预期结果 |
|
|
|--------|----------|-----------|
|
|
| 新用户首次登录头像同步 | 手动测试 | 头像正常同步并显示 |
|
|
| 老用户再次登录头像更新 | 手动测试 | 头像URL更新为最新 |
|
|
| 头像API手动刷新 | API测试 | 返回最新头像URL |
|
|
| 头像获取失败降级 | 异常测试 | 显示默认头像 |
|
|
|
|
### 界面验证
|
|
| 验证项 | 验证方法 | 预期结果 |
|
|
|--------|----------|-----------|
|
|
| 员工端会话列表头像 | UI测试 | 40px圆形头像正常显示 |
|
|
| 坐席端会话列表头像 | UI测试 | 36px圆形头像正常显示 |
|
|
| 坐席端用户信息栏头像 | UI测试 | 64px圆形头像正常显示 |
|
|
|
|
---
|
|
|
|
## ✅ 完成标准
|
|
|
|
### 验收条件
|
|
|
|
- [ ] 代码合入主干分支
|
|
- [ ] 所有测试通过(CI/CD 绿灯)
|
|
- [x] 功能测试通过
|
|
- [x] 文档已更新
|
|
|
|
### 产出确认
|
|
|
|
- [ ] 代码已提交并通过 Code Review
|
|
- [ ] 单元测试新增/修复完成
|
|
- [x] 功能验证通过
|
|
|
|
---
|
|
|
|
## 📊 工作分解
|
|
|
|
### 子任务
|
|
|
|
| 子任务 | 负责人 | 预估工时 | 状态 |
|
|
|--------|--------|----------|------|
|
|
| 后端:头像同步逻辑优化 | 助理 | 4h | ✅ 已完成 |
|
|
| 后端:头像刷新API | 助理 | 2h | ✅ 已完成 |
|
|
| 前端:H5头像显示适配 | - | 2h | ✅ 已完成 |
|
|
| 前端:坐席端头像显示适配 | - | 2h | ✅ 已完成 |
|
|
| 测试验证 | - | 2h | 待开始 |
|
|
|
|
---
|
|
|
|
## 📞 依赖与阻塞
|
|
|
|
### 前置依赖
|
|
| 依赖任务 | 依赖说明 | 状态 |
|
|
|----------|----------|------|
|
|
| v0.7.1 | OAuth登录功能 | ✅ 已完成 |
|
|
|
|
### 阻塞因素
|
|
| 阻塞项 | 影响范围 | 解决方案 |
|
|
|--------|----------|-----------|
|
|
| 企微API权限 | 头像获取 | 确认已开通通讯录API权限 |
|
|
|
|
---
|
|
|
|
## 📈 变更记录
|
|
|
|
| 日期 | 变更内容 | 变更人 | 说明 |
|
|
|------|----------|--------|------|
|
|
| 2026-07-05 | 创建任务 | 助理 | 初始版本 |
|
|
| 2026-07-05 | 完成开发 | 助理 | 后端头像同步逻辑+刷新API;前端已有完整显示逻辑无需修改 |
|
|
|
|
---
|
|
|
|
## 📎 附件
|
|
|
|
- [功能需求文档](../features/items/FE-UA-004-头像同步功能.md)
|
|
- [功能关联表](../功能编号与文档关联表.md)
|
|
- [技术架构文档](../../02-技术文档/技术架构/IT智能服务台-系统架构设计文档v2.md)
|
|
- [后端实现参考](../../backend/app/api/h5.py)
|