这些审计记录原本堆积在 docs/audit/changes/changes/ 嵌套误产物目录下(由开发机迁移
79d3c2e 前后的不明批量操作产生)。由于同期 .gitignore 屏蔽了 docs/audit/ 全目录,
它们从未入过 git 任何分支 history。删除即永久丢失。
按 docs/specs/audit-gap-recovery/tasks.md 阶段 1 执行,将全部 96 份 D 类孤本
(主目录无同名、git history 亦无记录)复制到 docs/audit/changes/ 主目录入仓。
涵盖主题: P1-P18 全栈集成 / 多模块累积变更 / ETL bug 修复 / 业务日切 /
召回与任务引擎改造 / 租户管理与审批 / 董事会财务 / 客户与助教详情 /
DDL 基线合并 / Kiro 到 Claude Code 迁移
阶段 2(B 类内容漂移 1 份)和阶段 4(嵌套目录删除)独立推进。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1.7 KiB
1.7 KiB
审计记录:审核弹窗头像展示 + 排版优化
- 日期:2026-03-24
- Prompt:租户管理后台审核弹窗展示申请人微信昵称、头像,排版优化
- 直接原因:审核弹窗信息区纯文本平铺,无头像展示,排版拥挤
改动方案
- 后端
list_applicationsSQL 新增u.avatar_url字段查询 - 后端
ApplicationListItemSchema 新增avatar_url可选字段 - 前端
ApplicationItem接口新增avatarUrl字段 - 前端
ReviewModal信息区从纯文本<Space>改为Avatar+Descriptions卡片布局 - 头像通过
/api/xcx/avatar/{userId}获取(与小程序共用同一后端) - 无头像时显示灰色
UserOutlined图标
文件清单
| 文件 | 变更 |
|---|---|
apps/backend/app/schemas/tenant_users.py |
ApplicationListItem 新增 avatar_url 字段 |
apps/backend/app/routers/tenant_users.py |
list_applications SQL 新增 u.avatar_url,构造新增 avatar_url=r[9] |
apps/tenant-admin/src/pages/UserApproval/index.tsx |
ApplicationItem 新增 avatarUrl;ReviewModal 信息区改为 Avatar+Descriptions 布局;新增 Avatar, Descriptions, UserOutlined 导入 |
风险评估
- 低风险:纯展示层改动,不影响审核逻辑
avatar_url为可选字段(str | None),无头像时 fallback 为灰色图标
回滚
- 后端:移除
avatar_url字段和 SQL 列,不影响审核功能 - 前端:git revert 恢复原布局
验证
- 租户管理后台打开审核弹窗,确认头像 + 信息卡片布局正确
- 有头像的用户显示真实头像,无头像的显示灰色图标
- 信息项(昵称、手机号、球房编号、申请角色、员工编号)分行展示