Spaces:
Running
Running
优化
Browse files- router_items.py +5 -1
- router_posts.py +3 -0
router_items.py
CHANGED
|
@@ -123,9 +123,11 @@ async def get_creators(sort: str = "downloads", limit: int = 20):
|
|
| 123 |
creators.append({
|
| 124 |
"account": account, "name": u.get("name", account), "avatar": u.get("avatarDataUrl", ""),
|
| 125 |
"bannerUrl": u.get("bannerUrl"), # 🖼️ 个人资料卡背景图
|
| 126 |
-
"shortDesc": u.get("intro") or "
|
| 127 |
"likes": sum(i.get("likes", 0) for i in u_items), "favorites": sum(i.get("favorites", 0) for i in u_items),
|
| 128 |
"downloads": sum(i.get("uses", 0) for i in u_items),
|
|
|
|
|
|
|
| 129 |
"toolsCount": tools_count, "appsCount": apps_count, "followers": len(u.get("followers", [])), "created_at": u.get("created_at", 0),
|
| 130 |
"recent_tips": u.get("tip_history", {}).get(datetime.date.today().strftime("%Y-%m"), 0), # 🚀 新增:本月收益统计
|
| 131 |
"commentsData": comments_db.get(account, []),
|
|
@@ -141,6 +143,8 @@ async def get_creators(sort: str = "downloads", limit: int = 20):
|
|
| 141 |
elif sort == "favorites": creators.sort(key=lambda x: x.get("favorites", 0), reverse=True)
|
| 142 |
elif sort == "downloads": creators.sort(key=lambda x: x.get("downloads", 0), reverse=True)
|
| 143 |
elif sort == "tips": creators.sort(key=lambda x: x.get("recent_tips", 0), reverse=True) # 🚀 新增:按近期打赏排序
|
|
|
|
|
|
|
| 144 |
else: creators.sort(key=lambda x: x.get("created_at", 0), reverse=True)
|
| 145 |
|
| 146 |
return {"status": "success", "data": creators[:limit]}
|
|
|
|
| 123 |
creators.append({
|
| 124 |
"account": account, "name": u.get("name", account), "avatar": u.get("avatarDataUrl", ""),
|
| 125 |
"bannerUrl": u.get("bannerUrl"), # 🖼️ 个人资料卡背景图
|
| 126 |
+
"shortDesc": u.get("intro") or "", "fullDesc": u.get("intro") or "",
|
| 127 |
"likes": sum(i.get("likes", 0) for i in u_items), "favorites": sum(i.get("favorites", 0) for i in u_items),
|
| 128 |
"downloads": sum(i.get("uses", 0) for i in u_items),
|
| 129 |
+
"views": sum(i.get("views", 0) for i in u_items),
|
| 130 |
+
"daily_views": sum(i.get("daily_views", 0) for i in u_items),
|
| 131 |
"toolsCount": tools_count, "appsCount": apps_count, "followers": len(u.get("followers", [])), "created_at": u.get("created_at", 0),
|
| 132 |
"recent_tips": u.get("tip_history", {}).get(datetime.date.today().strftime("%Y-%m"), 0), # 🚀 新增:本月收益统计
|
| 133 |
"commentsData": comments_db.get(account, []),
|
|
|
|
| 143 |
elif sort == "favorites": creators.sort(key=lambda x: x.get("favorites", 0), reverse=True)
|
| 144 |
elif sort == "downloads": creators.sort(key=lambda x: x.get("downloads", 0), reverse=True)
|
| 145 |
elif sort == "tips": creators.sort(key=lambda x: x.get("recent_tips", 0), reverse=True) # 🚀 新增:按近期打赏排序
|
| 146 |
+
elif sort == "views": creators.sort(key=lambda x: x.get("views", 0), reverse=True)
|
| 147 |
+
elif sort == "daily_views": creators.sort(key=lambda x: x.get("daily_views", 0), reverse=True)
|
| 148 |
else: creators.sort(key=lambda x: x.get("created_at", 0), reverse=True)
|
| 149 |
|
| 150 |
return {"status": "success", "data": creators[:limit]}
|
router_posts.py
CHANGED
|
@@ -28,6 +28,7 @@ async def get_posts(page: int = 1, limit: int = 20, sort: str = "latest"):
|
|
| 28 |
- sort=favorites: 按收藏数降序
|
| 29 |
- sort=views: 按总访问量降序
|
| 30 |
- sort=daily_views: 按日访问量降序
|
|
|
|
| 31 |
"""
|
| 32 |
posts_db = db.load_data("posts.json", default_data=[])
|
| 33 |
users_db = db.load_data("users.json", default_data={})
|
|
@@ -47,6 +48,8 @@ async def get_posts(page: int = 1, limit: int = 20, sort: str = "latest"):
|
|
| 47 |
data.sort(key=lambda x: x.get("views", 0), reverse=True)
|
| 48 |
elif sort == "daily_views":
|
| 49 |
data.sort(key=lambda x: x.get("daily_views", 0), reverse=True)
|
|
|
|
|
|
|
| 50 |
else: # latest 或其他默认
|
| 51 |
data.sort(key=lambda x: x.get("created_at", 0), reverse=True)
|
| 52 |
|
|
|
|
| 28 |
- sort=favorites: 按收藏数降序
|
| 29 |
- sort=views: 按总访问量降序
|
| 30 |
- sort=daily_views: 按日访问量降序
|
| 31 |
+
- sort=tips: 按打赏总额降序
|
| 32 |
"""
|
| 33 |
posts_db = db.load_data("posts.json", default_data=[])
|
| 34 |
users_db = db.load_data("users.json", default_data={})
|
|
|
|
| 48 |
data.sort(key=lambda x: x.get("views", 0), reverse=True)
|
| 49 |
elif sort == "daily_views":
|
| 50 |
data.sort(key=lambda x: x.get("daily_views", 0), reverse=True)
|
| 51 |
+
elif sort == "tips":
|
| 52 |
+
data.sort(key=lambda x: sum(t.get("amount", 0) for t in x.get("tip_board", [])), reverse=True)
|
| 53 |
else: # latest 或其他默认
|
| 54 |
data.sort(key=lambda x: x.get("created_at", 0), reverse=True)
|
| 55 |
|