modularize routes

This commit is contained in:
printempw 2016-10-03 21:44:26 +08:00
parent f0532dcc6c
commit 41e0a628d6
4 changed files with 70 additions and 38 deletions

View File

@ -33,8 +33,8 @@ class Kernel extends HttpKernel
//\App\Http\Middleware\VerifyCsrfToken::class,
],
'api' => [
'throttle:60,1',
'static' => [
\App\Http\Middleware\Internationalization::class,
],
];
@ -46,10 +46,9 @@ class Kernel extends HttpKernel
* @var array
*/
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'auth' => \App\Http\Middleware\CheckAuthenticated::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'admin' => \App\Http\Middleware\CheckAdminMiddleware::class,
'player' => \App\Http\Middleware\CheckPlayerExistMiddleware::class
];
}

View File

@ -0,0 +1,37 @@
<?php
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| 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.
|
*/
/**
* Resources
*/
Route::group(['middleware' => 'player'], function()
{
// Json profile
Route::get('/{player_name}.json', 'TextureController@json');
Route::get('/{api}/{player_name}.json', 'TextureController@jsonWithApi')->where('api', 'usm|csl');
// Legacy links
Route::get('/skin/{player_name}.png', 'TextureController@skin');
Route::get('/skin/{model}/{pname}.png', 'TextureController@skinWithModel');
Route::get('/cape/{player_name}.png', 'TextureController@cape');
});
Route::get('/textures/{hash}', 'TextureController@texture');
Route::get('/{api}/textures/{hash}', 'TextureController@textureWithApi')->where('api', 'usm|csl');
Route::get('/avatar/{base64_email}.png', 'TextureController@avatar');
Route::get('/avatar/{size}/{base64_email}.png', 'TextureController@avatarWithSize');
Route::get('/raw/{tid}.png', 'TextureController@raw');
Route::get('/preview/{tid}.png', 'TextureController@preview');
Route::get('/preview/{size}/{tid}.png', 'TextureController@previewWithSize');

View File

@ -21,7 +21,7 @@ Route::get('/locale/{lang}', 'HomeController@locale');
*/
Route::group(['prefix' => 'auth'], function()
{
Route::group(['middleware' => 'App\Http\Middleware\RedirectIfAuthenticated'], function()
Route::group(['middleware' => 'guest'], function()
{
Route::get ('/login', 'AuthController@login');
Route::get ('/register', 'AuthController@register');
@ -42,7 +42,7 @@ Route::group(['prefix' => 'auth'], function()
/**
* User Center
*/
Route::group(['middleware' => 'App\Http\Middleware\CheckAuthenticated', 'prefix' => 'user'], function()
Route::group(['middleware' => 'auth', 'prefix' => 'user'], function()
{
Route::any ('', 'UserController@index');
Route::any ('/checkin', 'UserController@checkIn');
@ -81,7 +81,7 @@ Route::group(['prefix' => 'skinlib'], function()
Route::any ('/show', 'SkinlibController@show');
Route::any ('/search', 'SkinlibController@search');
Route::group(['middleware' => 'App\Http\Middleware\CheckAuthenticated'], function()
Route::group(['middleware' => 'auth'], function()
{
Route::get ('/upload', 'SkinlibController@upload');
Route::post('/upload', 'SkinlibController@handleUpload');
@ -95,7 +95,7 @@ Route::group(['prefix' => 'skinlib'], function()
/**
* Admin Panel
*/
Route::group(['middleware' => 'App\Http\Middleware\CheckAdminMiddleware', 'prefix' => 'admin'], function()
Route::group(['middleware' => 'admin', 'prefix' => 'admin'], function()
{
Route::get('/', 'AdminController@index');
@ -110,28 +110,3 @@ Route::group(['middleware' => 'App\Http\Middleware\CheckAdminMiddleware', 'prefi
Route::post('/users', 'AdminController@userAjaxHandler');
Route::post('/players', 'AdminController@playerAjaxHandler');
});
/**
* Resources
*/
Route::group(['middleware' => 'App\Http\Middleware\CheckPlayerExistMiddleware'], function()
{
// Json profile
Route::get('/{player_name}.json', 'TextureController@json');
Route::get('/{api}/{player_name}.json', 'TextureController@jsonWithApi')->where('api', 'usm|csl');
// Legacy links
Route::get('/skin/{player_name}.png', 'TextureController@skin');
Route::get('/skin/{model}/{pname}.png', 'TextureController@skinWithModel');
Route::get('/cape/{player_name}.png', 'TextureController@cape');
});
Route::get('/textures/{hash}', 'TextureController@texture');
Route::get('/{api}/textures/{hash}', 'TextureController@textureWithApi')->where('api', 'usm|csl');
Route::get('/avatar/{base64_email}.png', 'TextureController@avatar');
Route::get('/avatar/{size}/{base64_email}.png', 'TextureController@avatarWithSize');
Route::get('/raw/{tid}.png', 'TextureController@raw');
Route::get('/preview/{tid}.png', 'TextureController@preview');
Route::get('/preview/{size}/{tid}.png', 'TextureController@previewWithSize');

View File

@ -37,6 +37,8 @@ class RouteServiceProvider extends ServiceProvider
*/
public function map(Router $router)
{
$this->mapStaticRoutes($router);
$this->mapWebRoutes($router);
//
@ -53,9 +55,28 @@ class RouteServiceProvider extends ServiceProvider
protected function mapWebRoutes(Router $router)
{
$router->group([
'namespace' => $this->namespace, 'middleware' => 'web',
'middleware' => 'web',
'namespace' => $this->namespace,
], function ($router) {
require app_path('Http/routes.php');
require app_path('Http/Routes/web.php');
});
}
/**
* Define the "api" routes for the application.
*
* These routes are typically stateless.
*
* @param \Illuminate\Routing\Router $router
* @return void
*/
protected function mapStaticRoutes(Router $router)
{
$router->group([
'middleware' => 'static',
'namespace' => $this->namespace,
], function ($router) {
require app_path('Http/Routes/static.php');
});
}
}