app.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <?php
  2. require_once __DIR__.'/../vendor/autoload.php';
  3. (new Laravel\Lumen\Bootstrap\LoadEnvironmentVariables(
  4. dirname(__DIR__)
  5. ))->bootstrap();
  6. /*
  7. |--------------------------------------------------------------------------
  8. | Create The Application
  9. |--------------------------------------------------------------------------
  10. |
  11. | Here we will load the environment and create the application instance
  12. | that serves as the central piece of this framework. We'll use this
  13. | application as an "IoC" container and router for this framework.
  14. |
  15. */
  16. $app = new Laravel\Lumen\Application(
  17. dirname(__DIR__)
  18. );
  19. $app->withFacades();
  20. $app->withEloquent();
  21. $app->configure('auth');
  22. $app->configure('jwt');
  23. $app->configure('wechat');
  24. /*
  25. |--------------------------------------------------------------------------
  26. | Register Container Bindings
  27. |--------------------------------------------------------------------------
  28. |
  29. | Now we will register a few bindings in the service container. We will
  30. | register the exception handler and the console kernel. You may add
  31. | your own bindings here if you like or you can make another file.
  32. |
  33. */
  34. $app->singleton(
  35. Illuminate\Contracts\Debug\ExceptionHandler::class,
  36. App\Exceptions\Handler::class
  37. );
  38. $app->singleton(
  39. Illuminate\Contracts\Console\Kernel::class,
  40. App\Console\Kernel::class
  41. );
  42. /*
  43. |--------------------------------------------------------------------------
  44. | Register Middleware
  45. |--------------------------------------------------------------------------
  46. |
  47. | Next, we will register the middleware with the application. These can
  48. | be global middleware that run before and after each request into a
  49. | route or middleware that'll be assigned to some specific routes.
  50. |
  51. */
  52. $app->middleware([
  53. // App\Http\Middleware\ExampleMiddleware::class
  54. Barryvdh\Cors\HandleCors::class,
  55. ]);
  56. $app->routeMiddleware([
  57. 'auth' => App\Http\Middleware\Authenticate::class,
  58. 'jwt.auth' => Tymon\JWTAuth\Middleware\GetUserFromToken::class,
  59. 'jwt.refresh' => Tymon\JWTAuth\Middleware\RefreshToken::class,
  60. 'refresh.token' => App\Http\Middleware\RefreshToken::class,
  61. 'adminRefresh.token' => App\Http\Middleware\AdminRefreshToken::class,
  62. 'cors' => Barryvdh\Cors\HandleCors::class,
  63. ]);
  64. /*
  65. |--------------------------------------------------------------------------
  66. | Register Service Providers
  67. |--------------------------------------------------------------------------
  68. |
  69. | Here we will register all of the application's service providers which
  70. | are used to bind services into the container. Service providers are
  71. | totally optional, so you are not required to uncomment this line.
  72. |
  73. */
  74. $app->register(Dingo\Api\Provider\LumenServiceProvider::class);
  75. $app->register(App\Providers\AppServiceProvider::class);
  76. $app->register(App\Providers\AuthServiceProvider::class);
  77. // $app->register(App\Providers\EventServiceProvider::class);
  78. $app->register(Tymon\JWTAuth\Providers\LumenServiceProvider::class);
  79. $app->register(Maatwebsite\Excel\ExcelServiceProvider::class);
  80. $app->register(Barryvdh\Cors\ServiceProvider::class);
  81. /*
  82. |--------------------------------------------------------------------------
  83. | Load The Application Routes
  84. |--------------------------------------------------------------------------
  85. |
  86. | Next we will include the routes file so that they can all be added to
  87. | the application. This will provide all of the URLs the application
  88. | can respond to, as well as the controllers that may handle them.
  89. |
  90. */
  91. $app->configure('auth');
  92. $app->router->group([
  93. 'namespace' => 'App\Http\Controllers',
  94. ], function ($router) {
  95. require __DIR__.'/../routes/web.php';
  96. });
  97. //$app->router->group([
  98. // 'namespace' => 'App\Http\Controllers\Admin',
  99. //], function ($router) {
  100. // require __DIR__.'/../routes/api.php';
  101. //});
  102. return $app;