日志记录

This commit is contained in:
JaguarJack 2019-01-17 18:29:35 +08:00
parent df987f7a78
commit a72fe40570
5 changed files with 54 additions and 9 deletions

View File

@ -13,7 +13,7 @@ abstract class Base extends Controller
protected $page = 1; protected $page = 1;
protected $middleware = ['checkLogin', 'auth']; protected $middleware = ['checkLogin', 'auth', 'logRecord'];
/** /**
* 过滤参数 * 过滤参数

View File

@ -1,7 +1,16 @@
<?php <?php
/**
* Created by PhpStorm. namespace app\http\middleware;
* User: Administrator
* Date: 2019/1/17 use app\service\LogService;
* Time: 18:06
*/ class LogRecord
{
public function handle($request, \Closure $next)
{
(new LogService())->record($request);
return $next($request);
}
}

View File

@ -5,3 +5,10 @@
* Date: 2019/1/17 * Date: 2019/1/17
* Time: 18:09 * Time: 18:09
*/ */
namespace app\model;
class LogRecordModel extends BaseModel
{
protected $name = 'option_log';
}

View File

@ -5,3 +5,31 @@
* Date: 2019/1/17 * Date: 2019/1/17
* Time: 18:06 * Time: 18:06
*/ */
namespace app\service;
use think\permissions\facade\Permissions;
use think\Request;
use app\model\LogRecordModel;
class LogService
{
public function record(Request $request)
{
$module = $request->module();
$controller = $request->controller();
$action = $request->action();
$user = $request->session('user');
$permission = Permissions::getPermissionByModuleAnd($module, $controller, $action);
(new LogRecordModel())->store([
'user_id' => $user->id,
'user_name' => $user->name,
'module' => $module,
'controller' => $controller,
'action' => $action,
'option' => $permission->name,
'method' => $request->method(),
]);
}
}

View File

@ -17,4 +17,5 @@ return [
'default_namespace' => 'app\\http\\middleware\\', 'default_namespace' => 'app\\http\\middleware\\',
'auth' => \think\permissions\PermissionMiddleware::class, 'auth' => \think\permissions\PermissionMiddleware::class,
'checkLogin' => app\http\middleware\checkLogin::class, 'checkLogin' => app\http\middleware\checkLogin::class,
'logRecord' => app\http\middleware\LogRecord::class,
]; ];