This commit is contained in:
make
2025-04-21 17:49:17 +08:00
parent 7ef217c1b9
commit 2337ab4f7d
942 changed files with 209166 additions and 0 deletions

View File

@@ -0,0 +1,155 @@
import CctvsJs from '../class/cctv.js';
const Cctvs = new CctvsJs();
import ConfigsJs from '../class/config.js';
const Configs = new ConfigsJs();
let arrConfigs = Configs.getAll()
// 公共广告
const CommonCctv = {
init(){
if(document.querySelector(".j-cctv-list-page")){
this.initVideoList()
}
// this.initBannerBottomPiao()
this.initPlBannerBottomPiao()
Cctvs.addEvent() //切勿多次调用监听事件
},
/**
* 视频列表
*/
initVideoList(arrPageId=[300,302]) {
let CctvBannerBottomPiaoList = Cctvs.getDataByWhere(105, 209, arrPageId);
//列表页-猜你喜欢
if (CctvBannerBottomPiaoList.length > 0) {
//列表页-1
$(".j-cctv-list-page .j-cctv-list-ul").children().eq(0).remove()
$(".j-cctv-list-page .j-cctv-list-ul").children().eq(0).before(this.CreatListCctv(CctvBannerBottomPiaoList[0]))
}
if (CctvBannerBottomPiaoList.length > 1) {
//列表页-2
$(".j-cctv-list-page .j-cctv-list-ul").children().eq(5).remove()
$(".j-cctv-list-page .j-cctv-list-ul").children().eq(5).before(this.CreatListCctv(CctvBannerBottomPiaoList[1]))
}
if (CctvBannerBottomPiaoList.length > 2) {
//列表页-2
$(".j-cctv-list-page .j-cctv-list-ul").children().eq(8).remove()
$(".j-cctv-list-page .j-cctv-list-ul").children().eq(8).before(this.CreatListCctv(CctvBannerBottomPiaoList[2]))
}
},
/**
* 底飘初始化
* --随机生成
*/
initBannerBottomPiao() {
return
let CctvBannerBottomPiaoList = Cctvs.getDataByWhere(101, 217, [300, 303]);
let CctvBannerBottomPiaoListDom = '';
let intRandNum = Math.floor(Math.random() * CctvBannerBottomPiaoList.length) //生成随机开屏广告
let intFindActioveIndex = CctvBannerBottomPiaoList.findIndex((item, index) => index == intRandNum)
if (intFindActioveIndex != -1) {
CctvBannerBottomPiaoListDom = this.CreateCctvBottomDomList(CctvBannerBottomPiaoList[intFindActioveIndex], intFindActioveIndex, '底瓢');
}
if (CctvBannerBottomPiaoList.length > 0) {
$(".foot-dp-fix").html(CctvBannerBottomPiaoListDom);
} else {
$(".foot-dp-fix").addClass('yc')
}
},
/**
* 跑量页面-底飘初始化
* --随机生成
*/
initPlBannerBottomPiao() {
let CctvBannerBottomPiaoPlList = Cctvs.getDataByWhere(101, 217, [305]);
let CctvBannerBottomPiaoPlListDom = '';
let intRandNum = Math.floor(Math.random() * CctvBannerBottomPiaoPlList.length) //生成随机开屏广告
let intFindActioveIndex = CctvBannerBottomPiaoPlList.findIndex((item, index) => index == intRandNum)
if (intFindActioveIndex != -1) {
CctvBannerBottomPiaoPlListDom = this.CreateCctvBottomDomPlList(CctvBannerBottomPiaoPlListDom[intFindActioveIndex], intFindActioveIndex, '底瓢');
}
if (CctvBannerBottomPiaoPlList.length > 0) {
$(".foot-fix").html(CctvBannerBottomPiaoPlListDom);
}
},
/**
*
* 创建底瓢 -- 随机生成
**/
CreateCctvBottomDomList(data, index, page) {
if (data) {
return `
<div class="app-content">
<a class="j-cctv-click-dp" data-href="${data.href}" data-id="${data.id}" data-onsite-or-offsite="${data.onsite_or_offsite}"
rel="nofollow">
<img class="logo-img" src="${data.cover}" alt="${data.title}">
<span class="dp-cctv-title" >${data.title}</span>
<span class="dp-lj-into" >立即进入 </span>
</a>
</div>
`
}
},
/**
*
* 创建底瓢 -- 随机生成 -- 跑量页
**/
CreateCctvBottomDomPlList(data, index, page) {
if (data) {
return `
<div class="app-content">
<a class="j-cctv-click" data-href="${data.href}" data-id="${data.id}" data-onsite-or-offsite="${data.onsite_or_offsite}" rel="nofollow">
<img class="logo-img" class="logo-img" src="${data.cover}" alt="${data.title}">
<span class="dp-cctv-title" >${data.title}</span>
</a>
<i class="close-img icon iconfont icon-shanchu1" id="close-di-but"></i>
</div>
`
}
},
/**
*
* 视频列表dom
*
***/
CreatListCctv(list,arrConfigs=[]) {
var cctvListStr = "";
if (list) {
cctvListStr += `
<li class="video_li swiper-slide">
<a class="j-cctv-click" data-href="${list.href}" data-id="${list.id}" data-onsite-or-offsite="${list.onsite_or_offsite}" rel="nofollow">
<div class="cover_dv">
<img class="lazyLoad videoCover jqlazyload"
alt="${list.title}"
src="${arrConfigs['STATIC_SOURCE_DOMAIN']}/siteConfig/img/video.webp" data-wh=0.69
data-original="${list.cover}"/>
</div>
<h3>${list.title}</h3>
</a>
</li>
`;
return cctvListStr;
}
},
}
export default CommonCctv;

View File

@@ -0,0 +1,257 @@
import { parseInt } from 'lodash';
import CctvsJs from '../class/cctv';
import ConfigsJs from '../class/config';
import { downloadImage,outPutLog,layerPopup } from '../public/commonFun.js';
const Configs = new ConfigsJs();
// 首页弹窗
const IndexCctv = {
intPopUpsIndex: 0,
init() {
const Cctvs = new CctvsJs();
let CctvTipIndex = Cctvs.getDataByWhere(106, 211, [301]);
console.log(CctvTipIndex)
let CctvTipIndexDom = `
<!--首页弹窗遮挡层-->
<div class="index-center-tc-zdc j-close-occlusion-layer"></div>
`
//首页弹窗广告数量
if (document.querySelector(".index-center-tc-num") ) {
document.querySelector(".index-center-tc-num").innerText = (CctvTipIndex.length-1)
}
/**
* 首页弹窗
*
*/
CctvTipIndex.forEach((item, index) => {
if (item) {
if (item.title == '域名弹窗' && index == 0) {
CctvTipIndexDom += this.CreateCctvTipIndexPupopDomainFun(item, index)
}else{
CctvTipIndexDom += this.CreateCctvTipIndexFun(item, index);
}
}
})
//首页弹窗广告
if (!this.isFirstLoadHomeDomanFun() && CctvTipIndex.length>0 ) {
$("body.home-web").append(CctvTipIndexDom)
}
this.addEvent()
},
/**
* 绑定点击事件-初始化
*/
addEvent(){
// 保存相册
$(".j-genimg").on('click', function () {
if (!window.HTMLCanvasElement) {
layerPopup("请截图保存!", 3)
return;
}
const layerIndexTc = layerPopup("拼命保存中。。");
html2canvas(document.querySelector(".index-center-tc"), {
useCORS: true, // 启用跨域配置
logging: true, // 启用日志记录以进行调试
backgroundColor: null // 保持透明背景(如果需要)
}).then(canvas => {
var clipImgBase64 = canvas.toDataURL();
// 生成图片
var clipImg = new Image();
clipImg.src = clipImgBase64;
downloadImage(clipImgBase64);
layer.close(layerIndexTc);
}).catch(err => {
console.error("html2canvas 出错:", err);
layer.close(layerIndexTc);
layerPopup("请手动截图保存!", 3)
});
});
// 关闭弹窗
$(".j-close-index-pop-ups").on('click', (event) => {
let intPopUpsIndex = $(event.currentTarget).attr('data-index')
this.closeIndexTcfun(intPopUpsIndex)
})
// 关闭遮挡层
$(".j-close-occlusion-layer").on('click', () => {
console.log(this.intPopUpsIndex)
this.closeIndexTcfun(this.intPopUpsIndex)
})
},
/**
*
* 创建首页弹窗广告
* h5
**/
CreateCctvTipIndexPupopDomainFun(data, index) {
if (typeof data == 'object') {
if (data.title == '域名弹窗' && index == 0) {
return `
<div class="index-center-tc index-center-tc-index${index} df-index-center-tc df-index-center-tc" >
<div style="width:300px">
<i class="index-center-tc-close icon iconfont icon-shanchu1 j-close-index-pop-ups" data-index="${index}" ></i>
<a>
<img class="index-center-tc-bjimg jqlazyload" src="${data.cover}" data-original="${data.cover}" />
</a>
<div class="index-center-tc-op-domain df-top-domain j-share" data-sharedom=".index-center-tc-op-domain-text" >
<p class="index-center-tc-op-domain-text">${Configs.get('STANDBY_URL')}</p>
</div>
<!--
<div class="index-center-tc-yj-domain tc-domain j-share" data-sharedom=".index-center-tc-yj-domain-text" >
<p class="index-center-tc-yj-domain-text">${Configs.get('VIP_DOMAIN_1')}</p>
</div>
-->
<div class="index-center-tc-vip1-domain tc-domain j-share" data-sharedom=".index-center-tc-vip1-domain-text" >
<p class="index-center-tc-vip1-domain-text">${Configs.get('VIP_DOMAIN_1')}</p>
</div>
<div class="index-center-tc-vip2-domain tc-domain j-share" data-sharedom=".index-center-tc-vip2-domain-text" >
<p class="index-center-tc-vip2-domain-text">${Configs.get('VIP_DOMAIN_2')}</p>
</div>
<div class="index-center-tc-vip3-domain tc-domain j-share" data-sharedom=".index-center-tc-vip3-domain-text" >
<p class="index-center-tc-vip3-domain-text">${Configs.get('VIP_DOMAIN_3')}</p>
</div>
<a class="index-center-tc-fs1-domain tc-domain" href="${Configs.get('TG_URL', null)}" target="_blank">
<p class="index-center-tc-fs1-domain-text" >${Configs.get('TG_URL', null)}</p>
</a>
<a class="index-center-tc-fs2-ios tc-domain" href="https://f5d3.xyz" target="_blank">
<p ><!--点击查看解决苹果手机无法加入和查看群内容--></p>
</a>
<div class="index-center-tc-new-mail tc-domain j-share" data-sharedom=".index-center-tc-new-mail-text">
<p class="index-center-tc-new-mail-text">${Configs.get('NEW_EMAIL')}</p>
</div>
<div class="index-center-tc-btn">
<div class="index-center-tc-btn-left j-genimg" ></div>
<div class="index-center-tc-btn-right j-share" data-sharedom=".yjfz-nr-dv" ></div>
</div>
<div class="yjfz-nr-dv">
官方永久域名:<br>
${Configs.get('VIP_DOMAIN_1')}<br>
你的VIP专属域名<br>
${Configs.get('VIP_DOMAIN_1')}<br>
${Configs.get('VIP_DOMAIN_2')}<br>
${Configs.get('VIP_DOMAIN_3')}<br>
官方万人粉丝群:<br>
${Configs.get('TG_URL')}<br>
官方自动回复最新邮箱地址:<br>
${Configs.get('NEW_EMAIL')}<br>
</div>
</div>
</div>
`
}
}
},
/**
*
* 创建首页弹窗广告
* h5
**/
CreateCctvTipIndexFun(data, index) {
if (typeof data == 'object') {
//index++
//data.href = framt_cctv_url(data.href,secretUrl)
let strStyle = `style="display: none;"`
if(index == 0){
strStyle = `style="display: block;"`
}
return `
<div class="index-center-tc index-center-tc-index${index}" ${strStyle}>
<div style="width:300px">
<i class="index-center-tc-close icon iconfont icon-shanchu1 j-close-index-pop-ups" data-index="${index}"></i>
<a rel="nofollow" class="j-cctv-click" data-href="${data.href}" data-id="${data.id}" data-onsite-or-offsite="${data.onsite_or_offsite}" >
<img class="index-center-tc-bjimg jqlazyload" src="${data.cover}" data-original="${data.cover}" alt="" />
</a>
</div>
</div>
`
}
},
/*
* 检测是否n分钟内是否访问过访问首页
* intMinute 分钟
*/
isFirstLoadHomeDomanFun(intMinute = Configs.get('HOMEPAGE_LOAD_POPUPS_NUM')) {
let currentDomain = document.domain
let isFirstLoadHome = localStorage.getItem("isFirstLoadHome");
let isFirstLoadHomeTime = localStorage.getItem("isFirstLoadHomeTime") ? localStorage.getItem("isFirstLoadHomeTime") : 0;
isFirstLoadHomeTime = Number(isFirstLoadHomeTime)
let timestamp = new Date().getTime();
let timeLeft = timestamp - isFirstLoadHomeTime
outPutLog(currentDomain)
outPutLog(isFirstLoadHome)
outPutLog(isFirstLoadHomeTime)
outPutLog(timestamp)
outPutLog(timeLeft + '===' + intMinute * 60 * 1000)
if (isFirstLoadHome == currentDomain && timeLeft <= intMinute * 60 * 1000) {
outPutLog('非首次访问')
return true
} else {
outPutLog('首次访问')
localStorage.setItem("isFirstLoadHome", currentDomain);
localStorage.setItem("isFirstLoadHomeTime", timestamp);
return false
}
},
//点击 关闭按钮
closeIndexTcfun(intIndex) {
let intPopusTotal = document.querySelector(".index-center-tc-num").innerText //一共几个弹窗
intIndex = parseInt(intIndex)
intPopusTotal = parseInt(intPopusTotal)
console.log(intPopusTotal)
console.log(intIndex)
if (intIndex >= intPopusTotal) {
//最后一个弹窗才关闭遮挡层
let DomOcclusionLayer = document.querySelector(".index-center-tc-zdc")
DomOcclusionLayer.setAttribute("style", "display:none!important");
//关闭最后一个弹窗
let strClassName = ".index-center-tc-index" + intIndex
let DomPupous = document.querySelector(strClassName)
DomPupous.setAttribute("style", "display:none!important");
} else {
//关当前弹窗
let strCurrentClassName = ".index-center-tc-index" + intIndex
let DomCurrentPupous = document.querySelector(strCurrentClassName)
DomCurrentPupous.setAttribute("style", "display:none!important");
//展示下一个弹窗
let strNextClassName = ".index-center-tc-index" + (intIndex += 1)
let DomNextPupous = document.querySelector(strNextClassName)
DomNextPupous.setAttribute("style", "display:block");
}
this.intPopUpsIndex = intIndex++
}
}
export default IndexCctv;

View File

@@ -0,0 +1,47 @@
import CctvsJs from '../class/cctv';
const Cctvs = new CctvsJs();
import {
getRandomElements
} from '../public/commonFun.js';
// cctv
const InfoCctv = {
strPalaceGridHtml: '',
init(strLoadImg) {
if($(".BodyClass365dh")){
this.genCctvHtml(strLoadImg)
$(".j-cctv-info-palace-grid").html(this.strPalaceGridHtml);
}
},
/**
* 随机宫格宫格 5个
* @returns {string}
*/
genCctvHtml(strLoadImg, arrPageId = [300, 304]) {
let arrRandCctvPalaceGrid = Cctvs.getDataByWhere(102, 214, arrPageId);
if (arrRandCctvPalaceGrid.length > 0) {
arrRandCctvPalaceGrid = getRandomElements(arrRandCctvPalaceGrid,5)
arrRandCctvPalaceGrid.forEach(item => {
this.strPalaceGridHtml +=
`
<div class="list-item ${item.equipment_class} j-cctv-click"
data-href="${item.href}" data-id="${item.id}"
data-onsite-or-offsite="${item.onsite_or_offsite}">
<p class="app-logo">
<img class=" jqlazyload jqlazyload" style="width: 100%;height:100%;"
src="${strLoadImg}"
data-original="${item.cover}">
</p>
<p class="app-name">${item.title}</p>
</div>
`
});
}
return this.strBannerHtml;
},
}
export default InfoCctv;

View File

@@ -0,0 +1,36 @@
import CctvsJs from '../class/cctv';
const Cctvs = new CctvsJs();
// cctv
const TransCctv = {
strBannerHtml : '' ,
init(arrConfigs){
this.genCctvHtml(arrConfigs)
$(".j-head-banner-A2").html(this.strBannerHtml);
},
/**
* 横幅
* @returns {string}
*/
genCctvHtml(arrConfigs,arrPageId=[300,304]){
let CctvCenterBanner = Cctvs.getDataByWhere(101, 210, arrPageId);
if(CctvCenterBanner.length>0){
CctvCenterBanner.forEach(item => {
this.strBannerHtml +=
`
<a class="swiper-slide ${ item.equipment_class } j-cctv-click"
data-href="${ item.href }" data-id="${ item.id }" data-onsite-or-offsite="${ item.onsite_or_offsite }"
rel="nofollow">
<img class="lazyLoad videoCover jqlazyload relate-img" src="${arrConfigs['LAZY_LOADING_OF_BANNER_IMAGES']}" data-wh=0.1 data-original="${ item.cover}" />
</a>
`
});
}
return this.strBannerHtml ;
},
}
export default TransCctv;