diff --git a/app/api/routers/rbac_pages.py b/app/api/routers/rbac_pages.py index 2c331ff..6d70744 100644 --- a/app/api/routers/rbac_pages.py +++ b/app/api/routers/rbac_pages.py @@ -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), }