model = new Vehicle; } /** * 浏览 * @return Response */ public function index(): Response { $lang = session('lang', 'zh-cn'); $translations = (array)require __DIR__ . '/../lang/' . $lang . '/vehicle.php'; $common = (array)require __DIR__ . '/../lang/' . $lang . '/common.php'; $translations = array_merge($translations, $common); return view('vehicle/index', [ 'lang' => $lang, 'translations' => $translations ]); } /** * 插入 * @param Request $request * @return Response * @throws BusinessException */ public function insert(Request $request): Response { $lang = session('lang', 'zh-cn'); $translations = (array)require __DIR__ . '/../lang/' . $lang . '/vehicle.php'; $common = (array)require __DIR__ . '/../lang/' . $lang . '/common.php'; $translations = array_merge($translations, $common); return view('vehicle/insert', [ 'lang' => $lang, 'translations' => $translations ]); } /** * 更新 * @param Request $request * @return Response * @throws BusinessException */ public function update(Request $request): Response { $id = $request->input('id'); $lang = session('lang', 'zh-cn'); $translations = (array)require __DIR__ . '/../lang/' . $lang . '/vehicle.php'; $common = (array)require __DIR__ . '/../lang/' . $lang . '/common.php'; $translations = array_merge($translations, $common); $data = Vehicle::where('id', $id)->first(); if (!$data) { return json(['code' => 1, 'msg' => $translations['data_not_found'] ?? '数据不存在']); } return view('vehicle/update', [ 'id' => $id, 'data' => $data, 'lang' => $lang, 'translations' => $translations ]); } /** * 详情 * @param Request $request * @return Response * @throws BusinessException */ public function detail(Request $request): Response { $id = $request->input('id'); $lang = session('lang', 'zh-cn'); $translations = (array)require __DIR__ . '/../lang/' . $lang . '/vehicle.php'; $common = (array)require __DIR__ . '/../lang/' . $lang . '/common.php'; $translations = array_merge($translations, $common); $data = Vehicle::where('id', $id)->first(); if (!$data) { return json(['code' => 1, 'msg' => $translations['data_not_found'] ?? '数据不存在']); } return view('vehicle/detail', [ 'data' => $data, 'lang' => $lang, 'translations' => $translations ]); } /** * 查询后置处理,添加位置信息 * @param mixed $items * @return mixed */ protected function afterQuery($items) { foreach ($items as &$item) { $location = Location::find($item->locations_id); $item->status = $this->status[$item->status]??$this->status[0]; $item->location_name = $location ? $location->name : ''; $final_location = Location::find($item->final_locations_id); $item->final_location_name = $final_location ? $final_location->name : ''; $fbo_location = Location::find($item->fbo_locations_id); $item->fbo_location_name = $fbo_location ? $fbo_location->name : ''; if(!str_starts_with($item['img_url'], 'http')){ try { $ossservice = new OssService(); $img_url = $ossservice->generatePrivateUrl($item['img_url']); Log::info("Vehicle image URL generation:", [ 'original_url' => $item['img_url'], 'generated_url' => $img_url, 'current_time' => time() ]); $item['img_url'] = $img_url; } catch (\Exception $e) { Log::error("Vehicle image URL generation failed:", [ 'error' => $e->getMessage(), 'original_url' => $item['img_url'], 'error_code' => $e->getCode(), 'trace' => $e->getTraceAsString() ]); } } } return $items; } }