This commit is contained in:
make
2025-05-02 18:30:50 +08:00
parent 85f2ef5cb2
commit 65ac6d7652
19 changed files with 489 additions and 302 deletions

View File

@@ -83,36 +83,100 @@ $arrRoutes = [
// H5/PC 端前缀
'prefixes' => [
'pc' => ['/pc', '/web', '/desktop', '/index', '/shouye', '/zhuomian'],
'h5' => ['','/nindex'],
'h5' => ['', '/nindex'],
],
// 通用路径别名
'paths' => [
// 视频站点url -- start
/**
* 视频分类 分页
*
* /vodtype-dong-zuo-pian/dianying-zhongguodalu-guoyu-1992-news-page1
* /dong-zuo-pian/vodclass-dianying-zhongguodalu-guoyu-1992-news-page1
* /dong-zuo-pian-vodlist/dianying-zhongguodalu-guoyu-1992-news-page1
* /vodcategory-dianying/dong-zuo-pian/zhongguodalu-guoyu-1992-news-page1
*
* /video-type/dianying/dong-zuo-pian/zhongguodalu/guoyu/1992/news/page1
* /video-class-dianying/dong-zuo-pian/zhongguodalu-guoyu-1992-news-page1
* /video-list-dianying/dong-zuo-pian/zhongguodalu-guoyu-1992-news/page1
* /video-category-dianying/dong-zuo-pian/zhongguodalu-guoyu-1992-news-page1
*
* /shipinfenlei-dong-zuo-pian/dianying-zhongguodalu-guoyu-1992-news-page1
* /shipinleixing-dong-zuo-pian/dianying-zhongguodalu-guoyu-1992-news-page1
* /shipinliebiao-dong-zuo-pian/dianying-zhongguodalu-guoyu-1992-news-page1
*
* /vodshow/电影/动作片/中国大陆/国语/1992/最新/第一页
*/
'video_category' => [
'/vodtype-:strCategory/:strClass-:strArea-:strLang-:strYear-:strSort-page:intPage',
'/:strCategory/vodclass-:strClass-:strArea-:strLang-:strYear-:strSort-page:intPage',
'/vodcategory-:strClass/:strCategory/:strArea-:strLang-:strYear-:strSort-page:intPage',
'/:strCategory-vodlist/:strClass-:strArea-:strLang-:strYear-:strSort-page:intPage',
'/video-type/:strClass/:strCategory/:strArea/:strLang/:strYear/:strSort/page:intPage',
'/video-class-:strClass/:strCategory/:strArea-:strLang-:strYear-:strSort-page:intPage',
'/video-category-:strClass/:strCategory/:strArea-:strLang-:strYear-:strSort-page:intPage',
'/video-list-:strClass/:strCategory/:strArea-:strLang-:strYear-:strSort/page:intPage',
'/shipinfenlei-:strCategory/:strClass-:strArea-:strLang-:strYear-:strSort-page:intPage',
'/shipinleixing-:strCategory/:strClass-:strArea-:strLang-:strYear-:strSort-page:intPage',
'/shipinliebiao-:strCategory/:strClass-:strArea-:strLang-:strYear-:strSort-page:intPage',
],
// 视频分类 首页
'video_category_index' => [
'/vodtype/:strCategory',
'/vodclass/:strCategory',
'/shipin-fenlei/:strCategory',
'/shipin-leixing/:strCategory',
'/vodcategory/:strCategory',
'/vodlist/:strCategory',
'/video-type/:strCategory',
'/video-class/:strCategory',
'/video-category/:strCategory',
'/video-leixing/:strCategory',
'/video-list/:strCategory',
'/shipinfenlei/:strCategory',
'/shipinleixing/:strCategory',
'/shipinliebiao/:strCategory',
],
// 视频分类 分页 /vodshow/dianying/dong-zuo-pian/中国大陆/国语/1992/news/page1
// /vodshow/电影/动作片/中国大陆/国语/1992/最新/第一页
// /vodshow/dianying/dong-zuo-pian/zhongguodalu/guoyu/1992/news/page1
'video_category' => [
'/vodshow/:strClass/:strCategory/:strArea/:strLang/:strYear/:strSort/page:intPage',
'/:strCategory/vodshow-:strClass-:strArea-:strLang-:strYear-:strSort-page:intPage',
'/vodshow-:strCategory/:strClass-:strArea-:strLang-:strYear-:strSort-page:intPage',
// '/vodshow/:strClass-:strCategory-:strArea-:strLang-:strYear-:strSort-page:intPage',
// /dong-zuo-pian/vodshow-dianying-zhongguodalu-guoyu-1992-news-page1
// /vodshow-dong-zuo-pian/dianying-zhongguodalu-guoyu-1992-news-page1
// /vodshow/dianying-dong-zuo-pian-zhongguodalu-guoyu-1992-news-page1
/**
* 视频详情
* /voddetail/strVideoPinyin-1
*/
'video_info' => [
'/voddetail/:strVideoPinyin-:intVideoId',
'/vodinfo/:strVideoPinyin-:intVideoId',
'/vod/:strVideoPinyin-:intVideoId',
'/video-info/:strVideoPinyin-:intVideoId',
'/video-detail/:strVideoPinyin-:intVideoId',
'/video/:strVideoPinyin-:intVideoId',
'/shipin/:strVideoPinyin-:intVideoId',
'/shipin-xiangqing/:strVideoPinyin-:intVideoId',
'/shipin-neiron/:strVideoPinyin-:intVideoId',
],
// 视频播放 /vodplay/strVideoPinyin-10-wuxian-1
'video_play' => [
'/vodplay/:strVideoPinyin-:intVideoId-:strPlayType-:intPlayIndex',
'/vodbf/:strVideoPinyin-:intVideoId-:strPlayType-:intPlayIndex',
'/vodseed/:strVideoPinyin-:intVideoId-:strPlayType-:intPlayIndex',
'/video-play/:strVideoPinyin-:intVideoId-:strPlayType-:intPlayIndex',
'/video-bofang/:strVideoPinyin-:intVideoId-:strPlayType-:intPlayIndex',
'/video-show/:strVideoPinyin-:intVideoId-:strPlayType-:intPlayIndex',
'/shipin-play/:strVideoPinyin-:intVideoId-:strPlayType-:intPlayIndex',
'/shipin-bofang/:strVideoPinyin-:intVideoId-:strPlayType-:intPlayIndex',
'/shipin-kan/:strVideoPinyin-:intVideoId-:strPlayType-:intPlayIndex',
],
@@ -223,7 +287,7 @@ $arrRoutes = [
// '/fenlei/:strCategory/:strOrder/page:intPage',
// '/class/:strCategory/:strOrder/page:intPage',
// '/category/:strCategory/:strOrder/page:intPage',
/**
* default 模板 /shuku/xuanhuan-xiuzhen/page1
@@ -328,39 +392,61 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
$strView = 'pc/getCategoryType.html';
if ($platform == 'h5') {
$strView = 'video/getCategoryType.html';
}
}
//视频分类 首页
Route::get($strRoute, function () use ($strView) {
return view($strView);
})
->pattern([
'strCategory' => '[a-z\-]*', // 允许空值
]);
->pattern([
'strCategory' => '[a-z\-]*', // 允许空值
]);
break;
case 'video_category':
$strView = 'pc/getCategory.html';
if ($platform == 'h5') {
$strView = 'video/getCategory.html';
}
}
//视频分类 分页
Route::get($strRoute, function () use ($strView) {
return view($strView);
})
->pattern([
'strClass' => '[a-z\-]*', // 允许空值
'strCategory' => '[a-z\-]*', // 允许空值
'strArea' => '[a-z\-]*', // 允许空值
'strLang' => '[a-z\-]*', // 允许空值
'strYear' => '[a-zA-Z0-9\-]*', // 允许空值
'strSort' => '[a-z\-]*', // 允许空值
'intPage' => '\d*', // 允许空值
// '/vodshow/:strClass/:strCategory/:strArea/:strLang/:strYear/:strSort/page:intPage'
// /vodshow/dianying/dong-zuo-pian/zhongguodalu/guoyu/1992/news/page1
// /dong-zuo-pian/vodshow-dianying-zhongguodalu-guoyu-1992-news-page1
]);
->pattern([
'strClass' => '[a-z\-]*', // 允许空值
'strCategory' => '[a-z\-]*', // 允许空值
'strArea' => '[a-z\-]*', // 允许空值
'strLang' => '[a-z\-]*', // 允许空值
'strYear' => '[a-zA-Z0-9\-]*', // 允许空值
'strSort' => '[a-z\-]*', // 允许空值
'intPage' => '\d*', // 允许空值
]);
break;
case 'video_info':
//详情
$strView = 'pc/getVideoInfo.html';
if ($platform == 'h5') {
$strView = 'video/getVideoInfo.html';
}
Route::get($strRoute, function () use ($strView) {
return view($strView);
})
->pattern(['intVideoId' => '\d+', 'strVideoPinyin' => '[\w-]+',]);
break;
case 'video_play':
//播放
$strView = 'pc/getVideoPlayUrl.html';
if ($platform == 'h5') {
$strView = 'video/getVideoPlayUrl.html';
}
Route::get($strRoute, function () use ($strView) {
return view($strView);
})
->pattern(['intVideoId' => '\d+', 'intPlayIndex' => '\d+', 'strPlayType' => '[\w-]+','strVideoPinyin' => '[\w-]+',]);
break;
// 视频站点url -- end
case 'latest':
@@ -368,11 +454,11 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
$strView = 'pc/getNovelChapter.html';
if ($platform == 'h5') {
$strView = 'novel/getNovelChapter.html';
}
}
Route::get($strRoute, function () use ($strView) {
return view($strView);
})
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+',]);
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+',]);
break;
case 'chapter':
@@ -380,11 +466,11 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
$strView = 'pc/getNovelChapter.html';
if ($platform == 'h5') {
$strView = 'novel/getNovelChapter.html';
}
}
Route::get($strRoute, function () use ($strView) {
return view($strView);
})
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'intChapterSort' => '\d+', 'intChapterPage' => '\d+']);
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'intChapterSort' => '\d+', 'intChapterPage' => '\d+']);
break;
case 'kan-novel':
@@ -392,11 +478,11 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
$strView = 'pc/getNovelInfo.html';
if ($platform == 'h5') {
$strView = 'novel/getNovelInfo.html';
}
}
Route::get($strRoute, function () use ($strView) {
return view($strView);
})
->pattern(['intNovelId' => '\d+', 'intForgeId' => '\d+', 'name' => '[\w-]+',]);
->pattern(['intNovelId' => '\d+', 'intForgeId' => '\d+', 'name' => '[\w-]+',]);
break;
case 'novel':
@@ -404,43 +490,43 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
$strView = 'pc/getNovelInfo.html';
if ($platform == 'h5') {
$strView = 'novel/getNovelInfo.html';
}
}
Route::get($strRoute, function () use ($strView) {
return view($strView);
})
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+',]);
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+',]);
break;
case 'catalog':
//目录
$strView = 'pc/getNovelCatalog.html';
if ($platform == 'h5') {
$strView = 'novel/getNovelCatalog.html';
}
}
Route::get($strRoute, function () use ($strView) {
return view($strView);
})
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']);
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']);
break;
case 'library':
$strView = 'pc/getLibrary.html';
if ($platform == 'h5') {
$strView = 'novel/getLibrary.html';
}
}
//书库/分类
Route::get($strRoute, function () use ($strView) {
return view($strView);
})
->pattern([
'strGender' => '[a-z\-]*', // 允许空值
'strCategory' => '[a-z\-]*', // 允许空值
'strStatus' => '(all|lianzai|wanjie)?', // 允许空值
'strOrder' => '[a-z\-]*', // 允许空值
'intPage' => '\d*', // 允许空值
// 'strCategory' => 'all|xuanhuan-xiuzhen|junshi-xiaoshuo|wangyou-xiaoshuo|kehuan-xiaoshuo|hongsheng-chuanyue|dushi-xiaoshuo|lingyi-xiaoshuo|yanqing-xiaoshuo|qita-xiaoshuo',
->pattern([
'strGender' => '[a-z\-]*', // 允许空值
'strCategory' => '[a-z\-]*', // 允许空值
'strStatus' => '(all|lianzai|wanjie)?', // 允许空值
'strOrder' => '[a-z\-]*', // 允许空值
'intPage' => '\d*', // 允许空值
// 'strCategory' => 'all|xuanhuan-xiuzhen|junshi-xiaoshuo|wangyou-xiaoshuo|kehuan-xiaoshuo|hongsheng-chuanyue|dushi-xiaoshuo|lingyi-xiaoshuo|yanqing-xiaoshuo|qita-xiaoshuo',
]);
]);
break;
case 'library-index':
@@ -448,18 +534,18 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
$strView = 'pc/getLibrary.html';
if ($platform == 'h5') {
$strView = 'novel/getLibrary.html';
}
}
Route::get($strRoute, function () use ($strView) {
return view($strView);
});
break;
case 'rank':
//排行榜
$strView = 'pc/getNovelRank.html';
if ($platform == 'h5') {
$strView = 'novel/getNovelRank.html';
}
}
Route::get($strRoute, function () use ($strView) {
return view($strView);
});
@@ -469,7 +555,7 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
$strView = 'pc/getNovelRank.html';
if ($platform == 'h5') {
$strView = 'novel/getNovelRank.html';
}
}
Route::get($strRoute, function () use ($strView) {
return view($strView);
})->pattern([
@@ -481,13 +567,13 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
]);
break;
case 'boys':
//男生
$strView = 'pc/getNovelChannel.html';
if ($platform == 'h5') {
$strView = 'novel/getNovelChannel.html';
}
}
Route::get($strRoute, function () use ($strView) {
return view($strView);
})->append(['strChannel' => 'man']);
@@ -500,7 +586,7 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
$strView = 'pc/getNovelChannel.html';
if ($platform == 'h5') {
$strView = 'novel/getNovelChannel.html';
}
}
Route::get($strRoute, function () use ($strView) {
return view($strView);
})->append(['strChannel' => 'women']);
@@ -513,7 +599,7 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
$strView = 'pc/getSearchNovel.html';
if ($platform == 'h5') {
$strView = 'novel/getSearchNovel.html';
}
}
Route::get($strRoute, function () use ($strView) {
return view($strView);
})->ext('html');
@@ -524,7 +610,7 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
$strView = 'pc/user/index.html';
if ($platform == 'h5') {
$strView = 'user/index.html';
}
}
Route::get($strRoute, function () use ($strView) {
return view($strView);
});
@@ -535,7 +621,7 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
$strView = 'pc/user/getBookShelf.html';
if ($platform == 'h5') {
$strView = 'user/getBookShelf.html';
}
}
Route::get($strRoute, function () use ($strView) {
return view($strView);
});
@@ -546,7 +632,7 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
$strView = 'pc/user/getHistory.html';
if ($platform == 'h5') {
$strView = 'user/getHistory.html';
}
}
Route::get($strRoute, function () use ($strView) {
return view($strView);
});
@@ -555,11 +641,11 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
case 'index':
// 首页
if ($platform == 'h5') {
Route::get($strRoute, function (\think\Request $Request, SiteContext $SiteContext ) {
Route::get($strRoute, function (\think\Request $Request, SiteContext $SiteContext) {
return view($SiteContext->getHomeView('h5'));
});
} else {
Route::get($strRoute, function (\think\Request $Request, SiteContext $SiteContext ) {
Route::get($strRoute, function (\think\Request $Request, SiteContext $SiteContext) {
return view($SiteContext->getHomeView('pc'));
});
}
@@ -569,12 +655,11 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
$strView = 'pc/index.html';
if ($platform == 'h5') {
$strView = 'index/index.html';
}
}
Route::get($strRoute, function () use ($strView) {
return view($strView);
});
break;
}
}
}

View File

@@ -116,9 +116,9 @@
</div>
</div>
</header>
<script type="text/javascript">
<!-- <script type="text/javascript">
$(".stui-header__user li,.stui-header__menu li").click(function () { $(this).find(".dropdown").toggle(); });
</script>
</script> -->
<div class="s-main-box-middle cctv-hf-list-top">
<div

View File

@@ -1,6 +1,12 @@
大地视频模板-资源模板
1.视频分类 分页标签查询, 增加 4个查询字段
$v_class = $tag['v_class'] ?? '10'; // 自定义分类 电影 电视剧 ..
$v_lang = $tag['v_lang'] ?? "all"; // 语言
$v_area = $tag['v_area'] ?? "all"; // 地区
$v_year = $tag['v_year'] ?? "all"; // 年份

View File

@@ -1,7 +1,7 @@
<!-- footer -->
<div class="container">
<div id="firendlink">
<img src="/statics/icon/icon_26.png" style="width:20px">友情连接:
<img src="/template/videodadi/icon/icon_26.png" style="width:20px">友情连接:
<a href="/sitemap_index.xml" target="_blank">XML地图</a>
<a href="/robots.txt" target="_blank">网站地图</a>

View File

@@ -2,7 +2,7 @@
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)})" class="top-line-dot text-overflow"
href=""
title="{$Video.v_name}">
<span class="text-muted pull-right">{$Video.v_letter}</span>
<span class="text-muted pull-right">{$Video.v_remarks}</span>
{$Video.v_name}
</a>
</li>

View File

@@ -1,6 +1,7 @@
<li class="col-md-6 col-sm-4 col-xs-3">
<div class="stui-vodlist__box">
<a style="color: rgb(233, 93, 80); background-image: url(&quot;/statics/img/load.gif&quot;);"
<a style="color: rgb(233, 93, 80); background-image: url(&quot;/static/img/default.jpg&quot;);"
class="stui-vodlist__thumb lazyload" href=""
title="{$Video.v_name}"
data-src="{$Video.v_pic}">
@@ -12,9 +13,9 @@
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)})"
href="" title="{$Video.v_name}">{$Video.v_name}</a>
</h4>
<p class="text text-overflow text-muted hidden-xs">
{$Video.v_description}
</p>
<div class="text text-overflow text-muted hidden-xs">
{$Video.v_description|raw}
</div>
</div>
</div>
</li>

View File

@@ -1,7 +1,6 @@
<li class="col-md-4 col-sm-3 col-xs-1 padding-0">
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)});" class="top-line-dot text-overflow" href="/{$SiteModel['site_xiangqing_path']}/{$vo.v_pinyin}.html" title="{$vo.v_name}">
<span class="text-muted pull-right">{$vo.v_jiaobiao}</span>
{$vo.v_name}
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)});" class="top-line-dot text-overflow" href="" title="{$Video.v_name}">
<span class="text-muted pull-right">{$Video.v_remarks}</span>
{$Video.v_name}
</a>
</li>
{$strGanRaoMa|raw}

View File

@@ -1,5 +1,5 @@
<li class="col-md-4 col-sm-3 col-xs-1 padding-0">
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)})" class="top-line-dot text-overflow"
href="/{$Video.v_name_en}.html"
title="{$Video.v_name}"><span class="text-muted pull-right">{$Video.v_letter}</span>{$Video.v_name}</a>
title="{$Video.v_name}"><span class="text-muted pull-right">{$Video.v_remarks}</span>{$Video.v_name}</a>
</li>

View File

@@ -3,7 +3,7 @@
{block name="get-data"}
{video:pagerexp page="1" limit="30"
v_class="$Request.route.strClass"
d_key="d_key"
d_val="Video"
p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager" export_name="resData" /}
@@ -27,59 +27,37 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
<div class="stui-pannel_hd">
<div class="stui-pannel__head active bottom-line clearfix">
<h3 class="title"><img
src="/template/videodadi/icon/icon_27.png">{$Request.route.strCategory}筛选</h3>
src="/template/videodadi/icon/icon_27.png">{$Request.route.strCategory}{site:getval code="strVideoClassName" /}筛选</h3>
</div>
<ul class="stui-screen__list type-slide bottom-line-dot clearfix">
<li><span class="text-muted">按类型</span></li>
<li
class='{if empty( $Request.route.strCategory) || $Request.route.strCategory == ""}active{/if}'>
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)});"
href="">全部</a>
<a href="">全部</a>
</li>
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
{if $val.v_category_en == $Request.route.strCategory}
{if $val.v_category_en == $Request.route.strClass}
{foreach $val.children as $intChildrenKey=>$arrChildrenCategory }
<li
class="{if $Request.route.strCategory == $arrChildrenCategory.v_category_en}active{/if}">
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)})" href=""
class="text-muted">{$arrChildrenCategory.v_category}</a>
class="{if $Request.route.strClass == $arrChildrenCategory.v_category_en}active{/if}">
<a href="" class="text-muted">{$arrChildrenCategory.v_category}</a>
</li>
{/foreach}
{/if}
{/video:categorytype}
</ul>
<ul class="stui-screen__list type-slide bottom-line-dot clearfix">
<li><span class="text-muted">按剧情</span></li>
<li
class='{if empty( $Request.route.strCategory) || $Request.route.strCategory == ""}active{/if}'>
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)});"
href="">全部
</a>
</li>
<li
class='{if empty( $Request.route.strCategory) || $Request.route.strCategory == ""}active{/if}'>
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)})" href=""
class="text-muted">{剧情}</a>
</li>
</ul>
<ul class="stui-screen__list type-slide bottom-line-dot clearfix">
<li><span class="text-muted">按地区</span></li>
<li
class='{if empty( $Request.route.strCategory) || $Request.route.strCategory == ""}active{/if}'>
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)});"
href="">全部</a>
<a href="">全部</a>
</li>
{video:area d_key="key" d_val="val"}
<li class='{$Request.route.strCategory == $val}active{/if}'>
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)})" href=""
class="text-muted">{$val}</a>
<a href="" class="text-muted">{$val}</a>
</li>
{/video:area}
</ul>
@@ -88,29 +66,28 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
<li
class='{if empty( $Request.route.strCategory) || $Request.route.strCategory == ""}active{/if}'>
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)});"
href="">全部</a>
<a href="">全部</a>
</li>
{video:year d_key="key" d_val="val"}
{for start="2025" end="1967" comparison="gt" step="-1" name="i"}
<li class='{$Request.route.strCategory == $val}active{/if}'>
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)})" href=""
class="text-muted">{$val}</a>
<a href="" class="text-muted">{$i}</a>
</li>
{/video:year}
{/for}
</ul>
<ul class="stui-screen__list type-slide bottom-line-dot clearfix">
<li><span class="text-muted">按语言</span></li>
<li
class='{if empty( $Request.route.strCategory) || $Request.route.strCategory == ""}active{/if}'>
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)});"
href="">全部</a>
<a href="">全部</a>
</li>
{video:lang d_key="key" d_val="val"}
<li class='{$Request.route.strCategory == $val}active{/if}'>
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)})" href=""
class="text-muted">{$val}</a>
<a href="" class="text-muted">{$val}</a>
</li>
{/video:lang}
</ul>
@@ -125,7 +102,7 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
<ul class="nav nav-head">
{video:sort d_key="key" d_val="val"}
<li class="{if $Request.route.strSort == $key}active{/if}">
<a style="color: rgb(172, 73, 70);" href="">{$val}</a>
<a href="">{$val}</a>
</li>
{/video:sort}
@@ -150,19 +127,19 @@ p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager"
{if $resData.p_data.page == 1}
<li class="disabled"><span>上一页</span></li>
{else}
<li><a style="color:rgb(121, 187, 165);" href="{$vo.url}">1</a></li>
<li><a href="{$vo.url}">1</a></li>
{/if}
{/case}
{case value="下一页"}
{if $resData.p_data.page >= $resData.p_data.total}
<li class="disabled"><span>下一页</span></li>
{else}
<li><a style="color:rgb(10, 123, 124);" href="{$vo.url}">下一页</a></li>
<li><a href="{$vo.url}">下一页</a></li>
{/if}
{/case}
{default /}
{if preg_match('/^\d+$/', $vo.label)}
<li><a style="color:rgb(10, 123, 124);" href="{$vo.url}">{$vo.label}</a></li>
<li><a href="{$vo.url}">{$vo.label}</a></li>
{/if}
{/switch}
{/volist}

View File

@@ -1,5 +1,42 @@
{extend name="base" /}
{block name="get-data"}
{if $Request.route.intVideoId}
{video:info v_id="$Request.route.intVideoId" n_key="arrVideo" n_forge_id="$Request.route.intForgeId" /}
{else}
{video:info v_id="$DomainModel->info_id" n_key="arrVideo" n_forge_id="0" /}
{/if}
{site:grm page_code="h5_video_info" diff="$arrVideo.v_id" num="120" g_key="arrGrm" /}
{/block}
{block name="title"}
{if $DomainModel->info_id == $Request.route.intVideoId || empty($Request.route.intVideoId)}
{site:replace code="INDEX@INDEX@TITLE"}
{else}
{site:replace code="NOVEL@GETNOVELINFO@TITLE" diff="$Request.route.intVideoId" /}
{/if}
{/block}
{block name="keywords"}
{if $DomainModel->info_id == $Request.route.intVideoId || empty($Request.route.intVideoId)}
{site:replace code="INDEX@INDEX@KEYWORDS"}
{else}
{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS" diff="$Request.route.intVideoId"}
{/if}
{/block}
{block name="description"}
{if $DomainModel->info_id == $Request.route.intVideoId || empty($Request.route.intVideoId)}
{site:replace code="INDEX@INDEX@DESCRIPTION"}
{else}
{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intVideoId"}
{/if}
{/block}
{block name="main"}
<div class="container">
<div class="row">
@@ -13,68 +50,66 @@
</span>
<a style="color: rgb(178, 251, 104)" href="/">首页</a>
<i class="icon iconfont icon-more"></i>
<a style="color: rgb(226, 55, 35)" href="/{$SiteModel['site_rank_path']}/{$strType}-----------.html">{$VideoDetail->v_leixin}</a>
<a style="color: rgb(226, 55, 35)" href="">{$arrVideo.v_category}</a>
<i class="icon iconfont icon-more"></i>
<span class="text-muted">{$VideoDetail->v_name}</span>
<span class="text-muted">{$arrVideo.v_name}</span>
</div>
<div class="col-pd clearfix">
<div class="stui-content__thumb">
<a style="color: rgb(213, 234, 5)" class="stui-vodlist__thumb picture v-thumb"
href="/{$SiteModel['site_zhangjie_path']}/{$VideoDetail->v_pinyin}-1-1.html" title="{$VideoDetail->v_name}">
href="//{$arrVideo.v_name_en}-1-1.html" title="{$arrVideo.v_name}">
<img class="lazyload"
src="{$VideoDetail->video_feng_mian_url}"
data-original="{$VideoDetail->video_feng_mian_url}"
style="" />
src="{$arrVideo.v_pic}"
data-original="{$arrVideo.v_pic}"
/>
<span class="play active hidden-xs"></span>
<span class="pic-text text-right">{$VideoDetail->v_jiaobiao}</span>
<span class="pic-text text-right">{$arrVideo.v_remarks}</span>
</a>
</div>
<div class="stui-content__detail">
<h1 class="title">
《{$VideoDetail->v_name}》<span class="score text-red">{$VideoDetail->v_pingfen}</span>
《{$arrVideo.v_name}》<span class="score text-red">{$arrVideo.v_score}</span>
</h1>
<p class="data">
<span class="text-muted">类型:</span>
{volist name='VideoDetail->arr_juqing' id='vo' key='index'}
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)});"
href="/{$SiteModel['site_tui_jian_path']}/----{$vo}---------.html" target="_blank">{$vo}</a>
href="//----{$arrVideo.v_category}---------.html" target="_blank">{$arrVideo.v_category}</a>
&nbsp;
{/volist}
<span class="split-line"></span>
<span class="text-muted hidden-xs">地区:</span>
<a style="color: rgb(240, 3, 132)"
href="/{$SiteModel['site_tui_jian_path']}/--{$VideoDetail->v_diqu}-----------.html" target="_blank">{$VideoDetail->v_diqu}</a>
href="//--{$arrVideo.v_area}-----------.html" target="_blank">{$arrVideo.v_area}</a>
&nbsp;
<span class="split-line"></span>
<span class="text-muted hidden-xs">年份:</span>
<a style="color: rgb(102, 158, 132)" href="/{$SiteModel['site_tui_jian_path']}/-------------{$VideoDetail->v_years}.html"
target="_blank">{$VideoDetail->v_years}</a>
<a style="color: rgb(102, 158, 132)" href="//-------------{$arrVideo.v_year}.html"
target="_blank">{$arrVideo.v_year}</a>
&nbsp;
</p>
<p class="data">
<span class="text-muted">主演:</span>
{volist name='VideoDetail->arr_zhuyan' id='vo' key='index'}
{volist name='$arrVideo.v_actor' id='vo' key='index'}
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)});"
href="/{$SiteModel['site_tui_jian_path']}/-{$vo}------------.html" target="_blank">{$vo}</a>
href="//-{$vo}------------.html" target="_blank">{$vo}</a>
&nbsp;
{/volist}
</p>
<p class="data">
<span class="text-muted">导演:</span>
{volist name='VideoDetail->arr_daoyan' id='vo' key='index'}
{volist name='$arrVideo.v_director' id='vo' key='index'}
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)});"
href="/{$SiteModel['site_tui_jian_path']}/-----{$vo}--------.html" target="_blank">{$vo}</a>
href="//-----{$vo}--------.html" target="_blank">{$vo}</a>
&nbsp;
{/volist}
</p>
<p class="data hidden-sm">
<span class="text-muted">更新:</span>{$VideoDetail->update_time}
<span class="text-muted">更新:</span>{$arrVideo.v_publish_date}
</p>
<p class="desc hidden-xs">
<span class="left text-muted">简介:</span>  
{$VideoDetail->v_description}
{$arrVideo.v_description|raw}
<a style="color: rgb(175, 252, 178)" href="#desc">
详情
<i class="icon iconfont icon-moreunfold"></i>
@@ -93,90 +128,81 @@
data-cmd="more" title="更多"></a>
</div>
<a style="color: rgb(185, 152, 222)" class="btn btn-primary"
href="/{$SiteModel['site_zhangjie_path']}/{$strInfoId}-1-1.html">立即播放</a>
href="//{strInfoId}-1-1.html">立即播放</a>
</div>
</div>
</div>
</div>
{$strGanRaoMa|raw}
</div>
{foreach $arrVideo.v_play_url as $key=>$arrPlayUrlType }
<div class="stui-pannel stui-pannel-bg clearfix">
<div class="stui-pannel-box b playlist mb">
<div class="stui-pannel_hd">
<div class="stui-pannel__head bottom-line active clearfix">
<span class="more text-muted pull-right">无需安装任何插件</span>
<h3 class="title">
<img src="/statics/icon/icon_30.png" />1080播放2
<img src="/template/videodadi/icon/icon_30.png" />{$key}
</h3>
</div>
</div>
<div class="stui-pannel_bd col-pd clearfix">
<ul class="stui-content__playlist clearfix">
{volist name='arrVideoPlayurlModel' id='vo' key='index'}
{volist name='$arrPlayUrlType' id='arrPlayUrl' key='index'}
<li>
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)});"
href="/{$SiteModel['site_zhangjie_path']}/{$VideoDetail->v_pinyin}-1-1.html">{$vo->vp_name}</a>
<a href="//{$arrPlayUrl.name}-1-1.html">{$arrPlayUrl.name}</a>
</li>
{/volist}
</ul>
</div>
</div>
</div>
{/foreach}
<div class="stui-pannel stui-pannel-bg clearfix" id="desc">
<div class="stui-pannel-box">
<div class="stui-pannel_hd">
<div class="stui-pannel__head active bottom-line clearfix">
<h3 class="title">
<img src="/statics/icon/icon_30.png" />剧情简介
<img src="/template/videodadi/icon/icon_30.png" />剧情简介
</h3>
</div>
</div>
<div class="stui-pannel_bd">
<h3>{$VideoDetail->v_name}</h3>
<h3>{$arrVideo.v_name}</h3>
<p class="col-pd">
{$VideoDetail->v_description}
{volist name='arrSeoVideo' id='vo'}
<a href="/{$SiteModel['site_seo_path']}/{$vo.vis_id}.html">{$vo.vis_name}</a>&nbsp;&nbsp;
{/volist}
{$arrVideo.v_description}
<a href="//.html">{$arrVideo.v_name}</a>&nbsp;&nbsp;
</p>
</div>
{$strGanRaoMa|raw}
</div>
</div>
{$strGanRaoMa|raw}
<div class="stui-pannel stui-pannel-bg clearfix">
<div class="stui-pannel-box">
<div class="stui-pannel_hd">
<div class="stui-pannel__head active bottom-line clearfix">
<h3 class="title">
<img src="/statics/icon/icon_6.png" />猜你喜欢
<img src="/template/videodadi/icon/icon_6.png" />猜你喜欢
</h3>
</div>
{$strGanRaoMa|raw}
</div>
<div class="stui-pannel_bd">
<ul class="stui-vodlist__bd clearfix">
{volist name='arrCainixihuan' id='vo' key='index'}
{if $index <= 12}
{include file="public/video-list-shu" /}
{/if}
{/volist}
{video:list count="12" sort_type="news" d_key="key" d_val="Video" cache_life="86400"}
{include file="public/video-list-shu" /}
{/video:list}
</ul>
<ul class="stui-vodlist__text col-pd clearfix hidden-xs">
{volist name='arrCainixihuan' id='vo' key='index'}
{if $index > 12}
{video:list count="12" sort_type="news" d_key="key" d_val="Video" cache_life="86400"}
<li class="col-md-4 col-sm-3 col-xs-1 padding-0">
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)})" class="top-line-dot text-overflow"
href="/{$vo.v_pinyin}.html"
title="{$vo.v_name}"><span class="text-muted pull-right">{$vo.v_jiaobiao}</span>{$vo.v_name}</a>
</li>
{/if}
{if $index == 15}{$strGanRaoMa|raw}{/if}
{if $index == 23}{$strGanRaoMa|raw}{/if}
{if $index == 30}{$strGanRaoMa|raw}{/if}
href="/{$Video.v_name_en}.html"
title="{$Video.v_name}"><span class="text-muted pull-right">{$Video.v_remarks}</span>{$Video.v_name}</a>
</li>
{/volist}
{/video:list}
</ul>
</div>
@@ -184,64 +210,41 @@
</div>
</div>
<div class="col-lg-wide-25 col-xs-1 stui-pannel-side hidden-sm hidden-xs">
<!-- <div class="stui-pannel stui-pannel-bg clearfix">
<div class="stui-pannel-box clearfix">
<div class="col-pd">
<div class="text-center" style="
padding: 45px 0;
border: 1px solid #eee;
border-radius: 5px;
">
<p id="qrcode2" title="https://www.czdadi.net/{$SiteModel['site_xiangqing_path']}/{$VideoDetail->v_pinyin}.html">
<canvas width="160" height="160" style="display: none"></canvas>
</p>
<p>扫描二维码用手机观看</p>
</div>
</div>
{$strGanRaoMa|raw}
</div>
</div> -->
<div class="stui-pannel stui-pannel-bg clearfix">
<div class="stui-pannel-box">
<div class="stui-pannel_hd">
<div class="stui-pannel__head active bottom-line clearfix">
<h3 class="title">
<img src="/statics/icon/icon_12.png" />喜剧片周榜单
<img src="/template/videodadi/icon/icon_12.png" />喜剧片周榜单
</h3>
</div>
</div>
<div class="stui-pannel_bd">
<ul class="stui-vodlist__text col-pd clearfix">
{volist name='arrSphbDianying' id='vo' key='index'}
{include file="public/video-list-phb" /}
{/volist}
{video:ranklist count="10" sort_type="weekly" d_key="key" d_val="Video" cache_life="86400"}
{include file="public/video-list-phb" /}
{/video:ranklist}
</ul>
</div>
</div>
{$strGanRaoMa|raw}
</div>
{$strGanRaoMa|raw}
<div class="stui-pannel stui-pannel-bg clearfix">
<div class="stui-pannel-box">
<div class="stui-pannel_hd">
<div class="stui-pannel__head active bottom-line clearfix">
<h3 class="title">
<img src="/statics/icon/icon_12.png" />喜剧片月榜单
<img src="/template/videodadi/icon/icon_12.png" />喜剧片月榜单
</h3>
</div>
</div>
<div class="stui-pannel_bd">
<ul class="stui-vodlist__text col-pd clearfix">
{volist name='arrPinFenDianying' id='vo' key='index'}
{include file="public/video-list-phb" /}
{if $index == 1}{$strGanRaoMa|raw}{/if}
{if $index == 3}{$strGanRaoMa|raw}{/if}
{if $index == 7}{$strGanRaoMa|raw}{/if}
{if $index == 9}{$strGanRaoMa|raw}{/if}
{if $index == 10}{$strGanRaoMa|raw}{/if}
{/volist}
{video:ranklist count="10" sort_type="weekly" d_key="key" d_val="Video" cache_life="86400"}
{include file="public/video-list-phb" /}
{/video:ranklist}
</ul>
</div>
</div>

View File

@@ -1,12 +1,51 @@
{extend name="base" /}
{block name="get-data"}
{if $Request.route.intVideoId}
{video:info v_id="$Request.route.intVideoId" n_key="arrVideo" n_forge_id="$Request.route.intForgeId" /}
{else}
{video:info v_id="$DomainModel->info_id" n_key="arrVideo" n_forge_id="0" /}
{/if}
{site:grm page_code="h5_video_info" diff="$arrVideo.v_id" num="120" g_key="arrGrm" /}
{/block}
{block name="title"}
{if $DomainModel->info_id == $Request.route.intVideoId || empty($Request.route.intVideoId)}
{site:replace code="INDEX@INDEX@TITLE"}
{else}
{site:replace code="NOVEL@GETNOVELINFO@TITLE" diff="$Request.route.intVideoId" /}
{/if}
{/block}
{block name="keywords"}
{if $DomainModel->info_id == $Request.route.intVideoId || empty($Request.route.intVideoId)}
{site:replace code="INDEX@INDEX@KEYWORDS"}
{else}
{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS" diff="$Request.route.intVideoId"}
{/if}
{/block}
{block name="description"}
{if $DomainModel->info_id == $Request.route.intVideoId || empty($Request.route.intVideoId)}
{site:replace code="INDEX@INDEX@DESCRIPTION"}
{else}
{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intVideoId"}
{/if}
{/block}
{block name="head-css"}
<link rel="stylesheet" href="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/dplayer/1.24.0/DPlayer.min.css">
<style type="text/css">
.stui-player__head {
display: none;
}
.dplayer-video-wrap{
max-height: 480px;
}
video {
max-height: 480px;
}
@@ -59,7 +98,7 @@
返回
</a>
</div>
{$strGanRaoMa|raw}
<div class="dplayer-prent">
<div id="dplayer" class="dplayer" muted=“muted” style="margin-top: 5px;"></div>
@@ -82,18 +121,18 @@
<i class="icon iconfont icon-share hidden-xs"></i>
</a>
</li>
{if $intPlaySort > 1}
{if $Request.route.intPlayIndex > 1}
<li>
<a style="color: rgb(30, 99, 7);" class="btn btn-default"
href="/{$SiteModel['site_zhangjie_path']}/{$VideoDetail->v_pinyin}-1-{$intPlaySort-1}.html">
href="//{$arrVideo.v_name_en}-1-{$Request.route.intPlayIndex-1}.html">
<i class="icon iconfont icon-back hidden-xs"></i>
上一集
</a>
</li>
{/if}
{if $intPlaySort < $intTotalEpisodes} <li>
{if $Request.route.intPlayIndex < 100} <li>
<a style="color: rgb(246, 155, 213);" class="btn btn-default"
href="/{$SiteModel['site_zhangjie_path']}/{$VideoDetail->v_pinyin}-1-{$intPlaySort+1}.html">
href="//{$arrVideo.v_name_en}-1-{$Request.route.intPlayIndex+1}.html">
下一集
<i class="icon iconfont icon-more hidden-xs"></i>
</a>
@@ -101,29 +140,25 @@
{/if}
</ul>
<h1 class="title"><a style="color: rgb(244, 139, 75);"
href="/{$SiteModel['site_xiangqing_path']}/{$VideoDetail->v_pinyin}.html">
《{$VideoDetail->v_name}》
href="//{$arrVideo.v_name_en}.html">
《{$arrVideo.v_name}》
</a>
</h1>
<p class="data margin-0">
<span class="text-muted">类型:</span>
{volist name='VideoDetail->arr_juqing' id='vo' key='index'}
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)});"
href="/{$SiteModel['site_tui_jian_path']}/----{$vo}---------.html" target="_blank">{$vo}</a>
href="//-------------.html" target="_blank">{$arrVideo.v_category}</a>
&nbsp;
{/volist}
&nbsp;
<span class="split-line"></span>
<span class="text-muted">地区:</span>
<a style="color: rgb(240, 3, 132)"
href="/{$SiteModel['site_tui_jian_path']}/--{$VideoDetail->v_diqu}-----------.html"
target="_blank">{$VideoDetail->v_diqu}</a>
<a style="color: rgb(240, 3, 132)" href="//--{$arrVideo.v_area}-----------.html"
target="_blank">{$arrVideo.v_area}</a>
&nbsp;
<span class="split-line"></span>
<span class="text-muted">年份:</span>
<a style="color: rgb(102, 158, 132)"
href="/{$SiteModel['site_tui_jian_path']}/-------------{$VideoDetail->v_years}.html"
target="_blank">{$VideoDetail->v_years}</a>
<a style="color: rgb(102, 158, 132)" href="//-------------{$arrVideo.v_year}.html"
target="_blank">{$arrVideo.v_year}</a>
&nbsp;
</p>
</div>
@@ -131,103 +166,84 @@
</div>
</div>
</div>
{foreach $arrVideo.v_play_url as $key=>$arrPlayUrlType }
<div class="stui-pannel stui-pannel-bg clearfix">
<div class="stui-pannel-box b playlist mb">
<div class="stui-pannel_hd">
<div class="stui-pannel__head bottom-line active clearfix"><span
class="more text-muted pull-right">无需安装任何插件</span>
<h3 class="title"><img src="/statics/icon/icon_30.png">1080播放2</h3>
<h3 class="title"><img src="/template/videodadi/icon/icon_30.png">{$key}</h3>
</div>
</div>
<div class="stui-pannel_bd col-pd clearfix">
<ul class="stui-content__playlist clearfix">
{volist name='arrVideoPlayurlModel' id='vo' key='index'}
<li class="{if $index == $intPlaySort}active{/if}">
<a style="color: rgb({:mt_rand(0,255)}, {:mt_rand(0,255)}, {:mt_rand(0,255)});"
href="/{$SiteModel['site_zhangjie_path']}/{$VideoDetail->v_pinyin}-1-{$index}.html">{$vo->vp_name}</a>
{volist name='$arrPlayUrlType' id='arrPlayUrl' key='index'}
<li class="{if $index == $Request.route.intPlayIndex}active{/if}">
<a href="//{$arrPlayUrl.name}-1-{$index}.html" m3u8="{$arrPlayUrl.url}">{$arrPlayUrl.name}</a>
</li>
{/volist}
</ul>
</div>
</div>
</div>
{/foreach}
<div class="stui-pannel stui-pannel-bg clearfix" id="desc">
<div class="stui-pannel-box">
<div class="stui-pannel_hd">
<div class="stui-pannel__head active bottom-line clearfix">
<h3 class="title"><img src="/statics/icon/icon_30.png">剧情简介</h3>
<h3 class="title"><img src="/template/videodadi/icon/icon_30.png">剧情简介</h3>
</div>
</div>
<div class="stui-pannel_bd">
<h3>【{$VideoDetail->v_name}】</h3>
<p class="col-pd">  {$VideoDetail->v_description}{volist name='arrSeoVideo' id='vo'}
<a href="/{$SiteModel['site_seo_path']}/{$vo.vis_id}.html">{$vo.vis_name}</a>&nbsp;&nbsp;
{/volist}
<h3>【{$arrVideo.v_name}】</h3>
<p class="col-pd">  
{$arrVideo.v_description|raw}
<a href="//.html">{}</a>&nbsp;&nbsp;
</p>
</div>
</div>
</div>
{$strGanRaoMa|raw}
<div class="stui-pannel stui-pannel-bg clearfix">
<div class="stui-pannel-box">
<div class="stui-pannel_hd">
<div class="stui-pannel__head active bottom-line clearfix">
<h3 class="title"><img src="/statics/icon/icon_6.png">猜你喜欢</h3>
<h3 class="title"><img src="/template/videodadi/icon/icon_6.png">猜你喜欢</h3>
</div>
{$strGanRaoMa|raw}
</div>
<div class="stui-pannel_bd">
<ul class="stui-vodlist__bd clearfix">
{volist name='arrCainixihuan' id='vo' key='index'}
{if $index <= 12} {include file="public/video-list-shu" /} {/if} {/volist} </ul>
<ul class="stui-vodlist__text col-pd clearfix hidden-xs">
{volist name='arrCainixihuan' id='vo' key='index'}
{if $index > 12}
{include file="public/video-list-text2" /}
{/if}
{if $index == 15}{$strGanRaoMa|raw}{/if}
{if $index == 23}{$strGanRaoMa|raw}{/if}
{if $index == 30}{$strGanRaoMa|raw}{/if}
{video:list count="12" sort_type="news" d_key="key" d_val="Video" cache_life="86400"}
{include file="public/video-list-shu" /}
{/video:list}
{/volist}
</ul>
</ul>
<ul class="stui-vodlist__text col-pd clearfix hidden-xs">
{video:list count="12" sort_type="news" d_key="key" d_val="Video" cache_life="86400"}
{include file="public/video-list-text2" /}
{/video:list}
</ul>
</div>
</div>
{$strGanRaoMa|raw}
</div>
</div>
<div class="col-lg-wide-25 col-xs-1 stui-pannel-side hidden-sm hidden-xs">
<!-- <div class="stui-pannel stui-pannel-bg clearfix">
<div class="stui-pannel-box clearfix">
<div class="col-pd">
<div class="text-center"
style="padding: 45px 0; border: 1px solid #eee; border-radius: 5px;">
<p id="qrcode2" title="https://www.czdadi.net/{$SiteModel['site_zhangjie_path']}/{$VideoDetail->vp_pinyin}-1-1.html"><canvas
width="160" height="160" style="display: none;"></canvas>
</p>
<p>扫描二维码用手机观看</p>
</div>
</div>
</div>
</div> -->
<div class="stui-pannel stui-pannel-bg clearfix">
<div class="stui-pannel-box">
<div class="stui-pannel_hd">
<div class="stui-pannel__head active bottom-line clearfix">
<h3 class="title"><img src="/statics/icon/icon_12.png">喜剧片周榜单</h3>
<h3 class="title"><img src="/template/videodadi/icon/icon_12.png">喜剧片周榜单</h3>
</div>
{$strGanRaoMa|raw}
</div>
<div class="stui-pannel_bd">
<ul class="stui-vodlist__text col-pd clearfix">
{volist name='arrSphbDianying' id='vo' key='index'}
{video:ranklist count="10" sort_type="weekly" d_key="key" d_val="Video" cache_life="86400"}
{include file="public/video-list-phb" /}
{if $index == 4}{$strGanRaoMa|raw}{/if}
{if $index == 6}{$strGanRaoMa|raw}{/if}
{if $index == 7}{$strGanRaoMa|raw}{/if}
{if $index == 8}{$strGanRaoMa|raw}{/if}
{/volist}
{/video:ranklist}
</ul>
</div>
</div>
@@ -236,21 +252,18 @@
<div class="stui-pannel-box">
<div class="stui-pannel_hd">
<div class="stui-pannel__head active bottom-line clearfix">
<h3 class="title"><img src="/statics/icon/icon_12.png">喜剧片月榜单</h3>
<h3 class="title"><img src="/template/videodadi/icon/icon_12.png">喜剧片月榜单</h3>
</div>
{$strGanRaoMa|raw}
</div>
<div class="stui-pannel_bd">
<ul class="stui-vodlist__text col-pd clearfix">
{volist name='arrPinFenDianying' id='vo' key='index'}
{video:ranklist count="10" sort_type="weekly" d_key="key" d_val="Video" cache_life="86400"}
{include file="public/video-list-phb" /}
{if $index == 7}{$strGanRaoMa|raw}{/if}
{/volist}
{/video:ranklist}
</ul>
</div>
</div>
</div>
{$strGanRaoMa|raw}
</div>
</div>
</div>
@@ -258,12 +271,18 @@
{block name="customize"}
<script>
var intJumpTimeFirst = {$intJumpTimeFirst};
var intJumpTimeTwoStart = {$intJumpTimeTwoStart};
var intJumpTimeTwoEnd = {$intJumpTimeTwoEnd};
var intPlayUrlIndex = '{$Request.route.intPlayIndex}'
var strPlayType = '{$Request.route.strPlayType}'
var intJumpTimeFirst = 1;
var intJumpTimeTwoStart = 1;
var intJumpTimeTwoEnd = 1;
var arrPlayUrl = {:json_encode($arrVideo.v_play_url)};
var ActivePlayUrl = arrPlayUrl[strPlayType][intPlayUrlIndex - 1]
var strPlayUrl = ActivePlayUrl.url
document.addEventListener('DOMContentLoaded', function () {
console.log(strPlayUrl)
var strPlayUrl = "{$SelectedData->http_m3u8_url}"
initDPlayer(strPlayUrl)
function initDPlayer(strPlayUrl) {
let DomDPlayer = document.getElementById('dplayer')
@@ -285,7 +304,6 @@
videoPlayer.play()
// 监听全屏进入事件
videoPlayer.on('fullscreen', function () {
DomDPlayer.classList.add("dp-fullscreen");
@@ -326,12 +344,12 @@
})
// 页面加载时执行
$(document).ready(function () {
let vod_name = $("h1 a").text();
let vod_url = window.location.pathname;
let vod_part = $(".stui-content__playlist .active a").text();
addHistory(vod_name, vod_url, vod_part)
history();
});
// $(document).ready(function () {
// let vod_name = $("h1 a").text();
// let vod_url = window.location.pathname;
// let vod_part = $(".stui-content__playlist .active a").text();
// addHistory(vod_name, vod_url, vod_part)
// history();
// });
</script>
{/block}

View File

@@ -33,6 +33,9 @@ class ConverterMovel
'{strNovelAuthor}' => '',
'{strNovelDescription}' => '',
'{strSearchKeywords}' => '',
'{strVideoClassName}' => '',
'{strVideoCategoryName}' => '',
];

View File

@@ -82,6 +82,14 @@ class StaticConfig
];
static $arrVideoClass = [
"dianying" => "电影",
"dianshiju" => "电视剧",
"zonyi" => "综艺",
"donman" => "动漫",
"duanju" => "短剧",
];
// 'v_lang', # 视频的语言(如“中文”、“英语”)
// 'v_area', # 视频的地区(如“中国”、“美国”)
// 'v_year', # 视频的发行年份(如 2023

View File

@@ -324,7 +324,11 @@ class VideoService
'page' => max((int)($arrParams['page'] ?? 1), 1),
'limit' => (int)($arrParams['limit'] ?? 10),
'buttov_num' => (int)($arrParams['buttov_num'] ?? 0),
'v_class' => (string)($arrParams['v_class'] ?? ''),
'v_category' => (string)($arrParams['v_category'] ?? ''),
'v_lang' => (string)($arrParams['v_lang'] ?? ''),
'v_area' => (string)($arrParams['v_area'] ?? ''),
'v_year' => (string)($arrParams['v_year'] ?? ''),
'sort_type' => (string)($arrParams['sort_type'] ?? ''),
'v_isend' => (string)($arrParams['v_isend'] ?? ''),
'diff_key' => (string)($arrParams['diff_key'] ?? ''),
@@ -335,7 +339,11 @@ class VideoService
$intPage = $arrParams['page'];
$intLimit = $arrParams['limit'];
$strVClass = $arrParams['v_class'];
$strNCategory = $arrParams['v_category'];
$strVLang = $arrParams['v_lang'];
$strVArea = $arrParams['v_area'];
$strVYear = $arrParams['v_year'];
$strSortType = $arrParams['sort_type'];
$strVStatus = $arrParams['v_isend'];
@@ -435,6 +443,7 @@ class VideoService
ConverterMovel::setVal([
'intPage' => $intPage,
'strVideoClassName' => empty($strVClass) ? '' : StaticConfig::$arrVideoClass[$strVClass],
'strVideoCategoryName' => empty($strNCategory) ? '' : str_replace("视频", "", $strNCategory),
'strVideoStatus' => empty($strVStatus) ? '' : StaticConfig::$arrVideoStatus[$strVStatus],
'strVideoOrder' => empty($strSortType) ? '' : StaticConfig::$arrVideoSortType[$strSortType],

View File

@@ -51,6 +51,7 @@ return [
]
];
// 'v_publish_date', # 视频创建或更新时间,通常是时间戳或日期时间,表示视频记录的最后修改时间
// 'v_id', # 视频的唯一标识符,可能是一个自定义的 ID 或 MongoDB 的 ObjectId
// 'v_name', # 视频的名称(中文或其他主要语言的标题)

View File

@@ -324,6 +324,35 @@ class TemplateSeeder
]
],
'VIDEO_CATEGORY_INDEX_URL' => [
'description' => '视频分类首页URL 模板1',
'sfg_id' => 126,
'arrSubjectFomart' => [
'/vodtype/{strCategory}',
]
],
'VIDEO_CATEGORY_URL' => [
'description' => '视频分类列表URL 模板1',
'sfg_id' => 127,
'arrSubjectFomart' => [
'/vodtype-{strCategory}/{strClass}-{strArea}-{strLang}-{strYear}-{strSort}-page{intPage}',
]
],
'VIDEO_INFO_URL' => [
'description' => '视频详情URL 模板1',
'sfg_id' => 128,
'arrSubjectFomart' => [
'/voddetail/{strVideoPinyin}-{intVideoId}',
]
],
'VIDEO_PLAY_URL' => [
'description' => '视频播放URL 模板1',
'sfg_id' => 129,
'arrSubjectFomart' => [
'/vodplay/{strVideoPinyin}-{intVideoId}-{strPlayType}-{intPlayIndex}'
]
],
// SEO 丰富内容
'INDEX_POPULAR_NOVELS' => [
@@ -348,7 +377,42 @@ class TemplateSeeder
]
],
// 最新替换模板分组id 119
// 最新替换模板分组id 125
];
/**
* 替换模板分组 基础数据播种
* 视频模板
*/
$arrVideoSubjectFomartGroupData = [
'VIDEO_CATEGORY_INDEX_URL' => [
'description' => '视频分类首页URL 模板1',
'sfg_id' => 126,
'arrSubjectFomart' => [
'/vodtype/{strCategory}',
]
],
'VIDEO_CATEGORY_URL' => [
'description' => '视频分类列表URL 模板1',
'sfg_id' => 127,
'arrSubjectFomart' => [
'/vodtype-{strCategory}/{strClass}-{strArea}-{strLang}-{strYear}-{strSort}-page{intPage}',
]
],
'VIDEO_INFO_URL' => [
'description' => '视频详情URL 模板1',
'sfg_id' => 128,
'arrSubjectFomart' => [
'/voddetail/{strVideoPinyin}-{intVideoId}',
]
],
'VIDEO_PLAY_URL' => [
'description' => '视频播放URL 模板1',
'sfg_id' => 129,
'arrSubjectFomart' => [
'/vodplay/{strVideoPinyin}-{intVideoId}-{strPlayType}-{intPlayIndex}'
]
],
];

View File

@@ -9,7 +9,7 @@ class Video extends TagLib
protected $tags = [
'list' => ['attr' => 'count,v_category,sort_type,v_status,v_sex,diff_key,cache_life,d_key,d_val', 'close' => 1],
'pager' => ['attr' => 'page,limit,v_category,sort_type,v_status,v_sex,key,diff_key,cache_life,d_key,d_val,p_val,func,export_name', 'close' => 1],
'pagerexp' => ['attr' => 'page,limit,v_category,sort_type,v_status,v_sex,key,diff_key,cache_life,d_key,d_val,p_val,func,export_name', 'close' => 0],
'pagerexp' => ['attr' => 'page,limit,v_class,v_category,sort_type,v_status,v_sex,key,diff_key,cache_life,d_key,d_val,p_val,func,export_name', 'close' => 0],
'info' => ['attr' => 'v_id,v_forge_id,v_key', 'close' => 0],
'sort' => ['attr' => 'd_key,d_val'],
'ranksort' => ['attr' => 'd_key,d_val'],
@@ -109,7 +109,12 @@ EOT;
$page = $tag['page'] ?? '0';
$limit = $tag['limit'] ?? '10';
$buttov_num = $tag['buttov_num'] ?? '10';
$v_class = $tag['v_class'] ?? '10';
$v_category = $tag['v_category'] ?? "all";
$v_lang = $tag['v_lang'] ?? "all";
$v_area = $tag['v_area'] ?? "all";
$v_year = $tag['v_year'] ?? "all";
$sort_type = $tag['sort_type'] ?? "";
$v_status = $tag['v_status'] ?? "";
$key = $tag['key'] ?? "";
@@ -126,7 +131,11 @@ EOT;
$page = $this->customBuildVar($page);
$limit = $this->customBuildVar($limit);
$buttov_num = $this->customBuildVar($buttov_num);
$v_class = $this->customBuildVar($v_class);
$v_category = $this->customBuildVar($v_category);
$v_lang = $this->customBuildVar($v_lang);
$v_area = $this->customBuildVar($v_area);
$v_year = $this->customBuildVar($v_year);
$sort_type = $this->customBuildVar($sort_type);
$v_status = $this->customBuildVar($v_status);
@@ -143,7 +152,11 @@ EOT;
'page' => {$page},
'limit' => {$limit},
'buttov_num' => {$buttov_num},
'v_class' => {$v_class},
'v_category' => {$v_category},
'v_lang' => {$v_lang},
'v_area' => {$v_area},
'v_year' => {$v_year},
'sort_type' => {$sort_type},
'v_status' => {$v_status},
'key' => {$key},

View File

@@ -572,40 +572,40 @@ return [
// 排行榜列表URL
'RANK_LIST_URL_T2' => [
'description' => '排行榜列表URL 模板2',
'sfg_id' => 120,
'sfg_id' => 121,
'arrSubjectFomart' => [
'/paihangbang/{strGender}/{strCategory}/{strStatus}/{strOrder}/page{intPage}',
]
],
'RANK_LIST_URL_T3' => [
'description' => '排行榜列表URL 模板3',
'sfg_id' => 120,
'sfg_id' => 122,
'arrSubjectFomart' => [
'/rank/{strGender}/{strCategory}/{strStatus}/{strOrder}/page{intPage}',
]
],
'RANK_LIST_URL_T4' => [
'description' => '排行榜列表URL 模板4',
'sfg_id' => 120,
'sfg_id' => 123,
'arrSubjectFomart' => [
'/top/{strGender}/{strCategory}/{strStatus}/{strOrder}/page{intPage}',
]
],
'RANK_LIST_URL_T5' => [
'description' => '排行榜列表URL 模板5',
'sfg_id' => 120,
'sfg_id' => 124,
'arrSubjectFomart' => [
'/ranks/{strGender}/{strCategory}/{strStatus}/{strOrder}/page{intPage}',
]
],
'RANK_LIST_URL_T6' => [
'description' => '排行榜列表URL 模板6',
'sfg_id' => 120,
'sfg_id' => 125,
'arrSubjectFomart' => [
'/phb/{strGender}/{strCategory}/{strStatus}/{strOrder}/page{intPage}',
]
],
// 最新替换模板分组id 119
// 最新替换模板分组id 125
];

View File

@@ -168,7 +168,7 @@ textarea.form-control{ height: auto;}
.stui-vodlist__detail.active{ padding: 0 10px 10px;}
.stui-vodlist__detail .title{ font-size: 14px; margin-bottom: 0;}
.stui-vodlist__detail .title.active{ font-size: 16px; margin-bottom: 10px;}
.stui-vodlist__detail .text{ min-height: 19px; font-size: 12px; margin-bottom: 0; margin-top: 5px;}
.stui-vodlist__detail .text{ min-height: 19px; font-size: 12px; margin-bottom: 0; margin-top: 5px;height: 10px;}
.stui-vodlist__detail .text-title{ font-size: 14px; line-height: 18px; margin:11px 0 0; height: 36px; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;}
/* text-list */