blessing-skin-server/routes/web.php

155 lines
5.9 KiB
PHP
Raw Normal View History

2016-07-21 22:01:57 +08:00
<?php
2016-08-28 10:05:21 +08:00
2019-04-25 13:01:39 +08:00
use App\Http\Middleware;
2016-07-21 22:01:57 +08:00
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
2016-08-28 10:05:21 +08:00
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
2016-07-21 22:01:57 +08:00
|
*/
Route::get('/', 'HomeController@index');
Route::get('/index.php', 'HomeController@index');
Route::get('/locale/{lang}', 'HomeController@locale');
/*
2016-07-21 22:01:57 +08:00
* Auth
*/
Route::group(['prefix' => 'auth'], function () {
Route::group(['middleware' => 'guest'], function () {
Route::view('/login', 'auth.login');
Route::get('/register', 'AuthController@register');
Route::get('/forgot', 'AuthController@forgot');
Route::get('/reset/{uid}', 'AuthController@reset')->name('auth.reset')->middleware('signed');
2016-07-21 22:01:57 +08:00
});
Route::any('/logout', 'AuthController@logout');
Route::any('/captcha', '\Mews\Captcha\CaptchaController@getCaptcha');
2016-07-21 22:01:57 +08:00
Route::post('/login', 'AuthController@handleLogin');
Route::post('/register', 'AuthController@handleRegister');
Route::post('/forgot', 'AuthController@handleForgot');
Route::post('/reset/{uid}', 'AuthController@handleReset')->middleware('signed');
2019-04-25 13:01:39 +08:00
Route::view('/bind', 'auth.bind')->middleware(['authorize', Middleware\EnsureEmailFilled::class]);
Route::post('/bind', 'AuthController@fillEmail')->middleware(['authorize', Middleware\EnsureEmailFilled::class]);
Route::get('/verify/{uid}', 'AuthController@verify')->name('auth.verify')->middleware('signed');
2016-07-21 22:01:57 +08:00
});
/*
2016-07-21 22:01:57 +08:00
* User Center
*/
2019-03-22 21:40:12 +08:00
Route::group([
2019-04-25 13:01:39 +08:00
'middleware' => ['authorize', Middleware\RequireBindPlayer::class],
2019-04-19 19:36:36 +08:00
'prefix' => 'user',
2019-03-22 21:40:12 +08:00
], function () {
Route::any('', 'UserController@index');
Route::get('/score-info', 'UserController@scoreInfo');
Route::post('/sign', 'UserController@sign');
2016-07-21 22:01:57 +08:00
Route::view('/reports', 'user.report');
Route::get('/report-list', 'ReportController@track');
2016-07-21 22:01:57 +08:00
// Profile
Route::get('/profile', 'UserController@profile');
Route::post('/profile', 'UserController@handleProfile');
Route::post('/profile/avatar', 'UserController@setAvatar');
2016-07-21 22:01:57 +08:00
2018-08-17 12:32:44 +08:00
// Email Verification
Route::post('/email-verification', 'UserController@sendVerificationEmail');
2018-08-17 12:32:44 +08:00
2016-07-21 22:01:57 +08:00
// Player
2018-08-17 12:32:44 +08:00
Route::group(['prefix' => 'player', 'middleware' => 'verified'], function () {
Route::any('', 'PlayerController@index');
Route::get('/list', 'PlayerController@listAll');
Route::post('/add', 'PlayerController@add');
2019-04-24 13:10:03 +08:00
Route::post('/set/{pid}', 'PlayerController@setTexture');
Route::post('/texture/clear/{pid}', 'PlayerController@clearTexture');
Route::post('/rename/{pid}', 'PlayerController@rename');
Route::post('/delete/{pid}', 'PlayerController@delete');
2019-03-22 21:40:12 +08:00
Route::view('/bind', 'user.bind');
Route::post('/bind', 'PlayerController@bind');
2018-08-17 12:32:44 +08:00
});
2016-07-21 22:01:57 +08:00
// Closet
Route::get('/closet', 'ClosetController@index');
Route::get('/closet-data', 'ClosetController@getClosetData');
Route::post('/closet/add', 'ClosetController@add');
2019-04-28 11:38:38 +08:00
Route::post('/closet/remove/{tid}', 'ClosetController@remove');
Route::post('/closet/rename/{tid}', 'ClosetController@rename');
2019-04-25 23:24:24 +08:00
// OAuth2 Management
Route::view('/oauth/manage', 'user.oauth');
2016-07-21 22:01:57 +08:00
});
/*
2016-07-21 22:01:57 +08:00
* Skin Library
*/
Route::group(['prefix' => 'skinlib'], function () {
Route::get('', 'SkinlibController@index');
Route::any('/info/{tid}', 'SkinlibController@info');
Route::any('/show/{tid}', 'SkinlibController@show');
Route::any('/data', 'SkinlibController@getSkinlibFiltered');
2019-04-25 13:01:39 +08:00
Route::group([
'middleware' => ['authorize', 'verified']
], function () {
Route::get('/upload', 'SkinlibController@upload');
Route::post('/upload', 'SkinlibController@handleUpload');
Route::post('/model', 'SkinlibController@model');
Route::post('/rename', 'SkinlibController@rename');
Route::post('/privacy', 'SkinlibController@privacy');
Route::post('/delete', 'SkinlibController@delete');
Route::post('/report', 'ReportController@submit');
2016-07-21 22:01:57 +08:00
});
});
/*
2016-07-22 19:36:24 +08:00
* Admin Panel
*/
2019-04-25 13:01:39 +08:00
Route::group(['middleware' => ['authorize', 'admin'], 'prefix' => 'admin'], function () {
2019-03-19 19:16:03 +08:00
Route::view('/', 'admin.index');
Route::get('/chart', 'AdminController@chartData');
2016-07-22 19:36:24 +08:00
Route::any('/customize', 'AdminController@customize');
Route::any('/score', 'AdminController@score');
Route::any('/options', 'AdminController@options');
2019-03-20 10:01:42 +08:00
Route::any('/resource', 'AdminController@resource');
Route::view('/users', 'admin.users');
Route::post('/users', 'AdminController@userAjaxHandler');
Route::any('/user-data', 'AdminController@getUserData');
2016-12-31 13:07:00 +08:00
Route::view('/players', 'admin.players');
Route::post('/players', 'AdminController@playerAjaxHandler');
Route::any('/player-data', 'AdminController@getPlayerData');
Route::view('/reports', 'admin.reports');
Route::post('/reports', 'ReportController@review');
Route::any('/report-data', 'ReportController@manage');
2016-12-17 19:52:59 +08:00
Route::group(['prefix' => 'plugins', 'middleware' => 'super-admin'], function () {
Route::get('/data', 'PluginController@getPluginData');
2017-01-17 21:41:20 +08:00
Route::view('/manage', 'admin.plugins');
2017-01-17 21:41:20 +08:00
Route::post('/manage', 'PluginController@manage');
Route::any('/config/{name}', 'PluginController@config');
2018-08-19 11:39:14 +08:00
Route::view('/market', 'admin.market');
Route::get('/market-data', 'MarketController@marketData');
Route::get('/market/check', 'MarketController@checkUpdates');
2018-08-19 11:39:14 +08:00
Route::post('/market/download', 'MarketController@download');
2016-12-17 19:52:59 +08:00
});
Route::group(['prefix' => 'update', 'middleware' => 'super-admin'], function () {
Route::any('', 'UpdateController@showUpdatePage');
Route::get('/check', 'UpdateController@checkUpdates');
Route::any('/download', 'UpdateController@download');
2016-12-17 19:52:59 +08:00
});
2016-07-22 19:36:24 +08:00
});