From 42091bc7e5a88d0a819c7c0e35b5be67a2122723 Mon Sep 17 00:00:00 2001 From: zzlgreat Date: Thu, 18 Dec 2025 16:41:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0Company=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E7=9A=84UI=E4=B8=BAFUI=E9=A3=8E=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/app.py b/app.py index 02d251d2..022ca203 100755 --- a/app.py +++ b/app.py @@ -10600,13 +10600,23 @@ def api_get_events(): query = query.order_by(order_func(Event.hot_score)) elif sort_by == 'new': query = query.order_by(order_func(Event.created_at)) - elif sort_by == 'returns': - if return_type == 'avg': + elif sort_by == 'returns' or sort_by.startswith('returns_'): + # 支持两种格式: + # 1. sort=returns + return_type=avg/max/week + # 2. sort=returns_avg / sort=returns_max / sort=returns_week + effective_return_type = return_type + if sort_by.startswith('returns_'): + effective_return_type = sort_by.replace('returns_', '') + + if effective_return_type == 'avg': query = query.order_by(order_func(Event.related_avg_chg)) - elif return_type == 'max': + elif effective_return_type == 'max': query = query.order_by(order_func(Event.related_max_chg)) - elif return_type == 'week': + elif effective_return_type == 'week': query = query.order_by(order_func(Event.related_week_chg)) + else: + # 默认按平均收益排序 + query = query.order_by(order_func(Event.related_avg_chg)) elif sort_by == 'importance': importance_order = case( (Event.importance == 'S', 1),