feat: 我的主页互动数据补充访客昵称/头像(打招呼/点赞)
This commit is contained in:
@@ -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),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user