feat: 前台 .shtml 后缀 canonical + strict_types 全量启用 + 对外 API(Sanctum+Scramble 文档)+ pm2 ecosystem + GitHub Actions CI + 插件/主题/架构/API 文档 + REDIS_PREFIX 说明

This commit is contained in:
ak
2026-08-11 19:37:33 +08:00
parent 1c8a801238
commit fc6624cf84
244 changed files with 1902 additions and 97 deletions
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
return [
/*
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
use App\Models\User;
return [
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
return [
'backup' => [
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
return [
/*
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
use Illuminate\Support\Str;
return [
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
use Illuminate\Support\Str;
use Pdo\Mysql;
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
return [
/*
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
use Monolog\Handler\NullHandler;
use Monolog\Handler\StreamHandler;
use Monolog\Handler\SyslogUdpHandler;
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
return [
/*
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
return [
/*
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
use Spatie\ImageOptimizer\Optimizers\Avifenc;
use Spatie\ImageOptimizer\Optimizers\Cwebp;
use Spatie\ImageOptimizer\Optimizers\Gifsicle;
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
return [
/*
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
use Spatie\Permission\DefaultTeamResolver;
use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role;
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
return [
/*
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
return [
/*
+4 -1
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
return [
/*
@@ -10,7 +13,7 @@ return [
'allow' => ['/'],
'disallow' => ['/admin', '/admin/*', '/search', '/login', '/register', '/profile'],
'disallow' => ['/admin', '/admin/*', '/search.shtml', '/login.shtml', '/register.shtml', '/profile.shtml'],
'sitemap' => '/sitemap.xml',
];
+87
View File
@@ -0,0 +1,87 @@
<?php
use Illuminate\Cookie\Middleware\EncryptCookies;
use Illuminate\Foundation\Http\Middleware\ValidateCsrfToken;
use Laravel\Sanctum\Http\Middleware\AuthenticateSession;
use Laravel\Sanctum\Sanctum;
return [
/*
|--------------------------------------------------------------------------
| Stateful Domains
|--------------------------------------------------------------------------
|
| Requests from the following domains / hosts will receive stateful API
| authentication cookies. Typically, these should include your local
| and production domains which access your API via a frontend SPA.
|
*/
'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', sprintf(
'%s%s',
'localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1',
Sanctum::currentApplicationUrlWithPort(),
// Sanctum::currentRequestHost(),
))),
/*
|--------------------------------------------------------------------------
| Sanctum Guards
|--------------------------------------------------------------------------
|
| This array contains the authentication guards that will be checked when
| Sanctum is trying to authenticate a request. If none of these guards
| are able to authenticate the request, Sanctum will use the bearer
| token that's present on an incoming request for authentication.
|
*/
'guard' => ['web'],
/*
|--------------------------------------------------------------------------
| Expiration Minutes
|--------------------------------------------------------------------------
|
| This value controls the number of minutes until an issued token will be
| considered expired. This will override any values set in the token's
| "expires_at" attribute, but first-party sessions are not affected.
|
*/
'expiration' => null,
/*
|--------------------------------------------------------------------------
| Token Prefix
|--------------------------------------------------------------------------
|
| Sanctum can prefix new tokens in order to take advantage of numerous
| security scanning initiatives maintained by open source platforms
| that notify developers if they commit tokens into repositories.
|
| See: https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning
|
*/
'token_prefix' => env('SANCTUM_TOKEN_PREFIX', ''),
/*
|--------------------------------------------------------------------------
| Sanctum Middleware
|--------------------------------------------------------------------------
|
| When authenticating your first-party SPA with Sanctum you may need to
| customize some of the middleware Sanctum uses while processing the
| request. You may change the middleware listed below as required.
|
*/
'middleware' => [
'authenticate_session' => AuthenticateSession::class,
'encrypt_cookies' => EncryptCookies::class,
'validate_csrf_token' => ValidateCsrfToken::class,
],
];
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
return [
/*
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
use Illuminate\Support\Str;
return [
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
use GuzzleHttp\RequestOptions;
use Spatie\Sitemap\Crawler\Profile;
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
return [
/*
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
return [
/*
+3
View File
@@ -1,5 +1,8 @@
<?php
declare(strict_types=1);
return [
/*