Feat: 后台用户列表增加金币/魅力列,表头支持点击排序(等级/经验/金币/魅力)

This commit is contained in:
2026-02-27 15:31:29 +08:00
parent 6d73e50bff
commit b366c9888f
2 changed files with 50 additions and 6 deletions

View File

@@ -23,7 +23,7 @@ use Illuminate\View\View;
class UserManagerController extends Controller
{
/**
* 显示拥护列表及搜索
* 显示用户列表及搜索(支持按等级/经验/金币/魅力排序)
*/
public function index(Request $request): View
{
@@ -33,13 +33,17 @@ class UserManagerController extends Controller
$query->where('username', 'like', '%'.$request->input('username').'%');
}
// 分页获取用户
$users = $query->orderBy('id', 'desc')->paginate(20);
// 排序:允许的字段白名单,防止 SQL 注入
$sortable = ['user_level', 'exp_num', 'jjb', 'meili', 'id'];
$sortBy = in_array($request->input('sort_by'), $sortable) ? $request->input('sort_by') : 'id';
$sortDir = $request->input('sort_dir') === 'asc' ? 'asc' : 'desc';
$users = $query->orderBy($sortBy, $sortDir)->paginate(20)->withQueryString();
// VIP 等级选项列表(供编辑弹窗使用)
$vipLevels = \App\Models\VipLevel::orderBy('sort_order')->get();
return view('admin.users.index', compact('users', 'vipLevels'));
return view('admin.users.index', compact('users', 'vipLevels', 'sortBy', 'sortDir'));
}
/**