From ff9f2af6871dd688731ec29477839c53847cc2b0 Mon Sep 17 00:00:00 2001 From: yanzai Date: Mon, 25 Mar 2024 21:54:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=97=A5=E5=BF=97=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Http/Controllers/API/LogController.php | 22 +++ Laravel/app/Services/LogService.php | 45 +++++ Laravel/routes/api.php | 2 + el-admin/src/api/api.js | 8 + el-admin/src/router/index.js | 7 + el-admin/src/views/SystemMngr/SystemLog.vue | 158 ++++++++++++++++++ 6 files changed, 242 insertions(+) create mode 100644 Laravel/app/Http/Controllers/API/LogController.php create mode 100644 el-admin/src/views/SystemMngr/SystemLog.vue diff --git a/Laravel/app/Http/Controllers/API/LogController.php b/Laravel/app/Http/Controllers/API/LogController.php new file mode 100644 index 0000000..01a99dd --- /dev/null +++ b/Laravel/app/Http/Controllers/API/LogController.php @@ -0,0 +1,22 @@ +GetList(['page'=>$page,'pagesize'=>$pagesize,'searchInfo'=>$searchInfo]); + } + public function GetLogTableName(){ + $s= new LogService(); + return $s->GetLogTableName(); + } +} diff --git a/Laravel/app/Services/LogService.php b/Laravel/app/Services/LogService.php index 76c197e..96c4ce4 100644 --- a/Laravel/app/Services/LogService.php +++ b/Laravel/app/Services/LogService.php @@ -42,6 +42,51 @@ class LogService } + //获取日志表名称 + public function GetLogTableName(){ + $result=[]; + //获取日志表名称 + $tables = DB::select("SHOW TABLES LIKE '%" . 'zz_request_log_' . "%'"); + $tableNames = []; + + foreach($tables as $table) { + foreach($table as $tableName) { + $tableNames[] = $tableName; + } + } + $result['table_list']=$tableNames; + return \Yz::Return(true,'获取成功',$result); + } + + public function GetList($arr){ //获取日志列表 + $result=[]; + $table_name=$arr['searchInfo']['table_name']; + $page = $arr['page']; + $pagesize = $arr['pagesize']; + if(isset($table_name)){ + //获取接口列表 + $apilist=DB::table($table_name) + ->select('request_url') + ->groupBy('request_url') + ->get(); + $result['api_list']=$apilist; + + $list=DB::table($table_name); + if(isset($arr['searchInfo']['request_url'])) $list=$list->where('request_url',$arr['searchInfo']['request_url']); + if(isset($arr['searchInfo']['ziduan']) and isset($arr['searchInfo']['ziduan_value'])) $list=$list->where($arr['searchInfo']['ziduan'],'like','%'.$arr['searchInfo']['ziduan_value'].'%' ); + $count=$list->count(); + $list=$list->orderBy('id', 'desc')->skip(($page-1)*$pagesize)->take($pagesize)->get(); + + $result['list']=$list; + $result['count']=$count; + return \Yz::Return(true,'获取成功',$result); + }else{ + return \Yz::echoError1("请选择表名"); + } + + + } + public static function CheckTableName(){ // 查看日志表是否存在,每月一个表,如果没有就创建 $table_name='zz_request_log_' . date('ym'); if(Schema::hasTable($table_name)){ diff --git a/Laravel/routes/api.php b/Laravel/routes/api.php index 833103f..2eae489 100644 --- a/Laravel/routes/api.php +++ b/Laravel/routes/api.php @@ -38,6 +38,8 @@ Route::group(['middleware'=>['checktoken','log'],'prefix'=>'v1'],function () { Route::post('admin/GetGroupMenuList','App\Http\Controllers\API\Admin\GroupController@GetGroupMenuList'); //管理员查询分组使用的菜单 Route::post('admin/SaveGroup','App\Http\Controllers\API\Admin\GroupController@Save'); //admin后台组列表 Route::post('admin/CheckMenuAuth','App\Http\Controllers\API\Admin\BaseInfoController@CheckMenuAuth'); //admin后台检查用户菜单权限 + Route::post('admin/SystemLogGetList','App\Http\Controllers\API\LogController@GetList');//admin后台获取日志列表 + Route::post('admin/GetLogTableName','App\Http\Controllers\API\LogController@GetLogTableName');//admin后台获取日志表名 //--------------以上为系统基本接口 Route::post('admin/GetHealthOrganizationEnableList','App\Http\Controllers\API\Admin\YeWu\HealthOrganizationController@GetEnableList'); //admin后台获取可用体检机构列表 diff --git a/el-admin/src/api/api.js b/el-admin/src/api/api.js index 0d79323..c0959e9 100644 --- a/el-admin/src/api/api.js +++ b/el-admin/src/api/api.js @@ -120,4 +120,12 @@ export const UkeyGetServeInfo = (data={}) => { //Ukey登陆 export const UkeyUserInfoLogin = (data={}) => { return axios({url:import.meta.env.VITE_APP_API+'UkeyLogin',data:data}) +} +//获取日志列表 +export const SystemLogGetList = (data={}) => { + return axios({url:import.meta.env.VITE_APP_API+'v1/admin/SystemLogGetList',data:data}) +} +//获取日志表名 +export const GetLogTableName = (data={}) => { + return axios({url:import.meta.env.VITE_APP_API+'v1/admin/GetLogTableName',data:data}) } \ No newline at end of file diff --git a/el-admin/src/router/index.js b/el-admin/src/router/index.js index f45274c..2d2a295 100644 --- a/el-admin/src/router/index.js +++ b/el-admin/src/router/index.js @@ -58,6 +58,13 @@ const router = createRouter({ component: AdminChangPwd, meta: { title: '用户中心' } }, { + path: '/systemMngr/systemLog', + name: 'SystemMngrsystemLog', + component: () => import('../views/SystemMngr/SystemLog.vue'), + meta: { + title: '系统日志' + } + },{ path: '/healthCalendar', name: 'HealthCalendar', component: HealthCalendar, diff --git a/el-admin/src/views/SystemMngr/SystemLog.vue b/el-admin/src/views/SystemMngr/SystemLog.vue new file mode 100644 index 0000000..5672993 --- /dev/null +++ b/el-admin/src/views/SystemMngr/SystemLog.vue @@ -0,0 +1,158 @@ + + + + + \ No newline at end of file