itas/laravel-audit

为 Laravel 应用程序提供数据审计功能。

v1.0.2 2019-03-01 14:04 UTC

This package is auto-updated.

Last update: 2024-09-29 05:02:25 UTC


README

安装

laravel-audit 服务提供者可以通过 Composer 安装,要求 itas/laravel-audit 包,并在项目中的 composer.json 文件中将 minimum-stability 设置为 dev(Laravel 5 所需)。

{
    "require": {
        "itas/laravel-audit": "~1.0"
    }
}

或者

使用 Composer 需求此包

composer require itas/laravel-audit 

使用 composer update 更新包或使用 composer install 安装。

用法

要使用 laravel-audit 服务提供者,必须在启动 Laravel 应用程序时注册提供者。这基本上有两种方法。

config/app.php 中找到 providers 键并注册 laravel-audit 服务提供者。

    'providers' => [
        // ...
        itas\LaravelAudit\AuditServiceProvider::class,
    ]

配置

要使用自己的设置,请发布配置。

$ php artisan vendor:publish

config/audit.php

最后一步

运行: $ php artisan migrate

演示

<?php

namespace App\Model;

use Itas\LaravelAudit\Traits\HasAudit;
use Illuminate\Database\Eloquent\Model;

class Leave extends Model
{
    use HasAudit;

    protected $table = 'leave';
}
<?php

namespace App\Http\Controllers;

use Itas\LaravelAudit\Events\CreateRecorded;
use App\Model\Leave;

class LeaveController extends Controller
{
    // 创建请假单时,生成请假审核流
    public function create(Leave $leave)
    {
        $leave = $leave->create([]);

        $object = collect();
        $object->model = $leave;
        $object->users = [
            [
                'user_id' => 1,
                'node' => '组长',
                'sort' => 1
            ],
            [
                'user_id' => 2,
                'node' => '副总监',
                'sort' => 2
            ],
            [
                'user_id' => 3,
                'node' => '技术总监',
                'sort' => 3
            ],
            [
                'user_id' => 4,
                'node' => '人事',
                'sort' => 4
            ],
        ];
        event(new CreateRecorded($object));
    }
    
    // 显示审核流程图
    public function index(Leave $leave)
    {
        $audit = $leave->with('audit', 
                            'audit.currentAuditUser', 
                            'audit.auditUsers', 
                            'audit.auditRecords', 
                            'audit.auditUsers.auditer')
                        ->find(1)
                        ->toArray();
        
        return view('audit.stream', compact('audit'));
    }
}

效果图

图片

图片

图片