generatePrivateUrl($item['cover']); } foreach ($item['comment'] as &$comment) { if ($comment['avatar']) { $comment['avatar_full'] = (new \app\mzl\modules\upload\service\OssService())->generatePrivateUrl($comment['avatar']); } } unset($comment); } return $item; } /** * 参数预处理 (根据场景处理) * @param Request $request * @param string $scene * @return array */ protected function prepareParams(Request $request, string $scene): array { $params = parent::prepareParams($request, $scene); if ($scene === 'default') { $params['filters'] = []; $params['filters'][] = ['field' => 'status', 'operator' => '=', 'value' => 1]; $params['filters'][] = ['field' => 'locale', 'operator' => '=', 'value' => locale()]; } return $params; } /** * 分页 * * @param Request $request 请求对象 * @return Response 响应对象 */ public function index(Request $request, string $scene = 'default'): Response { try { return parent::index($request, $scene); } catch (\Throwable $th) { return $this->errorResponse($th->getMessage()); } } public function detail(Request $request, int $id, string $scene = 'show'): Response { try { $request->setGet(['id'=>$id]); return parent::one($request, $scene); } catch (\Throwable $th) { return $this->errorResponse($th->getMessage()); } } public function add(Request $request): Response { try { $request->setPost('user_id', $request->user['id']); return $this->getService()->add($request->all()) ? $this->successResponse() : $this->errorResponse(); } catch (\Throwable $th) { return $this->errorResponse($th->getMessage()); } } public function edit(Request $request, int $id): Response { try { return $this->getService()->edit($request->all(), $id) ? $this->successResponse() : $this->errorResponse(); } catch (\Throwable $th) { return $this->errorResponse($th->getMessage()); } } }