wm/wm-package

Webmapp laravel wm-package


README

版本:1.1

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

这里应该放置你的描述。尽量限制在一段或两段话内。可以考虑添加一个小示例。

安装

您可以通过 composer 安装此包

composer require wm/wm-package

您可以使用以下命令发布和运行迁移

php artisan vendor:publish --tag="wm-package-migrations"
php artisan migrate

可用的迁移有

  • create_jobs_table,为默认的 laravel job 添加一个额外的列
  • create_hoqu_caller_jobs,HoquCallerJob 模型表,对于处理器/调用实例是必要的

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="wm-package-config"

这是发布配置文件的内容

return [
    'hoqu_url' => env('HOQU_URL', 'https://hoqu2.webmapp.it'),
    'hoqu_register_username' => env('HOQU_REGISTER_USERNAME'),
    'hoqu_register_password' => env('HOQU_REGISTER_PASSWORD ')
];

使用方法

use Wm\WmPackage\Facades\HoquClient;
/** Start store call to hoqu (1)**/
HoquClient::store(['name' => 'test','input' => '{ ... }' ]);
...
/** It logins (to retrieve a token) as an user that can create processors/callers on hoqu **/
HoquClient::registerLogin()
...
/** Register a new processor/caller on hoqu **/
HoquClient::register()

更新

您可以通过 composer 更新此包

composer update wm/wm-package

测试

composer test

开发

如果您需要在完整的 laravel 实例上测试此包,请在 laravel 目录的同级目录中克隆此仓库,然后在 laravel 的 composer.json 文件中添加一个新的 composer 仓库路径

"repositories": [
        {
            "type": "path",
            "url": "../wm-package"
        }
    ]

然后您可以使用 composer require wm/wm-package 安装此包

推送

我们使用 git flow 向此仓库添加功能。请在新的功能分支中创建一个新的功能,然后推送并从您的功能分支通过 github 接口向 develop 发起 pull request。

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅许可证文件

文档

https://github.com/spatie/laravel-package-tools

https://laravel.net.cn/docs/9.x/facades#facades-vs-dependency-injection

https://pest.php.ac.cn/

默认的私有/公开路由(由 Sanctum 提供)

  • 公开路由
    • POST /login : 通过 emailpassword 参数允许登录,格式为 x-www-form-urlencoded
  • 私有路由
    • POST /logout 允许通过 Bearer 令牌登出
    • GET /user 通过 Bearer 令牌返回登录用户的详细信息

Artisan 命令

  • hoqu:register-user。基于在 .env 文件中提供的凭据在 Hoqu 实例上创建新用户。选项
    • --R|role:必需,此实例的角色:"caller","processor" 或 "caller,processor"
    • --endpoint=false:此实例的端点,默认为 .env 文件中的 APP_URL
  • hoqu:store。向 Hoqu 发起调用以存储作业,将新的 HoquCallerModel 存储在数据库中,并在 Hoqu 响应中保存。选项
    • --class:必需,将在处理器上执行作业的类
    • --featureId:必需,在作业完成后更新功能 ID
    • --field:必需,在作业完成后更新的字段
    • --input:必需,发送到处理器的输入
  • db:upload_db_aws。将给定的 sql 文件和数据库的最后导出上传到 AWS。仅从生产环境上传。参数
    • dumpname?:要上传的 sql 压缩文件的名称
  • db:download。从服务器在 storage/app/database 文件夹中下载 dump.sql。没有参数