# 审计记录:审核弹窗头像展示 + 排版优化 - 日期:2026-03-24 - Prompt:租户管理后台审核弹窗展示申请人微信昵称、头像,排版优化 - 直接原因:审核弹窗信息区纯文本平铺,无头像展示,排版拥挤 ## 改动方案 1. 后端 `list_applications` SQL 新增 `u.avatar_url` 字段查询 2. 后端 `ApplicationListItem` Schema 新增 `avatar_url` 可选字段 3. 前端 `ApplicationItem` 接口新增 `avatarUrl` 字段 4. 前端 `ReviewModal` 信息区从纯文本 `` 改为 `Avatar` + `Descriptions` 卡片布局 5. 头像通过 `/api/xcx/avatar/{userId}` 获取(与小程序共用同一后端) 6. 无头像时显示灰色 `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 恢复原布局 ## 验证 - 租户管理后台打开审核弹窗,确认头像 + 信息卡片布局正确 - 有头像的用户显示真实头像,无头像的显示灰色图标 - 信息项(昵称、手机号、球房编号、申请角色、员工编号)分行展示