generatePrivateUrl($item['cover']); } $item['comment'] = CommentModel::where(['article_id' => $item['id'], ['created_at', '<=', time()]])->get(); foreach ($item['comment'] as &$comment) { if ($comment['avatar']) { $comment['avatar_full'] = (new \app\mzl\modules\upload\service\OssService())->generatePrivateUrl($comment['avatar']); } $comment['created_at'] = date('Y-m-d H:i:s', $comment['created_at']); } 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()); } } }