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/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjRjNTQ0NmUyNzg5YzNlM2UzZmZmZjE3MDhhYTZlMmYuanBn.cache","vod_id":19167128,"title":"Seorang anak laki-laki berusia 18 tahun dan saudara kembar perempuannya melakukan inses dan menodai adik perempuannya.","lastmod":"2025-03-29","duration":"24:05","url":"/play/19167128.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzg2NTg2ZGIzNDI5ZWI5NDNhZWQ1ZDYzYWQ2ZDFlM2MuanBn.cache","vod_id":19054113,"title":"[Paviliun China] Kencan kelas atas dan mahal dengan seorang mahasiswi akademi musik yang berpenampilan polos, cantik, dan elegan, bekerja paruh waktu sebagai model escort dengan sosok ramping dan seksi; saya berhubungan seks dengannya dua kali.","lastmod":"2025-03-28","duration":"","url":"/play/19054113.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOTgxYTMwOGIzOGUwNjA0NGViMzZmMjZmMTZiYzVlZjkuanBn.cache","vod_id":19221458,"title":"Seorang wanita jalang tertangkap sedang menonton film porno dan langsung ditindih lalu diperkosa secara brutal hingga ia mencapai orgasme dan mengeluarkan cairan.","lastmod":"2026-03-11","duration":"0:22:39","url":"/play/19221458.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDRiZDA2Mzc2MDBiNDkyNWFhZDg5NDdhMDI1NmJkNjcuanBn.cache","vod_id":19156177,"title":"Daya pikat payudara besar dan erangan seorang gadis yang murni dan polos akan langsung membangkitkan semangat Anda.","lastmod":"2025-03-29","duration":"05:00","url":"/play/19156177.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMmFmYTMyY2YxZTQ5ZmNjODk1NjE0OWYyZDBlZDliOWUuanBn.cache","vod_id":19108873,"title":"—Istriku yang berusia 50 tahun yang berselingkuh, aku ingin dipeluk, dipeluk oleh seorang pria. Seorang istri yang lebih tua, yang kehilangan kasih sayang kepada suaminya, dengan sukarela menjadi bergantung pada pria lain selain suaminya. Sebuah film dokumenter tentang perselingkuhan (inses) seorang istri berusia 50 tahun.","lastmod":"2025-03-29","duration":"","url":"/play/19108873.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODE1NTFkMDVmYzI4ODRiNmI2MWVjOTg2NjdjM2FmY2EuanBn.cache","vod_id":19102304,"title":"FC2PPV 3689052 [Tanpa Sensor] Adik perempuan sang penampil juga muncul! ※Aku tidak bisa memberitahumu yang mana. Aku memamerkan bulu kemaluanku yang lebat.","lastmod":"2025-03-29","duration":"01:06:59","url":"/play/19102304.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZWJlZjU3N2M0YTRmMzMyYWM5NDI2ZWM2YzUxMzE3ZDAuanBn.cache","vod_id":19029707,"title":"MDTM-476 Seorang mahasiswi yang ingin disetubuhi ~ 4 jam godaan ejakulasi internal","lastmod":"2025-03-28","duration":"02:56:21","url":"/play/19029707.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTcwYWI5ODFlODE4M2I4ODA1OWU5NTJiMjk5NGQzNjEuanBn.cache","vod_id":19105753,"title":"Pijatannya tiba-tiba berubah menjadi posisi wanita di atas di tengah-tengah sesi!","lastmod":"2025-03-29","duration":"","url":"/play/19105753.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTUxMzJiNDhlYjJmYjJmZDU5M2FiNDk0YjkwNmZjOTAuanBn.cache","vod_id":19097363,"title":"BLK-249 Adik Perempuanku Menjadi Gyaru (Sakaguchi Miho)","lastmod":"2025-03-29","duration":"01:58:23","url":"/play/19097363.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MDgvYzQ2MzIzMGZlZjFlYjJmM2FiYWIxNDE1MmE2NjJlMjguanBn.cache","vod_id":19188651,"title":"Bawa pulang seorang gadis seksi dan bercinta dengannya sepuasnya sampai subuh.","lastmod":"2025-08-07","duration":"17:59","url":"/play/19188651.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MjMvOGYzMzE1NDlmMmEzMTI4ZWI0YWYxNDJkNjUwMjgxZDYuanBn.cache","vod_id":19173888,"title":"Surga Terlarang 72 Jam: Kegilaan Eksklusif dengan Lei yang Mesum | Rekaman Ejakulasi Berkelanjutan Tiga Hari Tiga Malam MIDV-156-C","lastmod":"2025-04-23","duration":"02:00:46","url":"/play/19173888.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2M5NmE2MjE5ZjA3MmQxOGE3MmVlMGM2NzQ1NDVhZDkuanBn.cache","vod_id":19120159,"title":"[Kue Buah] Apakah seseorang perlu memperkosa istrinya sendiri? [ADN-341]","lastmod":"2025-03-29","duration":"11:27","url":"/play/19120159.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTkxNTFmNWY2NDlhYmVkOTI4ZmY1ZDFmNWNiOThiMWYuanBn.cache","vod_id":19110341,"title":"- [Polos] Hinano-chan yang berusia 20 tahun [Payudara Indah] hadir! Alasannya mendaftar adalah untuk merasakan petualangan... Dia seorang mahasiswi dan gadis muda yang polos! Menampilkan ciuman erotis yang benar-benar berlawanan dengan citranya yang menyegarkan! [Semburan Sangat Dahsyat] Semburan terus menerus adalah puncaknya! Jangan lewatkan petualangan sekali seumur hidup ini; ini akan membuatmu sangat bersemangat!","lastmod":"2025-03-29","duration":"","url":"/play/19110341.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMTE1Njg3ZTE3N2FiODNmMGIwMTA0MzkzYzM4NDU3NWEuanBn.cache","vod_id":19167037,"title":"Apakah HMN480C benar-benar seperti itu? Bisakah Anda mencapai orgasme hanya dengan menggunakan puting Anda? Tanpa perlu menggunakan tangan untuk memijat, ejakulasi mendadak, dan langsung merasa tenang setelah ejakulasi.","lastmod":"2025-03-29","duration":"02:01:54","url":"/play/19167037.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDYxMWIzNjQ2OGIyMmQ3OTI0M2Y0MzgxYjMyNDI3MjguanBn.cache","vod_id":19054805,"title":"Kakak perempuan Kim Kardashian_masturbasi dan ejakulasi_20201129","lastmod":"2025-03-28","duration":"","url":"/play/19054805.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTE1ZWFmNGIwYWRiOTQ1Mjk4YmNiOWI4MDFhNmZjOTcuanBn.cache","vod_id":19054478,"title":"Menarik adikku ke dalam air_Hubungan seksual dengan celah harimau putih_20201216","lastmod":"2025-03-28","duration":"","url":"/play/19054478.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDc1MDFmYmVhMzNjNWQ3ODZmMmE1YzkyNzY4YzUzZGQuanBn.cache","vod_id":19113776,"title":"KMHR-077 Pertama kali berhubungan intim sebelum menjadi guru! Mereka dengan rakus saling mengejar dan membalas, membawa satu sama lain mencapai orgasme! Sebanyak 12 kali berturut-turut berhubungan intim, tanpa menarik keluar bahkan setelah ejakulasi! Koga Matsuna 1","lastmod":"2025-03-29","duration":"02:00:01","url":"/play/19113776.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNDdmMzhlODJjYjAxY2MyNWZjYTZhNDM4MGMwYjY2YmUuanBn.cache","vod_id":19234149,"title":"IPX-917 Little Momo, yang kabur dari rumah, payudaranya yang besar dirogol sampai dia memohon ampun dan air maninya disemprotkan ke dalam tubuhnya.","lastmod":"2026-05-12","duration":"0:15:52","url":"/play/19234149.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNWJjODQxZmQ4ZDU5OTRhMDJjMGI4MjU3ODdiMDhmZTAuanBn.cache","vod_id":19031733,"title":"1pon 043010_824 Extreme Shot 2 ~10 ejakulasi wajah berturut-turut dan 10 penetrasi berturut-turut~ (Hikari Tsukino)","lastmod":"2025-03-28","duration":"01:09:44","url":"/play/19031733.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDVmMDZiYmFmOGYzZDM4NDg0MDA4MmM0NWZkMWUwMzcuanBn.cache","vod_id":19123564,"title":"HUNBL-155 \"Tolong jangan beritahu sekolah...\" Seorang siswi dan saudara perempuannya yang membobol sebuah toko.","lastmod":"2025-03-29","duration":"02:50:08","url":"/play/19123564.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDAyYWFkZGFjZmQ1NmNmODE4Zjg4ZjcwNzNhODU0ZWYuanBn.cache","vod_id":19109703,"title":"\"Sampai ke puncak!\" Kehidupan seksku dengan adikku tersayang praktis seperti inses.","lastmod":"2025-03-29","duration":"","url":"/play/19109703.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNmQ4ODZkYjA1ZmZiMmEzYWFkNjlhOTZmYTdhYzRhN2YuanBn.cache","vod_id":19170440,"title":"Celana dalam menempel di wajahmu, payudara besar mencekikmu, putingmu digoda hingga membuatmu ejakulasi, lalu kau terus menerus meremasnya untuk mengeluarkan air manimu.","lastmod":"2025-03-29","duration":"02:08:54","url":"/play/19170440.html"}]},
videoTitle: 'VENX237C Adik perempuan istri saya tiba-tiba muncul dan kami berhubungan seks selama dua hari satu malam.',
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=/`;
}
};
}