logRepository = $logRepositoryEloquent; } /** * @param Request $request * * @return mixed * @throws \Prettus\Repository\Exceptions\RepositoryException */ public function handleList(Request $request) { $this->logRepository->pushCriteria(new LogCriteria($request)); $this->logRepository->setPresenter(LogPresenter::class); return $this->logRepository->searchLogsByPage(); } /** * @param $id * * @return \Illuminate\Database\Eloquent\Model */ public function handleProfile($id) { $this->logRepository->setPresenter(LogPresenter::class); return $this->logRepository->searchLogBy($id); } /** * @param Request $request * * @return mixed * @throws \Prettus\Validator\Exceptions\ValidatorException */ public function handleStore(Request $request) { $log = $this->logRepository->create($request->all()); return $log; } /** * @param Request $request * * @return mixed * @throws \Prettus\Validator\Exceptions\ValidatorException */ public function handleUpdate(Request $request) { $log = $this->logRepository->update($request->all(), $request->get('id')); return $log; } public function handleUpload(Request $request, $dir, $disk = 'public') { // 获取上传的文件 $file = $request->file('file'); if (!$file->isFile()) return false; $dir = config('filesystems.dir_prefix', '') . $dir; $dir = str_replace('_', DIRECTORY_SEPARATOR, $dir) . DIRECTORY_SEPARATOR . date('Y-m-d'); $newName = Str::random(32) . '.' . $file->getClientOriginalExtension(); $path = Storage::disk($disk)->putFileAs($dir, $file, $newName); $url = Storage::disk($disk)->url($path); return [ 'name' => $newName, 'original_name' => $file->getClientOriginalName(), 'path' => $path, 'url' => $url, 'disk' => $disk, 'size' => $file->getSize() ]; } }