0, 'url' => $playUrl, 'header' => ['User-Agent' => $UA] ], JSON_UNESCAPED_UNICODE); exit; } // 2. 视频详情 (对应JS的detail函数) if (!empty($ids)) { $id = $ids; $url = $HOST . "/api/film/detail?id=" . urlencode($id); $data = fetch($url, '/'); $json = json_decode($data, true); if (!isset($json['data'])) { echo json_encode(['list' => []], JSON_UNESCAPED_UNICODE); exit; } $data = $json['data']; $shows = []; $play_urls = []; // 处理播放线路 foreach ($data['playLineList'] as $line) { $shows[] = $line['playerName']; $urls = []; foreach ($line['lines'] as $episode) { $urls[] = $episode['name'] . '$' . $episode['id']; } $play_urls[] = implode('#', $urls); } $vod = [ 'vod_id' => $ids, 'vod_name' => $data['name'], 'vod_pic' => $data['cover'], 'vod_year' => $data['year'], 'vod_area' => $data['other'], 'vod_actor' => $data['actor'], 'vod_director' => $data['director'], 'vod_content' => $data['blurb'], 'vod_score' => $data['doubanScore'], 'vod_play_from' => implode('$$$', $shows), 'vod_play_url' => implode('$$$', $play_urls), 'type_name' => $data['vod_class'] ?? '' ]; echo json_encode(['list' => [$vod]], JSON_UNESCAPED_UNICODE); exit; } // 3. 搜索 (对应JS的search函数) if (!empty($wd)) { $pageNum = intval($pg); if ($pageNum < 1) $pageNum = 1; $url = $HOST . "/api/film/search?keyword=" . urlencode($wd) . "&pageNum={$pageNum}&pageSize=10"; $data = fetch($url, '/'); $json = json_decode($data, true); $list = []; if (isset($json['data']['list'])) { foreach ($json['data']['list'] as $item) { $list[] = [ 'vod_id' => strval($item['id']), 'vod_name' => $item['name'], 'vod_pic' => $item['cover'], 'vod_remarks' => $item['updateStatus'], 'vod_year' => $item['year'], 'vod_area' => $item['area'], 'vod_director' => $item['director'] ]; } } echo json_encode(['list' => $list, 'page' => $pageNum], JSON_UNESCAPED_UNICODE); exit; } // 4. 分类列表 (对应JS的category函数) if (!empty($t)) { $tid = $t; $pageNum = intval($pg); if ($pageNum < 1) $pageNum = 1; $url = $HOST . "/api/film/category/list?area=&categoryId={$tid}&language=&pageNum={$pageNum}&pageSize=15&sort=updateTime&year="; $data = fetch($url, '/'); $json = json_decode($data, true); $list = []; if (isset($json['data']['list'])) { foreach ($json['data']['list'] as $item) { $list[] = [ 'vod_id' => strval($item['id']), 'vod_name' => $item['name'], 'vod_pic' => $item['cover'], 'vod_remarks' => $item['updateStatus'] ]; } } echo json_encode(['list' => $list, 'page' => $pageNum], JSON_UNESCAPED_UNICODE); exit; } // 5. 首页推荐 (对应JS的homeVod函数) if ($ac === 'homeVod') { $url = $HOST . "/api/film/category"; $data = fetch($url, '/'); $json = json_decode($data, true); $list = []; foreach ($json['data'] as $category) { $filmList = $category['filmList'] ?? []; foreach ($filmList as $film) { $list[] = [ 'vod_id' => strval($film['id']), 'vod_name' => $film['name'], 'vod_pic' => $film['cover'], 'vod_remarks' => $film['doubanScore'] ?? '' ]; } } // 限制数量 $list = array_slice($list, 0, 30); echo json_encode(['list' => $list], JSON_UNESCAPED_UNICODE); exit; } // 6. 首页分类 (对应JS的home函数) if ($ac === 'home') { $url = $HOST . "/api/category/top"; $data = fetch($url, '/'); $json = json_decode($data, true); $classes = []; foreach ($json['data'] as $item) { $classes[] = [ 'type_id' => strval($item['id']), 'type_name' => $item['name'] ]; } echo json_encode(['class' => $classes], JSON_UNESCAPED_UNICODE); exit; } // 7. 初始化 (对应JS的init函数) if ($ac === 'init') { $ext = $_GET['ext'] ?? ''; if (!empty($ext) && strpos($ext, 'http') === 0) { $HOST = rtrim($ext, '/'); } echo json_encode(['success' => true], JSON_UNESCAPED_UNICODE); exit; } // 8. 默认首页 (返回分类和推荐) $url = $HOST . "/api/category/top"; $data = fetch($url, '/'); $json = json_decode($data, true); $classes = []; foreach ($json['data'] as $item) { $classes[] = [ 'type_id' => strval($item['id']), 'type_name' => $item['name'] ]; } // 获取推荐视频 $url2 = $HOST . "/api/film/category"; $data2 = fetch($url2, '/'); $json2 = json_decode($data2, true); $list = []; foreach ($json2['data'] as $category) { $filmList = $category['filmList'] ?? []; foreach ($filmList as $film) { $list[] = [ 'vod_id' => strval($film['id']), 'vod_name' => $film['name'], 'vod_pic' => $film['cover'], 'vod_remarks' => $film['doubanScore'] ?? '' ]; } } $list = array_slice($list, 0, 30); echo json_encode([ 'class' => $classes, 'list' => $list ], JSON_UNESCAPED_UNICODE);