Meniduri gadis buronan dengan kasar! Pelatihan dan ejakulasi di kamar single, catatan lengkap tentang kejatuhannya yang cabul.","lastmod":"2026-07-11","duration":"","url":"/play/19245226.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDZiZDExNDdjNTVkNWU3OGI4YjA2M2FjNmQ4MDY2ZTguanBn.cache","vod_id":19046252,"title":"Serial CD Tiongkok Run'er 3: Dua iblis melayani seorang pria kaya dalam hubungan seks bertiga. Setelah ereksi, dia dipegang pinggangnya dan disetubuhi dari belakang dengan kasar. Dia mengalami ejakulasi dan harus menyaksikan saat dia menarik keluar.","lastmod":"2025-03-28","duration":"","url":"/play/19046252.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODg3M2FhYzcyZmM0NGUwMWRiOTg3ZTEzZmQ1NDZjYjIuanBn.cache","vod_id":19134483,"title":"Versi internasional video pendek TikTok: Beragam wanita cantik yang memikat, payudara indah, dan bokong berbentuk buah persik yang sempurna – jelajahi dunia TikTok yang berbeda dan belum dikenal.","lastmod":"2025-03-29","duration":"52:39","url":"/play/19134483.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjc2Yzc1NmU1MmUwODE2ODczNmU4MTZjNGQ3ZTY4MjcuanBn.cache","vod_id":19056157,"title":"[Paviliun China] Seorang siswi seksi dengan stoking hitam dan seragam sekolah mengerang sendirian di rumah selama Tahun Baru Imlek; payudaranya sangat kencang dan vaginanya sangat basah.","lastmod":"2025-03-28","duration":"","url":"/play/19056157.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvMDdiNTUwZDgzNmMxZDJmMGQ2Mjg1NjUyNzA1MTVmODYuanBn.cache","vod_id":19234803,"title":"Seorang ibu rumah tangga bertubuh seksi dipenjara dan dipaksa melakukan seks oral oleh perampok bank selama seharian penuh! Kisah Futaba Ema yang mesum dan terjerumus ke dalam kemerosotan moral.","lastmod":"2026-05-16","duration":"2:32:21","url":"/play/19234803.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MTUvYTQ5NmJkYmQzYzE4ODVjOWZjOGFlNjczODdlNDdkNzkuanBn.cache","vod_id":19176767,"title":"ALDN-207 Seorang wanita yang sudah menikah diam-diam mencoba hamil dengan ayah mertuanya tanpa sepengetahuan suaminya; hubungan inses terlarang berujung pada kehamilan yang penuh gairah.","lastmod":"2025-05-15","duration":"02:23:49","url":"/play/19176767.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjMvNTc2ZjgyMjM4OWJlMGYwZWNhYzZlY2MzMmQxM2Y5NGEuanBn.cache","vod_id":19242632,"title":"Seorang mahasiswi Tiongkok melakukan hubungan seks liar di sebuah suite mewah, dan hubungan seks tersebut berlangsung begitu ekstrem hingga ia mengalami ejakulasi di dalam dirinya.","lastmod":"2026-06-27","duration":"0:10:54","url":"/play/19242632.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTVlNjZmOGVjYjZmMmUyYjcxMWRmZWU3YTcxMDkzNTUuanBn.cache","vod_id":19076673,"title":"Seorang wanita cantik dan seksi kelahiran tahun 2000-an dengan bokong berbentuk buah persik yang menggoda ❤️ Seorang pria muda menipunya agar mengenakan penutup mata dan diam-diam merekamnya.","lastmod":"2025-03-29","duration":"00:20:56","url":"/play/19076673.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjA5ZGQzYWRhMWM1NTBlN2RmNDA2OTcxYWFlMjU4ZmMuanBn.cache","vod_id":19048878,"title":"Seksi~ Streamer dan kekasihnya melakukan pertunjukan seks di luar ruangan, seks oral, seks di dalam mobil, sangat cabul.","lastmod":"2025-03-28","duration":"","url":"/play/19048878.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDJjZDBkNDc3ODFiYmZlMmViNWQ5OWViMGE1M2VmNGIuanBn.cache","vod_id":19045125,"title":"Seorang wanita cantik di sebuah pusat perbelanjaan Tiongkok terlihat sedang berkencan dengan pacarnya, dan terungkap bahwa dia tidak mengenakan pakaian dalam di bawah rok denimnya.","lastmod":"2025-03-28","duration":"00:03:56","url":"/play/19045125.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGZhYzZkZTczM2YzNWM1MzA1Njk3NGIyNWQ0NzM0ZjYuanBn.cache","vod_id":19042120,"title":"Selfie berkualitas tinggi - Adegan rumah pasangan muda yang gemar mencari sensasi menggambarkan seorang kakak perempuan cantik memanfaatkan adik laki-lakinya yang sedang tidur untuk menghisap penisnya di bawah selimut, membangunkannya, lalu secara brutal ditusuk dan diejakulasi di dalam olehnya. Termasuk dialog Mandarin yang cabul!","lastmod":"2025-03-28","duration":"00:32:24","url":"/play/19042120.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzcwNDE3OGFlOWEyYjYxYWQ3NmVlOTY4NWM2YjZkZmYuanBn.cache","vod_id":19108606,"title":"Tang Bohu, seorang selebriti Tiongkok dengan puluhan ribu penggemar, tampil dalam sebuah video pribadi. Video tersebut menunjukkan seorang pelayan berambut putih yang berperilaku baik dengan patuh menjilat anusnya sambil disetubuhi tanpa kondom. Video itu juga menyertakan adegan seks tanpa perlindungan dan ejakulasi di dalam dirinya.","lastmod":"2025-03-29","duration":"","url":"/play/19108606.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNzFlNzZmYzQzZTVlOGJiMTgwNTkzYTc1ODEzYTY4ODguanBn.cache","vod_id":19216462,"title":"MIAB-550, si bibi genit berbokong besar, haus akan air mani, menunggangi keponakannya dengan gaya koboi, menelan dan memuntahkan air mani.","lastmod":"2026-02-07","duration":"2:00:04","url":"/play/19216462.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZDAzMThlM2MxOTE0NDg3YmUzMGQxNWJkYWQ0ZTFiMWIuanBn.cache","vod_id":19224218,"title":"OAE-303 Malaikat Telanjang dengan Payudara Besar Masturbasi, Erangan Cabul, Klimaks Ejakulasi Internal","lastmod":"2026-03-28","duration":"1:50:49","url":"/play/19224218.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYTQwMTliZmZlMTUzYjdiNjk3MWYyMjUxNDgxZTY1NGUuanBn.cache","vod_id":19234711,"title":"Pembantu rumah tangga telanjang berkualitas tinggi, Ruisa Mizuki, menyediakan layanan di rumah; tubuhnya yang putih dan lembut menggoda dan cabul, menyebabkan dia diperkosa dan dikencingi di dalam secara liar.","lastmod":"2026-05-16","duration":"2:02:08","url":"/play/19234711.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZjU0YTdlMTVjNDcxNzIyM2IyZjE4ZTYzYzZjZjUyZjUuanBn.cache","vod_id":19230815,"title":"DSLC-022 Wanita cantik amatir berkualitas tinggi diperkosa secara brutal dan dilatih menjadi jalang murahan oleh penis yang besar.","lastmod":"2026-04-25","duration":"0:09:01","url":"/play/19230815.html"}]},
videoTitle: 'Film Dewasa Cina Peach Image Media PMC021 Ayah mertua memperkosa menantunya yang nakal, Zhang Xinyan dengan brutal',
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=/`;
}
};
}