Apakah kamu ingin menjadi hewan peliharaanku? Biarkan dia berejakulasi berulang kali sampai dia lelah. Meiyin SOD","lastmod":"2026-07-11","duration":"02:27:40","url":"/play/19162687.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZWNhN2EyNzZiN2RkMTRhZDI5ZTUwZDA5OGI3YWM4NTMuanBn.cache","vod_id":19014512,"title":"Pelatihan erotis untuk manajemen ejakulasi.","lastmod":"2025-03-24","duration":"19:40","url":"/play/19014512.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvYTMxMzU4NzBmZThhOGM0MWU1NGNjNmM3M2EzYmExZmMuanBn.cache","vod_id":19064320,"title":"\"Katakan padaku jika kamu akan ejakulasi!!\" Ejakulasi tak terduga di mulutnya! Seorang istri amatir tiba-tiba berejakulasi saat seks oral. Aktris tak dikenal DLPN-034","lastmod":"2025-12-14","duration":"02:29:42","url":"/play/19064320.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYTQ4MThjYTlhOWZlY2U3NjBlOTM1ZmEzYWRkZjU2YjMuanBn.cache","vod_id":19148763,"title":"MIDV-623-C Ejakulasi Tanpa Batas, Alat Penahan Ejakulasi Pria: Menyerah pada godaan guru perempuan di kelas, dari sepulang sekolah hingga matahari terbit.","lastmod":"2026-03-17","duration":"02:32:26","url":"/play/19148763.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTJiMGE3ZWRkZjAzNTg2NjZkZWU5NmU0YjNjYjkyZDQuanBn.cache","vod_id":18970865,"title":"MDTM-155 Seorang anggota klub senam populer di sekolah mengalami ejakulasi hebat saat berhubungan seks yang sensitif dan serius!! —Himekawa Yuna","lastmod":"2025-03-23","duration":"02:09:09","url":"/play/18970865.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2Y1NmVkOGQ2ZTE2ZDM2OThiNjBiNmRlNmZhMmZmYTEuanBn.cache","vod_id":18974259,"title":"FC2PPV 3347918: Dia bertemu kembali dengan mantan penyiar wanita yang memiliki payudara indah berukuran F. Tak mampu menahan godaan wanita cantik dengan sosok yang menakjubkan ini, dia berejakulasi empat kali berturut-turut!","lastmod":"2025-03-23","duration":"01:51:44","url":"/play/18974259.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2VkOTJjODA4YmRhNTY2ZTA1MjliNmEzMjMzYWJiZjcuanBn.cache","vod_id":18967631,"title":"529STCV-233 Perawatan wajah bak mimpi dengan ejakulasi yang menakjubkan di wajah yang cantik!! Seorang pria dicampakkan oleh seorang gadis yang menuntutnya untuk melunasi hutangnya, dan dia membalas dendam dengan cara yang sangat erotis.","lastmod":"2025-03-22","duration":"01:00:03","url":"/play/18967631.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTIwNzAzNTU4YTA2Y2YxNDM1MjEwYmFjYzdjZjZkYzcuanBn.cache","vod_id":18972019,"title":"HUNTA-325 \"Seorang adik perempuan yang nakal dan seorang kakak laki-laki yang masih perjaka dan sangat haus seks terlibat dalam pertarungan seks yang tak terduga untuk melihat siapa yang bisa membuat yang lain ejakulasi!?\" \"Adik perempuanku yang nakal selalu mengejekku karena masih perjaka.\"","lastmod":"2025-03-23","duration":"03:20:02","url":"/play/18972019.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMDgvYWNmMzRhNzZlYzY1ZmRhMmZjMmQzN2EzMjRhMWUzYmEuanBn.cache","vod_id":19056736,"title":"Samsung Mature Women's Bubble Bath: Momen Keberuntungan Ejakulasi Tanpa Henti dengan Putri Gelembung di Hari Pertama Bergabung dengan Tim (Hanayanagi Riko, Hanayagi Riroko, MESU127)","lastmod":"2025-10-07","duration":"02:01:45","url":"/play/19056736.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzU4ZTBhNTIzMzI0MjZhOTQ0NTU3OWU3MTU2M2UyNWEuanBn.cache","vod_id":18993227,"title":"FC2PPV-1245109 ★Sekuel・Leona-chan, wanita kantoran berusia 25 tahun yang seksi dan aktif☆Terangsang oleh lidah erotis♥Seks oral dan hubungan intim kaki yang istimewa adalah yang terbaik♥Pembunuhan tanpa ampun di dalam vagina yang indah♥【Rekaman pribadi】※Bonus komentar disertakan!","lastmod":"2025-03-23","duration":"01:09:31","url":"/play/18993227.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNWFhNTZjZGNjYTVlNDgwZWU0NTBhOTUyNzY5ZjAwY2UuanBn.cache","vod_id":18925185,"title":"Wanita jalang berkacamata hitam [fetish seragam] dan kekasihnya berhubungan seks di hutan kecil, stoking hitam, fetish kaki, dorongan, menunggangi, dan ejakulasi. Sangat menggoda, jangan sampai ketinggalan jika Anda menyukainya.","lastmod":"2025-12-14","duration":"00:44:54","url":"/play/18925185.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTEvODEyZjEzMTAxMjQxZWYxN2FjODEzNDJkMTY4OGM4MWEuanBn.cache","vod_id":19167726,"title":"NTR: Ibu rumah tangga bertubuh seksi diperkosa di pesta perayaan promosi bos suaminya; mabuk dan liar, ia mengalami ejakulasi berkali-kali. (Kuroki Reina, Karuma)","lastmod":"2026-07-11","duration":"02:00:55","url":"/play/19167726.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzBjOGM2ZDJjYjA0ZDQzNDRjNjg1MDViNDVkZTU1OGEuanBn.cache","vod_id":18982696,"title":"[Subtitle Bahasa Mandarin] SSIS-817 Godaan terus-menerus hingga penisnya yang ereksi penuh menembus batasnya, yang akhirnya berujung pada permainan payudara yang ekstrem dan ejakulasi besar-besaran - Nagi Hikaru J-cup Breast Play Salon","lastmod":"2025-12-14","duration":"01:57:49","url":"/play/18982696.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjU5ZGE4MzFmMDJmNjY0ZmRhOTY0OTRkODI2YWNmY2EuanBn.cache","vod_id":19011495,"title":"ABP936 Extreme Cumshot Hot Spring File.02 Perjalanan mesum dua hari satu malam di mana Anda dapat berejakulasi di dalam vagina - Maria Eine...","lastmod":"2025-03-24","duration":"02:35:23","url":"/play/19011495.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTQwZjdjN2U4OGZhMDJiMjYyN2Q3YmZhOTAxNDZhZTcuanBn.cache","vod_id":18987070,"title":"JUFE-460 Sore itu sangat membosankan… Seorang istri yang penuh nafsu dan bertubuh seksi, mengenakan pakaian menggoda, melancarkan serangan dan rayuan! Seks oral dan ejakulasi! Mizuki Yayoi","lastmod":"2025-12-14","duration":"02:47:51","url":"/play/18987070.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2EwYjhmYmE0MTcxNDMwNjc4YmEwZTM5NmU3NzEyNWIuanBn.cache","vod_id":18961031,"title":"EBOD-712 Aktris legendaris \"Ellie Akira,\" dengan tubuhnya yang matang dan teknik seksualnya yang terampil, menerima 12 ejakulasi berturut-turut.","lastmod":"2025-12-14","duration":"01:55:26","url":"/play/18961031.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMjY3MmM1MmY5NTc5YzdjYzhhYzQyNzRhMDFmYWUzNjQuanBn.cache","vod_id":19155750,"title":"Sara Luvv melakukan hubungan seks yang sangat bergairah dan brutal, berulang kali berejakulasi di penisnya dan menelan air maninya [James Deen]","lastmod":"2026-04-29","duration":"10:38","url":"/play/19155750.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MjMvMmMzYjg5MGU3Nzc0MmMwNTU4ZDQ2ZDAyZTk2OGVkYjMuanBn.cache","vod_id":19043933,"title":"IPZZ564 Toilet Pengganti. Kurungan selama 10 hari untuk pembuahan dengan pacar gangster maskulin yang terus berejakulasi bahkan setelah dia sudah berejakulasi.","lastmod":"2025-07-22","duration":"02:28:28","url":"/play/19043933.html"}]},
videoTitle: 'MOPT044 Siswi Nakal Dominan Memperkosa dan Membuatnya Orgasme! Kalah dan Ejakulasi!! Sakura Mahi',
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=/`;
}
};
}