From 047d5d8028b6bc32eaddf94a6b896790e4ea8883 Mon Sep 17 00:00:00 2001 From: Pine Date: Mon, 7 Sep 2026 12:42:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=88=91=E7=9A=84=E4=B8=BB=E9=A1=B5?= =?UTF-8?q?=E4=BA=92=E5=8A=A8=E6=95=B0=E6=8D=AE=E8=A1=A5=E5=85=85=E8=AE=BF?= =?UTF-8?q?=E5=AE=A2=E6=98=B5=E7=A7=B0/=E5=A4=B4=E5=83=8F=EF=BC=88?= =?UTF-8?q?=E6=89=93=E6=8B=9B=E5=91=BC/=E7=82=B9=E8=B5=9E=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/routers/rbac_pages.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) 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), }