feat(oss): 统一OSS/CDN对象存储与直链出口体系

- infrastructure/oss.py 重写:服务端上传/预签名上下行/CDN鉴权直链(方式A)/resolve_url·to_object_path 出入口规范
- config.py 新增 OSS_REGION/OSS_CDN_BASE_URL/OSS_CDN_AUTH_KEY
- media_upload 统一走 oss 单例,返回 CDN 直链;dispatcher /oss 前缀路由
- 管理端用户列表头像出口 CDN 化
This commit is contained in:
Pine
2026-08-28 17:17:38 +08:00
parent 89396eb6b0
commit 985b85cb4e
5 changed files with 214 additions and 50 deletions
+6 -1
View File
@@ -57,7 +57,12 @@ async def list_users(
_role: dict = Depends(require_roles("operator")),
_perm: dict = Depends(require_permission("menu:admin_user_mgmt")),
):
return await db.users.list()
from ...infrastructure.oss import resolve_url
items = await db.users.list()
for u in items: # 出口规范:头像对象路径统一生成 CDN 直链
u["avatar"] = resolve_url(u.get("avatar", ""))
u["company_avatar"] = resolve_url(u.get("company_avatar", ""))
return items
@router.post("/users/{user_id}/role", summary="分配角色")