- 清理 1155 个已删除的历史文件(废弃 prompt_logs、tmp、旧 ops 脚本) - export/ 数据文件从 git 移除(已在 .gitignore) - demo-miniprogram 从 tmp/ 移入 apps/,添加 CLAUDE.md 注解 - DDL 合并:完整 schema 定义填充到 db/*/schemas/(从 docs/database/ddl/ 复制) - 39 个 v1 迁移脚本归档到 db/_archived/migrations_v1_merged/ - 4 个迁移变更类 BD_Manual 文档归档到 docs/database/_archived/ - .gitignore 补充 .vite/ 和 apps/*.zip - settings.json 添加 effortLevel 默认配置 - scripts/ops/ 新增运维脚本入库 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1.6 KiB
1.6 KiB
BD 手册:auth.users.avatar_url 字段
概述
auth.users 表新增 avatar_url 字段,存储用户头像的相对路径。
字段定义
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
avatar_url |
VARCHAR(500) |
NULL |
头像相对路径,格式 avatars/{user_id}.jpg |
数据流
- 小程序端通过
<button open-type="chooseAvatar">获取微信头像临时路径 - 通过
wx.uploadFile上传到POST /api/xcx/avatar/upload - 后端保存文件到
AVATAR_EXPORT_PATH/{user_id}.jpg(覆盖式,幂等) - 数据库
avatar_url更新为avatars/{user_id}.jpg(相对路径) - 小程序通过
GET /api/xcx/avatar/{user_id}获取头像文件
关联接口
| 接口 | 方法 | 说明 |
|---|---|---|
/api/xcx/avatar/upload |
POST | 上传头像,更新 avatar_url |
/api/xcx/avatar/{user_id} |
GET | 获取头像文件(FileResponse) |
/api/xcx/me |
GET | 返回 avatar_url 字段 |
设计决策
- 审核表
auth.user_applications不冗余avatar_url,通过 JOINauth.users获取(头像可能更新) - 文件命名按
user_id,覆盖式保存(幂等,无历史版本) - 文件大小限制 2MB,空文件拒绝
迁移脚本
db/zqyy_app/migrations/20260324_add_avatar_url_to_users.sql
环境变量
AVATAR_EXPORT_PATH — 头像文件存储目录,缺失时后端报 500 错误
回滚
ALTER TABLE auth.users DROP COLUMN IF EXISTS avatar_url;
验证
SELECT id, avatar_url FROM auth.users WHERE avatar_url IS NOT NULL LIMIT 5;