diff --git a/app/apis/controller/AdpController.php b/app/apis/controller/AdpController.php index 894ad05..dd558a5 100644 --- a/app/apis/controller/AdpController.php +++ b/app/apis/controller/AdpController.php @@ -48,6 +48,7 @@ class AdpController extends BaseController foreach ($ad as $k => $v) { $v['alt'] = isset($v['translation']) ? $v['translation']['alt'] : ''; $v['title'] = isset($v['translation']) ? $v['translation']['title'] : ''; + $v['full_img'] = (new \app\mzl\modules\upload\service\OssService())->generatePrivateUrl($v['img']); unset($v['translation']); $item['ad'][$k] = $ad; } diff --git a/app/console/controller/AdController.php b/app/console/controller/AdController.php index 63379dd..7130690 100644 --- a/app/console/controller/AdController.php +++ b/app/console/controller/AdController.php @@ -40,11 +40,13 @@ class AdController extends BaseController protected function postProcessItem(array $item, string $scene): array { - if ($scene === 'default') { + if ($scene === 'default' || $scene === 'show') { + $item['created_at'] = date('Y-m-d H:i:s', $item['created_at']); + $item['updated_at'] = date('Y-m-d H:i:s', $item['updated_at']); $item['alt'] = isset($item['translation']) ? $item['translation']['alt'] : ''; $item['title'] = isset($item['translation']) ? $item['translation']['title'] : ''; unset($item['translation']); - $item['full_image'] = (new \app\mzl\modules\upload\service\OssService())->generatePrivateUrl($item['image']); + $item['full_img'] = (new \app\mzl\modules\upload\service\OssService())->generatePrivateUrl($item['img']); } return $item; @@ -64,6 +66,10 @@ class AdController extends BaseController $params['filters'] = []; $params['filters'][] = ['field' => 'adp_id', 'operator' => '=', 'value' => $params['adp_id']]; } + if ($scene === 'show') { + $params['filters'] = []; + $params['filters'][] = ['field' => 'id', 'operator' => '=', 'value' => $params['id']]; + } return $params; } @@ -79,7 +85,7 @@ class AdController extends BaseController try { return parent::index($request, $scene); } catch (\Throwable $th) { - return $this->errorResponse($th->getMessage()); + return $this->errorResponse($th->getMessage().$th->getLine().$th->getFile()); } } @@ -107,4 +113,14 @@ class AdController extends BaseController return $this->errorResponse($th->getMessage().$th->getFile().$th->getLine()); } } + + 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()); + } + } } \ No newline at end of file diff --git a/app/console/controller/AdpController.php b/app/console/controller/AdpController.php index 68e5cd1..d88859c 100644 --- a/app/console/controller/AdpController.php +++ b/app/console/controller/AdpController.php @@ -39,8 +39,10 @@ class AdpController extends BaseController */ protected function postProcessItem(array $item, string $scene): array { - - if ($scene === 'default') { + + if ($scene === 'default' || $scene === 'show') { + $item['created_at'] = date('Y-m-d H:i:s', $item['created_at']); + $item['updated_at'] = date('Y-m-d H:i:s', $item['updated_at']); $item['title'] = isset($item['translation']) ? $item['translation']['title'] : ''; unset($item['translation']); } @@ -61,6 +63,10 @@ class AdpController extends BaseController if ($scene === 'default') { $params['filters'] = []; } + if ($scene === 'show') { + $params['filters'] = []; + $params['filters'][] = ['field' => 'id', 'operator' => '=', 'value' => $params['id']]; + } return $params; } @@ -102,4 +108,14 @@ class AdpController extends BaseController return $this->errorResponse($th->getMessage().$th->getFile().$th->getLine()); } } + + 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()); + } + } } \ No newline at end of file diff --git a/app/console/model/AdModel.php b/app/console/model/AdModel.php index 3b43f95..c02768b 100644 --- a/app/console/model/AdModel.php +++ b/app/console/model/AdModel.php @@ -47,7 +47,7 @@ class AdModel extends Model /** * 允许自动填充模型字段 */ - protected $fillable = ['id', 'adp_id', 'image', 'href', 'status', 'sort', 'creater', 'created_at', 'updated_at']; + protected $fillable = ['id', 'adp_id', 'img', 'href', 'status', 'sort', 'creater', 'created_at', 'updated_at']; /** * 不允许自动填充模型字段 diff --git a/app/console/service/AdService.php b/app/console/service/AdService.php index ed22f25..30e0f2c 100644 --- a/app/console/service/AdService.php +++ b/app/console/service/AdService.php @@ -33,7 +33,7 @@ class AdService extends BaseService 'default' => function ($params) { return [ 'filters' => $params['filters'], - 'fields' => ['id', 'adp_id', 'image', 'status', 'sort', 'creater', 'created_at', 'updated_at'], + 'fields' => ['id', 'adp_id', 'img', 'status', 'sort', 'creater', 'created_at', 'updated_at'], 'relations' => [ 'translation' => ['ad_id', 'alt', 'title'], ], @@ -47,6 +47,19 @@ class AdService extends BaseService ] ]; }, + 'show' => function ($params) { + return [ + 'filters' => $params['filters'], + 'fields' => ['id', 'adp_id', 'image', 'status', 'sort', 'creater', 'created_at', 'updated_at'], + 'relations' => [ + 'translation' => ['ad_id', 'alt', 'title'], + ], + 'sorts' => [ + ['field' => 'sort', 'direction' => 'desc'], + ['field' => 'created_at', 'direction' => 'desc'], + ], + ]; + }, ]; } diff --git a/app/console/service/AdpService.php b/app/console/service/AdpService.php index 3cf885b..270fb89 100644 --- a/app/console/service/AdpService.php +++ b/app/console/service/AdpService.php @@ -47,6 +47,19 @@ class AdpService extends BaseService ] ]; }, + 'show' => function ($params) { + return [ + 'filters' => $params['filters'], + 'fields' => ['id', 'status', 'sort', 'creater', 'created_at', 'updated_at'], + 'relations' => [ + 'translation' => ['adp_id', 'title'], + ], + 'sorts' => [ + ['field' => 'sort', 'direction' => 'desc'], + ['field' => 'created_at', 'direction' => 'desc'], + ], + ]; + }, ]; } diff --git a/config/route.php b/config/route.php index 8a2a298..be7ea04 100644 --- a/config/route.php +++ b/config/route.php @@ -246,11 +246,13 @@ Route::group('/console', function() { Route::any('/adp/list', [\app\console\controller\AdpController::class, 'index']); Route::any('/adp/add', [\app\console\controller\AdpController::class, 'add']); Route::any('/adp/{id}/update', [\app\console\controller\AdpController::class, 'edit']); + Route::any('/adp/{id}/detail', [\app\console\controller\AdpController::class, 'detail']); Route::any('/adp/{id}/delete', [\app\console\controller\AdpController::class, 'destroy']); //广告管理 Route::any('/ad/list', [\app\console\controller\AdController::class, 'index']); Route::any('/ad/add', [\app\console\controller\AdController::class, 'add']); + Route::any('/ad/{id}/detail', [\app\console\controller\AdController::class, 'detail']); Route::any('/ad/{id}/update', [\app\console\controller\AdController::class, 'edit']); Route::any('/ad/{id}/delete', [\app\console\controller\AdController::class, 'destroy']); });