39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace catchAdmin\permissions;
|
|
|
|
use catchAdmin\permissions\model\Permissions;
|
|
use catchAdmin\system\model\OperateLog;
|
|
use catcher\CatchAdmin;
|
|
use think\facade\Db;
|
|
|
|
class OperateLogEvent
|
|
{
|
|
public function handle($params)
|
|
{
|
|
$permission = $params['permission'];
|
|
|
|
$parentPermission = Permissions::where('id', $permission->parent_id)->value('permission_name');
|
|
|
|
$requestParams = request()->param();
|
|
|
|
// 如果参数过长则不记录
|
|
if (!empty($requestParams)) {
|
|
if (strlen(\json_encode($requestParams)) > 1000) {
|
|
$requestParams = [];
|
|
}
|
|
}
|
|
|
|
app(OperateLog::class)->storeBy([
|
|
'creator_id' => $params['creator_id'],
|
|
'module' => $parentPermission ? : '',
|
|
'method' => request()->method(),
|
|
'operate' => $permission->permission_name,
|
|
'route' => $permission->permission_mark,
|
|
'params' => !empty($requestParams) ? json_encode($requestParams, JSON_UNESCAPED_UNICODE) : '',
|
|
'created_at' => time(),
|
|
'ip' => request()->ip(),
|
|
]);
|
|
}
|
|
}
|