32 changed files with 3515 additions and 2 deletions
@ -0,0 +1,27 @@ |
|||||
|
<?php |
||||
|
return [ |
||||
|
'ueditor' => [ |
||||
|
'imported' => true, |
||||
|
'imported_at' => '2020-08-10 15:00:05', |
||||
|
'enable' => true, |
||||
|
], |
||||
|
'iframe-tabs' => [ |
||||
|
'enable' => false, |
||||
|
'imported' => true, |
||||
|
'imported_at' => '2020-10-19 16:37:52', |
||||
|
'home_action' => 'App\Admin\Controllers\HomeController@index', |
||||
|
'home_title' => 'Home', |
||||
|
'home_icon' => 'fa-home', |
||||
|
'use_icon' => true, |
||||
|
'tabs_css' => 'vendor/laravel-admin-ext/iframe-tabs/dashboard.css', |
||||
|
'layer_path' => 'vendor/laravel-admin-ext/iframe-tabs/layer/layer.js', |
||||
|
'pass_urls' => [ |
||||
|
0 => '/auth/logout', |
||||
|
1 => '/auth/lock', |
||||
|
], |
||||
|
'force_login_in_top' => true, |
||||
|
'tabs_left' => 42, |
||||
|
'bind_urls' => 'popup', |
||||
|
'bind_selecter' => 'a.grid-row-view,a.grid-row-edit,.column-__actions__ ul.dropdown-menu a,.box-header .pull-right .btn-success,.popup', |
||||
|
], |
||||
|
]; |
||||
@ -0,0 +1,392 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
'multi_app' => [ |
||||
|
// 与新应用的配置文件名称一致 |
||||
|
// 设置为true启用,false则是停用 |
||||
|
|
||||
|
'block-control' => true, |
||||
|
|
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin name |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This value is the name of dcat-admin, This setting is displayed on the |
||||
|
| login page. |
||||
|
| |
||||
|
*/ |
||||
|
'name' => 'FineX', |
||||
|
|
||||
|
'lang' => 'zh-CN', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin logo |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| The logo of all admin pages. You can also set it as an image by using a |
||||
|
| `img` tag, eg '<img src="http://logo-url" alt="Admin logo">'. |
||||
|
| |
||||
|
*/ |
||||
|
'logo' => '<img src="/vendors/dcat-admin/images/logo.png" width="35"> FineX', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin mini logo |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| The logo of all admin pages when the sidebar menu is collapsed. You can |
||||
|
| also set it as an image by using a `img` tag, eg |
||||
|
| '<img src="http://logo-url" alt="Admin logo">'. |
||||
|
| |
||||
|
*/ |
||||
|
'logo-mini' => '<img src="/vendors/dcat-admin/images/logo.png">', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| User default avatar |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Set a default avatar for newly created users. |
||||
|
| |
||||
|
*/ |
||||
|
'default_avatar' => '@admin/images/default-avatar.jpg', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin route settings |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| The routing configuration of the admin page, including the path prefix, |
||||
|
| the controller namespace, and the default middleware. If you want to |
||||
|
| access through the root path, just set the prefix to empty string. |
||||
|
| |
||||
|
*/ |
||||
|
'route' => [ |
||||
|
|
||||
|
'prefix' => env('ADMIN_ROUTE_PREFIX', 'admin'), |
||||
|
|
||||
|
'namespace' => 'App\\Admin\\Controllers', |
||||
|
|
||||
|
'middleware' => ['web', 'admin'], |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin install directory |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| The installation directory of the controller and routing configuration |
||||
|
| files of the administration page. The default is `app/Admin`, which must |
||||
|
| be set before running `artisan admin::install` to take effect. |
||||
|
| |
||||
|
*/ |
||||
|
'directory' => app_path('Admin'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin html title |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Html title for all pages. |
||||
|
| |
||||
|
*/ |
||||
|
'title' => '总后台', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Assets hostname |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
*/ |
||||
|
'assets_server' => env('ADMIN_ASSETS_SERVER'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Access via `https` |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| If your page is going to be accessed via https, set it to `true`. |
||||
|
| |
||||
|
*/ |
||||
|
'https' => env('ADMIN_HTTPS', false), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin auth setting |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Authentication settings for all admin pages. Include an authentication |
||||
|
| guard and a user provider setting of authentication driver. |
||||
|
| |
||||
|
| You can specify a controller for `login` `logout` and other auth routes. |
||||
|
| |
||||
|
*/ |
||||
|
'auth' => [ |
||||
|
'enable' => true, |
||||
|
|
||||
|
'controller' => App\Admin\Controllers\AuthController::class, |
||||
|
|
||||
|
'guard' => 'admin', |
||||
|
|
||||
|
'guards' => [ |
||||
|
'admin' => [ |
||||
|
'driver' => 'session', |
||||
|
'provider' => 'admin', |
||||
|
], |
||||
|
], |
||||
|
|
||||
|
'providers' => [ |
||||
|
'admin' => [ |
||||
|
'driver' => 'eloquent', |
||||
|
'model' => Dcat\Admin\Models\Administrator::class, |
||||
|
], |
||||
|
], |
||||
|
|
||||
|
// Add "remember me" to login form |
||||
|
'remember' => true, |
||||
|
|
||||
|
// All method to path like: auth/users/*/edit |
||||
|
// or specific method to path like: get:auth/users. |
||||
|
'except' => [ |
||||
|
'auth/login', |
||||
|
'auth/logout', |
||||
|
'kline', |
||||
|
'generateKline', |
||||
|
'getKlineConfig', |
||||
|
], |
||||
|
|
||||
|
], |
||||
|
|
||||
|
'grid' => [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| The global Grid action display class. |
||||
|
|-------------------------------------------------------------------------- |
||||
|
*/ |
||||
|
// 'grid_action_class' => Dcat\Admin\Grid\Displayers\DropdownActions::class, |
||||
|
'grid_action_class' => Dcat\Admin\Grid\Displayers\Actions::class, |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin helpers setting. |
||||
|
|-------------------------------------------------------------------------- |
||||
|
*/ |
||||
|
'helpers' => [ |
||||
|
'enable' => false, |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin permission setting |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Permission settings for all admin pages. |
||||
|
| |
||||
|
*/ |
||||
|
'permission' => [ |
||||
|
// Whether enable permission. |
||||
|
'enable' => true, |
||||
|
|
||||
|
// All method to path like: auth/users/*/edit |
||||
|
// or specific method to path like: get:auth/users. |
||||
|
'except' => [ |
||||
|
'/', |
||||
|
'dashboard', |
||||
|
'api/agents', |
||||
|
'auth/login', |
||||
|
'auth/logout', |
||||
|
'auth/setting', |
||||
|
'kline', |
||||
|
'generateKline', |
||||
|
'getKlineConfig', |
||||
|
], |
||||
|
|
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin menu setting |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
*/ |
||||
|
'menu' => [ |
||||
|
'cache' => [ |
||||
|
// enable cache or not |
||||
|
'enable' => false, |
||||
|
'store' => 'file', |
||||
|
], |
||||
|
|
||||
|
// Whether enable menu bind to a permission. |
||||
|
'bind_permission' => true, |
||||
|
|
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin upload setting |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| File system configuration for form upload files and images, including |
||||
|
| disk and upload path. |
||||
|
| |
||||
|
*/ |
||||
|
'upload' => [ |
||||
|
|
||||
|
// Disk in `config/filesystem.php`. |
||||
|
'disk' => 'admin', |
||||
|
|
||||
|
// Image and file upload path under the disk above. |
||||
|
'directory' => [ |
||||
|
'image' => 'images', |
||||
|
'file' => 'files', |
||||
|
], |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin database settings |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here are database settings for dcat-admin builtin model & tables. |
||||
|
| |
||||
|
*/ |
||||
|
'database' => [ |
||||
|
|
||||
|
// Database connection for following tables. |
||||
|
'connection' => '', |
||||
|
|
||||
|
// User tables and model. |
||||
|
'users_table' => 'admin_users', |
||||
|
'users_model' => Dcat\Admin\Models\Administrator::class, |
||||
|
|
||||
|
// Role table and model. |
||||
|
'roles_table' => 'admin_roles', |
||||
|
'roles_model' => Dcat\Admin\Models\Role::class, |
||||
|
|
||||
|
// Permission table and model. |
||||
|
'permissions_table' => 'admin_permissions', |
||||
|
'permissions_model' => Dcat\Admin\Models\Permission::class, |
||||
|
|
||||
|
// Menu table and model. |
||||
|
'menu_table' => 'admin_menu', |
||||
|
'menu_model' => Dcat\Admin\Models\Menu::class, |
||||
|
|
||||
|
// Pivot table for table above. |
||||
|
'operation_log_table' => 'admin_operation_log', |
||||
|
'role_users_table' => 'admin_role_users', |
||||
|
'role_permissions_table' => 'admin_role_permissions', |
||||
|
'role_menu_table' => 'admin_role_menu', |
||||
|
'permission_menu_table' => 'admin_permission_menu', |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| User operation log setting |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| By setting this option to open or close operation log in dcat-admin. |
||||
|
| |
||||
|
*/ |
||||
|
'operation_log' => [ |
||||
|
|
||||
|
'enable' => true, |
||||
|
|
||||
|
// Only logging allowed methods in the list |
||||
|
'allowed_methods' => ['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'CONNECT', 'OPTIONS', 'TRACE', 'PATCH'], |
||||
|
|
||||
|
'secret_fields' => [ |
||||
|
'password', |
||||
|
'password_confirmation', |
||||
|
], |
||||
|
|
||||
|
// Routes that will not log to database. |
||||
|
// All method to path like: auth/logs/*/edit |
||||
|
// or specific method to path like: get:auth/logs. |
||||
|
'except' => [ |
||||
|
'auth/logs*', |
||||
|
], |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Admin map field provider |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Supported: "tencent", "google", "yandex". |
||||
|
| |
||||
|
*/ |
||||
|
'map_provider' => 'google', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Application layout |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This value is the layout of admin pages. |
||||
|
*/ |
||||
|
'layout' => [ |
||||
|
// indigo, blue, blue-light, blue-dark, green |
||||
|
'color' => 'indigo', |
||||
|
|
||||
|
// 'body_class' => 'dark-mode', |
||||
|
'body_class' => '', |
||||
|
|
||||
|
'sidebar_collapsed' => false, |
||||
|
|
||||
|
'sidebar_dark' => false, |
||||
|
|
||||
|
'dark_mode_switch' => true, |
||||
|
|
||||
|
// bg-primary, bg-info, bg-warning, bg-success, bg-danger, bg-dark |
||||
|
'navbar_color' => '', |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| The exception handler class |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
*/ |
||||
|
'exception_handler' => \Dcat\Admin\Exception\Handler::class, |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Enable default breadcrumb |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Whether enable default breadcrumb for every page content. |
||||
|
*/ |
||||
|
'enable_default_breadcrumb' => true, |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Extension Directory |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| When you use command `php artisan admin:extend` to generate extensions, |
||||
|
| the extension files will be generated in this directory. |
||||
|
*/ |
||||
|
'extension_dir' => app_path('Admin/Extensions'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Settings for extensions. |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| You can find all available extensions here |
||||
|
| https://github.com/dcat-admin-extensions. |
||||
|
| |
||||
|
*/ |
||||
|
'extensions' => [ |
||||
|
'ueditor' => [ |
||||
|
'disk' => 'admin', |
||||
|
], |
||||
|
], |
||||
|
]; |
||||
@ -0,0 +1,232 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Standards Tree |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Versioning an API with Dingo revolves around content negotiation and |
||||
|
| custom MIME types. A custom type will belong to one of three |
||||
|
| standards trees, the Vendor tree (vnd), the Personal tree |
||||
|
| (prs), and the Unregistered tree (x). |
||||
|
| |
||||
|
| By default the Unregistered tree (x) is used, however, should you wish |
||||
|
| to you can register your type with the IANA. For more details: |
||||
|
| https://tools.ietf.org/html/rfc6838 |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'standardsTree' => env('API_STANDARDS_TREE', 'x'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| API Subtype |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Your subtype will follow the standards tree you use when used in the |
||||
|
| "Accept" header to negotiate the content type and version. |
||||
|
| |
||||
|
| For example: Accept: application/x.SUBTYPE.v1+json |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'subtype' => env('API_SUBTYPE', ''), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Default API Version |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This is the default version when strict mode is disabled and your API |
||||
|
| is accessed via a web browser. It's also used as the default version |
||||
|
| when generating your APIs documentation. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'version' => env('API_VERSION', 'v1'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Default API Prefix |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| A default prefix to use for your API routes so you don't have to |
||||
|
| specify it for each group. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'prefix' => env('API_PREFIX', null), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Default API Domain |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| A default domain to use for your API routes so you don't have to |
||||
|
| specify it for each group. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'domain' => env('API_DOMAIN', null), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Name |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| When documenting your API using the API Blueprint syntax you can |
||||
|
| configure a default name to avoid having to manually specify |
||||
|
| one when using the command. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'name' => env('API_NAME', null), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Conditional Requests |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Globally enable conditional requests so that an ETag header is added to |
||||
|
| any successful response. Subsequent requests will perform a check and |
||||
|
| will return a 304 Not Modified. This can also be enabled or disabled |
||||
|
| on certain groups or routes. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'conditionalRequest' => env('API_CONDITIONAL_REQUEST', true), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Strict Mode |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Enabling strict mode will require clients to send a valid Accept header |
||||
|
| with every request. This also voids the default API version, meaning |
||||
|
| your API will not be browsable via a web browser. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'strict' => env('API_STRICT', false), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Debug Mode |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Enabling debug mode will result in error responses caused by thrown |
||||
|
| exceptions to have a "debug" key that will be populated with |
||||
|
| more detailed information on the exception. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'debug' => env('API_DEBUG', false), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Generic Error Format |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| When some HTTP exceptions are not caught and dealt with the API will |
||||
|
| generate a generic error response in the format provided. Any |
||||
|
| keys that aren't replaced with corresponding values will be |
||||
|
| removed from the final response. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'errorFormat' => [ |
||||
|
'message' => ':message', |
||||
|
'errors' => ':errors', |
||||
|
'code' => ':code', |
||||
|
'status_code' => ':status_code', |
||||
|
'debug' => ':debug', |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| API Middleware |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Middleware that will be applied globally to all API requests. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'middleware' => [ |
||||
|
|
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Authentication Providers |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| The authentication providers that should be used when attempting to |
||||
|
| authenticate an incoming API request. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'auth' => [ |
||||
|
|
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Throttling / Rate Limiting |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Consumers of your API can be limited to the amount of requests they can |
||||
|
| make. You can create your own throttles or simply change the default |
||||
|
| throttles. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'throttling' => [ |
||||
|
|
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Response Transformer |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Responses can be transformed so that they are easier to format. By |
||||
|
| default a Fractal transformer will be used to transform any |
||||
|
| responses prior to formatting. You can easily replace |
||||
|
| this with your own transformer. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'transformer' => env('API_TRANSFORMER', Dingo\Api\Transformer\Adapter\Fractal::class), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Response Formats |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Responses can be returned in multiple formats by registering different |
||||
|
| response formatters. You can also customize an existing response |
||||
|
| formatter with a number of options to configure its output. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'defaultFormat' => env('API_DEFAULT_FORMAT', 'json'), |
||||
|
|
||||
|
'formats' => [ |
||||
|
|
||||
|
'json' => Dingo\Api\Http\Response\Format\Json::class, |
||||
|
|
||||
|
], |
||||
|
|
||||
|
'formatsOptions' => [ |
||||
|
|
||||
|
'json' => [ |
||||
|
'pretty_print' => env('API_JSON_FORMAT_PRETTY_PRINT_ENABLED', false), |
||||
|
'indent_style' => env('API_JSON_FORMAT_INDENT_STYLE', 'space'), |
||||
|
'indent_size' => env('API_JSON_FORMAT_INDENT_SIZE', 2), |
||||
|
], |
||||
|
|
||||
|
], |
||||
|
|
||||
|
]; |
||||
@ -0,0 +1,244 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Application Name |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This value is the name of your application. This value is used when the |
||||
|
| framework needs to place the application's name in a notification or |
||||
|
| any other location as required by the application or its packages. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'name' => env('APP_NAME', 'Laravel'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Application Environment |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This value determines the "environment" your application is currently |
||||
|
| running in. This may determine how you prefer to configure various |
||||
|
| services the application utilizes. Set this in your ".env" file. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'env' => env('APP_ENV', 'production'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Application Debug Mode |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| When your application is in debug mode, detailed error messages with |
||||
|
| stack traces will be shown on every error that occurs within your |
||||
|
| application. If disabled, a simple generic error page is shown. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'debug' => env('APP_DEBUG', true), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Application URL |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This URL is used by the console to properly generate URLs when using |
||||
|
| the Artisan command line tool. You should set this to the root of |
||||
|
| your application so that it is used when running Artisan tasks. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'url' => env('APP_URL', 'http://localhost'), |
||||
|
|
||||
|
'asset_url' => env('ASSET_URL', null), |
||||
|
|
||||
|
'pc_url' => env('PC_URL', null), |
||||
|
|
||||
|
'h5_url' => env('H5_URL', null), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Application Timezone |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here you may specify the default timezone for your application, which |
||||
|
| will be used by the PHP date and date-time functions. We have gone |
||||
|
| ahead and set this to a sensible default for you out of the box. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
// 'timezone' => 'PRC', |
||||
|
// 'timezone' => 'UTC', |
||||
|
'timezone' => 'Asia/Shanghai', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Application Locale Configuration |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| The application locale determines the default locale that will be used |
||||
|
| by the translation service provider. You are free to set this value |
||||
|
| to any of the locales which will be supported by the application. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'locale' => 'zh-CN', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Application Fallback Locale |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| The fallback locale determines the locale to use when the current one |
||||
|
| is not available. You may change the value to correspond to any of |
||||
|
| the language folders that are provided through your application. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'fallback_locale' => 'zh-CN', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Faker Locale |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This locale will be used by the Faker PHP library when generating fake |
||||
|
| data for your database seeds. For example, this will be used to get |
||||
|
| localized telephone numbers, street address information and more. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'faker_locale' => 'zh-CN', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Encryption Key |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This key is used by the Illuminate encrypter service and should be set |
||||
|
| to a random, 32 character string, otherwise these encrypted strings |
||||
|
| will not be safe. Please do this before deploying an application! |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'key' => env('APP_KEY'), |
||||
|
|
||||
|
'cipher' => 'AES-256-CBC', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Autoloaded Service Providers |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| The service providers listed here will be automatically loaded on the |
||||
|
| request to your application. Feel free to add your own services to |
||||
|
| this array to grant expanded functionality to your applications. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'providers' => [ |
||||
|
|
||||
|
/* |
||||
|
* Laravel Framework Service Providers... |
||||
|
*/ |
||||
|
Illuminate\Auth\AuthServiceProvider::class, |
||||
|
Illuminate\Broadcasting\BroadcastServiceProvider::class, |
||||
|
Illuminate\Bus\BusServiceProvider::class, |
||||
|
Illuminate\Cache\CacheServiceProvider::class, |
||||
|
Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, |
||||
|
Illuminate\Cookie\CookieServiceProvider::class, |
||||
|
Illuminate\Database\DatabaseServiceProvider::class, |
||||
|
Illuminate\Encryption\EncryptionServiceProvider::class, |
||||
|
Illuminate\Filesystem\FilesystemServiceProvider::class, |
||||
|
Illuminate\Foundation\Providers\FoundationServiceProvider::class, |
||||
|
Illuminate\Hashing\HashServiceProvider::class, |
||||
|
Illuminate\Mail\MailServiceProvider::class, |
||||
|
Illuminate\Notifications\NotificationServiceProvider::class, |
||||
|
Illuminate\Pagination\PaginationServiceProvider::class, |
||||
|
Illuminate\Pipeline\PipelineServiceProvider::class, |
||||
|
Illuminate\Queue\QueueServiceProvider::class, |
||||
|
Illuminate\Redis\RedisServiceProvider::class, |
||||
|
Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, |
||||
|
Illuminate\Session\SessionServiceProvider::class, |
||||
|
Illuminate\Translation\TranslationServiceProvider::class, |
||||
|
Illuminate\Validation\ValidationServiceProvider::class, |
||||
|
Illuminate\View\ViewServiceProvider::class, |
||||
|
|
||||
|
/* |
||||
|
* Package Service Providers... |
||||
|
*/ |
||||
|
|
||||
|
/* |
||||
|
* Application Service Providers... |
||||
|
*/ |
||||
|
App\Providers\AppServiceProvider::class, |
||||
|
App\Providers\AuthServiceProvider::class, |
||||
|
// App\Providers\BroadcastServiceProvider::class, |
||||
|
App\Providers\EventServiceProvider::class, |
||||
|
App\Providers\RouteServiceProvider::class, |
||||
|
|
||||
|
App\Providers\EasySmsServiceProvider::class, |
||||
|
Intervention\Image\ImageServiceProvider::class, |
||||
|
//>>注册验证码服务 |
||||
|
Mews\Captcha\CaptchaServiceProvider::class, |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Class Aliases |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This array of class aliases will be registered when this application |
||||
|
| is started. However, feel free to register as many as you wish as |
||||
|
| the aliases are "lazy" loaded so they don't hinder performance. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'aliases' => [ |
||||
|
|
||||
|
'App' => Illuminate\Support\Facades\App::class, |
||||
|
'Arr' => Illuminate\Support\Arr::class, |
||||
|
'Artisan' => Illuminate\Support\Facades\Artisan::class, |
||||
|
'Auth' => Illuminate\Support\Facades\Auth::class, |
||||
|
'Blade' => Illuminate\Support\Facades\Blade::class, |
||||
|
'Broadcast' => Illuminate\Support\Facades\Broadcast::class, |
||||
|
'Bus' => Illuminate\Support\Facades\Bus::class, |
||||
|
'Cache' => Illuminate\Support\Facades\Cache::class, |
||||
|
'Config' => Illuminate\Support\Facades\Config::class, |
||||
|
'Cookie' => Illuminate\Support\Facades\Cookie::class, |
||||
|
'Crypt' => Illuminate\Support\Facades\Crypt::class, |
||||
|
'DB' => Illuminate\Support\Facades\DB::class, |
||||
|
'Eloquent' => Illuminate\Database\Eloquent\Model::class, |
||||
|
'Event' => Illuminate\Support\Facades\Event::class, |
||||
|
'File' => Illuminate\Support\Facades\File::class, |
||||
|
'Gate' => Illuminate\Support\Facades\Gate::class, |
||||
|
'Hash' => Illuminate\Support\Facades\Hash::class, |
||||
|
'Lang' => Illuminate\Support\Facades\Lang::class, |
||||
|
'Log' => Illuminate\Support\Facades\Log::class, |
||||
|
'Mail' => Illuminate\Support\Facades\Mail::class, |
||||
|
'Notification' => Illuminate\Support\Facades\Notification::class, |
||||
|
'Password' => Illuminate\Support\Facades\Password::class, |
||||
|
'Queue' => Illuminate\Support\Facades\Queue::class, |
||||
|
'Redirect' => Illuminate\Support\Facades\Redirect::class, |
||||
|
'Redis' => Illuminate\Support\Facades\Redis::class, |
||||
|
'Request' => Illuminate\Support\Facades\Request::class, |
||||
|
'Response' => Illuminate\Support\Facades\Response::class, |
||||
|
'Route' => Illuminate\Support\Facades\Route::class, |
||||
|
'Schema' => Illuminate\Support\Facades\Schema::class, |
||||
|
'Session' => Illuminate\Support\Facades\Session::class, |
||||
|
'Storage' => Illuminate\Support\Facades\Storage::class, |
||||
|
'Str' => Illuminate\Support\Str::class, |
||||
|
'URL' => Illuminate\Support\Facades\URL::class, |
||||
|
'Validator' => Illuminate\Support\Facades\Validator::class, |
||||
|
'View' => Illuminate\Support\Facades\View::class, |
||||
|
'Image' => Intervention\Image\Facades\Image::class, |
||||
|
//>>注册验证码别名 |
||||
|
'Captcha' => Mews\Captcha\Facades\Captcha::class, |
||||
|
|
||||
|
], |
||||
|
|
||||
|
]; |
||||
@ -0,0 +1,103 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Authentication Defaults |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This option controls the default authentication "guard" and password |
||||
|
| reset options for your application. You may change these defaults |
||||
|
| as required, but they're a perfect start for most applications. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'defaults' => [ |
||||
|
'guard' => 'web', |
||||
|
'passwords' => 'users', |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Authentication Guards |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Next, you may define every authentication guard for your application. |
||||
|
| Of course, a great default configuration has been defined for you |
||||
|
| here which uses session storage and the Eloquent user provider. |
||||
|
| |
||||
|
| All authentication drivers have a user provider. This defines how the |
||||
|
| users are actually retrieved out of your database or other storage |
||||
|
| mechanisms used by this application to persist your user's data. |
||||
|
| |
||||
|
| Supported: "session", "token" |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'guards' => [ |
||||
|
'web' => [ |
||||
|
'driver' => 'session', |
||||
|
'provider' => 'users', |
||||
|
], |
||||
|
|
||||
|
'api' => [ |
||||
|
'driver' => 'jwt', |
||||
|
'provider' => 'users', |
||||
|
'hash' => false, |
||||
|
], |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| User Providers |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| All authentication drivers have a user provider. This defines how the |
||||
|
| users are actually retrieved out of your database or other storage |
||||
|
| mechanisms used by this application to persist your user's data. |
||||
|
| |
||||
|
| If you have multiple user tables or models you may configure multiple |
||||
|
| sources which represent each model / table. These sources may then |
||||
|
| be assigned to any extra authentication guards you have defined. |
||||
|
| |
||||
|
| Supported: "database", "eloquent" |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'providers' => [ |
||||
|
'users' => [ |
||||
|
'driver' => 'eloquent', |
||||
|
'model' => App\Models\User::class, |
||||
|
], |
||||
|
|
||||
|
// 'users' => [ |
||||
|
// 'driver' => 'database', |
||||
|
// 'table' => 'users', |
||||
|
// ], |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Resetting Passwords |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| You may specify multiple password reset configurations if you have more |
||||
|
| than one user table or model in the application and you want to have |
||||
|
| separate password reset settings based on the specific user types. |
||||
|
| |
||||
|
| The expire time is the number of minutes that the reset token should be |
||||
|
| considered valid. This security feature keeps tokens short-lived so |
||||
|
| they have less time to be guessed. You may change this as needed. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'passwords' => [ |
||||
|
'users' => [ |
||||
|
'provider' => 'users', |
||||
|
'table' => 'password_resets', |
||||
|
'expire' => 60, |
||||
|
], |
||||
|
], |
||||
|
|
||||
|
]; |
||||
@ -0,0 +1,363 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin name |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This value is the name of dcat-admin, This setting is displayed on the |
||||
|
| login page. |
||||
|
| |
||||
|
*/ |
||||
|
'name' => '风控后台', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin logo |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| The logo of all admin pages. You can also set it as an image by using a |
||||
|
| `img` tag, eg '<img src="http://logo-url" alt="Admin logo">'. |
||||
|
| |
||||
|
*/ |
||||
|
'logo' => '<img src="/vendors/dcat-admin/images/logo.png" width="35"> 风控', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin mini logo |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| The logo of all admin pages when the sidebar menu is collapsed. You can |
||||
|
| also set it as an image by using a `img` tag, eg |
||||
|
| '<img src="http://logo-url" alt="Admin logo">'. |
||||
|
| |
||||
|
*/ |
||||
|
'logo-mini' => '<img src="/vendors/dcat-admin/images/logo.png">', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| User default avatar |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Set a default avatar for newly created users. |
||||
|
| |
||||
|
*/ |
||||
|
'default_avatar' => '@admin/images/default-avatar.jpg', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin route settings |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| The routing configuration of the admin page, including the path prefix, |
||||
|
| the controller namespace, and the default middleware. If you want to |
||||
|
| access through the root path, just set the prefix to empty string. |
||||
|
| |
||||
|
*/ |
||||
|
'route' => [ |
||||
|
|
||||
|
'prefix' => 'risk', |
||||
|
|
||||
|
'namespace' => 'App\\BlockControl\\Controllers', |
||||
|
|
||||
|
'middleware' => ['web', 'admin'], |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin install directory |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| The installation directory of the controller and routing configuration |
||||
|
| files of the administration page. The default is `app/Admin`, which must |
||||
|
| be set before running `artisan admin::install` to take effect. |
||||
|
| |
||||
|
*/ |
||||
|
'directory' => app_path('BlockControl'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin html title |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Html title for all pages. |
||||
|
| |
||||
|
*/ |
||||
|
'title' => '风控后台', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Assets hostname |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
*/ |
||||
|
'assets_server' => env('ADMIN_ASSETS_SERVER'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Access via `https` |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| If your page is going to be accessed via https, set it to `true`. |
||||
|
| |
||||
|
*/ |
||||
|
'https' => env('ADMIN_HTTPS', true), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin auth setting |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Authentication settings for all admin pages. Include an authentication |
||||
|
| guard and a user provider setting of authentication driver. |
||||
|
| |
||||
|
| You can specify a controller for `login` `logout` and other auth routes. |
||||
|
| |
||||
|
*/ |
||||
|
'auth' => [ |
||||
|
'enable' => true, |
||||
|
|
||||
|
'controller' => App\BlockControl\Controllers\AuthController::class, |
||||
|
|
||||
|
'guard' => 'block-control', |
||||
|
|
||||
|
'guards' => [ |
||||
|
'block-control' => [ |
||||
|
'driver' => 'session', |
||||
|
'provider' => 'block-control', |
||||
|
], |
||||
|
], |
||||
|
|
||||
|
'providers' => [ |
||||
|
'block-control' => [ |
||||
|
'driver' => 'eloquent', |
||||
|
'model' => \App\Models\BlockControlAdminUsers::class, |
||||
|
], |
||||
|
], |
||||
|
|
||||
|
// Add "remember me" to login form |
||||
|
'remember' => true, |
||||
|
|
||||
|
// All method to path like: auth/users/*/edit |
||||
|
// or specific method to path like: get:auth/users. |
||||
|
'except' => [ |
||||
|
'auth/login', |
||||
|
'auth/logout', |
||||
|
'kline', |
||||
|
'generateKline', |
||||
|
'getKlineConfig', |
||||
|
], |
||||
|
|
||||
|
], |
||||
|
|
||||
|
'grid' => [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| The global Grid action display class. |
||||
|
|-------------------------------------------------------------------------- |
||||
|
*/ |
||||
|
'grid_action_class' => Dcat\Admin\Grid\Displayers\DropdownActions::class, |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin helpers setting. |
||||
|
|-------------------------------------------------------------------------- |
||||
|
*/ |
||||
|
'helpers' => [ |
||||
|
'enable' => true, |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin permission setting |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Permission settings for all admin pages. |
||||
|
| |
||||
|
*/ |
||||
|
'permission' => [ |
||||
|
// Whether enable permission. |
||||
|
'enable' => true, |
||||
|
|
||||
|
// All method to path like: auth/users/*/edit |
||||
|
// or specific method to path like: get:auth/users. |
||||
|
'except' => [ |
||||
|
'/', |
||||
|
'auth/login', |
||||
|
'auth/logout', |
||||
|
'auth/setting', |
||||
|
], |
||||
|
|
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin menu setting |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
*/ |
||||
|
'menu' => [ |
||||
|
'cache' => [ |
||||
|
// enable cache or not |
||||
|
'enable' => false, |
||||
|
'store' => 'file', |
||||
|
], |
||||
|
|
||||
|
// Whether enable menu bind to a permission. |
||||
|
'bind_permission' => true, |
||||
|
|
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin upload setting |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| File system configuration for form upload files and images, including |
||||
|
| disk and upload path. |
||||
|
| |
||||
|
*/ |
||||
|
'upload' => [ |
||||
|
|
||||
|
// Disk in `config/filesystem.php`. |
||||
|
'disk' => 'public', |
||||
|
|
||||
|
// Image and file upload path under the disk above. |
||||
|
'directory' => [ |
||||
|
'image' => 'images', |
||||
|
'file' => 'files', |
||||
|
], |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| dcat-admin database settings |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here are database settings for dcat-admin builtin model & tables. |
||||
|
| |
||||
|
*/ |
||||
|
'database' => [ |
||||
|
|
||||
|
// Database connection for following tables. |
||||
|
'connection' => '', |
||||
|
|
||||
|
// User tables and model. |
||||
|
'users_table' => 'block_control_admin_users', |
||||
|
'users_model' => \App\Models\BlockControlAdminUsers::class, |
||||
|
|
||||
|
// Role table and model. |
||||
|
'roles_table' => 'block_control_admin_roles', |
||||
|
'roles_model' => \App\Models\BlockControlAdminRoles::class, |
||||
|
|
||||
|
// Permission table and model. |
||||
|
'permissions_table' => 'block_control_admin_permissions', |
||||
|
'permissions_model' => \App\Models\BlockControlAdminPermissions::class, |
||||
|
|
||||
|
// Menu table and model. |
||||
|
'menu_table' => 'block_control_admin_menu', |
||||
|
'menu_model' => \App\Models\BlockControlAdminMenu::class, |
||||
|
|
||||
|
// Pivot table for table above. |
||||
|
'operation_log_table' => 'block_control_admin_operation_log', |
||||
|
'role_users_table' => 'block_control_admin_role_users', |
||||
|
'role_permissions_table' => 'block_control_admin_role_permissions', |
||||
|
'role_menu_table' => 'block_control_admin_role_menu', |
||||
|
'permission_menu_table' => 'block_control_admin_permission_menu', |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| User operation log setting |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| By setting this option to open or close operation log in dcat-admin. |
||||
|
| |
||||
|
*/ |
||||
|
'operation_log' => [ |
||||
|
|
||||
|
'enable' => true, |
||||
|
|
||||
|
// Only logging allowed methods in the list |
||||
|
'allowed_methods' => ['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'CONNECT', 'OPTIONS', 'TRACE', 'PATCH'], |
||||
|
|
||||
|
'secret_fields' => [ |
||||
|
'password', |
||||
|
'password_confirmation', |
||||
|
], |
||||
|
|
||||
|
// Routes that will not log to database. |
||||
|
// All method to path like: auth/logs/*/edit |
||||
|
// or specific method to path like: get:auth/logs. |
||||
|
'except' => [ |
||||
|
'auth/logs*', |
||||
|
], |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Admin map field provider |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Supported: "tencent", "google", "yandex". |
||||
|
| |
||||
|
*/ |
||||
|
'map_provider' => 'google', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Application layout |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This value is the layout of admin pages. |
||||
|
*/ |
||||
|
'layout' => [ |
||||
|
// indigo, blue, blue-light, blue-dark, green |
||||
|
'color' => 'indigo', |
||||
|
|
||||
|
'body_class' => '', |
||||
|
|
||||
|
'sidebar_collapsed' => false, |
||||
|
|
||||
|
'sidebar_dark' => false, |
||||
|
|
||||
|
'dark_mode_switch' => false, |
||||
|
|
||||
|
// bg-primary, bg-info, bg-warning, bg-success, bg-danger, bg-dark |
||||
|
'navbar_color' => '', |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| The exception handler class |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
*/ |
||||
|
'exception_handler' => \Dcat\Admin\Exception\Handler::class, |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Enable default breadcrumb |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Whether enable default breadcrumb for every page content. |
||||
|
*/ |
||||
|
'enable_default_breadcrumb' => true, |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Settings for extensions. |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| You can find all available extensions here |
||||
|
| https://github.com/dcat-admin-extensions. |
||||
|
| |
||||
|
*/ |
||||
|
'extensions' => [ |
||||
|
|
||||
|
], |
||||
|
]; |
||||
@ -0,0 +1,59 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Default Broadcaster |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This option controls the default broadcaster that will be used by the |
||||
|
| framework when an event needs to be broadcast. You may set this to |
||||
|
| any of the connections defined in the "connections" array below. |
||||
|
| |
||||
|
| Supported: "pusher", "redis", "log", "null" |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'default' => env('BROADCAST_DRIVER', 'null'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Broadcast Connections |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here you may define all of the broadcast connections that will be used |
||||
|
| to broadcast events to other systems or over websockets. Samples of |
||||
|
| each available type of connection are provided inside this array. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'connections' => [ |
||||
|
|
||||
|
'pusher' => [ |
||||
|
'driver' => 'pusher', |
||||
|
'key' => env('PUSHER_APP_KEY'), |
||||
|
'secret' => env('PUSHER_APP_SECRET'), |
||||
|
'app_id' => env('PUSHER_APP_ID'), |
||||
|
'options' => [ |
||||
|
'cluster' => env('PUSHER_APP_CLUSTER'), |
||||
|
'useTLS' => true, |
||||
|
], |
||||
|
], |
||||
|
|
||||
|
'redis' => [ |
||||
|
'driver' => 'redis', |
||||
|
'connection' => 'default', |
||||
|
], |
||||
|
|
||||
|
'log' => [ |
||||
|
'driver' => 'log', |
||||
|
], |
||||
|
|
||||
|
'null' => [ |
||||
|
'driver' => 'null', |
||||
|
], |
||||
|
|
||||
|
], |
||||
|
|
||||
|
]; |
||||
@ -0,0 +1,103 @@ |
|||||
|
<?php |
||||
|
|
||||
|
use Illuminate\Support\Str; |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Default Cache Store |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This option controls the default cache connection that gets used while |
||||
|
| using this caching library. This connection is used when another is |
||||
|
| not explicitly specified when executing a given caching function. |
||||
|
| |
||||
|
| Supported: "apc", "array", "database", "file", |
||||
|
| "memcached", "redis", "dynamodb" |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'default' => env('CACHE_DRIVER', 'file'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Cache Stores |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here you may define all of the cache "stores" for your application as |
||||
|
| well as their drivers. You may even define multiple stores for the |
||||
|
| same cache driver to group types of items stored in your caches. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'stores' => [ |
||||
|
|
||||
|
'apc' => [ |
||||
|
'driver' => 'apc', |
||||
|
], |
||||
|
|
||||
|
'array' => [ |
||||
|
'driver' => 'array', |
||||
|
], |
||||
|
|
||||
|
'database' => [ |
||||
|
'driver' => 'database', |
||||
|
'table' => 'cache', |
||||
|
'connection' => null, |
||||
|
], |
||||
|
|
||||
|
'file' => [ |
||||
|
'driver' => 'file', |
||||
|
'path' => storage_path('framework/cache/data'), |
||||
|
], |
||||
|
|
||||
|
'memcached' => [ |
||||
|
'driver' => 'memcached', |
||||
|
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), |
||||
|
'sasl' => [ |
||||
|
env('MEMCACHED_USERNAME'), |
||||
|
env('MEMCACHED_PASSWORD'), |
||||
|
], |
||||
|
'options' => [ |
||||
|
// Memcached::OPT_CONNECT_TIMEOUT => 2000, |
||||
|
], |
||||
|
'servers' => [ |
||||
|
[ |
||||
|
'host' => env('MEMCACHED_HOST', '127.0.0.1'), |
||||
|
'port' => env('MEMCACHED_PORT', 11211), |
||||
|
'weight' => 100, |
||||
|
], |
||||
|
], |
||||
|
], |
||||
|
|
||||
|
'redis' => [ |
||||
|
'driver' => 'redis', |
||||
|
'connection' => 'cache', |
||||
|
], |
||||
|
|
||||
|
'dynamodb' => [ |
||||
|
'driver' => 'dynamodb', |
||||
|
'key' => env('AWS_ACCESS_KEY_ID'), |
||||
|
'secret' => env('AWS_SECRET_ACCESS_KEY'), |
||||
|
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), |
||||
|
'table' => env('DYNAMODB_CACHE_TABLE', 'cache'), |
||||
|
'endpoint' => env('DYNAMODB_ENDPOINT'), |
||||
|
], |
||||
|
|
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Cache Key Prefix |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| When utilizing a RAM based store such as APC or Memcached, there might |
||||
|
| be other applications utilizing the same cache. So, we'll specify a |
||||
|
| value to get prefixed to all our keys so we can avoid collisions. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'), |
||||
|
|
||||
|
]; |
||||
@ -0,0 +1,51 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
'disable' => env('CAPTCHA_DISABLE', false), |
||||
|
'characters' => ['2', '3', '4', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'm', 'n', 'p', 'q', 'r', 't', 'u', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'M', 'N', 'P', 'Q', 'R', 'T', 'U', 'X', 'Y', 'Z'], |
||||
|
'default' => [ |
||||
|
'length' => 9, |
||||
|
'width' => 120, |
||||
|
'height' => 36, |
||||
|
'quality' => 90, |
||||
|
'math' => false, |
||||
|
'expire' => 60, |
||||
|
'encrypt' => false, |
||||
|
], |
||||
|
'math' => [ |
||||
|
'length' => 9, |
||||
|
'width' => 120, |
||||
|
'height' => 36, |
||||
|
'quality' => 90, |
||||
|
'math' => true, |
||||
|
], |
||||
|
|
||||
|
'flat' => [ |
||||
|
'length' => 6, |
||||
|
'width' => 160, |
||||
|
'height' => 46, |
||||
|
'quality' => 90, |
||||
|
'lines' => 6, |
||||
|
'bgImage' => false, |
||||
|
'bgColor' => '#ecf2f4', |
||||
|
'fontColors' => ['#2c3e50', '#c0392b', '#16a085', '#c0392b', '#8e44ad', '#303f9f', '#f57c00', '#795548'], |
||||
|
'contrast' => -5, |
||||
|
], |
||||
|
'mini' => [ |
||||
|
'length' => 4, |
||||
|
'width' => 120, |
||||
|
'height' => 36, |
||||
|
], |
||||
|
'inverse' => [ |
||||
|
'length' => 5, |
||||
|
'width' => 120, |
||||
|
'height' => 36, |
||||
|
'quality' => 90, |
||||
|
'sensitive' => true, |
||||
|
'angle' => 12, |
||||
|
'sharpen' => 10, |
||||
|
'blur' => 2, |
||||
|
'invert' => true, |
||||
|
'contrast' => -5, |
||||
|
] |
||||
|
]; |
||||
File diff suppressed because one or more lines are too long
@ -0,0 +1,60 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Laravel CORS Options |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| The allowed_methods and allowed_headers options are case-insensitive. |
||||
|
| |
||||
|
| You don't need to provide both allowed_origins and allowed_origins_patterns. |
||||
|
| If one of the strings passed matches, it is considered a valid origin. |
||||
|
| |
||||
|
| If array('*') is provided to allowed_methods, allowed_origins or allowed_headers |
||||
|
| all methods / origins / headers are allowed. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
/* |
||||
|
* You can enable CORS for 1 or multiple paths. |
||||
|
* Example: ['api/*'] |
||||
|
*/ |
||||
|
'paths' => ['api/*'], |
||||
|
|
||||
|
/* |
||||
|
* Matches the request method. `[*]` allows all methods. |
||||
|
*/ |
||||
|
'allowed_methods' => ['*'], |
||||
|
|
||||
|
/* |
||||
|
* Matches the request origin. `[*]` allows all origins. Wildcards can be used, eg `*.mydomain.com` |
||||
|
*/ |
||||
|
'allowed_origins' => ['*'], |
||||
|
|
||||
|
/* |
||||
|
* Patterns that can be used with `preg_match` to match the origin. |
||||
|
*/ |
||||
|
'allowed_origins_patterns' => [], |
||||
|
|
||||
|
/* |
||||
|
* Sets the Access-Control-Allow-Headers response header. `[*]` allows all headers. |
||||
|
*/ |
||||
|
'allowed_headers' => ['*'], |
||||
|
|
||||
|
/* |
||||
|
* Sets the Access-Control-Expose-Headers response header with these headers. |
||||
|
*/ |
||||
|
'exposed_headers' => ['Authorization'], |
||||
|
|
||||
|
/* |
||||
|
* Sets the Access-Control-Max-Age response header when > 0. |
||||
|
*/ |
||||
|
'max_age' => 0, |
||||
|
|
||||
|
/* |
||||
|
* Sets the Access-Control-Allow-Credentials header. |
||||
|
*/ |
||||
|
'supports_credentials' => false, |
||||
|
]; |
||||
@ -0,0 +1,173 @@ |
|||||
|
<?php |
||||
|
|
||||
|
use Illuminate\Support\Str; |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Default Database Connection Name |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here you may specify which of the database connections below you wish |
||||
|
| to use as your default connection for all database work. Of course |
||||
|
| you may use many connections at once using the Database library. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'default' => env('DB_CONNECTION', 'mysql'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Database Connections |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here are each of the database connections setup for your application. |
||||
|
| Of course, examples of configuring each database platform that is |
||||
|
| supported by Laravel is shown below to make development simple. |
||||
|
| |
||||
|
| |
||||
|
| All database work in Laravel is done through the PHP PDO facilities |
||||
|
| so make sure you have the driver for your particular database of |
||||
|
| choice installed on your machine before you begin development. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'connections' => [ |
||||
|
|
||||
|
'sqlite' => [ |
||||
|
'driver' => 'sqlite', |
||||
|
'url' => env('DATABASE_URL'), |
||||
|
'database' => env('DB_DATABASE', database_path('database.sqlite')), |
||||
|
'prefix' => '', |
||||
|
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), |
||||
|
], |
||||
|
|
||||
|
'mysql' => [ |
||||
|
'timezone' => '+08:00', |
||||
|
'driver' => 'mysql', |
||||
|
'url' => env('DATABASE_URL'), |
||||
|
'host' => env('DB_HOST', '127.0.0.1'), |
||||
|
'port' => env('DB_PORT', '3306'), |
||||
|
'database' => env('DB_DATABASE', 'forge'), |
||||
|
'username' => env('DB_USERNAME', 'forge'), |
||||
|
'password' => env('DB_PASSWORD', ''), |
||||
|
'unix_socket' => env('DB_SOCKET', ''), |
||||
|
'charset' => 'utf8mb4', |
||||
|
'collation' => 'utf8mb4_unicode_ci', |
||||
|
'prefix' => '', |
||||
|
'prefix_indexes' => true, |
||||
|
'strict' => true, |
||||
|
'engine' => null, |
||||
|
'options' => extension_loaded('pdo_mysql') ? array_filter([ |
||||
|
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), |
||||
|
]) : [], |
||||
|
], |
||||
|
|
||||
|
'pgsql' => [ |
||||
|
'driver' => 'pgsql', |
||||
|
'url' => env('DATABASE_URL'), |
||||
|
'host' => env('DB_HOST', '127.0.0.1'), |
||||
|
'port' => env('DB_PORT', '5432'), |
||||
|
'database' => env('DB_DATABASE', 'forge'), |
||||
|
'username' => env('DB_USERNAME', 'forge'), |
||||
|
'password' => env('DB_PASSWORD', ''), |
||||
|
'charset' => 'utf8', |
||||
|
'prefix' => '', |
||||
|
'prefix_indexes' => true, |
||||
|
'schema' => 'public', |
||||
|
'sslmode' => 'prefer', |
||||
|
], |
||||
|
|
||||
|
'sqlsrv' => [ |
||||
|
'driver' => 'sqlsrv', |
||||
|
'url' => env('DATABASE_URL'), |
||||
|
'host' => env('DB_HOST', 'localhost'), |
||||
|
'port' => env('DB_PORT', '1433'), |
||||
|
'database' => env('DB_DATABASE', 'forge'), |
||||
|
'username' => env('DB_USERNAME', 'forge'), |
||||
|
'password' => env('DB_PASSWORD', ''), |
||||
|
'charset' => 'utf8', |
||||
|
'prefix' => '', |
||||
|
'prefix_indexes' => true, |
||||
|
], |
||||
|
|
||||
|
'mongodb' => [ |
||||
|
'driver' => 'mongodb', |
||||
|
'host' => '127.0.0.1', |
||||
|
'port' => 27017, |
||||
|
'database' => 'books', |
||||
|
'username' => '', |
||||
|
'password' => '', |
||||
|
// 'options' => [ |
||||
|
// // here you can pass more settings to the Mongo Driver Manager |
||||
|
// // see https://www.php.net/manual/en/mongodb-driver-manager.construct.php under "Uri Options" for a list of complete parameters that you can use |
||||
|
// |
||||
|
// 'database' => env('DB_AUTHENTICATION_DATABASE', 'admin'), // required with Mongo 3+ |
||||
|
// ], |
||||
|
], |
||||
|
|
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Migration Repository Table |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This table keeps track of all the migrations that have already run for |
||||
|
| your application. Using this information, we can determine which of |
||||
|
| the migrations on disk haven't actually been run in the database. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'migrations' => 'migrations', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Redis Databases |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Redis is an open source, fast, and advanced key-value store that also |
||||
|
| provides a richer body of commands than a typical key-value system |
||||
|
| such as APC or Memcached. Laravel makes it easy to dig right in. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'redis' => [ |
||||
|
|
||||
|
'client' => env('REDIS_CLIENT', 'predis'), |
||||
|
|
||||
|
'options' => [ |
||||
|
'cluster' => env('REDIS_CLUSTER', 'predis'), |
||||
|
// 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), |
||||
|
'prefix' => env('REDIS_PREFIX',''), |
||||
|
'read_write_timeout' => 0, |
||||
|
'connection_timeout' => 0, |
||||
|
// 'persistent' => true, |
||||
|
], |
||||
|
|
||||
|
'default' => [ |
||||
|
'url' => env('REDIS_URL'), |
||||
|
'host' => env('REDIS_HOST', '127.0.0.1'), |
||||
|
'password' => env('REDIS_PASSWORD', null), |
||||
|
'port' => env('REDIS_PORT', 6379), |
||||
|
'database' => env('REDIS_DB', 0), |
||||
|
'read_write_timeout' => 0, |
||||
|
'connection_timeout' => 0, |
||||
|
// 'persistent' => true, |
||||
|
], |
||||
|
|
||||
|
'cache' => [ |
||||
|
'url' => env('REDIS_URL'), |
||||
|
'host' => env('REDIS_HOST', '127.0.0.1'), |
||||
|
'password' => env('REDIS_PASSWORD', null), |
||||
|
'port' => env('REDIS_PORT', 6379), |
||||
|
'database' => env('REDIS_CACHE_DB', 1), |
||||
|
'read_write_timeout' => 0, |
||||
|
'connection_timeout' => 0, |
||||
|
// 'persistent' => true, |
||||
|
], |
||||
|
|
||||
|
], |
||||
|
|
||||
|
]; |
||||
@ -0,0 +1,8 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
/* |
||||
|
* The host to use when listening for debug server connections. |
||||
|
*/ |
||||
|
'host' => 'tcp://127.0.0.1:9912', |
||||
|
]; |
||||
@ -0,0 +1,46 @@ |
|||||
|
<?php |
||||
|
/* |
||||
|
* @Descripttion: |
||||
|
* @version: |
||||
|
* @Author: GuaPi |
||||
|
* @Date: 2021-07-29 10:40:49 |
||||
|
* @LastEditors: GuaPi |
||||
|
* @LastEditTime: 2021-08-07 00:06:14 |
||||
|
*/ |
||||
|
|
||||
|
return [ |
||||
|
// HTTP 请求的超时时间(秒) |
||||
|
'timeout' => 5.0, |
||||
|
|
||||
|
// 默认发送配置 |
||||
|
'default' => [ |
||||
|
// 网关调用策略,默认:顺序调用 |
||||
|
'strategy' => \Overtrue\EasySms\Strategies\OrderStrategy::class, |
||||
|
|
||||
|
// 默认可用的发送网关 |
||||
|
'gateways' => [ |
||||
|
'smsbao', |
||||
|
], |
||||
|
], |
||||
|
// 可用的网关配置 |
||||
|
'gateways' => [ |
||||
|
'errorlog' => [ |
||||
|
'file' => '/tmp/easy-sms.log', |
||||
|
], |
||||
|
'chuanglan' => [ |
||||
|
'account' => env('MSG_ACCOUNT'), |
||||
|
'password' => env('MSG_PASSWORD'), |
||||
|
'intel_account' => env('INTEL_MSG_ACCOUNT', ''), |
||||
|
'intel_password' => env('INTEL_MSG_PASSWORD', ''), |
||||
|
'channel' => \Overtrue\EasySms\Gateways\ChuanglanGateway::CHANNEL_VALIDATE_CODE, |
||||
|
|
||||
|
// 会员营销通道 特定参数。创蓝规定:api提交营销短信的时候,需要自己加短信的签名及退订信息 |
||||
|
'sign' => env('MSG_SIGN'), |
||||
|
'unsubscribe' => '回TD退订', |
||||
|
], |
||||
|
'smsbao' => [ |
||||
|
'user' => env('MSG_ACCOUNT'), |
||||
|
'password' => env('MSG_PASSWORD'), |
||||
|
] |
||||
|
], |
||||
|
]; |
||||
@ -0,0 +1,14 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
/* |
||||
|
* Which column will be used as the order column. |
||||
|
*/ |
||||
|
'order_column_name' => 'order_column', |
||||
|
|
||||
|
/* |
||||
|
* Define if the models should sort when creating. |
||||
|
* When true, the package will automatically assign the highest order number to a new mode |
||||
|
*/ |
||||
|
'sort_when_creating' => true, |
||||
|
]; |
||||
@ -0,0 +1,76 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Default Filesystem Disk |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here you may specify the default filesystem disk that should be used |
||||
|
| by the framework. The "local" disk, as well as a variety of cloud |
||||
|
| based disks are available to your application. Just store away! |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'default' => env('FILESYSTEM_DRIVER', 'local'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Default Cloud Filesystem Disk |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Many applications store files both locally and in the cloud. For this |
||||
|
| reason, you may specify a default "cloud" driver here. This driver |
||||
|
| will be bound as the Cloud disk implementation in the container. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'cloud' => env('FILESYSTEM_CLOUD', 's3'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Filesystem Disks |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here you may configure as many filesystem "disks" as you wish, and you |
||||
|
| may even configure multiple disks of the same driver. Defaults have |
||||
|
| been setup for each driver as an example of the required options. |
||||
|
| |
||||
|
| Supported Drivers: "local", "ftp", "sftp", "s3", "rackspace" |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'disks' => [ |
||||
|
|
||||
|
'local' => [ |
||||
|
'driver' => 'local', |
||||
|
'root' => public_path('app'), |
||||
|
], |
||||
|
|
||||
|
'public' => [ |
||||
|
'driver' => 'local', |
||||
|
'root' => storage_path('app/public'), |
||||
|
'url' => env('APP_URL').'/storage', |
||||
|
'visibility' => 'public', |
||||
|
], |
||||
|
|
||||
|
's3' => [ |
||||
|
'driver' => 's3', |
||||
|
'key' => env('AWS_ACCESS_KEY_ID'), |
||||
|
'secret' => env('AWS_SECRET_ACCESS_KEY'), |
||||
|
'region' => env('AWS_DEFAULT_REGION'), |
||||
|
'bucket' => env('AWS_BUCKET'), |
||||
|
'url' => env('AWS_URL'), |
||||
|
], |
||||
|
|
||||
|
'admin' => [ |
||||
|
'driver' => 'local', |
||||
|
'root' => storage_path('app/public'), |
||||
|
'url' => env('APP_URL').'/storage', |
||||
|
'visibility' => 'public', |
||||
|
], |
||||
|
|
||||
|
], |
||||
|
|
||||
|
]; |
||||
@ -0,0 +1,165 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Logging Configuration |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here you may configure the log settings for when a location is not found |
||||
|
| for the IP provided. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'log_failures' => true, |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Include Currency in Results |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| When enabled the system will do it's best in deciding the user's currency |
||||
|
| by matching their ISO code to a preset list of currencies. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'include_currency' => true, |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Default Service |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here you may specify the default storage driver that should be used |
||||
|
| by the framework. |
||||
|
| |
||||
|
| Supported: "maxmind_database", "maxmind_api", "ipapi" |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'service' => 'ipapi', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Storage Specific Configuration |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here you may configure as many storage drivers as you wish. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'services' => [ |
||||
|
|
||||
|
'maxmind_database' => [ |
||||
|
'class' => \Torann\GeoIP\Services\MaxMindDatabase::class, |
||||
|
'database_path' => storage_path('app/geoip.mmdb'), |
||||
|
'update_url' => sprintf('https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&license_key=%s&suffix=tar.gz', env('MAXMIND_LICENSE_KEY')), |
||||
|
'locales' => ['en'], |
||||
|
], |
||||
|
|
||||
|
'maxmind_api' => [ |
||||
|
'class' => \Torann\GeoIP\Services\MaxMindWebService::class, |
||||
|
'user_id' => env('MAXMIND_USER_ID'), |
||||
|
'license_key' => env('MAXMIND_LICENSE_KEY'), |
||||
|
'locales' => ['en'], |
||||
|
], |
||||
|
|
||||
|
'ipapi' => [ |
||||
|
'class' => \Torann\GeoIP\Services\IPApi::class, |
||||
|
'secure' => true, |
||||
|
'key' => env('IPAPI_KEY'), |
||||
|
'continent_path' => storage_path('app/continents.json'), |
||||
|
'lang' => 'en', |
||||
|
], |
||||
|
|
||||
|
'ipgeolocation' => [ |
||||
|
'class' => \Torann\GeoIP\Services\IPGeoLocation::class, |
||||
|
'secure' => true, |
||||
|
'key' => env('IPGEOLOCATION_KEY'), |
||||
|
'continent_path' => storage_path('app/continents.json'), |
||||
|
'lang' => 'en', |
||||
|
], |
||||
|
|
||||
|
'ipdata' => [ |
||||
|
'class' => \Torann\GeoIP\Services\IPData::class, |
||||
|
'key' => env('IPDATA_API_KEY'), |
||||
|
'secure' => true, |
||||
|
], |
||||
|
|
||||
|
'ipfinder' => [ |
||||
|
'class' => \Torann\GeoIP\Services\IPFinder::class, |
||||
|
'key' => env('IPFINDER_API_KEY'), |
||||
|
'secure' => true, |
||||
|
'locales' => ['en'], |
||||
|
], |
||||
|
|
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Default Cache Driver |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here you may specify the type of caching that should be used |
||||
|
| by the package. |
||||
|
| |
||||
|
| Options: |
||||
|
| |
||||
|
| all - All location are cached |
||||
|
| some - Cache only the requesting user |
||||
|
| none - Disable cached |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'cache' => 'all', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Cache Tags |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Cache tags are not supported when using the file or database cache |
||||
|
| drivers in Laravel. This is done so that only locations can be cleared. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'cache_tags' => ['torann-geoip-location'], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Cache Expiration |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Define how long cached location are valid. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'cache_expires' => 30, |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Default Location |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Return when a location is not found. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'default_location' => [ |
||||
|
'ip' => '127.0.0.0', |
||||
|
'iso_code' => 'US', |
||||
|
'country' => 'United States', |
||||
|
'city' => 'New Haven', |
||||
|
'state' => 'CT', |
||||
|
'state_name' => 'Connecticut', |
||||
|
'postal_code' => '06510', |
||||
|
'lat' => 41.31, |
||||
|
'lon' => -72.92, |
||||
|
'timezone' => 'America/New_York', |
||||
|
'continent' => 'NA', |
||||
|
'default' => true, |
||||
|
'currency' => 'USD', |
||||
|
], |
||||
|
|
||||
|
]; |
||||
@ -0,0 +1,79 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
/* |
||||
|
* Enable / disable Google2FA. |
||||
|
*/ |
||||
|
'enabled' => env('OTP_ENABLED', true), |
||||
|
|
||||
|
/* |
||||
|
* Lifetime in minutes. |
||||
|
* |
||||
|
* In case you need your users to be asked for a new one time passwords from time to time. |
||||
|
*/ |
||||
|
'lifetime' => env('OTP_LIFETIME', 0), // 0 = eternal |
||||
|
|
||||
|
/* |
||||
|
* Renew lifetime at every new request. |
||||
|
*/ |
||||
|
'keep_alive' => env('OTP_KEEP_ALIVE', true), |
||||
|
|
||||
|
/* |
||||
|
* Auth container binding. |
||||
|
*/ |
||||
|
'auth' => 'auth', |
||||
|
|
||||
|
/* |
||||
|
* 2FA verified session var. |
||||
|
*/ |
||||
|
|
||||
|
'session_var' => 'google2fa', |
||||
|
|
||||
|
/* |
||||
|
* One Time Password request input name. |
||||
|
*/ |
||||
|
'otp_input' => 'one_time_password', |
||||
|
|
||||
|
/* |
||||
|
* One Time Password Window. |
||||
|
*/ |
||||
|
'window' => 1, |
||||
|
|
||||
|
/* |
||||
|
* Forbid user to reuse One Time Passwords. |
||||
|
*/ |
||||
|
'forbid_old_passwords' => false, |
||||
|
|
||||
|
/* |
||||
|
* User's table column for google2fa secret. |
||||
|
*/ |
||||
|
'otp_secret_column' => 'google2fa_secret', |
||||
|
|
||||
|
/* |
||||
|
* One Time Password View. |
||||
|
*/ |
||||
|
'view' => 'google2fa.index', |
||||
|
|
||||
|
/* |
||||
|
* One Time Password error message. |
||||
|
*/ |
||||
|
'error_messages' => [ |
||||
|
'wrong_otp' => "The 'One Time Password' typed was wrong.", |
||||
|
'cannot_be_empty' => 'One Time Password cannot be empty.', |
||||
|
'unknown' => 'An unknown error has occurred. Please try again.', |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
* Throw exceptions or just fire events? |
||||
|
*/ |
||||
|
'throw_exceptions' => env('OTP_THROW_EXCEPTION', true), |
||||
|
|
||||
|
/* |
||||
|
* Which image backend to use for generating QR codes? |
||||
|
* |
||||
|
* Supports imagemagick, svg and eps |
||||
|
*/ |
||||
|
'qrcode_image_backend' => \PragmaRX\Google2FALaravel\Support\Constants::QRCODE_IMAGE_BACKEND_IMAGEMAGICK, |
||||
|
|
||||
|
]; |
||||
@ -0,0 +1,52 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Default Hash Driver |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This option controls the default hash driver that will be used to hash |
||||
|
| passwords for your application. By default, the bcrypt algorithm is |
||||
|
| used; however, you remain free to modify this option if you wish. |
||||
|
| |
||||
|
| Supported: "bcrypt", "argon", "argon2id" |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'driver' => 'bcrypt', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Bcrypt Options |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here you may specify the configuration options that should be used when |
||||
|
| passwords are hashed using the Bcrypt algorithm. This will allow you |
||||
|
| to control the amount of time it takes to hash the given password. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'bcrypt' => [ |
||||
|
'rounds' => env('BCRYPT_ROUNDS', 10), |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Argon Options |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here you may specify the configuration options that should be used when |
||||
|
| passwords are hashed using the Argon algorithm. These will allow you |
||||
|
| to control the amount of time it takes to hash the given password. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'argon' => [ |
||||
|
'memory' => 1024, |
||||
|
'threads' => 2, |
||||
|
'time' => 2, |
||||
|
], |
||||
|
|
||||
|
]; |
||||
@ -0,0 +1,304 @@ |
|||||
|
<?php |
||||
|
|
||||
|
/* |
||||
|
* This file is part of jwt-auth. |
||||
|
* |
||||
|
* (c) Sean Tymon <tymon148@gmail.com> |
||||
|
* |
||||
|
* For the full copyright and license information, please view the LICENSE |
||||
|
* file that was distributed with this source code. |
||||
|
*/ |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| JWT Authentication Secret |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Don't forget to set this in your .env file, as it will be used to sign |
||||
|
| your tokens. A helper command is provided for this: |
||||
|
| `php artisan jwt:secret` |
||||
|
| |
||||
|
| Note: This will be used for Symmetric algorithms only (HMAC), |
||||
|
| since RSA and ECDSA use a private/public key combo (See below). |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'secret' => env('JWT_SECRET'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| JWT Authentication Keys |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| The algorithm you are using, will determine whether your tokens are |
||||
|
| signed with a random string (defined in `JWT_SECRET`) or using the |
||||
|
| following public & private keys. |
||||
|
| |
||||
|
| Symmetric Algorithms: |
||||
|
| HS256, HS384 & HS512 will use `JWT_SECRET`. |
||||
|
| |
||||
|
| Asymmetric Algorithms: |
||||
|
| RS256, RS384 & RS512 / ES256, ES384 & ES512 will use the keys below. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'keys' => [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Public Key |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| A path or resource to your public key. |
||||
|
| |
||||
|
| E.g. 'file://path/to/public/key' |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'public' => env('JWT_PUBLIC_KEY'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Private Key |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| A path or resource to your private key. |
||||
|
| |
||||
|
| E.g. 'file://path/to/private/key' |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'private' => env('JWT_PRIVATE_KEY'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Passphrase |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| The passphrase for your private key. Can be null if none set. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'passphrase' => env('JWT_PASSPHRASE'), |
||||
|
|
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| JWT time to live |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Specify the length of time (in minutes) that the token will be valid for. |
||||
|
| Defaults to 1 hour. |
||||
|
| |
||||
|
| You can also set this to null, to yield a never expiring token. |
||||
|
| Some people may want this behaviour for e.g. a mobile app. |
||||
|
| This is not particularly recommended, so make sure you have appropriate |
||||
|
| systems in place to revoke the token if necessary. |
||||
|
| Notice: If you set this to null you should remove 'exp' element from 'required_claims' list. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'ttl' => env('JWT_TTL', 60 * 60 * 24), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Refresh time to live |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Specify the length of time (in minutes) that the token can be refreshed |
||||
|
| within. I.E. The user can refresh their token within a 2 week window of |
||||
|
| the original token being created until they must re-authenticate. |
||||
|
| Defaults to 2 weeks. |
||||
|
| |
||||
|
| You can also set this to null, to yield an infinite refresh time. |
||||
|
| Some may want this instead of never expiring tokens for e.g. a mobile app. |
||||
|
| This is not particularly recommended, so make sure you have appropriate |
||||
|
| systems in place to revoke the token if necessary. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'refresh_ttl' => env('JWT_REFRESH_TTL', 20160), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| JWT hashing algorithm |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Specify the hashing algorithm that will be used to sign the token. |
||||
|
| |
||||
|
| See here: https://github.com/namshi/jose/tree/master/src/Namshi/JOSE/Signer/OpenSSL |
||||
|
| for possible values. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'algo' => env('JWT_ALGO', 'HS256'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Required Claims |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Specify the required claims that must exist in any token. |
||||
|
| A TokenInvalidException will be thrown if any of these claims are not |
||||
|
| present in the payload. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'required_claims' => [ |
||||
|
'iss', |
||||
|
'iat', |
||||
|
'exp', |
||||
|
'nbf', |
||||
|
'sub', |
||||
|
'jti', |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Persistent Claims |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Specify the claim keys to be persisted when refreshing a token. |
||||
|
| `sub` and `iat` will automatically be persisted, in |
||||
|
| addition to the these claims. |
||||
|
| |
||||
|
| Note: If a claim does not exist then it will be ignored. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'persistent_claims' => [ |
||||
|
// 'foo', |
||||
|
// 'bar', |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Lock Subject |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This will determine whether a `prv` claim is automatically added to |
||||
|
| the token. The purpose of this is to ensure that if you have multiple |
||||
|
| authentication models e.g. `App\User` & `App\OtherPerson`, then we |
||||
|
| should prevent one authentication request from impersonating another, |
||||
|
| if 2 tokens happen to have the same id across the 2 different models. |
||||
|
| |
||||
|
| Under specific circumstances, you may want to disable this behaviour |
||||
|
| e.g. if you only have one authentication model, then you would save |
||||
|
| a little on token size. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'lock_subject' => true, |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Leeway |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This property gives the jwt timestamp claims some "leeway". |
||||
|
| Meaning that if you have any unavoidable slight clock skew on |
||||
|
| any of your servers then this will afford you some level of cushioning. |
||||
|
| |
||||
|
| This applies to the claims `iat`, `nbf` and `exp`. |
||||
|
| |
||||
|
| Specify in seconds - only if you know you need it. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'leeway' => env('JWT_LEEWAY', 0), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Blacklist Enabled |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| In order to invalidate tokens, you must have the blacklist enabled. |
||||
|
| If you do not want or need this functionality, then set this to false. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'blacklist_enabled' => env('JWT_BLACKLIST_ENABLED', true), |
||||
|
|
||||
|
/* |
||||
|
| ------------------------------------------------------------------------- |
||||
|
| Blacklist Grace Period |
||||
|
| ------------------------------------------------------------------------- |
||||
|
| |
||||
|
| When multiple concurrent requests are made with the same JWT, |
||||
|
| it is possible that some of them fail, due to token regeneration |
||||
|
| on every request. |
||||
|
| |
||||
|
| Set grace period in seconds to prevent parallel request failure. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'blacklist_grace_period' => env('JWT_BLACKLIST_GRACE_PERIOD', 0), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Cookies encryption |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| By default Laravel encrypt cookies for security reason. |
||||
|
| If you decide to not decrypt cookies, you will have to configure Laravel |
||||
|
| to not encrypt your cookie token by adding its name into the $except |
||||
|
| array available in the middleware "EncryptCookies" provided by Laravel. |
||||
|
| see https://laravel.com/docs/master/responses#cookies-and-encryption |
||||
|
| for details. |
||||
|
| |
||||
|
| Set it to true if you want to decrypt cookies. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'decrypt_cookies' => false, |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Providers |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Specify the various providers used throughout the package. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'providers' => [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| JWT Provider |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Specify the provider that is used to create and decode the tokens. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'jwt' => Tymon\JWTAuth\Providers\JWT\Lcobucci::class, |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Authentication Provider |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Specify the provider that is used to authenticate users. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'auth' => Tymon\JWTAuth\Providers\Auth\Illuminate::class, |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Storage Provider |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Specify the provider that is used to store tokens in the blacklist. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'storage' => Tymon\JWTAuth\Providers\Storage\Illuminate::class, |
||||
|
|
||||
|
], |
||||
|
|
||||
|
]; |
||||
@ -0,0 +1,94 @@ |
|||||
|
<?php |
||||
|
|
||||
|
use Monolog\Handler\StreamHandler; |
||||
|
use Monolog\Handler\SyslogUdpHandler; |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Default Log Channel |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This option defines the default log channel that gets used when writing |
||||
|
| messages to the logs. The name specified in this option should match |
||||
|
| one of the channels defined in the "channels" configuration array. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'default' => env('LOG_CHANNEL', 'stack'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Log Channels |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here you may configure the log channels for your application. Out of |
||||
|
| the box, Laravel uses the Monolog PHP logging library. This gives |
||||
|
| you a variety of powerful log handlers / formatters to utilize. |
||||
|
| |
||||
|
| Available Drivers: "single", "daily", "slack", "syslog", |
||||
|
| "errorlog", "monolog", |
||||
|
| "custom", "stack" |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'channels' => [ |
||||
|
'stack' => [ |
||||
|
'driver' => 'stack', |
||||
|
'channels' => ['daily'], |
||||
|
'ignore_exceptions' => false, |
||||
|
], |
||||
|
|
||||
|
'single' => [ |
||||
|
'driver' => 'single', |
||||
|
'path' => storage_path('logs/laravel.log'), |
||||
|
'level' => 'debug', |
||||
|
], |
||||
|
|
||||
|
'daily' => [ |
||||
|
'driver' => 'daily', |
||||
|
'path' => storage_path('logs/laravel.log'), |
||||
|
'level' => 'debug', |
||||
|
'days' => 14, |
||||
|
], |
||||
|
|
||||
|
'slack' => [ |
||||
|
'driver' => 'slack', |
||||
|
'url' => env('LOG_SLACK_WEBHOOK_URL'), |
||||
|
'username' => 'Laravel Log', |
||||
|
'emoji' => ':boom:', |
||||
|
'level' => 'critical', |
||||
|
], |
||||
|
|
||||
|
'papertrail' => [ |
||||
|
'driver' => 'monolog', |
||||
|
'level' => 'debug', |
||||
|
'handler' => SyslogUdpHandler::class, |
||||
|
'handler_with' => [ |
||||
|
'host' => env('PAPERTRAIL_URL'), |
||||
|
'port' => env('PAPERTRAIL_PORT'), |
||||
|
], |
||||
|
], |
||||
|
|
||||
|
'stderr' => [ |
||||
|
'driver' => 'monolog', |
||||
|
'handler' => StreamHandler::class, |
||||
|
'formatter' => env('LOG_STDERR_FORMATTER'), |
||||
|
'with' => [ |
||||
|
'stream' => 'php://stderr', |
||||
|
], |
||||
|
], |
||||
|
|
||||
|
'syslog' => [ |
||||
|
'driver' => 'syslog', |
||||
|
'level' => 'debug', |
||||
|
], |
||||
|
|
||||
|
'errorlog' => [ |
||||
|
'driver' => 'errorlog', |
||||
|
'level' => 'debug', |
||||
|
], |
||||
|
], |
||||
|
|
||||
|
]; |
||||
@ -0,0 +1,136 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Mail Driver |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Laravel supports both SMTP and PHP's "mail" function as drivers for the |
||||
|
| sending of e-mail. You may specify which one you're using throughout |
||||
|
| your application here. By default, Laravel is setup for SMTP mail. |
||||
|
| |
||||
|
| Supported: "smtp", "sendmail", "mailgun", "mandrill", "ses", |
||||
|
| "sparkpost", "postmark", "log", "array" |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'driver' => env('MAIL_DRIVER', 'smtp'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| SMTP Host Address |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here you may provide the host address of the SMTP server used by your |
||||
|
| applications. A default option is provided that is compatible with |
||||
|
| the Mailgun mail service which will provide reliable deliveries. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'host' => env('MAIL_HOST', 'smtp.mailgun.org'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| SMTP Host Port |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This is the SMTP port used by your application to deliver e-mails to |
||||
|
| users of the application. Like the host we have set this value to |
||||
|
| stay compatible with the Mailgun e-mail application by default. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'port' => env('MAIL_PORT', 587), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Global "From" Address |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| You may wish for all e-mails sent by your application to be sent from |
||||
|
| the same address. Here, you may specify a name and address that is |
||||
|
| used globally for all e-mails that are sent by your application. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'from' => [ |
||||
|
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), |
||||
|
'name' => env('MAIL_FROM_NAME', 'Example'), |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| E-Mail Encryption Protocol |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here you may specify the encryption protocol that should be used when |
||||
|
| the application send e-mail messages. A sensible default using the |
||||
|
| transport layer security protocol should provide great security. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'encryption' => env('MAIL_ENCRYPTION', 'tls'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| SMTP Server Username |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| If your SMTP server requires a username for authentication, you should |
||||
|
| set it here. This will get used to authenticate with your server on |
||||
|
| connection. You may also set the "password" value below this one. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'username' => env('MAIL_USERNAME'), |
||||
|
|
||||
|
'password' => env('MAIL_PASSWORD'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Sendmail System Path |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| When using the "sendmail" driver to send e-mails, we will need to know |
||||
|
| the path to where Sendmail lives on this server. A default path has |
||||
|
| been provided here, which will work well on most of your systems. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'sendmail' => '/usr/sbin/sendmail -bs', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Markdown Mail Settings |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| If you are using Markdown based email rendering, you may configure your |
||||
|
| theme and component paths here, allowing you to customize the design |
||||
|
| of the emails. Or, you may simply stick with the Laravel defaults! |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'markdown' => [ |
||||
|
'theme' => 'default', |
||||
|
|
||||
|
'paths' => [ |
||||
|
resource_path('views/vendor/mail'), |
||||
|
], |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Log Channel |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| If you are using the "log" driver, you may specify the logging channel |
||||
|
| if you prefer to keep mail messages separate from other log entries |
||||
|
| for simpler reading. Otherwise, the default channel will be used. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'log_channel' => env('MAIL_LOG_CHANNEL'), |
||||
|
|
||||
|
]; |
||||
@ -0,0 +1,87 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Default Queue Connection Name |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Laravel's queue API supports an assortment of back-ends via a single |
||||
|
| API, giving you convenient access to each back-end using the same |
||||
|
| syntax for every one. Here you may define a default connection. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'default' => env('QUEUE_CONNECTION', 'sync'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Queue Connections |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here you may configure the connection information for each server that |
||||
|
| is used by your application. A default configuration has been added |
||||
|
| for each back-end shipped with Laravel. You are free to add more. |
||||
|
| |
||||
|
| Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null" |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'connections' => [ |
||||
|
|
||||
|
'sync' => [ |
||||
|
'driver' => 'sync', |
||||
|
], |
||||
|
|
||||
|
'database' => [ |
||||
|
'driver' => 'database', |
||||
|
'table' => 'jobs', |
||||
|
'queue' => 'default', |
||||
|
'retry_after' => 90, |
||||
|
], |
||||
|
|
||||
|
'beanstalkd' => [ |
||||
|
'driver' => 'beanstalkd', |
||||
|
'host' => 'localhost', |
||||
|
'queue' => 'default', |
||||
|
'retry_after' => 90, |
||||
|
'block_for' => 0, |
||||
|
], |
||||
|
|
||||
|
'sqs' => [ |
||||
|
'driver' => 'sqs', |
||||
|
'key' => env('AWS_ACCESS_KEY_ID'), |
||||
|
'secret' => env('AWS_SECRET_ACCESS_KEY'), |
||||
|
'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), |
||||
|
'queue' => env('SQS_QUEUE', 'your-queue-name'), |
||||
|
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), |
||||
|
], |
||||
|
|
||||
|
'redis' => [ |
||||
|
'driver' => 'redis', |
||||
|
'connection' => 'default', |
||||
|
'queue' => env('REDIS_QUEUE', 'default'), |
||||
|
'retry_after' => 90, |
||||
|
'block_for' => null, |
||||
|
], |
||||
|
|
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Failed Queue Jobs |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| These options configure the behavior of failed queue job logging so you |
||||
|
| can control which database and table are used to store the jobs that |
||||
|
| have failed. You may change them to any database / table you wish. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'failed' => [ |
||||
|
'database' => env('DB_CONNECTION', 'mysql'), |
||||
|
'table' => 'failed_jobs', |
||||
|
], |
||||
|
|
||||
|
]; |
||||
@ -0,0 +1,29 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
'public_key' => '-----BEGIN PUBLIC KEY----- |
||||
|
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDCHFnD1TrkIwe7b1oZR0H/fuvZ |
||||
|
9Asx8rE1PoCvw5XKeOVVgqoWyCGAZYZkYqZ3uDokY8ulaJkmeiUs2B9N5+osbFow |
||||
|
60e6Nr+W5vsBirhbSQbPgOOMsXRfBRWC5LZyAtutUBxR5/7fgWopdt+OJsVlAl/C |
||||
|
Mz5wvi5sdazfJtFkGwIDAQAB |
||||
|
-----END PUBLIC KEY----- |
||||
|
', |
||||
|
'private_key' => '-----BEGIN RSA PRIVATE KEY----- |
||||
|
MIICXAIBAAKBgQDCHFnD1TrkIwe7b1oZR0H/fuvZ9Asx8rE1PoCvw5XKeOVVgqoW |
||||
|
yCGAZYZkYqZ3uDokY8ulaJkmeiUs2B9N5+osbFow60e6Nr+W5vsBirhbSQbPgOOM |
||||
|
sXRfBRWC5LZyAtutUBxR5/7fgWopdt+OJsVlAl/CMz5wvi5sdazfJtFkGwIDAQAB |
||||
|
AoGAIwVabKqb5W0sh/SfHNBuZ9pOUxRksK5IqoKMVSnEbLNDLRpV9aZF5RRsGtBx |
||||
|
mEf0tXwL0dv9RaPj8SNNApFE/k5crOIkYrUmP4IVrMeztgct+/Z1EsQ57wnWvNtK |
||||
|
4yM8rWj8OFcFLqTsOM93ba8QpdMNqyyTa/N0zWXEHFEKOYECQQDhocsEssA2e14h |
||||
|
wp/tTe/J+KSXhjcyFhziOTR2lop1EO+BYvT2s1EseJejdtIyCQuWeQf+ZnTej8Cs |
||||
|
PMl6nEgtAkEA3Dx8GMjVa86vwaTVX75NH1uyQ2jpj7iaCy3qRcXe7yNo0D9liGKk |
||||
|
oUQQtOtk3Y/nBlOKLfIgccpM/KypeuACZwJATS5dFgRXP8u/jWjX8ALi7YHCO5rL |
||||
|
srRhuPi8e3xPbHAYnXfON71rHP07Uc1JZZg2gIhyNZGylJcz3zcD7I8dGQJAFmCi |
||||
|
71XAsbKPkypvb8oDRhNoGodXa/4C0O36ZtqDG2NKrBY099WmCqjC1c8xMX4EqFTm |
||||
|
rmJyv30hs27LzatjMwJBALY/QVuimpMg6fvNYf5YTif/qHOy+9FJmm4ZUW1VjLZW |
||||
|
JGKwy+IuxUuc1gEtprZ2P/s8nPAm9sQ29ETCkXvnc4k= |
||||
|
-----END RSA PRIVATE KEY----- |
||||
|
', |
||||
|
|
||||
|
]; |
||||
@ -0,0 +1,37 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Third Party Services |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This file is for storing the credentials for third party services such |
||||
|
| as Mailgun, SparkPost and others. This file provides a sane default |
||||
|
| location for this type of information, allowing packages to have |
||||
|
| a conventional file to locate the various service credentials. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'mailgun' => [ |
||||
|
'domain' => env('MAILGUN_DOMAIN'), |
||||
|
'secret' => env('MAILGUN_SECRET'), |
||||
|
'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), |
||||
|
], |
||||
|
|
||||
|
'postmark' => [ |
||||
|
'token' => env('POSTMARK_TOKEN'), |
||||
|
], |
||||
|
|
||||
|
'ses' => [ |
||||
|
'key' => env('AWS_ACCESS_KEY_ID'), |
||||
|
'secret' => env('AWS_SECRET_ACCESS_KEY'), |
||||
|
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), |
||||
|
], |
||||
|
|
||||
|
'sparkpost' => [ |
||||
|
'secret' => env('SPARKPOST_SECRET'), |
||||
|
], |
||||
|
|
||||
|
]; |
||||
@ -0,0 +1,199 @@ |
|||||
|
<?php |
||||
|
|
||||
|
use Illuminate\Support\Str; |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Default Session Driver |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This option controls the default session "driver" that will be used on |
||||
|
| requests. By default, we will use the lightweight native driver but |
||||
|
| you may specify any of the other wonderful drivers provided here. |
||||
|
| |
||||
|
| Supported: "file", "cookie", "database", "apc", |
||||
|
| "memcached", "redis", "dynamodb", "array" |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'driver' => env('SESSION_DRIVER', 'file'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Session Lifetime |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here you may specify the number of minutes that you wish the session |
||||
|
| to be allowed to remain idle before it expires. If you want them |
||||
|
| to immediately expire on the browser closing, set that option. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'lifetime' => env('SESSION_LIFETIME', 120), |
||||
|
|
||||
|
'expire_on_close' => false, |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Session Encryption |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This option allows you to easily specify that all of your session data |
||||
|
| should be encrypted before it is stored. All encryption will be run |
||||
|
| automatically by Laravel and you can use the Session like normal. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'encrypt' => false, |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Session File Location |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| When using the native session driver, we need a location where session |
||||
|
| files may be stored. A default has been set for you but a different |
||||
|
| location may be specified. This is only needed for file sessions. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'files' => storage_path('framework/sessions'), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Session Database Connection |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| When using the "database" or "redis" session drivers, you may specify a |
||||
|
| connection that should be used to manage these sessions. This should |
||||
|
| correspond to a connection in your database configuration options. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'connection' => env('SESSION_CONNECTION', null), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Session Database Table |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| When using the "database" session driver, you may specify the table we |
||||
|
| should use to manage the sessions. Of course, a sensible default is |
||||
|
| provided for you; however, you are free to change this as needed. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'table' => 'sessions', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Session Cache Store |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| When using the "apc", "memcached", or "dynamodb" session drivers you may |
||||
|
| list a cache store that should be used for these sessions. This value |
||||
|
| must match with one of the application's configured cache "stores". |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'store' => env('SESSION_STORE', null), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Session Sweeping Lottery |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Some session drivers must manually sweep their storage location to get |
||||
|
| rid of old sessions from storage. Here are the chances that it will |
||||
|
| happen on a given request. By default, the odds are 2 out of 100. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'lottery' => [2, 100], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Session Cookie Name |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here you may change the name of the cookie used to identify a session |
||||
|
| instance by ID. The name specified here will get used every time a |
||||
|
| new session cookie is created by the framework for every driver. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'cookie' => env( |
||||
|
'SESSION_COOKIE', |
||||
|
Str::slug(env('APP_NAME', 'laravel'), '_').'_session' |
||||
|
), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Session Cookie Path |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| The session cookie path determines the path for which the cookie will |
||||
|
| be regarded as available. Typically, this will be the root path of |
||||
|
| your application but you are free to change this when necessary. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'path' => '/', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Session Cookie Domain |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Here you may change the domain of the cookie used to identify a session |
||||
|
| in your application. This will determine which domains the cookie is |
||||
|
| available to in your application. A sensible default has been set. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'domain' => env('SESSION_DOMAIN', null), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| HTTPS Only Cookies |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| By setting this option to true, session cookies will only be sent back |
||||
|
| to the server if the browser has a HTTPS connection. This will keep |
||||
|
| the cookie from being sent to you if it can not be done securely. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'secure' => env('SESSION_SECURE_COOKIE', false), |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| HTTP Access Only |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Setting this value to true will prevent JavaScript from accessing the |
||||
|
| value of the cookie and the cookie will only be accessible through |
||||
|
| the HTTP protocol. You are free to modify this option if needed. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'http_only' => true, |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Same-Site Cookies |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This option determines how your cookies behave when cross-site requests |
||||
|
| take place, and can be used to mitigate CSRF attacks. By default, we |
||||
|
| do not enable this as other CSRF protection services are in place. |
||||
|
| |
||||
|
| Supported: "lax", "strict" |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'same_site' => null, |
||||
|
|
||||
|
]; |
||||
@ -0,0 +1,152 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Application Locales |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Contains an array with the applications available locales. |
||||
|
| |
||||
|
*/ |
||||
|
'locales' => [ |
||||
|
'en', |
||||
|
'zh-CN', |
||||
|
'ko', |
||||
|
'zh-TW', |
||||
|
// 'fr', |
||||
|
// 'es' => [ |
||||
|
// 'MX', // mexican spanish |
||||
|
// 'CO', // colombian spanish |
||||
|
// ], |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Locale separator |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This is a string used to glue the language and the country when defining |
||||
|
| the available locales. Example: if set to '-', then the locale for |
||||
|
| colombian spanish will be saved as 'es-CO' into the database. |
||||
|
| |
||||
|
*/ |
||||
|
'locale_separator' => '-', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Default locale |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| As a default locale, Translatable takes the locale of Laravel's |
||||
|
| translator. If for some reason you want to override this, |
||||
|
| you can specify what default should be used here. |
||||
|
| If you set a value here it will only use the current config value |
||||
|
| and never fallback to the translator one. |
||||
|
| |
||||
|
*/ |
||||
|
'locale' => null, |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Use fallback |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Determine if fallback locales are returned by default or not. To add |
||||
|
| more flexibility and configure this option per "translatable" |
||||
|
| instance, this value will be overridden by the property |
||||
|
| $useTranslationFallback when defined |
||||
|
| |
||||
|
*/ |
||||
|
'use_fallback' => false, |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Use fallback per property |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| The property fallback feature will return the translated value of |
||||
|
| the fallback locale if the property is empty for the selected |
||||
|
| locale. Note that 'use_fallback' must be enabled. |
||||
|
| |
||||
|
*/ |
||||
|
'use_property_fallback' => true, |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Fallback Locale |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| A fallback locale is the locale being used to return a translation |
||||
|
| when the requested translation is not existing. To disable it |
||||
|
| set it to false. |
||||
|
| If set to null it will loop through all configured locales until |
||||
|
| one existing is found or end of list reached. The locales are looped |
||||
|
| from top to bottom and for country based locales the simple one |
||||
|
| is used first. So "es" will be checked before "es_MX". |
||||
|
| |
||||
|
*/ |
||||
|
'fallback_locale' => 'en', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Translation Model Namespace |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Defines the default 'Translation' class namespace. For example, if |
||||
|
| you want to use App\Translations\CountryTranslation instead of App\CountryTranslation |
||||
|
| set this to 'App\Translations'. |
||||
|
| |
||||
|
*/ |
||||
|
'translation_model_namespace' => null, |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Translation Suffix |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Defines the default 'Translation' class suffix. For example, if |
||||
|
| you want to use CountryTrans instead of CountryTranslation |
||||
|
| application, set this to 'Trans'. |
||||
|
| |
||||
|
*/ |
||||
|
'translation_suffix' => 'Translation', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Locale key |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Defines the 'locale' field name, which is used by the |
||||
|
| translation model. |
||||
|
| |
||||
|
*/ |
||||
|
'locale_key' => 'locale', |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Always load translations when converting to array |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Setting this to false will have a performance improvement but will |
||||
|
| not return the translations when using toArray(), unless the |
||||
|
| translations relationship is already loaded. |
||||
|
| |
||||
|
*/ |
||||
|
'to_array_always_loads_translations' => true, |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Configure the default behavior of the rule factory |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| The default values used to control the behavior of the RuleFactory. |
||||
|
| Here you can set your own default format and delimiters for |
||||
|
| your whole app. |
||||
|
* |
||||
|
*/ |
||||
|
'rule_factory' => [ |
||||
|
'format' => \Astrotomic\Translatable\Validation\RuleFactory::FORMAT_ARRAY, |
||||
|
'prefix' => '%', |
||||
|
'suffix' => '%', |
||||
|
], |
||||
|
]; |
||||
@ -0,0 +1,96 @@ |
|||||
|
<?php |
||||
|
|
||||
|
/* 前后端通信相关的配置,注释只允许使用多行方式 */ |
||||
|
return [ |
||||
|
/* 上传图片配置项 */ |
||||
|
'imageActionName' => 'uploadimage', /* 执行上传图片的action名称 */ |
||||
|
'imageFieldName' => 'upfile', /* 提交的图片表单名称 */ |
||||
|
'imageMaxSize' => 2048000, /* 上传大小限制,单位B */ |
||||
|
'imageAllowFiles' => ['.png', '.jpg', '.jpeg', '.gif', '.bmp'], /* 上传图片格式显示 */ |
||||
|
'imageCompressEnable' => true, /* 是否压缩图片,默认是true */ |
||||
|
'imageCompressBorder' => 1600, /* 图片压缩最长边限制 */ |
||||
|
'imageInsertAlign' => 'none', /* 插入的图片浮动方式 */ |
||||
|
'imageUrlPrefix' => '', /* 图片访问路径前缀 */ |
||||
|
'imagePathFormat' => '/ueditor/image/{yyyy}{mm}{dd}/{time}{rand:6}', /* 上传保存路径,可以自定义保存路径和文件名格式 */ |
||||
|
/* {filename} 会替换成原文件名,配置这项需要注意中文乱码问题 */ |
||||
|
/* {rand:6} 会替换成随机数,后面的数字是随机数的位数 */ |
||||
|
/* {time} 会替换成时间戳 */ |
||||
|
/* {yyyy} 会替换成四位年份 */ |
||||
|
/* {yy} 会替换成两位年份 */ |
||||
|
/* {mm} 会替换成两位月份 */ |
||||
|
/* {dd} 会替换成两位日期 */ |
||||
|
/* {hh} 会替换成两位小时 */ |
||||
|
/* {ii} 会替换成两位分钟 */ |
||||
|
/* {ss} 会替换成两位秒 */ |
||||
|
/* 非法字符 \ => * ? ' < > | */ |
||||
|
/* 具请体看线上文档 => fex.baidu.com/ueditor/#use-format_upload_filename */ |
||||
|
|
||||
|
/* 涂鸦图片上传配置项 */ |
||||
|
'scrawlActionName' => 'uploadscrawl', /* 执行上传涂鸦的action名称 */ |
||||
|
'scrawlFieldName' => 'upfile', /* 提交的图片表单名称 */ |
||||
|
'scrawlPathFormat' => '/ueditor/image/{yyyy}{mm}{dd}/{time}{rand:6}', /* 上传保存路径,可以自定义保存路径和文件名格式 */ |
||||
|
'scrawlMaxSize' => 2048000, /* 上传大小限制,单位B */ |
||||
|
'scrawlUrlPrefix' => '', /* 图片访问路径前缀 */ |
||||
|
'scrawlInsertAlign' => 'none', |
||||
|
|
||||
|
/* 截图工具上传 */ |
||||
|
'snapscreenActionName' => 'uploadimage', /* 执行上传截图的action名称 */ |
||||
|
'snapscreenPathFormat' => '/ueditor/php/image/{yyyy}{mm}{dd}/{time}{rand:6}', /* 上传保存路径,可以自定义保存路径和文件名格式 */ |
||||
|
'snapscreenUrlPrefix' => '', /* 图片访问路径前缀 */ |
||||
|
'snapscreenInsertAlign' => 'none', /* 插入的图片浮动方式 */ |
||||
|
|
||||
|
/* 抓取远程图片配置 */ |
||||
|
'catcherLocalDomain' => ['127.0.0.1', 'localhost', 'img.baidu.com'], |
||||
|
'catcherActionName' => 'catchimage', /* 执行抓取远程图片的action名称 */ |
||||
|
'catcherFieldName' => 'source', /* 提交的图片列表表单名称 */ |
||||
|
'catcherPathFormat' => '/ueditor/php/image/{yyyy}{mm}{dd}/{time}{rand:6}', /* 上传保存路径,可以自定义保存路径和文件名格式 */ |
||||
|
'catcherUrlPrefix' => '', /* 图片访问路径前缀 */ |
||||
|
'catcherMaxSize' => 2048000, /* 上传大小限制,单位B */ |
||||
|
'catcherAllowFiles' => ['.png', '.jpg', '.jpeg', '.gif', '.bmp'], /* 抓取图片格式显示 */ |
||||
|
|
||||
|
/* 上传视频配置 */ |
||||
|
'videoActionName' => 'uploadvideo', /* 执行上传视频的action名称 */ |
||||
|
'videoFieldName' => 'upfile', /* 提交的视频表单名称 */ |
||||
|
'videoPathFormat' => '/ueditor/video/{yyyy}{mm}{dd}/{time}{rand:6}', /* 上传保存路径,可以自定义保存路径和文件名格式 */ |
||||
|
'videoUrlPrefix' => '', /* 视频访问路径前缀 */ |
||||
|
'videoMaxSize' => 102400000, /* 上传大小限制,单位B,默认100MB */ |
||||
|
'videoAllowFiles' => [ |
||||
|
'.flv', '.swf', '.mkv', '.avi', '.rm', '.rmvb', '.mpeg', '.mpg', |
||||
|
'.ogg', '.ogv', '.mov', '.wmv', '.mp4', '.webm', '.mp3', '.wav', '.mid'], /* 上传视频格式显示 */ |
||||
|
|
||||
|
/* 上传文件配置 */ |
||||
|
'fileActionName' => 'uploadfile', /* controller里,执行上传视频的action名称 */ |
||||
|
'fileFieldName' => 'upfile', /* 提交的文件表单名称 */ |
||||
|
'filePathFormat' => '/ueditor/file/{yyyy}{mm}{dd}/{time}{rand:6}', /* 上传保存路径,可以自定义保存路径和文件名格式 */ |
||||
|
'fileUrlPrefix' => '', /* 文件访问路径前缀 */ |
||||
|
'fileMaxSize' => 51200000, /* 上传大小限制,单位B,默认50MB */ |
||||
|
'fileAllowFiles' => [ |
||||
|
'.png', '.jpg', '.jpeg', '.gif', '.bmp', |
||||
|
'.flv', '.swf', '.mkv', '.avi', '.rm', '.rmvb', '.mpeg', '.mpg', |
||||
|
'.ogg', '.ogv', '.mov', '.wmv', '.mp4', '.webm', '.mp3', '.wav', '.mid', |
||||
|
'.rar', '.zip', '.tar', '.gz', '.7z', '.bz2', '.cab', '.iso', |
||||
|
'.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.pdf', '.txt', '.md', '.xml' |
||||
|
], /* 上传文件格式显示 */ |
||||
|
|
||||
|
/* 列出指定目录下的图片 */ |
||||
|
'imageManagerActionName' => 'listimage', /* 执行图片管理的action名称 */ |
||||
|
'imageManagerListPath' => '/ueditor/image/', /* 指定要列出图片的目录 */ |
||||
|
'imageManagerListSize' => 20, /* 每次列出文件数量 */ |
||||
|
'imageManagerUrlPrefix' => '', /* 图片访问路径前缀 */ |
||||
|
'imageManagerInsertAlign' => 'none', /* 插入的图片浮动方式 */ |
||||
|
'imageManagerAllowFiles' => ['.png', '.jpg', '.jpeg', '.gif', '.bmp'], /* 列出的文件类型 */ |
||||
|
|
||||
|
/* 列出指定目录下的文件 */ |
||||
|
'fileManagerActionName' => 'listfile', /* 执行文件管理的action名称 */ |
||||
|
'fileManagerListPath' => '/ueditor/file/', /* 指定要列出文件的目录 */ |
||||
|
'fileManagerUrlPrefix' => '', /* 文件访问路径前缀 */ |
||||
|
'fileManagerListSize' => 20, /* 每次列出文件数量 */ |
||||
|
'fileManagerAllowFiles' => [ |
||||
|
'.png', '.jpg', '.jpeg', '.gif', '.bmp', |
||||
|
'.flv', '.swf', '.mkv', '.avi', '.rm', '.rmvb', '.mpeg', '.mpg', |
||||
|
'.ogg', '.ogv', '.mov', '.wmv', '.mp4', '.webm', '.mp3', '.wav', '.mid', |
||||
|
'.rar', '.zip', '.tar', '.gz', '.7z', '.bz2', '.cab', '.iso', |
||||
|
'.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.pdf', '.txt', '.md', '.xml' |
||||
|
] /* 列出的文件类型 */ |
||||
|
|
||||
|
]; |
||||
@ -0,0 +1,36 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| View Storage Paths |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| Most templating systems load templates from disk. Here you may specify |
||||
|
| an array of paths that should be checked for your views. Of course |
||||
|
| the usual Laravel view path has already been registered for you. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'paths' => [ |
||||
|
resource_path('views'), |
||||
|
], |
||||
|
|
||||
|
/* |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| Compiled View Path |
||||
|
|-------------------------------------------------------------------------- |
||||
|
| |
||||
|
| This option determines where all the compiled Blade templates will be |
||||
|
| stored for your application. Typically, this is within the storage |
||||
|
| directory. However, as usual, you are free to change this value. |
||||
|
| |
||||
|
*/ |
||||
|
|
||||
|
'compiled' => env( |
||||
|
'VIEW_COMPILED_PATH', |
||||
|
realpath(storage_path('framework/views')) |
||||
|
), |
||||
|
|
||||
|
]; |
||||
@ -0,0 +1,15 @@ |
|||||
|
<?php |
||||
|
|
||||
|
return [ |
||||
|
|
||||
|
'swap' => [ |
||||
|
'service' => \App\Workerman\Swap\Swap::class, |
||||
|
'eventHandler' => \App\Workerman\Swap\Events::class, |
||||
|
], |
||||
|
|
||||
|
'option' => [ |
||||
|
'service' => \App\Workerman\Option\Option::class, |
||||
|
'eventHandler' => \App\Workerman\Option\Events::class, |
||||
|
], |
||||
|
|
||||
|
]; |
||||
Binary file not shown.
Loading…
Reference in new issue