wamesk / laravel-app-version-manager

此包最新版本(0.1.2)没有提供许可信息。

0.1.2 2024-01-19 09:39 UTC

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 表中。