From a72fe4057077bd457ca0a5f94639ee1dfc5e176a Mon Sep 17 00:00:00 2001 From: JaguarJack <82664165@qq.com> Date: Thu, 17 Jan 2019 18:29:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/admin/controller/Base.php | 2 +- application/http/middleware/LogRecord.php | 21 +++++++++++----- application/model/LogRecordModel.php | 9 ++++++- application/service/LogService.php | 30 ++++++++++++++++++++++- config/middleware.php | 1 + 5 files changed, 54 insertions(+), 9 deletions(-) diff --git a/application/admin/controller/Base.php b/application/admin/controller/Base.php index 8fe98e2..226710f 100644 --- a/application/admin/controller/Base.php +++ b/application/admin/controller/Base.php @@ -13,7 +13,7 @@ abstract class Base extends Controller protected $page = 1; - protected $middleware = ['checkLogin', 'auth']; + protected $middleware = ['checkLogin', 'auth', 'logRecord']; /** * 过滤参数 diff --git a/application/http/middleware/LogRecord.php b/application/http/middleware/LogRecord.php index 2e67b3d..38e32f1 100644 --- a/application/http/middleware/LogRecord.php +++ b/application/http/middleware/LogRecord.php @@ -1,7 +1,16 @@ record($request); + + return $next($request); + } +} diff --git a/application/model/LogRecordModel.php b/application/model/LogRecordModel.php index eabce03..ece53c6 100644 --- a/application/model/LogRecordModel.php +++ b/application/model/LogRecordModel.php @@ -4,4 +4,11 @@ * User: Administrator * Date: 2019/1/17 * Time: 18:09 - */ \ No newline at end of file + */ +namespace app\model; + +class LogRecordModel extends BaseModel +{ + protected $name = 'option_log'; + +} \ No newline at end of file diff --git a/application/service/LogService.php b/application/service/LogService.php index 2e67b3d..b013f59 100644 --- a/application/service/LogService.php +++ b/application/service/LogService.php @@ -4,4 +4,32 @@ * User: Administrator * Date: 2019/1/17 * Time: 18:06 - */ \ No newline at end of file + */ +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(), + ]); + } +} diff --git a/config/middleware.php b/config/middleware.php index f8a6824..e3f46fc 100644 --- a/config/middleware.php +++ b/config/middleware.php @@ -17,4 +17,5 @@ return [ 'default_namespace' => 'app\\http\\middleware\\', 'auth' => \think\permissions\PermissionMiddleware::class, 'checkLogin' => app\http\middleware\checkLogin::class, + 'logRecord' => app\http\middleware\LogRecord::class, ];