Files
lubo_comment_query/app/Http/Controllers/VideoQueryController.php
T
2026-07-29 10:40:52 +08:00

34 lines
1.1 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\VideoOcrRecords;
use App\Models\Videos;
use App\Util\VideoOcrUtil;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Support\Facades\Storage;
class VideoQueryController extends BaseController
{
public function info(Request $request, Videos $video)
{
$pivots = $video->program_pivots;
if (sizeof($pivots) === 0) {
$comment = $video->comments()->where("is_top", "=", 1)->first();
} else {
$comment = null;
}
// 有 OCR 数据的分P → CDN 全量文件 URL(固定路径可推导)
$ocr_urls = VideoOcrRecords::query()->where("video_bvid", "=", $video->bvid)
->select("part_num")->distinct()->orderBy("part_num")->pluck("part_num")
->mapWithKeys(fn(int $partNum) => [$partNum => Storage::url(VideoOcrUtil::cdn_path($video->bvid, $partNum))]);
return view("video.index", [
"video" => $video,
"video_pivots" => $pivots,
"comment" => $comment,
"ocr_urls" => $ocr_urls,
]);
}
}