__handlePropertyHandler(__CLASS__); } /** * 首页数据 * @return mixed */ public function lists() { $userToken = (new AuthService())->getTokenUserInfo(); $device = $userToken['device_type'] == 'A' ? 1 : 2; $cacheInterface = make(CacheInterface::class); $videoService = make(VideoService::class); $deviceAll = [$device, 3]; // 公告 $bulletinModel = $cacheInterface->remember('bulletin:' . $device, 60 * 60, function () use($deviceAll) { $nowData = Carbon::now()->toDateTimeString(); return BulletinModel::query()->whereNull('deleted_at')->whereIn('device', $deviceAll)->where([['status', '=', 1], ['start_time', '<', $nowData], ['end_time', '>', $nowData]])->orderByDesc('sort')->get(['title', 'sort', 'start_time', 'end_time', 'text'])->toArray(); }); $newData = []; $nowTime = time(); $css = << HTML; foreach ($bulletinModel as $bulletin) { $bulletin['ad_model'] = 2; $bulletin['text'] = $css . $bulletin['text']; $newData[] = $bulletin; } // 广告 $adImageHomeItems = $videoService->getAdList(AdConstrant::IMAGES_HOME); if (!empty($adImageHomeItems)) { foreach ($adImageHomeItems as $adImagesV) { $link = M3u8CacheRepository::getLinkUrl($adImagesV['link'], ['user_code' => $userToken['user_id']]); $newData[] = ['ad_model' => 1, 'title' => $adImagesV['title'], 'cover' => M3u8CacheRepository::getImageUrl($adImagesV['cover']), 'link' => $link, 'scheme' => $adImagesV['scheme'], 'resolution' => $adImagesV['resolution']]; } } return json_success($newData); } }