feat: 我的主页互动数据补充访客昵称/头像(打招呼/点赞)

This commit is contained in:
Pine
2026-09-07 12:42:10 +08:00
parent 41c6686b81
commit 047d5d8028
+16 -2
View File
@@ -553,10 +553,24 @@ async def my_page_social_stats(db: Database = Depends(get_db),
"""本人查看自己主页的流量、点赞、打招呼数据。"""
uid = user.get("id") or ""
stats = await db.user_page_social.stats(uid)
greets = await db.user_page_social.recent_greets(uid)
likers = await db.user_page_social.recent_likers(uid)
# 补充打招呼/点赞访客的昵称与头像(供「我的沟通」展示访客并一键发起沟通)
async def _decorate(items: list[dict]) -> list[dict]:
out = []
for it in items:
pid = it.get("greeterId") or it.get("likerId") or ""
u = (await db.users.get_by_id(pid)) if pid else None
out.append({
**it,
"nickname": (u or {}).get("nickname") or (u or {}).get("username") or "匿名访客",
"avatar": resolve_url((u or {}).get("avatar") or ""),
})
return out
return {
"stats": stats,
"trend": await db.user_page_social.view_trend(uid, 7),
"recentViews": await db.user_page_social.recent_views(uid),
"recentLikers": await db.user_page_social.recent_likers(uid),
"recentGreets": await db.user_page_social.recent_greets(uid),
"recentLikers": await _decorate(likers),
"recentGreets": await _decorate(greets),
}