# 气站工作人员头像适配操作日志 操作时间:2026-08-18 操作类型:扩展 影响模块:气站管理端账户记录页、气站 API 工作人员与用户头像 ## 操作前状态 - 5175 工作人员新建页把头像显示为普通文本输入框。 - 气站 API 没有工作人员和用户的受保护头像读取路由。 - 编辑工作人员或用户资料时,未提交头像也可能把已有头像清空。 ## 具体操作 - 复用 5173 的账户摘要组件和头像组合式逻辑,在新建、详情、编辑页显示头像选择与预览。 - 启用工作人员与用户列表的受保护头像缩略图,替代头像存储路径文本。 - 从基础信息表单移除头像文本输入框,保存时仅在选择新头像或恢复默认头像后提交头像字段。 - 新增工作人员、用户头像读取路由,查询始终附加当前气站或服务关系范围。 - 将更新请求的头像字段改为可选指针,未修改头像时不更新数据库列。 ## 操作后状态 - `/staff/add` 顶部显示账户摘要与头像选择区,布局和交互参考 5173。 - 工作人员与用户列表显示 32 像素圆形头像;无头像或加载失败时回退默认头像。 - 工作人员与用户的详情、编辑页可安全读取现有头像。 - 普通资料编辑不会误清空头像;主动恢复默认头像仍会提交空值。 ## 代码变更 - `frontend/gas_admin/src/views/resource/ResourceRecordPage.vue`:启用头像摘要、过滤文本字段、接入上传载荷与未保存检测。 - `frontend/gas_admin/src/api/avatar.ts`:使用气站 API 前缀读取受保护头像。 - `frontend/gas_admin/src/views/shared/protected-list-avatar-loader.ts`:开放工作人员与用户缩略图渲染。 - `backend/api/internal/logic/gas/staff.go`、`user.go`:新增范围受限头像读取并保护头像更新语义。 - `backend/api/internal/routers/gas_business.go`、`gas_test.go`:注册并校验头像路由。 ## 验证结果 - `go test ./internal/routers ./internal/logic/gas`:通过。 - `pnpm type:check`:通过。 - `pnpm contract:check`:通过,20 个资源一致。 - `pnpm resource-pages:check`:通过,详情 20、新建 11、编辑 8。 - `pnpm lint`:通过,无错误;保留仓库既有提示。 - `pnpm build`:通过。 ## 风险评估 - 新头像接口只读取数据库中受控上传目录的文件,不暴露外部 URL 或任意文件路径。 - 工作人员头像按 `gas_basic_id` 限制,用户头像按当前气站服务关系限制,未扩大数据范围。 - 合同附件能力未变更,避免气站端调用不存在的平台专属接口。