From c4870901814cb2bfe6dcb32663eb353caf911dfb Mon Sep 17 00:00:00 2001 From: augushong Date: Fri, 6 Sep 2019 13:42:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E5=90=8E=E5=8F=B0=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=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 --- app/admin/controller/Admin.php | 11 +++ app/admin/controller/AdminPermission.php | 8 +- app/admin/middleware.php | 3 +- app/middleware/AdminLog.php | 41 ++++++++++ app/model/AdminLog.php | 40 +++++++++ app/model/AdminPermission.php | 10 +++ view/admin/admin/admin_log.html | 100 +++++++++++++++++++++++ view/admin/admin_permission/index.html | 41 +++++++++- view/admin/common/left_admin_manage.html | 3 + 9 files changed, 253 insertions(+), 4 deletions(-) create mode 100644 app/middleware/AdminLog.php create mode 100644 app/model/AdminLog.php create mode 100644 view/admin/admin/admin_log.html diff --git a/app/admin/controller/Admin.php b/app/admin/controller/Admin.php index 76febf8..845964b 100644 --- a/app/admin/controller/Admin.php +++ b/app/admin/controller/Admin.php @@ -3,6 +3,7 @@ namespace app\admin\controller; use app\model\Admin as AppAdmin; +use app\model\AdminLog; use app\UploadFiles as AppUploadFiles; use think\facade\View; @@ -86,4 +87,14 @@ class Admin extends Common { } + + public function adminLog() + { + + $list = AdminLog::order('id desc')->paginate(10); + + View::assign('list',$list); + + return View::fetch(); + } } diff --git a/app/admin/controller/AdminPermission.php b/app/admin/controller/AdminPermission.php index 80ea1df..09c0e0e 100644 --- a/app/admin/controller/AdminPermission.php +++ b/app/admin/controller/AdminPermission.php @@ -3,6 +3,7 @@ namespace app\admin\controller; use app\model\AdminPermission as AppAdminPermission; +use think\facade\Cache; use think\facade\View; use think\Request; @@ -17,7 +18,7 @@ class AdminPermission extends Common { // - $list = AppAdminPermission::paginate(); + $list = AppAdminPermission::order('app,controller,action')->paginate(); View::assign('list',$list); @@ -51,6 +52,8 @@ class AdminPermission extends Common $model_permission->save(); + Cache::delete('logged_admin_permission'); + return json_message(); } @@ -63,5 +66,8 @@ class AdminPermission extends Common public function delete($id) { // + AppAdminPermission::destroy($id); + Cache::delete('logged_admin_permission'); + return json_message(); } } diff --git a/app/admin/middleware.php b/app/admin/middleware.php index 06e50c3..a01674a 100644 --- a/app/admin/middleware.php +++ b/app/admin/middleware.php @@ -1,5 +1,6 @@ select()); + } + + + $is_exit = $logged_admin_permission->where('app',$request->app()) + ->where('controller',$request->controller()) + ->where('action',$request->action()); + + if(!$is_exit->isEmpty()){ + AppAdminLog::create([ + 'app'=>$request->app(), + 'controller'=>$request->controller(), + 'action'=>$request->action(), + 'param'=>$request->param(), + 'create_time'=>time(), + 'admin_id'=>$request->session('admin_id','0'), + 'ip'=>$request->ip() + ]); + } + + return $next($request); + + } +} diff --git a/app/model/AdminLog.php b/app/model/AdminLog.php new file mode 100644 index 0000000..0352016 --- /dev/null +++ b/app/model/AdminLog.php @@ -0,0 +1,40 @@ +belongsTo('Admin','admin_id'); + } + + public function getUrlAttr() + { + return AdminPermission::where([ + 'app'=>$this->getData('app'), + 'controller'=>$this->getData('controller'), + 'action'=>$this->getData('action'), + ])->find(); + } + + public function setParamAttr($value) + { + return json_encode($value,JSON_UNESCAPED_UNICODE); + } + + public function getParamAttr($value) + { + return \mb_substr($value,0,30); + } +} diff --git a/app/model/AdminPermission.php b/app/model/AdminPermission.php index 4247ab9..95fb7a6 100644 --- a/app/model/AdminPermission.php +++ b/app/model/AdminPermission.php @@ -11,4 +11,14 @@ use think\Model; class AdminPermission extends Model { // + + public function getIsLogAttr($value) + { + $status = [ + 0=>'不记录', + 1=>'记录', + ]; + + return $status[intval($value)]; + } } diff --git a/view/admin/admin/admin_log.html b/view/admin/admin/admin_log.html new file mode 100644 index 0000000..f7b4fdd --- /dev/null +++ b/view/admin/admin/admin_log.html @@ -0,0 +1,100 @@ + + + + + + + + 应用管理 + {include file="common/_require"} + + + + +
+ {include file="common/_header"} + + {include file="common/left_admin_manage"} + +
+ +
+
+ + 首页 + 系统信息 + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + {volist name='list' id='vo'} + + + + + + + + + + {/volist} + {if condition="count($list) eq 0" } + + + + {/if} + +
ID访问地址访问信息携带参数操作管理员
{$vo.id} +

{$vo.url.name}

+

{$vo.app}/{$vo.controller}/{$vo.action}

+
+

访问时间:{$vo.create_time}

+

访问IP:{$vo.ip}

+
+
查看详情
+
+ {$vo.param} +
+ + {$vo.admin_id}/{$vo.admin.nickname} +
暂无操作记录
+
+ {$list->render()|raw} +
+
+
+
+
+ + + {include file="common/_footer"} + + +
+ + + \ No newline at end of file diff --git a/view/admin/admin_permission/index.html b/view/admin/admin_permission/index.html index 083b4a3..fafbf9c 100644 --- a/view/admin/admin_permission/index.html +++ b/view/admin/admin_permission/index.html @@ -44,7 +44,7 @@ {volist name='list' id='vo'} - + {$vo.id} {$vo.name} @@ -56,6 +56,7 @@
+
{$vo.is_log}
删除
@@ -68,6 +69,9 @@ {/if} +
+ {$list->render()|raw} +
@@ -109,7 +113,40 @@ }) $('.delete').click(function(){ - + var item = this; + layer.confirm('确定要删除吗?',function(){ + $.get('{:url("AdminPermission/delete")}',{ + id:$(item).parents('tr').data('id') + },function(result){ + if(result.code == 0){ + layer.msg('删除成功'); + $(item).parents('tr').remove(); + }else{ + layer.msg(result.msg) + } + }) + }) + }) + + $('.is-log').click(function(){ + var item = this; + var isLog = $(item).parents('tr').data('is-log') + if(isLog == 0){ + isLog = 1 + }else{ + isLog = 0 + } + $.post('{:url("AdminPermission/update")}',{ + id:$(item).parents('tr').data('id'), + is_log:isLog + },function(){ + if(isLog == 1){ + $(item).text('记录') + }else{ + $(item).text('不记录') + + } + }) }) }) diff --git a/view/admin/common/left_admin_manage.html b/view/admin/common/left_admin_manage.html index 1fa3747..45719b0 100644 --- a/view/admin/common/left_admin_manage.html +++ b/view/admin/common/left_admin_manage.html @@ -11,6 +11,9 @@
  • 权限管理
  • +
  • + 操作日志 +
  • \ No newline at end of file