fix(videoGpt1): restore detail and play url chain

This commit is contained in:
root
2026-04-17 13:01:51 +08:00
parent fc61444993
commit dd3cbf09cc
16 changed files with 226 additions and 104 deletions

View File

@@ -1,4 +1,10 @@
<article class="{$TpStyle.dom_prefix}-d1-wrap">
{php}
$strDetailPlaySlug = trim((string)($arrVideo['v_name_en'] ?? ''));
if ($strDetailPlaySlug === '') {
$strDetailPlaySlug = (string)($arrVideo['v_id'] ?? '');
}
{/php}
{// 顶部基本信息 }
<header class="{$TpStyle.dom_prefix}-d1-hd">
@@ -42,14 +48,17 @@
<?php $keyLine = 0; ?>
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $keyLine++ ;?>
{php}
$strEpisodePlayUrl = app(\app\services\VideoService::class)->getVideoPlayUrl(
(int)($arrVideo['v_id'] ?? 0),
$strDetailPlaySlug,
(string)$strPlayGroupName,
(int)$keyLine
);
{/php}
<li>
<a class="{if $keyLine == $Request.route.intPlayIndex}active{/if}"
href='{site:vpurl
v_id="$arrVideo.v_id"
v_py="$arrVideo.v_name_en"
play_type="$strPlayGroupName"
play_index="$keyLine"
/}'
href="{$strEpisodePlayUrl}"
m3u8="{$arrPlayUrl.url}">
{$arrPlayUrl.name}
</a>

View File

@@ -1,4 +1,10 @@
<main class="{$TpStyle.dom_prefix}-d2-page">
{php}
$strDetailPlaySlug = trim((string)($arrVideo['v_name_en'] ?? ''));
if ($strDetailPlaySlug === '') {
$strDetailPlaySlug = (string)($arrVideo['v_id'] ?? '');
}
{/php}
{// 顶部大横图 }
<section class="{$TpStyle.dom_prefix}-d2-hero">
@@ -45,8 +51,16 @@
<?php $keyLine = 0; ?>
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $keyLine++ ;?>
{php}
$strEpisodePlayUrl = app(\app\services\VideoService::class)->getVideoPlayUrl(
(int)($arrVideo['v_id'] ?? 0),
$strDetailPlaySlug,
(string)$strPlayGroupName,
(int)$keyLine
);
{/php}
<li>
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="$strPlayGroupName" play_index="$keyLine" /}'
<a href="{$strEpisodePlayUrl}"
class="{if $keyLine == $Request.route.intPlayIndex}active{/if}"
m3u8="{$arrPlayUrl.url}">
{$arrPlayUrl.name}

View File

@@ -1,4 +1,10 @@
<article class="{$TpStyle.dom_prefix}-d3-page">
{php}
$strDetailPlaySlug = trim((string)($arrVideo['v_name_en'] ?? ''));
if ($strDetailPlaySlug === '') {
$strDetailPlaySlug = (string)($arrVideo['v_id'] ?? '');
}
{/php}
<section class="{$TpStyle.dom_prefix}-d3-top">
<div class="{$TpStyle.dom_prefix}-d3-picbox">
@@ -32,12 +38,20 @@
<?php $keyLineGroup = 0; ?>
{foreach $arrVideo.v_play_url as $strPlayGroupName=>$arrPlayUrlType }
<?php $keyLineGroup++ ;?>
<div class="{$TpStyle.dom_prefix}-d3-epbox {eq name='$keyLineGroup' value='1'}active{/eq}"
<div class="{$TpStyle.dom_prefix}-d3-epbox {eq name='$keyLineGroup' value='1'}active{/eq}"
id="d3_box_{$strPlayGroupName}">
<?php $keyLine = 0; ?>
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $keyLine++ ;?>
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="$strPlayGroupName" play_index="$keyLine" /}'
{php}
$strEpisodePlayUrl = app(\app\services\VideoService::class)->getVideoPlayUrl(
(int)($arrVideo['v_id'] ?? 0),
$strDetailPlaySlug,
(string)$strPlayGroupName,
(int)$keyLine
);
{/php}
<a href="{$strEpisodePlayUrl}"
class="{$TpStyle.dom_prefix}-d3-epitem {if $keyLine == $Request.route.intPlayIndex}active{/if}"
m3u8="{$arrPlayUrl.url}">
{$arrPlayUrl.name}

View File

@@ -1,4 +1,10 @@
<section class="{$TpStyle.dom_prefix}-d4-page">
{php}
$strDetailPlaySlug = trim((string)($arrVideo['v_name_en'] ?? ''));
if ($strDetailPlaySlug === '') {
$strDetailPlaySlug = (string)($arrVideo['v_id'] ?? '');
}
{/php}
<header class="{$TpStyle.dom_prefix}-d4-head">
<h1>{$arrVideo.v_name}</h1>
@@ -42,8 +48,16 @@
<?php $keyLine = 0; ?>
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $keyLine++ ;?>
{php}
$strEpisodePlayUrl = app(\app\services\VideoService::class)->getVideoPlayUrl(
(int)($arrVideo['v_id'] ?? 0),
$strDetailPlaySlug,
(string)$strPlayGroupName,
(int)$keyLine
);
{/php}
<li>
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="$strPlayGroupName" play_index="$keyLine" /}'
<a href="{$strEpisodePlayUrl}"
class="{if $keyLine == $Request.route.intPlayIndex}active{/if}"
m3u8="{$arrPlayUrl.url}">
{$arrPlayUrl.name}

View File

@@ -1,4 +1,10 @@
<article class="{$TpStyle.dom_prefix}-d5-page">
{php}
$strDetailPlaySlug = trim((string)($arrVideo['v_name_en'] ?? ''));
if ($strDetailPlaySlug === '') {
$strDetailPlaySlug = (string)($arrVideo['v_id'] ?? '');
}
{/php}
<header class="{$TpStyle.dom_prefix}-d5-head">
<h1>{$arrVideo.v_name}</h1>
@@ -35,7 +41,15 @@
<?php $keyLine = 0; ?>
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $keyLine++ ;?>
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="$strPlayGroupName" play_index="$keyLine" /}'
{php}
$strEpisodePlayUrl = app(\app\services\VideoService::class)->getVideoPlayUrl(
(int)($arrVideo['v_id'] ?? 0),
$strDetailPlaySlug,
(string)$strPlayGroupName,
(int)$keyLine
);
{/php}
<a href="{$strEpisodePlayUrl}"
class="{$TpStyle.dom_prefix}-d5-epbtn {if $keyLine == $Request.route.intPlayIndex}active{/if}"
m3u8="{$arrPlayUrl.url}">
{$arrPlayUrl.name}

View File

@@ -1,111 +1,123 @@
{// ===================== Action Variants ===================== }
{php}
$strDetailActionSlug = trim((string)($arrVideo['v_name_en'] ?? request()->route('strPinyin') ?? ''));
if ($strDetailActionSlug === '') {
$strDetailActionSlug = (string)($arrVideo['v_id'] ?? '');
}
$strDetailDefaultPlayUrl = app(\app\services\VideoService::class)->getVideoPlayUrl(
(int)($arrVideo['v_id'] ?? 0),
$strDetailActionSlug,
'default',
1
);
{/php}
{if $variant == 0}
<div class="{$TpStyle.dom_prefix}-dm-action v0">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>立即播放</a>
<a href="{$strDetailDefaultPlayUrl}">立即播放</a>
</div>
{elseif $variant == 1}
<div class="{$TpStyle.dom_prefix}-dm-action v1">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>在线播放</a>
<a href="{$strDetailDefaultPlayUrl}">在线播放</a>
<span>无需安装</span>
</div>
{elseif $variant == 2}
<nav class="{$TpStyle.dom_prefix}-dm-action v2">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>▶ 播放</a>
<a href="{$strDetailDefaultPlayUrl}">▶ 播放</a>
<a href="#desc">剧情</a>
</nav>
{elseif $variant == 3}
<ul class="{$TpStyle.dom_prefix}-dm-action v3">
<li><a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>高清</a></li>
<li><a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>免费</a></li>
<li><a href="{$strDetailDefaultPlayUrl}">高清</a></li>
<li><a href="{$strDetailDefaultPlayUrl}">免费</a></li>
</ul>
{elseif $variant == 4}
<div class="{$TpStyle.dom_prefix}-dm-action v4">
<button onclick="location.href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'">立即观看</button>
<button onclick="location.href='{$strDetailDefaultPlayUrl}'">立即观看</button>
</div>
{elseif $variant == 5}
<div class="{$TpStyle.dom_prefix}-dm-action v5">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>{$arrVideo.v_name} 在线观看</a>
<a href="{$strDetailDefaultPlayUrl}">{$arrVideo.v_name} 在线观看</a>
</div>
{elseif $variant == 6}
<footer class="{$TpStyle.dom_prefix}-dm-action v6">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>开始播放</a>
<a href="{$strDetailDefaultPlayUrl}">开始播放</a>
</footer>
{elseif $variant == 7}
<section class="{$TpStyle.dom_prefix}-dm-action v7">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>免费观看</a>
<a href="{$strDetailDefaultPlayUrl}">免费观看</a>
<small>高清资源</small>
</section>
{elseif $variant == 8}
<div class="{$TpStyle.dom_prefix}-dm-action v8">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>播放正片</a>
<a href="{$strDetailDefaultPlayUrl}">播放正片</a>
</div>
{elseif $variant == 9}
<div class="{$TpStyle.dom_prefix}-dm-action v9">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>立即观看 {$arrVideo.v_name}</a>
<a href="{$strDetailDefaultPlayUrl}">立即观看 {$arrVideo.v_name}</a>
</div>
{elseif $variant == 10}
<div class="{$TpStyle.dom_prefix}-dm-action v10">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>在线播放 · 高清</a>
<a href="{$strDetailDefaultPlayUrl}">在线播放 · 高清</a>
</div>
{elseif $variant == 11}
<div class="{$TpStyle.dom_prefix}-dm-action v11">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>点击播放</a>
<a href="{$strDetailDefaultPlayUrl}">点击播放</a>
<span>支持多线路</span>
</div>
{elseif $variant == 12}
<nav class="{$TpStyle.dom_prefix}-dm-action v12">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>播放</a>
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>下载</a>
<a href="{$strDetailDefaultPlayUrl}">播放</a>
<a href="{$strDetailDefaultPlayUrl}">下载</a>
</nav>
{elseif $variant == 13}
<div class="{$TpStyle.dom_prefix}-dm-action v13">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'></a>
<a href="{$strDetailDefaultPlayUrl}"></a>
</div>
{elseif $variant == 14}
<div class="{$TpStyle.dom_prefix}-dm-action v14">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>{$arrVideo.v_name} 免费看</a>
<a href="{$strDetailDefaultPlayUrl}">{$arrVideo.v_name} 免费看</a>
</div>
{elseif $variant == 15}
<aside class="{$TpStyle.dom_prefix}-dm-action v15">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>立即播放</a>
<a href="{$strDetailDefaultPlayUrl}">立即播放</a>
</aside>
{elseif $variant == 16}
<div class="{$TpStyle.dom_prefix}-dm-action v16"
data-action="play">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>播放影片</a>
<a href="{$strDetailDefaultPlayUrl}">播放影片</a>
</div>
{elseif $variant == 17}
<div class="{$TpStyle.dom_prefix}-dm-action v17">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>高清播放</a>
<a href="{$strDetailDefaultPlayUrl}">高清播放</a>
<em>无需登录</em>
</div>
{elseif $variant == 18}
<section class="{$TpStyle.dom_prefix}-dm-action v18">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>在线观看</a>
<a href="{$strDetailDefaultPlayUrl}">在线观看</a>
</section>
{elseif $variant == 19}
<footer class="{$TpStyle.dom_prefix}-dm-action v19">
<a href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>马上播放</a>
<a href="{$strDetailDefaultPlayUrl}">马上播放</a>
</footer>
{/if}

View File

@@ -1,5 +1,17 @@
{// ===================== Cover Variants ===================== }
{video:imgalt video="$arrVideo" slot="detail_cover" item_type="poster" export_name="strAlt" /}
{php}
$strDetailCoverSlug = trim((string)($arrVideo['v_name_en'] ?? request()->route('strPinyin') ?? ''));
if ($strDetailCoverSlug === '') {
$strDetailCoverSlug = (string)($arrVideo['v_id'] ?? '');
}
$strDetailCoverPlayUrl = app(\app\services\VideoService::class)->getVideoPlayUrl(
(int)($arrVideo['v_id'] ?? 0),
$strDetailCoverSlug,
'default',
1
);
{/php}
{if $variant == 0}
<div class="{$TpStyle.dom_prefix}-dm-cover v0">
@@ -20,7 +32,7 @@
{elseif $variant == 2}
<a class="{$TpStyle.dom_prefix}-dm-cover v2"
href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>
href="{$strDetailCoverPlayUrl}">
<img class="{$TpStyle.dom_prefix}-dm-cover-img"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}"
alt="{$strAlt}">
@@ -89,7 +101,7 @@
{elseif $variant == 11}
<a class="{$TpStyle.dom_prefix}-dm-cover v11"
href='{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>
href="{$strDetailCoverPlayUrl}">
<img class="{$TpStyle.dom_prefix}-dm-cover-bg" alt="{$strAlt}"
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}">
</a>

View File

@@ -1,3 +1,9 @@
{php}
$strPlayModuleSlug = trim((string)($arrVideo['v_name_en'] ?? request()->route('strPinyin') ?? ''));
if ($strPlayModuleSlug === '') {
$strPlayModuleSlug = (string)($arrVideo['v_id'] ?? '');
}
{/php}
<article class="{$TpStyle.dom_prefix}-p1-wrap">
{// 顶部区域:封面 + 简介 }
@@ -56,12 +62,7 @@
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $epIndex++; ?>
<li>
<a href='{site:vpurl
v_id="$arrVideo.v_id"
v_py="$arrVideo.v_name_en"
play_type="$strPlayGroupName"
play_index="$epIndex"
/}'
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlayModuleSlug, (string)$strPlayGroupName, (int)$epIndex)}"
class="
{if $epIndex == $Request.route.intPlayIndex}active{/if}
{$TpStyle.dom_prefix}-p1-ep

View File

@@ -1,3 +1,9 @@
{php}
$strPlayModuleSlug = trim((string)($arrVideo['v_name_en'] ?? request()->route('strPinyin') ?? ''));
if ($strPlayModuleSlug === '') {
$strPlayModuleSlug = (string)($arrVideo['v_id'] ?? '');
}
{/php}
<article class="{$TpStyle.dom_prefix}-p2-shell">
{// 全宽播放器 }
@@ -42,12 +48,7 @@
<?php $epIndex=0; ?>
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $epIndex++; ?>
<a href='{site:vpurl
v_id="$arrVideo.v_id"
v_py="$arrVideo.v_name_en"
play_type="$strPlayGroupName"
play_index="$epIndex"
/}'
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlayModuleSlug, (string)$strPlayGroupName, (int)$epIndex)}"
class="{$TpStyle.dom_prefix}-p2-epbtn {if $epIndex == $Request.route.intPlayIndex}active{/if}"
m3u8="{$arrPlayUrl.url}">
{$arrPlayUrl.name}

View File

@@ -1,3 +1,9 @@
{php}
$strPlayModuleSlug = trim((string)($arrVideo['v_name_en'] ?? request()->route('strPinyin') ?? ''));
if ($strPlayModuleSlug === '') {
$strPlayModuleSlug = (string)($arrVideo['v_id'] ?? '');
}
{/php}
<main class="{$TpStyle.dom_prefix}-p3-layout">
<section class="{$TpStyle.dom_prefix}-p3-main">
@@ -41,12 +47,7 @@
<?php $epIndex=0; ?>
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $epIndex++; ?>
<a href='{site:vpurl
v_id="$arrVideo.v_id"
v_py="$arrVideo.v_name_en"
play_type="$strPlayGroupName"
play_index="$epIndex"
/}'
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlayModuleSlug, (string)$strPlayGroupName, (int)$epIndex)}"
class="{$TpStyle.dom_prefix}-p3-ep {if $epIndex == $Request.route.intPlayIndex}active{/if}"
m3u8="{$arrPlayUrl.url}">
{$arrPlayUrl.name}

View File

@@ -1,3 +1,9 @@
{php}
$strPlayModuleSlug = trim((string)($arrVideo['v_name_en'] ?? request()->route('strPinyin') ?? ''));
if ($strPlayModuleSlug === '') {
$strPlayModuleSlug = (string)($arrVideo['v_id'] ?? '');
}
{/php}
<section class="{$TpStyle.dom_prefix}-p4-page">
<div class="{$TpStyle.dom_prefix}-p4-top">
@@ -34,12 +40,7 @@
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $epIndex++; ?>
<li>
<a href='{site:vpurl
v_id="$arrVideo.v_id"
v_py="$arrVideo.v_name_en"
play_type="$strPlayGroupName"
play_index="$epIndex"
/}'
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlayModuleSlug, (string)$strPlayGroupName, (int)$epIndex)}"
class="{if $epIndex == $Request.route.intPlayIndex}active{/if}"
m3u8="{$arrPlayUrl.url}">
{$arrPlayUrl.name}

View File

@@ -1,3 +1,9 @@
{php}
$strPlayModuleSlug = trim((string)($arrVideo['v_name_en'] ?? request()->route('strPinyin') ?? ''));
if ($strPlayModuleSlug === '') {
$strPlayModuleSlug = (string)($arrVideo['v_id'] ?? '');
}
{/php}
<article class="{$TpStyle.dom_prefix}-p5-wrap">
{// 封面 + 播放器组合卡片 }
@@ -40,12 +46,7 @@
<?php $epIndex=0; ?>
{volist name='$arrPlayUrlType' id='arrPlayUrl'}
<?php $epIndex++; ?>
<a href='{site:vpurl
v_id="$arrVideo.v_id"
v_py="$arrVideo.v_name_en"
play_type="$strPlayGroupName"
play_index="$epIndex"
/}'
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlayModuleSlug, (string)$strPlayGroupName, (int)$epIndex)}"
class="{$TpStyle.dom_prefix}-p5-epbtn {if $epIndex == $Request.route.intPlayIndex}active{/if}"
m3u8="{$arrPlayUrl.url}">
{$arrPlayUrl.name}

View File

@@ -1,3 +1,9 @@
{php}
$strPlaylineSlug = trim((string)($arrVideo['v_name_en'] ?? request()->route('strPinyin') ?? ''));
if ($strPlaylineSlug === '') {
$strPlaylineSlug = (string)($arrVideo['v_id'] ?? '');
}
{/php}
<section class="{$TpStyle.dom_prefix}-pl {$TpStyle.dom_prefix}-pl-a">
{assign name="variant" value="$pageCfg.playline.variant"}
@@ -12,7 +18,7 @@
<ul class="{$TpStyle.dom_prefix}-pl-grid">
{foreach $arrVideo.v_play_url as $line=>$list}
{volist name="list" id="ep" key="i"}
<li><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></li>
<li><a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a></li>
{/volist}
{/foreach}
</ul>
@@ -24,7 +30,7 @@
<h4>{video:getlinename code="$line" encode="false"/}</h4>
<ol>
{volist name="list" id="ep" key="i"}
<li><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></li>
<li><a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a></li>
{/volist}
</ol>
</section>
@@ -37,7 +43,7 @@
<dt>{video:getlinename code="$line" encode="false"/}</dt>
<dd>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a>
{/volist}
</dd>
{/foreach}
@@ -49,7 +55,7 @@
<strong>{video:getlinename code="$line" encode="false"/}</strong>
<ul>
{volist name="list" id="ep" key="i"}
<li><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></li>
<li><a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a></li>
{/volist}
</ul>
{/foreach}
@@ -61,7 +67,7 @@
<header>{video:getlinename code="$line" encode="false"/}</header>
<div>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a>
{/volist}
</div>
</article>
@@ -75,7 +81,7 @@
{volist name="list" id="ep" key="i"}
<tr>
<td>{$i}</td>
<td><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></td>
<td><a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a></td>
</tr>
{/volist}
{/foreach}
@@ -87,7 +93,7 @@
<nav>
<b>{video:getlinename code="$line" encode="false"/}</b>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a>
{/volist}
</nav>
{/foreach}
@@ -98,7 +104,7 @@
<p>{video:getlinename code="$line" encode="false"/}</p>
<div>
{volist name="list" id="ep" key="i"}
<span><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></span>
<span><a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a></span>
{/volist}
</div>
{/foreach}
@@ -111,7 +117,7 @@
{video:getlinename code="$line" encode="false"/}
<ul>
{volist name="list" id="ep" key="i"}
<li><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></li>
<li><a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a></li>
{/volist}
</ul>
</li>
@@ -123,7 +129,7 @@
{foreach $arrVideo.v_play_url as $line=>$list}
<h5>{video:getlinename code="$line" encode="false"/}</h5>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a>
{/volist}
{/foreach}
@@ -133,11 +139,11 @@
<section>
<h4>{video:getlinename code="$line" encode="false"/}</h4>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a>
{/volist}
</section>
{/foreach}
{/if}
</section>

View File

@@ -1,3 +1,9 @@
{php}
$strPlaylineSlug = trim((string)($arrVideo['v_name_en'] ?? request()->route('strPinyin') ?? ''));
if ($strPlaylineSlug === '') {
$strPlaylineSlug = (string)($arrVideo['v_id'] ?? '');
}
{/php}
<section class="{$TpStyle.dom_prefix}-pl {$TpStyle.dom_prefix}-pl-b">
{assign name="variant" value="$pageCfg.playline.variant"}
@@ -14,7 +20,7 @@
{foreach $arrVideo.v_play_url as $line=>$list}
<ul class="{$TpStyle.dom_prefix}-pl-list">
{volist name="list" id="ep" key="i"}
<li><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></li>
<li><a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a></li>
{/volist}
</ul>
{/foreach}
@@ -32,7 +38,7 @@
<ul class="{$TpStyle.dom_prefix}-pl-episodes">
{foreach $arrVideo.v_play_url as $line=>$list}
{volist name="list" id="ep" key="i"}
<li><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></li>
<li><a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a></li>
{/volist}
{/foreach}
</ul>
@@ -45,7 +51,7 @@
<dt>{video:getlinename code="$line" encode="false"/}</dt>
<dd>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a>
{/volist}
</dd>
{/foreach}
@@ -58,7 +64,7 @@
<header>{video:getlinename code="$line" encode="false"/}</header>
<div>
{volist name="list" id="ep" key="i"}
<span><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></span>
<span><a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a></span>
{/volist}
</div>
</section>
@@ -70,7 +76,7 @@
{foreach $arrVideo.v_play_url as $line=>$list}
<tr><th>{video:getlinename code="$line" encode="false"/}</th><td>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a>
{/volist}
</td></tr>
{/foreach}
@@ -87,7 +93,7 @@
<section>
{foreach $arrVideo.v_play_url as $line=>$list}
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a>
{/volist}
{/foreach}
</section>
@@ -103,7 +109,7 @@
<ol class="{$TpStyle.dom_prefix}-pl-episodes">
{foreach $arrVideo.v_play_url as $line=>$list}
{volist name="list" id="ep" key="i"}
<li><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></li>
<li><a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a></li>
{/volist}
{/foreach}
</ol>
@@ -114,7 +120,7 @@
<p><b>{video:getlinename code="$line" encode="false"/}</b></p>
<p>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a>
{/volist}
</p>
{/foreach}
@@ -126,7 +132,7 @@
<tr><td>{video:getlinename code="$line" encode="false"/}</td><td>
<table>
{volist name="list" id="ep" key="i"}
<tr><td><a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a></td></tr>
<tr><td><a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a></td></tr>
{/volist}
</table>
</td></tr>
@@ -140,7 +146,7 @@
<h3>{video:getlinename code="$line" encode="false"/}</h3>
<p>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a>
{/volist}
</p>
</article>
@@ -152,7 +158,7 @@
<div class="{if $intLineIndex==0}active{/if}">
<strong>{video:getlinename code="$line" encode="false"/}</strong>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">{$ep.name}</a>
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">{$ep.name}</a>
{/volist}
</div>
{php}$intLineIndex++;{/php}
@@ -160,4 +166,4 @@
{/if}
</section>

View File

@@ -1,3 +1,9 @@
{php}
$strPlaylineSlug = trim((string)($arrVideo['v_name_en'] ?? request()->route('strPinyin') ?? ''));
if ($strPlaylineSlug === '') {
$strPlaylineSlug = (string)($arrVideo['v_id'] ?? '');
}
{/php}
<section class="{$TpStyle.dom_prefix}-pl {$TpStyle.dom_prefix}-pl-c">
{assign name="variant" value="$pageCfg.playline.variant"}
@@ -10,7 +16,7 @@
<ol>
{volist name="list" id="ep" key="i"}
<li>
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">
{$ep.name}
</a>
</li>
@@ -27,7 +33,7 @@
<div>
{volist name="list" id="ep" key="i"}
<p>
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">
{$ep.name}
</a>
</p>
@@ -43,7 +49,7 @@
<dt>{video:getlinename code="$line" encode="false"/}</dt>
{volist name="list" id="ep" key="i"}
<dd>
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">
{$ep.name}
</a>
</dd>
@@ -58,7 +64,7 @@
<p>
{volist name="list" id="ep" key="i"}
<span>
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">
{$ep.name}
</a>
</span>
@@ -73,7 +79,7 @@
<strong>{video:getlinename code="$line" encode="false"/}</strong>
{volist name="list" id="ep" key="i"}
<div>
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">
{$ep.name}
</a>
</div>
@@ -89,7 +95,7 @@
{volist name="list" id="ep" key="i"}
<li>
<p>
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">
{$ep.name}
</a>
</p>
@@ -106,7 +112,7 @@
{volist name="list" id="ep" key="i"}
<div>
<time>{$i}</time>
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">
{$ep.name}
</a>
</div>
@@ -122,7 +128,7 @@
<p>
本线路提供以下资源:
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">
{$ep.name}
</a>
{/volist}
@@ -137,7 +143,7 @@
{volist name="list" id="ep" key="i"}
<p>
第 {$i} 集:
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">
{$ep.name}
</a>
</p>
@@ -149,7 +155,7 @@
{foreach $arrVideo.v_play_url as $line=>$list}
<h5>{video:getlinename code="$line" encode="false"/}</h5>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">
{$ep.name}
</a>
{/volist}
@@ -161,7 +167,7 @@
<section>
<strong>{video:getlinename code="$line" encode="false"/} : </strong>
{volist name="list" id="ep" key="i"}
<a href="{site:vpurl v_id='$arrVideo.v_id' play_type='$line' play_index='$i'/}">
<a href="{:app('app\\services\\VideoService')->getVideoPlayUrl((int)$arrVideo['v_id'], $strPlaylineSlug, (string)$line, (int)$i)}">
{$ep.name}
</a>
{/volist}
@@ -170,4 +176,4 @@
{/if}
</section>

View File

@@ -58,6 +58,16 @@
);
}
$strPlayCanonicalUrl = '';
if ((int)($arrVideo['v_id'] ?? 0) > 0) {
$strPlayCanonicalUrl = app(\app\services\VideoService::class)->getVideoPlayUrl(
(int)$arrVideo['v_id'],
$strPlaySlug,
$strCurrentPlayType !== '' ? $strCurrentPlayType : 'default',
$intCurrentPlayIndex
);
}
$strPlayVisibleIntro = trim((string)($seoCopy['play_intro'] ?? ''));
if ($strPlayVisibleIntro === '') {
$strPlayVisibleIntro = '当前页围绕《' . (string)($arrVideo['v_name'] ?? '当前内容') . '》' . $strCurrentEpisodeName . '整理在线播放入口,并补充剧情与观看线索,方便直接续看。';
@@ -104,7 +114,7 @@
<meta name="robots" content="noindex,follow">
{if $Request.route.intVId }
<link rel="canonical" href='https://{$DomainModel->d_domain}{site:vurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" /}'>
<link rel="canonical" href='https://{$DomainModel->d_domain}{$strPlayCanonicalUrl}'>
{/if}
@@ -130,7 +140,7 @@
{default /}
<meta property="og:type" content="video.movie" />
{/switch}
<meta property="og:url" content='https://{$DomainModel->d_domain}{site:vurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en"/}'>
<meta property="og:url" content='https://{$DomainModel->d_domain}{$strPlayCanonicalUrl}'>
<meta property="og:image" content="https://{$DomainModel->d_domain}{$arrVideo.v_pic}">
<meta property="og:site_name" content="{$DomainModel->d_name}">
<meta property="og:video:type" content="video/m3u8">
@@ -189,7 +199,7 @@
"description": "{if !empty($arrVideo.v_description)}{$arrVideo.v_description|raw}{else/}暂无简介{/if}",
"thumbnailUrl": "{$arrVideo.v_pic|raw}",
"uploadDate": "{:date('Y-m-d')}",
"url": "https://{$DomainModel->d_domain}{site:vurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en"/}"
"url": "https://{$DomainModel->d_domain}{$strPlayCanonicalUrl}"
{if !empty($arrVideo.v_lang)},{/if}
{if !empty($arrVideo.v_lang)}
"inLanguage": [