From b72330342b4366e75085cad6cd64178053f6909f Mon Sep 17 00:00:00 2001 From: lkddi Date: Fri, 27 Feb 2026 00:36:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E6=8E=92=E8=A1=8C?= =?UTF-8?q?=E6=A6=9C=E6=98=BE=E7=A4=BA=E4=BA=BA=E6=95=B0=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E5=90=8E=E5=8F=B0=E5=8F=AF=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 sysparam leaderboard_limit 配置项,默认 20 - 后台修改后清缓存即可生效 --- .../Controllers/LeaderboardController.php | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/LeaderboardController.php b/app/Http/Controllers/LeaderboardController.php index 463280a..5924815 100644 --- a/app/Http/Controllers/LeaderboardController.php +++ b/app/Http/Controllers/LeaderboardController.php @@ -29,47 +29,50 @@ class LeaderboardController extends Controller // 管理员等级阈值,排行榜中隐藏管理员 $superLevel = (int) \App\Models\Sysparam::getValue('superlevel', '100'); + // 排行榜显示人数(后台可配置) + $topN = (int) \App\Models\Sysparam::getValue('leaderboard_limit', '20'); + // 1. 境界榜 (以 user_level 为尊) - $topLevels = Cache::remember('leaderboard:top_levels', $ttl, function () use ($superLevel) { + $topLevels = Cache::remember('leaderboard:top_levels', $ttl, function () use ($superLevel, $topN) { return User::select('id', 'username', 'usersf', 'user_level', 'sex') ->where('user_level', '>', 0) ->where('user_level', '<', $superLevel) ->orderByDesc('user_level') ->orderBy('id') - ->limit(20) + ->limit($topN) ->get(); }); // 2. 修为榜 (以 exp_num 为尊) - $topExp = Cache::remember('leaderboard:top_exp', $ttl, function () use ($superLevel) { + $topExp = Cache::remember('leaderboard:top_exp', $ttl, function () use ($superLevel, $topN) { return User::select('id', 'username', 'usersf', 'exp_num', 'sex', 'user_level') ->where('exp_num', '>', 0) ->where('user_level', '<', $superLevel) ->orderByDesc('exp_num') ->orderBy('id') - ->limit(20) + ->limit($topN) ->get(); }); // 3. 财富榜 (以 jjb-交友币 为尊) - $topWealth = Cache::remember('leaderboard:top_wealth', $ttl, function () use ($superLevel) { + $topWealth = Cache::remember('leaderboard:top_wealth', $ttl, function () use ($superLevel, $topN) { return User::select('id', 'username', 'usersf', 'jjb', 'sex', 'user_level') ->where('jjb', '>', 0) ->where('user_level', '<', $superLevel) ->orderByDesc('jjb') ->orderBy('id') - ->limit(20) + ->limit($topN) ->get(); }); // 4. 魅力榜 (以 meili 为尊) - $topCharm = Cache::remember('leaderboard:top_charm', $ttl, function () use ($superLevel) { + $topCharm = Cache::remember('leaderboard:top_charm', $ttl, function () use ($superLevel, $topN) { return User::select('id', 'username', 'usersf', 'meili', 'sex', 'user_level') ->where('meili', '>', 0) ->where('user_level', '<', $superLevel) ->orderByDesc('meili') ->orderBy('id') - ->limit(20) + ->limit($topN) ->get(); });