Ejakulasi Pertama Kali! 10 Ejakulasi Tanpa Perlindungan Pilihan dari Ibu Rumah Tangga Seksi","lastmod":"2026-07-11","duration":"","url":"/play/19245069.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvMTJjZDRmMzQ2N2MxNDkyZTZlN2U5MmMwNTNiNWJlMWIuanBn.cache","vod_id":19208085,"title":"T38_014 Kolaborasi Mewah! Mochizuki Rei × Tsukimoto Misaki × Tsukimoto Misaki × Tsumugi Yura: Empat Wanita Penuh Gairah Terlibat dalam Kegilaan Seks Kelompok 4P - Pesta Orgy Cabul yang Meluap dengan Cairan Penuh Nafsu","lastmod":"2025-12-13","duration":"2:32:31","url":"/play/19208085.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNmNmZDk0M2YyOWYzZWU3NTA3MGM1MDM4NTVkNWE3OTQuanBn.cache","vod_id":19222167,"title":"Seorang gadis panggilan KTV kelas atas diperkosa secara brutal dan mengalami ejakulasi di dalam! Payudaranya yang sangat besar menyemburkan cairan vagina saat ia mencapai klimaks.","lastmod":"2026-03-16","duration":"1:03:37","url":"/play/19222167.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOWFlNDU3ODAzMjI4YTg2MGUyM2QwMmVhMzI0YTgyNWUuanBn.cache","vod_id":19073784,"title":"【Kembar Sempurna】【Nana Ya】Koleksi Bagian 2, seorang wanita dewasa yang menakjubkan dan pertemuan penuh gairah sahabatnya ✨✨✨ Dewi Hunan yang angkuh! Ini benar-benar luar biasa, sekarang dia menyeret sahabatnya ke laut Nana Ya 724(1)","lastmod":"2025-03-28","duration":"00:44:23","url":"/play/19073784.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODRlZWMyNTI4NTc5ZTkyYWU2ODJlZGQwNGVkYWViZWUuanBn.cache","vod_id":19105530,"title":"FSDSS-005 Sang dewi Suzume Mino mengundang Anda untuk terpesona dalam 3 babak.","lastmod":"2025-03-29","duration":"","url":"/play/19105530.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvZjAyNzUyY2YzYzhlNGE4OWI0MzU2ZjFhNTExMmZlNjIuanBn.cache","vod_id":19238962,"title":"Yuka Ono, seorang amatir kelas S, lulusan sekolah hukum, dengan brutal meniduri seorang pembantu rumah tangga cantik dengan pantatnya yang besar hingga ia ejakulasi di dalam.","lastmod":"2026-06-04","duration":"2:01:31","url":"/play/19238962.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjMvNTQzYWYwNTQ5ZTgxMDBlZjExNDkyYWRjYmRjODM3NzAuanBn.cache","vod_id":19242863,"title":"Pertemuan rahasia Futaba-chan dengan seorang bajingan berujung pada pemerkosaan brutal! Dia mencapai klimaks dan menyerah pada penetrasi dan ejakulasi.","lastmod":"2026-06-28","duration":"2:16:54","url":"/play/19242863.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDUwOGVlYjE4MmFkOGEwNjA3OGNkNGRiY2Y2ZTVlNmUuanBn.cache","vod_id":19091915,"title":"ACZD-024 Berkas Pemerkosaan Kelompok","lastmod":"2025-03-29","duration":"03:21:37","url":"/play/19091915.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MDgvYTc5YmUxZjRjY2U5MTczZjI1YjY3Zjc3NWM4NzVkYzMuanBn.cache","vod_id":19171980,"title":"[KBI-086-C] Sifat mesum Matsuoka Rei terungkap! Penetrasi ganda dengan Shihori, pengalaman kenikmatan tertinggi.","lastmod":"2025-04-08","duration":"02:47:03","url":"/play/19171980.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MjYvN2U4YWZhYmFjZTFkMjVlODFlZWY4YjY2ZDNkNzZjMTQuanBn.cache","vod_id":19178078,"title":"Mekanisme Cabul Hukum Ninja - Babak Kedua: Serangan Balik Ninja Wanita Melawan Neraka Cairan Madu - Ejakulasi Pamungkas Kunoichi","lastmod":"2025-05-26","duration":"28:01","url":"/play/19178078.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MTUvNWFhYzk4NDI5ZjI0MDQxOTgwNmUxYTUxN2EzMjMxMGYuanBn.cache","vod_id":19180764,"title":"【MIDV709】Kamp pelatihan klub berantakan! 11 pria terlibat dalam pesta seks massal, berejakulasi 20 kali, dan wanita cantik menjilat semuanya hingga bersih!","lastmod":"2025-06-15","duration":"02:31:07","url":"/play/19180764.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MDUvOGVkZjAyZDZkNzcwZTkyYzhiNTA0OWQ3MmIzMzg4ZmMuanBn.cache","vod_id":19244052,"title":"Pertukaran pasangan dan terjerumus ke dalam kemerosotan moral! Lesbian saling menjilat, berhubungan seks, ejakulasi internal, dan ejakulasi di wajah.","lastmod":"2026-07-05","duration":"2:00:27","url":"/play/19244052.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTA5NzUyZTBlYmM2NTY3NTM4NzNhZGQzODlkODI4NmQuanBn.cache","vod_id":19169321,"title":"SIV033 TV Amatir×PRESTIGEPREMIUM30 Video debut 8 idola amatir yang difilmkan menggunakan sensasi peregangan vibrator, 240 menit.","lastmod":"2025-03-29","duration":"04:00:15","url":"/play/19169321.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjIyNjQ1MGEwOGY2M2ViOTI1NjZiZjY3NmIxOGRlYTcuanBn.cache","vod_id":19058767,"title":"Seorang pakar kencan kilat dan temannya membayar sejumlah besar uang untuk berhubungan seks dengan dua wanita yang sangat cantik di sebuah hotel. Mereka menolak seks berkelompok dan harus membayar lebih untuk mengajak mereka bergabung!","lastmod":"2025-03-28","duration":"","url":"/play/19058767.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNmQyNjFiZWU5Yzc2MTJmYjBlOGE4NjRiMjk1ZTQwMzMuanBn.cache","vod_id":19230754,"title":"Vagina Igarashi yang kencang dan berotot menghisap penis besar itu, memeras air maninya dan berejakulasi di dalam dirinya, membuatnya jatuh ke dalam keadaan hasrat yang tak tertahankan!","lastmod":"2026-04-24","duration":"0:29:11","url":"/play/19230754.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MDEvZDdjMGJhYTdlMzdlYjZhMWQzOWIyM2IxZDI5Mzg4ZDQuanBn.cache","vod_id":19178784,"title":"XKCCAV8004 Pesta ganda Li Xiaomeng dan putrinya yang paling heboh, penuh nafsu yang cabul dan tak terkendali.","lastmod":"2025-06-01","duration":"36:39","url":"/play/19178784.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjRiYmIxYzk1OTA4OTRlZDc1NGExZjYwMTdkNzI1MTUuanBn.cache","vod_id":19067975,"title":"GAR-431 Saya mendapat pekerjaan di pabrik pakaian yang semua karyawannya perempuan, dan saya satu-satunya karyawan laki-laki!? (Pria tua)","lastmod":"2025-03-28","duration":"02:14:03","url":"/play/19067975.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MjAvOWY3MzkwMTlhZTJjOWIwZDc5ZDEwNDhmZTFmOGRkNWMuanBn.cache","vod_id":19186025,"title":"MINI DIVA, sang dewi mini, tanpa henti mengejarmu hingga kamu mencapai tingkat gairah yang intens, membuatmu menginginkan lebih.","lastmod":"2025-07-19","duration":"10:43","url":"/play/19186025.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjUwMTZlZmFhM2NhYzQ4NTM1ZTY5Y2NiNDM0YjdlY2MuanBn.cache","vod_id":19148948,"title":"428SUKE004 memperkenalkan Rio-chan, seorang gadis tipe O yang bebas secara seksual dan gemar mencari kesenangan. Malaikat seksi yang ditemukan di Niigata! Wajahnya sangat cantik! Luar biasa! Bermain ski dan catskiing sangat menyenangkan!! Kontak intim di pemandian campuran! Vagina dan penisku memanas seperti kue panas!! Penetrasi basah dan berlumpur ke dalam vagina yang terbuka! Seks berminyak di pondok pegunungan. Gadis-gadisnya yang terbaik.","lastmod":"2025-03-29","duration":"01:11:26","url":"/play/19148948.html"}]},
videoTitle: 'Satu-satunya dewi di sekolah jatuh cinta pada pesta seks massal sebuah klub! Pesta seks berkelompok gadis-gadis seksi amatir HUNTC213',
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=/`;
}
};
}