","lastmod":"2026-07-11","duration":"53:32","url":"/play/19161176.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNWQ4MTAxYjcwN2UzNGYzYTFiM2ZlOTlhM2I4MGFhMGIuanBn.cache","vod_id":19149983,"title":"NFBusty - Digoda oleh teman wanita abang saya yang berdada besar [NFBusty]","lastmod":"2026-03-24","duration":"11:00","url":"/play/19149983.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MjAvYTA1ODJlYWUyMmMwZDU2ZmM1MWNhMWY4YzMyZWM2MTIuanBn.cache","vod_id":19030110,"title":"Jururawat berpakaian seragam itu menjerit dan berkata ia terasa sangat nikmat semasa setiap sesi tusukan yang sengit.","lastmod":"2025-04-20","duration":"43:37","url":"/play/19030110.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MDEvYTlmODQ0OTNmOWE3OGY5NWNmNjFmN2UwYTY4OWRiNTguanBn.cache","vod_id":19036170,"title":"Ulasan Pai Buah: Adakah Dara Selepas Bersalin Benar-benar Sensitif?","lastmod":"2025-06-01","duration":"18:36","url":"/play/19036170.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2NiNWM5ZWY1NDZhOWIwNzAxZTI5NTZhMWNjMDNiNDUuanBn.cache","vod_id":18990706,"title":"MDTM-596 Kecantikan tahap Galaxy mendaftar untuk refleksologi seragam menjilat seluruh badan Vol.002","lastmod":"2025-12-14","duration":"02:23:05","url":"/play/18990706.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzkzMjdlNDY4NGU2MmI0MWY1MThjN2QzZmI3ZjRmZTguanBn.cache","vod_id":18988118,"title":"PRED-212 Seorang wanita profesional yang bermaruah. Sisi lain beliau ialah pelayan wanita terbaik di sebuah kedai di wilayah Kansai. Perbezaan yang besar! Seorang jelita yang langsing setinggi 172cm muncul dalam AV! Ito An.","lastmod":"2025-03-23","duration":"01:58:26","url":"/play/18988118.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2Y4Yjk0YmYzMzU4OWY4Zjc4NzgwOWVjMzQ1NWVhOWMuanBn.cache","vod_id":18949069,"title":"Seorang ratu cantik berdada besar dari Universiti Ming Chuan di Taiwan sedang menjual dirinya dan dipermainkan secara santai oleh seorang lelaki gemuk dan berperut buncit.","lastmod":"2025-12-14","duration":"00:17:01","url":"/play/18949069.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzgwNmFhZGQ1MWVkYzg5NDhhODY3ZGQ4MzVkYzk5MzIuanBn.cache","vod_id":18965422,"title":"\"Dewi Teratas ☀️ Kebocoran Kontras\" Twitter: Kecantikan berambut pendek dan elegan Shanghai yang berkebolehan [Weiyang] - Faedah kumpulan berbayar ~ Pelacur ini sentiasa provokatif ~ Ziwei menyemburkan air mendedahkan bunga lilinya, super seksi 1","lastmod":"2025-12-14","duration":"00:01:11","url":"/play/18965422.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDRjNWU0M2I1MmYwZTBiMjIwODljNDg5NDllOWMzZWIuanBn.cache","vod_id":18991783,"title":"300NTK-146 \"Hairy\" Mei, seorang jelita berskirt mini dari kelab tenis, mempunyai getaran faraj yang menakjubkan! Pelajari asas-asas seks main peranan! Kepit vulvanya dengan punggung cantik anda! Dedahkan kelemahannya—putingnya! Video perspektif orang pertama bagi seorang jelita yang jahat dan tertunduk!! No.301","lastmod":"2025-12-14","duration":"01:04:11","url":"/play/18991783.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MjEvYTdkYWFiYzFlMTE3NGFiNThhZDE4ODZhZGMwZmJlYmYuanBn.cache","vod_id":19030242,"title":"Seorang pelajar kolej wanita yang seksi dan cantik dari sebuah universiti tertentu telah dirakam rakaman seksnya yang penuh ghairah bersama teman lelakinya, yang telah bocor selepas perpisahan mereka. Walaupun kelihatan polos, dia sangat lucah di atas katil, mengerang dan menjerit semasa hubungan seks!","lastmod":"2025-04-21","duration":"12:32","url":"/play/19030242.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYTJjYTJiNTJkOTVkMjRlYzhlNmFiMDdmNjhlNTFhNWEuanBn.cache","vod_id":19148908,"title":"3 Wanita Cantik Terbaik Kelab Qin dengan Payudara Besar, Juruteknik Wanita","lastmod":"2026-03-18","duration":"44:42","url":"/play/19148908.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzI1MmUxNDc1ZjczMWMyZWFhM2FiOTliZTBmNDZiZTkuanBn.cache","vod_id":18995193,"title":"[Ulasan HD] ABW-288 Seks Terobosan Ekstrem Memecahkan Kebangkitan Matang Kecantikan Menakjubkan 3 Seks VOL.02 Kawai Asuna","lastmod":"2025-12-14","duration":"03:15:12","url":"/play/18995193.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODNlNzNjM2I0NDA0OTQzM2YyYzkwZmNlMWI1NGQwNTQuanBn.cache","vod_id":18980977,"title":"Seorang gadis nakal dengan tatu di payudaranya sedang berbaring di atas katil, bernafsu dan terangsang. Alat mainan seks sentiasa digunakan pada farajnya yang putih dan tidak berbulu. Dia menjilat payudaranya sendiri sambil ditembusi, mengerang dan mengerang tanpa henti. Jangan ketinggalan!","lastmod":"2025-12-14","duration":"01:04:09","url":"/play/18980977.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2RkMGExNjhhNTU5OGE1N2I3ZWFkOTFiNjk5NjBkZTIuanBn.cache","vod_id":18978217,"title":"Khabar Angin 300MIUM-030 Disahkan! \"Bolehkah anda melakukan hubungan seks dengan gadis desa yang comel dari luar bandar?\" Episod 2: Sisi Gelap Industri Hiburan! Si Cantik Berwajah Bayi Pengsan Kesakitan","lastmod":"2025-03-23","duration":"01:09:21","url":"/play/18978217.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTcyMzZhMTM0NWY5M2JmNmNlZDZkZDgwZDcxNWE5NWYuanBn.cache","vod_id":18983760,"title":"FC2PPV 3736760 Adakah anda masih ingat dua orang jelita ini?","lastmod":"2025-03-23","duration":"03:20:05","url":"/play/18983760.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTllM2M0YjQ0MDM1MjhjNjljYTIyOGZjMGM2M2Y2MmYuanBn.cache","vod_id":18941094,"title":"Seorang pelajar kolej wanita muda yang cantik dari kolej perguruan secara rahsia bekerja sebagai pelacur dan melakukan hubungan seks dengan seorang lelaki pertengahan umur yang lucah di sebuah hotel. Selepas lelaki tua itu selesai dengannya, dia menyuruhnya menjilatnya sehingga bersih dan kemudian menariknya untuk melakukan hubungan seks dengannya lagi!","lastmod":"2025-12-14","duration":"00:27:44","url":"/play/18941094.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MTkvNmYzYTQyMzk0Y2ZmMDVhOGIxZjZjNWYzNDI0MjA0NDMuanBn.cache","vod_id":19047757,"title":"HWKR002 Jururawat Hamil Isteri Kecantikan Yang Mengalami Orgasme","lastmod":"2025-08-18","duration":"02:04:26","url":"/play/19047757.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNGUyODExYWMzZmVmYzA0NTNmOTJjMTU4YjQxM2UwZjYuanBn.cache","vod_id":18927158,"title":"Seorang pemuda mencari seorang wanita muda yang montok dan berperut buncit di sebuah hotel untuk hubungan lewat malam. Wanita itu sangat proaktif, melakukan seks dari belakang dan menungganginya.","lastmod":"2025-12-14","duration":"00:27:11","url":"/play/18927158.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTdjNjIwNmVjMGQxMGJkYzFmOWNkOGUwNTBhMGNlMTIuanBn.cache","vod_id":18956086,"title":"300MAAN-602 [Halloween 2020: Gadis Samba yang Montok dan Seksi] Seorang jelita berbadan tegap secara semula jadi yang menjadi tular di media sosial!","lastmod":"2025-03-22","duration":"01:17:39","url":"/play/18956086.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZWEyYTEzYjQ3ODE3YTNjMTNiZDBkZmMxMTVmNjZjMzUuanBn.cache","vod_id":18985009,"title":"FC2PPV 3844501 [Seks Berkumpulan 4P dengan Isteri-isteri Cantik - Versi Pembangun] Peringkat kedua permintaan suami untuk diculik. Sejumlah besar air mani disuntik jauh ke dalam rahim isteri, dan dia berasa puas.","lastmod":"2025-12-14","duration":"01:06:25","url":"/play/18985009.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTFmMGU3YjEyNDBmMWVmMGQxNDY5NWRiZmZkYmYzMjIuanBn.cache","vod_id":18951383,"title":"[Berita Terkini ✅ Bocor Peringkat Atas ✅ Kontras] Dewi awak perempuan jalang orang kaya! Seorang pewaris generasi kedua yang kaya menghina, menyeksa, dan mencaci maki seorang wanita cantik, berpayu dara besar, dan suka bergurau, menggunakan seks dalam-dalam (deep throat), memijak-mijak, menjilat kaki, dan pelbagai jenis SM. Dia menangis dan merayu belas kasihan, tetapi tidak ada gunanya. 2","lastmod":"2025-03-22","duration":"00:15:05","url":"/play/18951383.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMjUyYjkzYmQ5ZWU1NWI1MTQ0ZmVmYTEzMTU2Mzg2OTYuanBn.cache","vod_id":19134873,"title":"Seorang gadis tahun kedua yang cantik di bilik asramanya sedang menggunakan taktik menggoda.","lastmod":"2025-12-23","duration":"01:39:14","url":"/play/19134873.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDVhODk5Y2I0YTMzMjVmZTE1MTdiZTRjYzdkOTIxOWUuanBn.cache","vod_id":18934158,"title":"BUR-435_A Wanita berambut perang Eropah Timur yang dicukur cantik Abigaile Johnson 8 jam Bahagian 1","lastmod":"2025-12-14","duration":"02:30:08","url":"/play/18934158.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZWNiZTFkYWM0Y2I1OTkzM2Y4NWJhMDRjM2VkMzQ4MWIuanBn.cache","vod_id":18980891,"title":"FC2PPV 3116779 [Jualan Semula Dilarang] Hari Ini Sahaja! 25,000 → 13,000! Temujanji Akuarium Pertama Anda dengan Shiori, Jelita Berambut Hitam Berusia 18 Tahun! Dia Mempunyai Payudara G-Cup!","lastmod":"2025-03-23","duration":"01:41:29","url":"/play/18980891.html"}]},
videoTitle: 'Si cantik berdada besar dengan mulut penuh dengan percakapan lucah itu seperti sedang mengambil sejenis afrodisiak, dia sangat terangsang.',
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=/`;
}
};
}