public function sort($tid, Request $request) { $sorts = BiliBiliHelper::getSorts(); //分类非法检测 if (!array_has($sorts, $tid)) { return $this->returnError('分类不存在'); } $order = $request->get('order', 'hot'); $page = $request->get('page', 1); //页码非法检测 $page = $page < 1 ? 1 : $page; if ($order == 'hot' && $page == 1) { $sort_list = Cache::get('sort_cache'); $date = Cache::get('refresh_time'); $sort = $sort_list[strval($tid)]; } else { try { $request_array = ['tid' => $tid, 'order' => $order, 'page' => $page, 'pagesize' => 20]; $date = date('H:i:s'); $back = RequestUtil::getUrl(BiliBiliHelper::$SERVICE_URL . '/sort?' . http_build_query($request_array)); $sort = $back['content']; } catch (\Exception $e) { return $this->returnError('服务器君忙,待会再试吧...'); } } return view('sort')->with('content', $sort)->with('tid', $tid)->with('page', $page)->with('date', $date); }
public function sort($tid, Request $request) { $sorts = BiliBiliHelper::getSorts(); //分类非法检测 if (!array_has($sorts, $tid)) { return $this->returnError('分类不存在'); } $order = $request->get('order', 'hot'); $page = $request->get('page', 1); //页码非法检测 if ($page < 1) { $page = 1; } //默认取出redis if ($order == 'hot' && $page == 1) { $redis = new Client(); $date = $redis->hget('update', 'sort'); $sort = $redis->hget('sort', $sorts[$tid]); $sort = json_decode($sort, true); } else { try { $request_array = ['tid' => $tid, 'order' => $order, 'page' => $page, 'pagesize' => 20]; $date = date('H:i:s'); $back = RequestUtil::getUrl(BiliBiliHelper::$SERVICE_URL . '/sort?' . http_build_query($request_array)); $sort = $back['content']; } catch (\Exception $e) { return $this->returnError('服务器君忙,待会再试吧...'); } } return view('sort')->with('content', $sort)->with('tid', $tid)->with('page', $page)->with('date', $date); }
<?php use App\Utils\BiliBiliHelper; use App\Utils\RequestUtil; use Illuminate\Support\Facades\Cache; $app = (require __DIR__ . '/bootstrap/app.php'); date_default_timezone_set('PRC'); try { $sort_list = []; foreach (BiliBiliHelper::getSorts() as $key => $value) { $request_array = ['tid' => $key, 'order' => 'hot', 'page' => '1', 'pagesize' => '20']; $back = RequestUtil::getUrl(BiliBiliHelper::$SERVICE_URL . '/sort?' . http_build_query($request_array)); $sort_list[$key] = $back['content']; } $index = RequestUtil::getUrl(BiliBiliHelper::$SERVICE_URL . '/index'); $refresh_time = date('H:i:s'); $bangumi = RequestUtil::getUrl(BiliBiliHelper::$SERVICE_URL . '/bangumi?type=2'); $bangumi_result = []; for ($i = 0; $i < 7; $i++) { $day_bangumi = []; $bangumi_result[$i] = $day_bangumi; } foreach ($bangumi['content']['list'] as $animation) { if (isset($animation['cover'])) { array_push($bangumi_result[$animation['weekday']], $animation); } } Cache::forever('index_cache', $index['content']); Cache::forever('sort_cache', $sort_list); Cache::forever('bangumi_cache', $bangumi_result); Cache::forever('refresh_time', $refresh_time);
public function test() { try { $sort_list = []; foreach (BiliBiliHelper::getSorts() as $key => $value) { $request_array = ['tid' => $key, 'order' => 'hot', 'page' => '1', 'pagesize' => '20']; $back = RequestUtil::getUrl(BiliBiliHelper::$SERVICE_URL . '/sort?' . http_build_query($request_array)); $sort_list[$key] = $back['content']; } $index = RequestUtil::getUrl(BiliBiliHelper::$SERVICE_URL . '/index'); $refresh_time = date('H:i:s'); $bangumi = RequestUtil::getUrl(BiliBiliHelper::$SERVICE_URL . '/bangumi?type=2'); $bangumi_result = []; for ($i = 0; $i < 7; $i++) { $day_bangumi = []; $bangumi_result[$i] = $day_bangumi; } foreach ($bangumi['content']['list'] as $animation) { if (isset($animation['cover'])) { array_push($bangumi_result[$animation['weekday']], $animation); } } Cache::forever('index_cache', $index['content']); Cache::forever('sort_cache', $sort_list); Cache::forever('refresh_time', $refresh_time); Cache::forever('bangumi_cache', $bangumi_result); dd('ok'); } catch (\Exception $e) { dd($e); } }