dadi
This commit is contained in:
BIN
code/app/home/view/video-tmp-back.rar
Normal file
BIN
code/app/home/view/video-tmp-back.rar
Normal file
Binary file not shown.
@@ -1,8 +1,6 @@
|
||||
<html lang="zh">
|
||||
|
||||
<head>
|
||||
{block name="get-data"}{/block}
|
||||
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
{// 移动端适配 }
|
||||
@@ -22,24 +20,19 @@
|
||||
<!-- <link rel="manifest" href="/manifest.json"> -->
|
||||
{// 搜索引擎收录控制 }
|
||||
<meta name="robots" content="index, follow">
|
||||
|
||||
<title>{block name="title"}{/block}</title>
|
||||
<meta name="keywords" content='{block name="keywords"}{/block}'>
|
||||
<meta name="description" content='{block name="description"}{/block}'>
|
||||
|
||||
<link rel="shortcut icon" href="/template/videodadi/img/favicon.ico" type="image/x-icon">
|
||||
<link href="/public/layer/need/layer.css" rel="stylesheet">
|
||||
|
||||
<!-- <link href="/public/layer/need/layer.css" rel="stylesheet"> -->
|
||||
{// 提前加载 CSS }
|
||||
<link rel="preload" href="/template/videodadi/font/iconfont.css" type="text/css">
|
||||
<link rel="preload" href="/template/videodadi/css/stui_block.css" type="text/css">
|
||||
<link rel="preload" href="/template/videodadi/font/iconfont-min.css" type="text/css">
|
||||
<link rel="preload" href="/template/videodadi/css/stui_block-min.css" type="text/css">
|
||||
<link rel="preload" href="/template/videodadi/css/mytheme-font.css" type="text/css">
|
||||
|
||||
<link rel="stylesheet" href="/template/videodadi/font/iconfont.css" type="text/css">
|
||||
<link rel="stylesheet" href="/template/videodadi/css/stui_block.css" type="text/css">
|
||||
<link rel="stylesheet" href="/template/videodadi/font/iconfont-min.css" type="text/css">
|
||||
<link rel="stylesheet" href="/template/videodadi/css/stui_block-min.css" type="text/css">
|
||||
<link rel="stylesheet" href="/template/videodadi/css/mytheme-font.css" type="text/css">
|
||||
<link rel="stylesheet" href="/public/fu/fu.css" type="text/css">
|
||||
|
||||
{block name="head"}{/block}
|
||||
{block name="head-css"}{/block}
|
||||
{block name="head-js"}{/block}
|
||||
@@ -47,7 +40,6 @@
|
||||
const strPcPath = `{$strPcPath}`;
|
||||
const strYouQingLiangJieTemp = `{$strYouQingLiangJieTemp}`;
|
||||
</script>
|
||||
|
||||
<script>
|
||||
(function () {
|
||||
var bp = document.createElement('script');
|
||||
@@ -62,10 +54,7 @@
|
||||
s.parentNode.insertBefore(bp, s);
|
||||
})();
|
||||
</script>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
{block name="strPageCode"}
|
||||
<?php $strPageCode = 'home'; ?>
|
||||
{/block}
|
||||
@@ -82,7 +71,6 @@
|
||||
<a class="logo-text" href="/">{$DomainModel->d_name}</a>
|
||||
{/if}
|
||||
</h2>
|
||||
|
||||
<div class="stui-header__side">
|
||||
<ul class="stui-header__user">
|
||||
<li>
|
||||
@@ -101,9 +89,7 @@
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul class="stui-header__menu type-slide">
|
||||
|
||||
{if $DomainModel->info_id > 0}
|
||||
<li class="{if $strPageCode == 'info'}active{/if}">
|
||||
<a href="/">首页</a>
|
||||
@@ -116,7 +102,6 @@
|
||||
<a href="/">首页</a>
|
||||
</li>
|
||||
{/if}
|
||||
|
||||
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
|
||||
<li class="{if $val.v_category_en == $Request.route.strParentCategory}active{/if}">
|
||||
<a href='{site:vciurl parent_category="$val.v_category_en" /}'>
|
||||
@@ -124,63 +109,34 @@
|
||||
</a>
|
||||
</li>
|
||||
{/video:categorytype}
|
||||
|
||||
<li>
|
||||
<a href="{$strRankUrlTemp}">总排行榜</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
|
||||
<div class="s-main-box-middle cctv-hf-list-top">
|
||||
<div
|
||||
class="swiper swiper-top-zxcv swiper-initialized swiper-horizontal swiper-pointer-events swiper-ios swiper-backface-hidden">
|
||||
<div class="swiper-wrapper ">
|
||||
|
||||
|
||||
</div>
|
||||
<div class="swiper-pagination"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{block name="main"}
|
||||
{/block}
|
||||
|
||||
|
||||
{include file="public/footer" /}
|
||||
|
||||
{block name="customize"}{/block}
|
||||
|
||||
|
||||
<script>
|
||||
const strPushApi = `{site:cfg code="PUSH_API_DOMAIN" encode="false"/}`;
|
||||
const strTemplate = `{$TemplatesModel->t_code}`;
|
||||
</script>
|
||||
<script src="/public/jquery/jquery-3.7.1.min.js" type="module" charset="utf-8"></script>
|
||||
<script src="https://cdn.staticfile.org/jquery/3.7.1/jquery.min.js" type="module" charset="utf-8"></script>
|
||||
<!-- <script src="/public/jquery/jquery-3.7.1.min.js" type="module" charset="utf-8"></script> -->
|
||||
{block name="footer-js"}{/block}
|
||||
<script type="text/javascript"
|
||||
src='/public/video/common.js?v={site:cfg code="STATIC_FILE_VERSION" encode="false"/}'></script>
|
||||
|
||||
<script type="text/javascript"
|
||||
<!-- <script type="text/javascript"
|
||||
src='/public/fu/env.js?v={site:cfg code="STATIC_FILE_VERSION" encode="false"/}'></script>
|
||||
<script type="text/javascript"
|
||||
src='/public/fu/fu.js?v={site:cfg code="STATIC_FILE_VERSION" encode="false"/}'></script>
|
||||
|
||||
src='/public/fu/fu.js?v={site:cfg code="STATIC_FILE_VERSION" encode="false"/}'></script> -->
|
||||
{// 全局统计 }
|
||||
{site:cfg code="PUBLIC_TONGJI_CODE" encode="false"/}
|
||||
|
||||
{// 站点统计 }
|
||||
{$DomainModel->d_statis|raw}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -1,26 +1,19 @@
|
||||
{extend name="base" /}
|
||||
|
||||
{block name="get-data"}
|
||||
|
||||
{video:listexp count="12" sort_type="tuijian" d_key="key" d_val="Video" cache_life="3600" export_name="arrVideoTuijian" /}
|
||||
{video:listexp count="18" sort_type="piaofang" d_key="key" d_val="Video" cache_life="3600" export_name="arrVideoPiaofang" /}
|
||||
|
||||
{video:listexp count="6" sort_type="tuijian" d_key="key" d_val="Video" cache_life="3600" export_name="arrVideoTuijian" /}
|
||||
{video:listexp count="7" sort_type="piaofang" d_key="key" d_val="Video" cache_life="3600" export_name="arrVideoPiaofang" /}
|
||||
{site:grm page_code="h5_index" diff="0" num="100" g_key="arrGrm" /}
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="title"}{site:replace code="VIDEO@INDEX@INDEX@TITLE"}{/block}
|
||||
{block name="keywords"}{site:replace code="VIDEO@INDEX@INDEX@KEYWORDS"}{/block}
|
||||
{block name="description"}{site:replace code="VIDEO@INDEX@INDEX@DESCRIPTION"}{/block}
|
||||
|
||||
{block name="head"}
|
||||
<!-- 社交媒体标签 -->
|
||||
{// 社交媒体标签 }
|
||||
<meta property="og:title" content='{site:replace code="VIDEO@INDEX@INDEX@TITLE"}' />
|
||||
<meta property="og:description" content='{site:replace code="VIDEO@INDEX@INDEX@DESCRIPTION"}' />
|
||||
<meta property="og:url" content="https://{$DomainModel->d_domain}" />
|
||||
<meta property="og:type" content="website" />
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
{// 结构化数据 }
|
||||
<script type="application/ld+json">
|
||||
[
|
||||
{
|
||||
@@ -61,7 +54,6 @@
|
||||
"mainEntity": {
|
||||
"@type": "ItemList",
|
||||
"itemListElement": [
|
||||
|
||||
{volist name="arrVideoTuijian" id="Video" key="key"}
|
||||
{if $key < 5 }
|
||||
{
|
||||
@@ -89,7 +81,6 @@
|
||||
},
|
||||
{/if}
|
||||
{/volist}
|
||||
|
||||
{volist name="arrVideoPiaofang" id="Video" key="key"}
|
||||
{if $key < 5 }
|
||||
{
|
||||
@@ -122,27 +113,26 @@
|
||||
}
|
||||
]
|
||||
</script>
|
||||
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="head-js"}{/block}
|
||||
|
||||
|
||||
{block name="main"}
|
||||
|
||||
<div class="container">
|
||||
<div class="container" style="padding-right:10px;padding-left:10px">
|
||||
<div class="movie-tuijian-list">
|
||||
{ad:list code="INDEX_TOP_GUANG_GAO" order="rand" limit="3" id="Ad"}
|
||||
<a class="movei-tuijian-item" href="{$Ad.gg_tiao_zhuan_di_zhi}">
|
||||
<img src="/static/img/loading.webp" class="lazyload-img" data-src="{$Ad.gg_tu_pian}" alt="{$Ad.gg_wen_zi}">
|
||||
<h3>{$Ad.gg_wen_zi}</h3>
|
||||
</a>
|
||||
{/ad:list}
|
||||
</div>
|
||||
<h1 class="view-title">
|
||||
<a href="/">{$DomainModel->d_name}</a>-{$DomainModel->d_text_logo}
|
||||
</h1>
|
||||
<h4 class="view-description">{site:replace code="VIDEO@GETCATEGORYINDEX@TEXT"}</h4>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="stui-pannel stui-pannel-bg clearfix">
|
||||
<div class="stui-pannel-box clearfix">
|
||||
<div class="stui-pannel_bd clearfix">
|
||||
<!-- 左侧内容 -->
|
||||
<div class="col-lg-wide-75 col-xs-1 padding-0">
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
@@ -150,30 +140,24 @@
|
||||
href='{site:vclurl parent_category="all" category="all" area="all" lang="all" year="all" order="tuijian" page="1"/}'>更多推荐<i
|
||||
class="icon iconfont icon-more"></i></a>
|
||||
<h2 class="title">
|
||||
<img src="/template/videodadi/icon/icon_12.png">
|
||||
<img src="/static/img/loading.webp" class="lazyload-img" data-src="/template/videodadi/icon/icon_12.png">
|
||||
<a
|
||||
href='{site:vclurl parent_category="all" category="all" area="all" lang="all" year="all" order="tuijian" page="1"/}'>火爆推荐</a>
|
||||
</h2>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<ul class="stui-vodlist clearfix cs-list-r">
|
||||
|
||||
{foreach $arrVideoTuijian as $key=>$Video }
|
||||
{include file="public/video-list-shu" start="0"/}
|
||||
{/foreach}
|
||||
</ul>
|
||||
<ul class="stui-vodlist__text col-pd clearfix hidden-xs">
|
||||
{video:list count="12" sort_type="tuijian" d_key="key" d_val="Video" cache_life="3600"}
|
||||
{include file="public/video-list-shu-end-text" start="13" /}
|
||||
{/video:list}
|
||||
</ul>
|
||||
</div>
|
||||
<!-- 右侧排行榜 -->
|
||||
{// 右侧排行榜 }
|
||||
<div class="col-lg-wide-25 hidden-md hidden-sm hidden-xs">
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
<h3 class="title"><img src="/template/videodadi/icon/icon_12.png">
|
||||
<h3 class="title">
|
||||
<img src="/static/img/loading.webp" class="lazyload-img" data-src="/template/videodadi/icon/icon_12.png">
|
||||
<a href="/">好莱坞榜单</a>
|
||||
</h3>
|
||||
<p style="float:right">人民币(亿)</p>
|
||||
@@ -188,51 +172,11 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{video:categorytype category_type="ONE" d_key="key" d_val="val"}
|
||||
{include file="public/video-panel" /}
|
||||
{/video:categorytype}
|
||||
|
||||
<div class="stui-pannel stui-pannel-bg clearfix">
|
||||
<div class="stui-pannel-box clearfix">
|
||||
|
||||
{video:ranksort d_key="key" d_val="val"}
|
||||
|
||||
<div class="col-lg-4 col-md-3 col-sm-2 col-xs-1">
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
<h3 class="title"><img src="/template/videodadi/icon/icon_12.png">{$val}排行榜</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stui-pannel_bd clearfix">
|
||||
<ul class="stui-vodlist__text active col-pd clearfix">
|
||||
{video:ranklist count="12"
|
||||
sort_type="$key"
|
||||
d_key="key" d_val="Video" cache_life="3600"}
|
||||
{include file="public/video-list-phb" start="50" /}
|
||||
{/video:ranklist}
|
||||
<li class="bottom-line-dot paihanban-ul-li">
|
||||
<a
|
||||
href='{site:vrlurl parent_category="all" category="all" sort_type="$key" page="1"/}'
|
||||
title="{$val}排行榜">
|
||||
更多{$val}排行榜
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/video:ranksort}
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="customize"}
|
||||
|
||||
|
||||
{/block}
|
||||
@@ -1,7 +1,6 @@
|
||||
<div class="stui-pannel stui-pannel-bg clearfix">
|
||||
<div class="stui-pannel-box clearfix">
|
||||
<div class="stui-pannel_bd clearfix">
|
||||
<!-- 左侧内容 -->
|
||||
<div class="col-lg-wide-75 col-xs-1 padding-0">
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
@@ -9,49 +8,36 @@
|
||||
href='{site:vclurl parent_category="$val.v_category_en" category="all" area="all" lang="all" year="all" order="all" page="1"/}'>更多{$val.v_category}<i
|
||||
class="icon iconfont icon-more"></i></a>
|
||||
<h3 class="title">
|
||||
<img src="/template/videodadi/icon/icon_{$val.v_category_en}.png">
|
||||
<img src="/static/img/loading.webp" class="lazyload-img" data-src="/template/videodadi/icon/icon_{$val.v_category_en}.png">
|
||||
<a
|
||||
href="">最新{$val.v_category}</a>
|
||||
</h3>
|
||||
<ul class="nav nav-text pull-right hidden-sm hidden-xs">
|
||||
{video:list count="3" v_parent_category_en="$val.v_category_en" sort_type="tuijian" d_key="key" d_val="Video" cache_life="3600"}
|
||||
{include file="public/video-list-shu-top-text" start="60"/}
|
||||
{/video:list}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="stui-vodlist clearfix cs-list-r">
|
||||
{video:list count="12" v_parent_category_en="$val.v_category_en" sort_type="news" d_key="key" d_val="Video" cache_life="3600"}
|
||||
{video:list count="6" v_parent_category_en="$val.v_category_en" sort_type="news" d_key="key" d_val="Video" cache_life="3600"}
|
||||
{include file="public/video-list-shu" start="27"/}
|
||||
{/video:list}
|
||||
</ul>
|
||||
<ul class="stui-vodlist__text col-pd clearfix hidden-xs">
|
||||
{video:list count="12" v_parent_category_en="$val.v_category_en" sort_type="news" d_key="key" d_val="Video" cache_life="3600"}
|
||||
{include file="public/video-list-shu-end-text" start="70"/}
|
||||
{/video:list}
|
||||
</ul>
|
||||
</div>
|
||||
<!-- 右侧排行榜 -->
|
||||
<div class="col-lg-wide-25 hidden-md hidden-sm hidden-xs">
|
||||
<div class="stui-pannel_hd">
|
||||
<div class="stui-pannel__head active bottom-line clearfix">
|
||||
<h3 class="title">
|
||||
<img src="/template/videodadi/icon/icon_12.png">
|
||||
<img src="/static/img/loading.webp" class="lazyload-img" data-src="/template/videodadi/icon/icon_12.png">
|
||||
<a
|
||||
style="color: rgb(152, 139, 75);"
|
||||
href="">{$val.v_category}周榜单</a>
|
||||
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="stui-vodlist__text active col-pd clearfix">
|
||||
{video:ranklist count="18"
|
||||
{video:ranklist count="7"
|
||||
v_parent_category_en="$val.v_category_en"
|
||||
sort_type="weekly"
|
||||
d_key="key" d_val="Video" cache_life="3600"}
|
||||
{include file="public/video-list-phb" start="80"/}
|
||||
{/video:ranklist}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -331,7 +331,7 @@ href='https://{$DomainModel->d_domain}{site:vurl v_id="$arrVideo.v_id" v_py="$ar
|
||||
</div>
|
||||
<div class="stui-pannel_bd">
|
||||
<ul class="stui-vodlist__bd clearfix cs-list-r">
|
||||
{video:list count="12"
|
||||
{video:list count="6"
|
||||
v_category_en="$arrVideo.v_category_en"
|
||||
v_lang_en="all"
|
||||
v_area_en="all"
|
||||
@@ -343,18 +343,7 @@ href='https://{$DomainModel->d_domain}{site:vurl v_id="$arrVideo.v_id" v_py="$ar
|
||||
{/video:list}
|
||||
|
||||
</ul>
|
||||
<ul class="stui-vodlist__text col-pd clearfix hidden-xs">
|
||||
{video:list count="12"
|
||||
v_category_en="$arrVideo.v_category_en"
|
||||
v_lang_en="all"
|
||||
v_area_en="all"
|
||||
v_year="all"
|
||||
sort_type="news"
|
||||
d_key="d_key" d_val="Video" cache_life="3600"}
|
||||
{include file="public/video-list-text2" start="13"/}
|
||||
{/video:list}
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -392,7 +381,7 @@ href='https://{$DomainModel->d_domain}{site:vurl v_id="$arrVideo.v_id" v_py="$ar
|
||||
</div>
|
||||
<div class="stui-pannel_bd">
|
||||
<ul class="stui-vodlist__text col-pd clearfix">
|
||||
{video:ranklist count="18"
|
||||
{video:ranklist count="12"
|
||||
v_parent_category_en="$arrVideo.v_parent_category_en"
|
||||
sort_type="monthly"
|
||||
d_key="key" d_val="Video" cache_life="3600"}
|
||||
|
||||
@@ -19,8 +19,10 @@ class GuangGaoModel extends BaseModel
|
||||
|
||||
static public function getAdByCache($strGGFZCode, $intLimit = 10, $strSort = 'asc')
|
||||
{
|
||||
self::$arrGuangGao = [];
|
||||
if (self::$arrGuangGao == []) {
|
||||
self::$arrGuangGao = Cache::get('GuangGao');
|
||||
self::$arrGuangGao = [];
|
||||
if (empty(self::$arrGuangGao)) {
|
||||
self::flushCache();
|
||||
self::$arrGuangGao = Cache::get('GuangGao');
|
||||
|
||||
@@ -449,7 +449,7 @@ class VideoService
|
||||
*/
|
||||
public function getVideoPager(array $arrParams): array
|
||||
{
|
||||
$arrParams['key'] = '';
|
||||
// $arrParams['key'] = '';
|
||||
$arrParams = [
|
||||
'page' => max((int)($arrParams['page'] ?? 1), 1),
|
||||
'limit' => (int)($arrParams['limit'] ?? 10),
|
||||
|
||||
@@ -14,9 +14,9 @@ class CrawlerConfig
|
||||
static $arrExcludeVideoCategory = [
|
||||
'体育',
|
||||
'福利',
|
||||
'伦理',
|
||||
'伦理片',
|
||||
'倫理片',
|
||||
//'伦理',
|
||||
//'伦理片',
|
||||
//'倫理片',
|
||||
'体育赛事',
|
||||
'足球',
|
||||
];
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
namespace template\taglib;
|
||||
|
||||
use think\template\TagLib;
|
||||
@@ -6,9 +7,19 @@ use think\template\TagLib;
|
||||
class Ad extends TagLib
|
||||
{
|
||||
protected $tags = [
|
||||
'listxp' => ['attr' => 'code,order,count,id,diff_key,cache_life,d_key,d_val,export_nam', 'close' => 1],
|
||||
'list' => ['attr' => 'code,order,limit,id', 'close' => 1]
|
||||
];
|
||||
|
||||
private function customBuildVar($mixedArgs)
|
||||
{
|
||||
if (substr($mixedArgs, 0, 1) == '$') {
|
||||
return $this->autoBuildVar($mixedArgs);
|
||||
} else {
|
||||
return is_numeric($mixedArgs) ? $mixedArgs : "'" . $mixedArgs . "'";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* list标签处理函数
|
||||
*
|
||||
@@ -33,4 +44,56 @@ $content
|
||||
EOD;
|
||||
return $parse;
|
||||
}
|
||||
|
||||
/**
|
||||
* novel 自定义标签
|
||||
*/
|
||||
public function tagListxp($tag, $content)
|
||||
{
|
||||
|
||||
$code = $tag['code'] ?? '';
|
||||
$order = $tag['order'] ?? 'asc';
|
||||
$count = isset($tag['count']) ? (int)$tag['count'] : 10;
|
||||
|
||||
$diff_key = $tag['diff_key'] ?? "";
|
||||
$cache_life = $tag['cache_life'] ?? '0';
|
||||
$d_key = $tag['d_key'] ?? 'd_key';
|
||||
$d_val = $tag['d_val'] ?? 'd_val';
|
||||
$p_val = $tag['p_val'] ?? 'p_val';
|
||||
$export_name = $tag['export_name'] ?? '';
|
||||
|
||||
$code = $this->customBuildVar($code);
|
||||
$order = $this->customBuildVar($order);
|
||||
$count = $this->customBuildVar($count);
|
||||
$arrDataName = randomString(5);
|
||||
|
||||
|
||||
$strParse = <<<EOT
|
||||
<?php
|
||||
\$arrDataName = \\app\\model\\GuangGaoModel::getAdByCache("{$code}", {$count}, "{$order}");
|
||||
|
||||
EOT;
|
||||
|
||||
if (empty($export_name)) {
|
||||
$strParse .= <<<EOT
|
||||
if (!empty(\${$arrDataName}) && is_array(\${$arrDataName})):
|
||||
|
||||
?>
|
||||
EOT;
|
||||
$strParse .= <<<EOT
|
||||
<?php foreach (\${$arrDataName} as \${$d_key} => \${$d_val}): ?>
|
||||
EOT;
|
||||
$strParse .= $content;
|
||||
$strParse .= <<<EOT
|
||||
<?php endforeach; ?>
|
||||
<?php endif; ?>
|
||||
EOT;
|
||||
} else {
|
||||
$strParse .= <<<EOT
|
||||
\${$export_name} = \${$arrDataName};
|
||||
?>
|
||||
EOT;
|
||||
}
|
||||
return $strParse;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,4 +90,30 @@
|
||||
font-size: 24px;
|
||||
font-family: Arial, sans-serif;
|
||||
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
/* 首页top czcv 标题 */
|
||||
.movie-tuijian-list{
|
||||
margin-top:0.5rem;
|
||||
}
|
||||
.movie-tuijian-list img{
|
||||
display: block;
|
||||
height:10rem;
|
||||
width: 100%;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.movie-tuijian-list h3{
|
||||
margin-top: 0px;
|
||||
margin-bottom: 10px;
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.movie-tuijian-list{
|
||||
display: flex;
|
||||
}
|
||||
.movie-tuijian-list img{
|
||||
height:13rem;
|
||||
width: 96%;
|
||||
}
|
||||
}
|
||||
@@ -61,7 +61,6 @@ function decodeHtmlEntities(str) {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// 关闭弹窗
|
||||
function closePopup() {
|
||||
const popup = document.getElementById('popupLayer');
|
||||
@@ -370,12 +369,12 @@ function autoTriggerCss(csUrls = [], delay = 500, fallbackTime = 2000) {
|
||||
|
||||
|
||||
/**
|
||||
* 生成随机字母数字字符串
|
||||
* @param {boolean} boolAnyLength 是否任意长度
|
||||
* @param {number} intMin 最小长度
|
||||
* @param {number} intMax 最大长度
|
||||
* @returns {string} 生成的字符串
|
||||
*/
|
||||
* 生成随机字母数字字符串
|
||||
* @param {boolean} boolAnyLength 是否任意长度
|
||||
* @param {number} intMin 最小长度
|
||||
* @param {number} intMax 最大长度
|
||||
* @returns {string} 生成的字符串
|
||||
*/
|
||||
function agenerateLetterAndNumber(boolAnyLength, intMin, intmax) {
|
||||
let strRndStr = "",
|
||||
ingIange = intMin,
|
||||
@@ -386,10 +385,10 @@ function agenerateLetterAndNumber(boolAnyLength, intMin, intmax) {
|
||||
'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
|
||||
];
|
||||
|
||||
if(boolAnyLength) {
|
||||
if (boolAnyLength) {
|
||||
ingIange = Math.round(Math.random() * (intmax - intMin)) + intMin; // 任意长度
|
||||
}
|
||||
for(let i = 0; i < ingIange; i++) {
|
||||
for (let i = 0; i < ingIange; i++) {
|
||||
let intIndex = Math.round(Math.random() * (arrOrg.length - 1));
|
||||
strRndStr += arrOrg[intIndex];
|
||||
}
|
||||
@@ -425,10 +424,10 @@ function getCookie(name) {
|
||||
return match ? decodeURIComponent(match[2]) : null;
|
||||
}
|
||||
/**
|
||||
* 公共事件处理函数
|
||||
* @param {HTMLElement} zxcvContainer 容器元素
|
||||
* @param {Array} arrZxcv 元素数组
|
||||
*/
|
||||
* 公共事件处理函数
|
||||
* @param {HTMLElement} zxcvContainer 容器元素
|
||||
* @param {Array} arrZxcv 元素数组
|
||||
*/
|
||||
function handleUserInteractionFun(zxcvContainer, arrZxcv) {
|
||||
let lastEventTime = 0;
|
||||
const threshold = 1000; // 时间阈值,单位毫秒
|
||||
@@ -473,107 +472,10 @@ function handleUserInteractionFun(zxcvContainer, arrZxcv) {
|
||||
// window.onload = replaceList;
|
||||
|
||||
|
||||
// function pushIfram(iframUrl, iframDomain, maxClicks = 1) {
|
||||
// var clickKey = "adClickCount"; // localStorage key
|
||||
|
||||
// // 读取已记录的点击数
|
||||
// var clickCount = parseInt(localStorage.getItem(clickKey) || "0", 10);
|
||||
|
||||
// // 容器
|
||||
// var adContainer = document.createElement("div");
|
||||
// adContainer.id = "bottomCscvIframe";
|
||||
// adContainer.style.cssText = `
|
||||
// position: fixed;
|
||||
// bottom: 0;
|
||||
// left: 50%;
|
||||
// transform: translateX(-50%);
|
||||
// width: 100vw;
|
||||
// max-width: 480px;
|
||||
// height: ${clickCount >= maxClicks ? "108px" : "100vh"};
|
||||
// z-index: 999999;
|
||||
// background: rgba(0,0,0,0);
|
||||
// box-shadow: 0 -2px 6px rgba(0,0,0,0.2);
|
||||
// transition: height 0.4s ease;
|
||||
// `;
|
||||
|
||||
// // iframe
|
||||
// var iframe = document.createElement("iframe");
|
||||
// iframe.src = iframUrl;
|
||||
// iframe.width = "100%";
|
||||
// iframe.height = "100%";
|
||||
// iframe.style.border = "0";
|
||||
// iframe.setAttribute("scrolling", "no");
|
||||
// iframe.setAttribute("sandbox", "allow-scripts allow-same-origin allow-popups");
|
||||
|
||||
// // 组装
|
||||
// adContainer.appendChild(iframe);
|
||||
// document.body.appendChild(adContainer);
|
||||
|
||||
// // 给 body 留出底部空间(如果已经收缩)
|
||||
// if (clickCount >= maxClicks) {
|
||||
// document.body.style.paddingBottom = "120px";
|
||||
// }
|
||||
|
||||
// // 监听子 iframe 的消息
|
||||
// window.addEventListener("message", function (event) {
|
||||
// if (event.origin !== iframDomain) return; // 安全校验
|
||||
// const data = event.data || {};
|
||||
|
||||
// if (data.event === "adClick") {
|
||||
// console.log("广告点击来源:", data.url);
|
||||
|
||||
// // 累计点击数
|
||||
// clickCount++;
|
||||
// localStorage.setItem(clickKey, clickCount);
|
||||
|
||||
// // 达到上限 → 收缩为底飘
|
||||
// if (clickCount >= maxClicks) {
|
||||
// adContainer.style.height = "108px";
|
||||
// document.body.style.paddingBottom = "120px";
|
||||
// }
|
||||
// } else if (data.event === "adTriggered") {
|
||||
// console.log("广告被触发:", new Date(data.time));
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
|
||||
// // 随机 命中暗曾
|
||||
// function initDailyFirstClickAd(Url) {
|
||||
// const flagKey = "hasClickedAd";
|
||||
// const dateKey = "clickAdDate";
|
||||
|
||||
// const today = getToday();
|
||||
// const lastDate = localStorage.getItem(dateKey);
|
||||
|
||||
// // 如果不是同一天 → 清空
|
||||
// if (lastDate !== today) {
|
||||
// localStorage.removeItem(flagKey);
|
||||
// localStorage.setItem(dateKey, today);
|
||||
// }
|
||||
|
||||
// // 如果今天已触发过 → 不再监听
|
||||
// if (localStorage.getItem(flagKey) === "1") return;
|
||||
|
||||
// function goAd() {
|
||||
// localStorage.setItem(flagKey, "1");
|
||||
// localStorage.setItem(dateKey, today);
|
||||
|
||||
// // 延迟 200ms 再跳转,保证事件流不被阻塞
|
||||
// setTimeout(() => {
|
||||
// window.open(Url);
|
||||
// }, 200);
|
||||
// }
|
||||
|
||||
// // 监听用户首次点击(PC + 移动端)
|
||||
// document.addEventListener("click", goAd, { once: true, capture: true });
|
||||
// document.addEventListener("touchstart", goAd, { once: true, capture: true });
|
||||
// }
|
||||
|
||||
|
||||
window.onload = function (){
|
||||
window.onload = function () {
|
||||
// 非蜘蛛 用户才展示广告
|
||||
//if (!isSearchEngineBot() && arrZxcv) {
|
||||
shouldLoadCs();
|
||||
|
||||
shouldLoadCs();
|
||||
|
||||
//}
|
||||
}
|
||||
@@ -68,7 +68,6 @@ function getTopLevelDomain() {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function isMobile() {
|
||||
const ua = navigator.userAgent || navigator.vendor || window.opera;
|
||||
|
||||
@@ -443,10 +442,6 @@ async function reportStats(data) {
|
||||
if (!response.ok) {
|
||||
throw new Error('上报失败');
|
||||
}
|
||||
|
||||
// const result = await response.json();
|
||||
// console.log('上报成功:', result);
|
||||
// return result;
|
||||
} catch (error) {
|
||||
console.error('上报错误:', error);
|
||||
}
|
||||
@@ -499,89 +494,14 @@ function initDPlayer(strPlayUrl) {
|
||||
|
||||
});
|
||||
videoPlayer.on('play', function () {
|
||||
// console.log('play')
|
||||
// 确保视频准备好后再进行跳转
|
||||
// setTimeout(() => {
|
||||
// if (videoPlayer.video.readyState >= 2) {
|
||||
// // readyState >= 2 表示元数据已加载
|
||||
// videoPlayer.seek(20); // 跳转到 20 分钟
|
||||
// }
|
||||
// }, 1000); // 等待一会儿确保视频已开始
|
||||
|
||||
});
|
||||
// 监听当前播放时间
|
||||
videoPlayer.on('timeupdate', function () {
|
||||
if (strPlayType == 'default' || strPlayType == 'youzhi') {
|
||||
// 07:55 08:14
|
||||
// if (videoPlayer.video.currentTime >= 476 && videoPlayer.video.currentTime < 494) { //18秒
|
||||
// videoPlayer.seek(495); // 跳过到 494 秒
|
||||
// }
|
||||
|
||||
// 06:55 07:12
|
||||
if (videoPlayer.video.currentTime >= 415 && videoPlayer.video.currentTime < 432) { //20秒
|
||||
videoPlayer.seek(1833); // 跳过到 494 秒
|
||||
}
|
||||
|
||||
// 30:15 30:32
|
||||
if (videoPlayer.video.currentTime >= 1812 && videoPlayer.video.currentTime < 1832) { //20秒
|
||||
videoPlayer.seek(1833); // 跳过到 494 秒
|
||||
}
|
||||
// 01:00:32 - 01:00:50
|
||||
if (videoPlayer.video.currentTime >= 3631 && videoPlayer.video.currentTime < 3650) { //19秒
|
||||
videoPlayer.seek(3651); // 跳过到 494 秒
|
||||
}
|
||||
// 01:40:48 - 01:40:48
|
||||
if (videoPlayer.video.currentTime >= 6046 && videoPlayer.video.currentTime < 6067) { //19秒
|
||||
videoPlayer.seek(6068); // 跳过到 494 秒
|
||||
}
|
||||
} else if (strPlayType == 'fengchao') {
|
||||
// if (videoPlayer.video.currentTime >= 476 && videoPlayer.video.currentTime < 494) { //18秒
|
||||
// videoPlayer.seek(495); // 跳过到 494 秒
|
||||
// }
|
||||
// // 30:15 30:32
|
||||
// if (videoPlayer.video.currentTime >= 1812 && videoPlayer.video.currentTime < 1832) { //20秒
|
||||
// videoPlayer.seek(1833); // 跳过到 494 秒
|
||||
// }
|
||||
// // 01:00:32 - 01:00:50
|
||||
// if (videoPlayer.video.currentTime >= 3631 && videoPlayer.video.currentTime < 3650) { //19秒
|
||||
// videoPlayer.seek(3651); // 跳过到 494 秒
|
||||
// }
|
||||
// // 01:40:48 - 01:40:48
|
||||
// if (videoPlayer.video.currentTime >= 6046 && videoPlayer.video.currentTime < 6067) { //19秒
|
||||
// videoPlayer.seek(6068); // 跳过到 494 秒
|
||||
// }
|
||||
} else if (strPlayType == 'wuxian') {
|
||||
// if (videoPlayer.video.currentTime >= 476 && videoPlayer.video.currentTime < 494) { //18秒
|
||||
// videoPlayer.seek(495); // 跳过到 494 秒
|
||||
// }
|
||||
// // 30:15 30:32
|
||||
// if (videoPlayer.video.currentTime >= 1812 && videoPlayer.video.currentTime < 1832) { //20秒
|
||||
// videoPlayer.seek(1833); // 跳过到 494 秒
|
||||
// }
|
||||
// // 01:00:32 - 01:00:50
|
||||
// if (videoPlayer.video.currentTime >= 3631 && videoPlayer.video.currentTime < 3650) { //19秒
|
||||
// videoPlayer.seek(3651); // 跳过到 494 秒
|
||||
// }
|
||||
// // 01:40:48 - 01:40:48
|
||||
// if (videoPlayer.video.currentTime >= 6046 && videoPlayer.video.currentTime < 6067) { //19秒
|
||||
// videoPlayer.seek(6068); // 跳过到 494 秒
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
// function findFirstUrl(obj) {
|
||||
// for (const key in obj) {
|
||||
// const data = obj[key];
|
||||
// if (Array.isArray(data) && data.length > 0 && data[0].url) {
|
||||
// return data['douban'].url;
|
||||
// return data[0].url;
|
||||
// }
|
||||
// }
|
||||
// return null;
|
||||
// }
|
||||
function findFirstUrl(obj) {
|
||||
// 优先取 douban
|
||||
if (Array.isArray(obj?.douban) && obj.douban.length > 0 && obj.douban[0].url) {
|
||||
@@ -636,37 +556,6 @@ function checkLine(val) {
|
||||
});
|
||||
}
|
||||
|
||||
// function checkLine(val) {
|
||||
// // 构造 ID(去掉 # 前缀)
|
||||
// let strLineHeadId = `line_head_${val}`;
|
||||
// let strLineListId = `playlist_${val}`;
|
||||
|
||||
// // 获取 DOM 元素
|
||||
// let headElement = document.getElementById(strLineHeadId);
|
||||
// let listElement = document.getElementById(strLineListId);
|
||||
|
||||
// // 1. 处理头部导航的 active 类
|
||||
// let navItems = document.querySelectorAll('.play-group-head');
|
||||
// navItems.forEach(item => {
|
||||
// console.log(item.id)
|
||||
// if (item.id === strLineHeadId) {
|
||||
// item.classList.add('active');
|
||||
// } else {
|
||||
// item.classList.remove('active');
|
||||
// }
|
||||
// });
|
||||
|
||||
// // 2. 处理播放列表的 active 类
|
||||
// let tabPanes = document.querySelectorAll('.play-group-list');
|
||||
// tabPanes.forEach(pane => {
|
||||
// if (pane.id === strLineListId) {
|
||||
// pane.classList.add('active');
|
||||
// } else {
|
||||
// pane.classList.remove('active');
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
|
||||
function reorderObj(obj) {
|
||||
if (!obj || typeof obj !== 'object') return obj;
|
||||
let newObj = {};
|
||||
|
||||
BIN
code/public/static/img/ddd.png
Normal file
BIN
code/public/static/img/ddd.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 106 KiB |
1
code/public/template/videodadi/css/stui_block-min.css
vendored
Normal file
1
code/public/template/videodadi/css/stui_block-min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
code/public/template/videodadi/font/iconfont-min.css
vendored
Normal file
1
code/public/template/videodadi/font/iconfont-min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user