egeatech/app-updater

一个用于处理未在官方商店发布的移动应用自更新的包

3.0.1 2024-01-09 16:18 UTC

This package is auto-updated.

Last update: 2024-09-09 17:42:27 UTC


README

Latest Version on Packagist Total Downloads

一个处理未在官方商店发布的移动应用更新分发的包。

安装

此包支持Laravel 7和8。

通过Composer

$ composer require egeatech/app-updater

用法

路由注册

要使用此包,您只需注册其路由。例如,在您的应用RouteServiceProvider中:只需将以下内容粘贴到boot()方法中

EgeaTech\AppUpdater\Facades\AppUpdater::routes();

然后您就可以开始使用了。

可选地,您可以为每个路由定义自定义中间件或更改包定义的路由前缀:只需将一个定义您所需设置的EgeaTech\AppUpdater\Http\Routing\RoutingOptions对象传递给routes()函数。一个示例用法如下

EgeaTech\AppUpdater\Facades\AppUpdater::routes(
    new EgeaTech\AppUpdater\Http\Routing\RoutingOptions([
        'middleware' => ['api'],
        'prefix' => 'api'
    ],[
        'client-credentials',
        'throttle:60,1',
        'my-custom-middleware-name',
    ])
);

配置发布

此包附带一个小的配置文件,用于配置一些小方面。要发布它,请运行

 php artisan vendor:publish --tag app-updater.config

迁移发布

此包将在您的数据库中添加一个额外的表,用于保存所有可用的应用程序。通过运行以下操作来发布其迁移以开始使用

 php artisan vendor:publish --tag app-updater.migrations

注意:已发布的文件可以修改,但请注意,更新结构将需要更新包定义的依赖注入(更多内容将在后面介绍)。

依赖注入

此包高度可配置,因为其大部分组件都通过Laravel DI机制连接到具体类来处理接口。为了覆盖包的组件(表单请求、JSON资源、Eloquent模型、服务类和存储库类),您必须创建一个新的ServiceProvider类,将包的接口绑定到您自己的自定义类。在这个例子中,我们将重新分配Application模型到另一个实体。

class DependencyInjectionHandler extends ServiceProvider {
    /**
     * Register services.
     *
     * @return void
     */
    public function register()
    {
        app()->bind(ApplicationModelContract::class, MyCustomApplication::class);
    }
}

在定义新的ServiceProvider类后,不要忘记将其添加到您的config/app.php文件中的providers数组。

变更日志

请参阅变更日志,了解更多最近的变化信息。

贡献

请参阅contributing.md以获取详细信息。

安全性

如果您发现任何与安全相关的问题,请通过作者的电子邮件而不是使用问题跟踪器。

鸣谢

许可证

该软件根据MIT许可证授权。请参阅许可证文件以获取更多信息。