reliqarts/laravel-logistiq

该软件包已被放弃且不再维护。未建议替代软件包。

适用于Laravel的多功能跟踪/物流软件包。

v0.0.1 2019-07-12 14:42 UTC

This package is auto-updated.

Last update: 2020-12-14 20:16:49 UTC


README

适用于Laravel的多功能跟踪/物流软件包

Logistiq是一个即插即用的跟踪软件包,允许您跟踪任何可跟踪的实体(例如订单、发货等)。它高度可配置且易于使用。

Built For Laravel License Build Status (all) Scrutinizer Codecov Latest Stable Version

主要特性

  • 通过不同的用户定义状态跟踪任何Eloquent 模型
  • 配置一个或多个事件,在模型进入任何用户定义状态时触发。
  • 支持在使用事件源(这是什么?)时使用 laravel-event-projector

安装 & 使用

  1. 通过composer安装

    composer require reliqarts/laravel-logistiq
  2. 配置 & 设置

    1. 通过artisan发布配置文件

      php artisan vendor:publish --tag=reliqarts-logistiq-config
    2. 您要跟踪的模型必须实现 ReliqArts\Logistiq\Tracking\Contracts\Trackable 或扩展 ReliqArts\Logistiq\Tracking\Models\Trackable

      例如: App\Order::class

      <?php
      
      // ...
      
      use ReliqArts\Logistiq\Tracking\Models\Trackable;
      
      class Order extends Trackable
      {
          // ...
      }
    3. 创建您的 Status 模型并实现其中的 ReliqArts\Logistiq\Tracking\Contracts\Status 接口。

      例如: App\Status::class

      <?php
      
      // ...
      
      use ReliqArts\Logistiq\Utility\Eloquent\Model;
      use ReliqArts\Logistiq\Tracking\Contracts\Status as LogistiqStatusContract;
      
      class Status extends Model implements LogistiqStatusContract
      {   
          // ...
      }
    4. 配置 event_map,在特定 Status 被触发时触发额外的事件。

      例如: /config/reliqats-logistiq 的摘录

      <?php
      
      // ...
      
      'event_map' => [
          '230c6c51-3b5b-4eea-9ef2-415e4d8fee00' => [ProductShipped::class, ProductMoved::class]
      ],
      
      // ...

      说明: 上述代码片段中,每当标识符为 230c6c51-3b5b-4eea-9ef2-415e4d8fee00 的状态被可跟踪模型达到时,将触发 ProductShippedProductMoved 事件。您完全控制这些事件触发的内容,但是每个事件必须期望一个 Trackable 作为第一个构造函数参数。

更多信息即将到来... 🚚

许可证

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