middleware('checkUserPermission'); $this->logService = $logService; $this->resourceService = $resourceService; } /** * 列表 * @param Request $request * * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource * @throws \Prettus\Repository\Exceptions\RepositoryException */ public function index(Request $request) { $logs = $this->logService->handleList($request); return $this->response->success($logs); } /** * 详情 * @param int $id * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource */ public function show(Request $request) { $this->validate($request, ['id' => 'required|integer']); $log = $this->logService->handleProfile($request->get('id')); return $this->response->success($log); } /** * 上传用户日志 * @param Request $request * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource * @throws \Illuminate\Validation\ValidationException */ public function appUploadLog(Request $request) { $this->validate($request, [ 'file' => 'required|file', 'data' => 'nullable' ], [], [ 'file' => '文件', 'data' => '数据', ]); $file = $request->file('file'); if (!$file->isFile()) { return $this->response->fail('请上传一个文件', ResponseCodeEnum::CLIENT_VALIDATION_ERROR); } $config = ['log']; if (!is_array($config)) { abort(ResponseCodeEnum::SYSTEM_CONFIG_ERROR, '系统文件配置错误'); } if (!in_array(strtolower($file->getClientOriginalExtension()), $config)) { return $this->response->fail('文件类型不合法', ResponseCodeEnum::CLIENT_VALIDATION_ERROR); } $admin_id = login_admin_id() ? login_admin_id() : $request->get('user_id', 0); $day = date('Y-m-d'); $fileData = $this->logService->handleUpload($request, "/logs/{$admin_id}", 'public'); if (!$fileData) { return $this->response->fail('上传文件失败', ResponseCodeEnum::SYSTEM_ERROR); } AppLog::query()->create(['day' => $day, 'log' => $fileData, 'admin_id' => $admin_id, 'params' => $request->except(['file'])]); return $this->response->success(['status' => 1]); } }