wamesk / laravel-app-version-manager
Requires
- laravel/framework: 8.*|9.*|10.*
This package is auto-updated.
Last update: 2024-09-09 08:15:08 UTC
README
安装
composer require wamesk/laravel-app-version-manager
在 app.php 中添加 LaravelAppVersionManagerProvider.php。
'providers' => [ ... LaravelAppVersionManager\LaravelAppVersionManagerProvider::class, ... ],
下一步是发布所有翻译、迁移和配置。这样您可以修改它们以适应您的需求。
php artisan vendor:publish --provider="Wame\LaravelAppVersionManager\LaravelAppVersionManagerProvider"
配置
翻译
您可以在以下位置找到翻译。
现在您可以看到,它只有有限的翻译,文件夹像 "en" 一样。
您可以通过创建另一个包含 version-messages.php 的文件夹来创建新的翻译。
此外,如果您需要,您还可以编辑现有的翻译。
resourses/
└── lang/
└── vendor/
└── laravel-app-version/
├── sk/
│ └── version-messages.php
├── cz/
│ └── version-messages.php
└── en/
└── version-messages.php
迁移
您可以在 migrations 文件夹中找到已发布的迁移。
那里没有太多可以更改的,但如果你使用的是 ulid 之外的类型,你可能想更改 id 类型。
配置
您可以在 config 文件夹中找到已发布的配置。
在那里您可以找到具有不同目的的这些键,您可以在以下位置查看它们的作用。
如果您需要,您可以自由更改它们。
app_name
此键将确定在响应消息中使用的应用程序名称。
route.prefix
默认情况下,这是 api/v1,但如果您使用 api/v2 或不版本化您的 API 端点,您可以将其更改为 api 或空字符串。
用法
头部
此包是关于应用程序版本。因此,它非常关注 API 端点。
为了使此包正常工作,您需要在通过中间件处理的每个请求中发送 app-version 头部。
中间件
此中间件需要覆盖您在应用程序中使用的每个 API 端点。
如上所述,您需要发送 app-version 头部,它将与之协同工作。
工作原理:此中间件非常简单,获取 app-version 头部,在数据库中查找版本,然后检查版本是否具有已弃用的状态。如果是这样,它将返回 426 响应。
用法
以下是如何使用此中间件的示例。您还可以将其全局注册,但在这个例子中,我们将只覆盖路由生成用法。
use Wame\LaravelAppVersionManager\Http\Middleware\DeprecatedVersionCheckMiddleware; Route::group(['middleware' => DeprecatedVersionCheckMiddleware::class], function () { \Illuminate\Support\Facades\Route::post('login', [LoginController::class, 'login']); });
API 端点
此包还附带 API 端点。
路由 URL 是 .../app-version-check,可在配置中配置。
如果发送到头部 app-version 的版本较旧或已更新,则端点将以 200 状态码响应。
响应将包含两个参数
message - 可用于在应用程序中显示的基本翻译消息。
update - 布尔参数,指示是否存在应用程序的新版本。
版本历史
使用模型对应用程序版本进行的任何更改都将记录在 app_version_history 表中。