route('rooms.index'); } return view('index'); // 指向 resources/views/index.blade.php })->name('home'); // 处理登录/自动注册请求 Route::post('/login', [AuthController::class, 'login'])->name('login.post'); // 处理退出登录 Route::post('/logout', [AuthController::class, 'logout'])->name('logout'); // 聊天室系统内部路由 (需要鉴权) Route::middleware(['chat.auth'])->group(function () { // ---- 第六阶段:大厅与房间管理 ---- Route::get('/rooms', [RoomController::class, 'index'])->name('rooms.index'); Route::post('/rooms', [RoomController::class, 'store'])->name('rooms.store'); Route::put('/rooms/{id}', [RoomController::class, 'update'])->name('rooms.update'); Route::delete('/rooms/{id}', [RoomController::class, 'destroy'])->name('rooms.destroy'); Route::post('/rooms/{id}/transfer', [RoomController::class, 'transfer'])->name('rooms.transfer'); // ---- 第九阶段:外围矩阵 - 风云排行榜 ---- Route::get('/leaderboard', [\App\Http\Controllers\LeaderboardController::class, 'index'])->name('leaderboard.index'); // ---- 第十阶段:站内信与留言板系统 ---- Route::get('/guestbook', [\App\Http\Controllers\GuestbookController::class, 'index'])->name('guestbook.index'); Route::post('/guestbook', [\App\Http\Controllers\GuestbookController::class, 'store'])->middleware('throttle:10,1')->name('guestbook.store'); Route::delete('/guestbook/{id}', [\App\Http\Controllers\GuestbookController::class, 'destroy'])->name('guestbook.destroy'); // ---- 第七阶段:用户资料与特权管理 ---- Route::get('/user/{username}', [UserController::class, 'show'])->name('user.show'); Route::put('/user/profile', [UserController::class, 'updateProfile'])->name('user.update_profile'); Route::put('/user/password', [UserController::class, 'changePassword'])->name('user.update_password'); Route::post('/user/{username}/kick', [UserController::class, 'kick'])->name('user.kick'); Route::post('/user/{username}/mute', [UserController::class, 'mute'])->name('user.mute'); // ---- 第五阶段:具体房间内部聊天核心 ---- // 进入具体房间界面的初始化 Route::get('/room/{id}', [ChatController::class, 'init'])->name('chat.room'); // 发送消息 Route::post('/room/{id}/send', [ChatController::class, 'send'])->name('chat.send'); // 挂机心跳存点 (限制每分钟最多调用 2 次防止挂机脚本当作 DDOS) Route::post('/room/{id}/heartbeat', [ChatController::class, 'heartbeat']) ->middleware('throttle:2,1') ->name('chat.heartbeat'); // 退出房间 Route::post('/room/{id}/leave', [ChatController::class, 'leave'])->name('chat.leave'); }); // 强力特权层中间件:同时验证 chat.auth 登录态 和 chat.level:15 特权 Route::middleware(['chat.auth', 'chat.level:15'])->prefix('admin')->name('admin.')->group(function () { // 后台首页概览 Route::get('/', [\App\Http\Controllers\Admin\DashboardController::class, 'index'])->name('dashboard'); // 系统参数配置 (替代 VIEWSYS.ASP / SetSYS.ASP) Route::get('/system', [\App\Http\Controllers\Admin\SystemController::class, 'edit'])->name('system.edit'); Route::put('/system', [\App\Http\Controllers\Admin\SystemController::class, 'update'])->name('system.update'); // 用户大盘管理 (替代 gl/ 目录下的各种用户管理功能) Route::get('/users', [\App\Http\Controllers\Admin\UserManagerController::class, 'index'])->name('users.index'); Route::put('/users/{id}', [\App\Http\Controllers\Admin\UserManagerController::class, 'update'])->name('users.update'); Route::delete('/users/{id}', [\App\Http\Controllers\Admin\UserManagerController::class, 'destroy'])->name('users.destroy'); // 物理封杀 // 特殊高危操作日志与运维工具 (选做或简易实现 SQL.ASP) Route::get('/sql', [\App\Http\Controllers\Admin\SqlController::class, 'index'])->name('sql.index'); Route::post('/sql', [\App\Http\Controllers\Admin\SqlController::class, 'execute'])->name('sql.execute'); // ⚠ 强烈限制为纯 SELECT 查询 });