beanbean/activity

Laravel 的 Activity 包

0.1.0 2019-03-27 05:49 UTC

This package is auto-updated.

Last update: 2024-09-27 18:24:44 UTC


README

Build Status

一个遵循 活动流规范JSON API 的 Laravel 包

feed

timeline

order-track

示例

https://github.com/toancong/activity-demo

安装

composer require beanbean/activity

使用方法

将 Activity 模型特性集成到你的代码中

  1. 在模型中添加 Activitiable 特性
// class User, class Product
use \Bean\Activity\Traits\Activitiable;
  1. 在发生某些操作时添加活动
// when user favorite a product
app('activity')->create([
    // 'favorite'
    'type'    => ActivityConst::FAVORITE_PRODUCT,

    // selected fields to save
    'actor'   => $user->toObject('id', 'fullname', 'avatar_url'),

    // selected fields to save
    'object'  => $product->toObject('id', 'title', 'image_url'),

    // a placeholder template to use later
    'summary' => '{{actor}} {{type}} {{object}}',
]);

// when user unfavorite a product
app('activity')->delete($user, 'favorite', $product);

//browse to display
$activities = app('activity')->browse([
    'target_id' => (string)$user->id,
    'type'      => 'favorite',
], [
    'page' => [
        'size' => 50,
    ]
]);

与 API 集成

即将推出

待办事项

  • 活动服务
  • BREAD API
  • 应用内通知、活动 UI
  • UI 主题支持
  • 实时活动
  • 水平分区

贡献

欢迎 PR。请先创建一个 issue,并提交包含良好提交信息的 PR。谢谢

开发

docker-compose run --rm --entrypoint=composer test install

测试

docker-compose run --rm test

许可

MIT