RNA-006 Perbudakan Amatir dan Ejakulasi Hebat [Orgasme Sensitif - Versi Istri yang Mengalami Kejang Gila] Istri baik hati di sebelah rumah memberi saya masakannya, jadi saya menggunakan tubuh saya...
SIRO-5193 [Zona Erogenous Seluruh Tubuh] Seorang mahasiswi yang pemalu dan sensitif muncul! Seluruh tubuhnya adalah zona erogenous, bukan lelucon! Di mana pun Anda menyentuhnya...","lastmod":"2026-07-11","duration":"01:04:08","url":"/play/19152706.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYWM1NjAyZjY3NmViODdkZmQyNjNjZGY0NWEwMGJhYzEuanBn.cache","vod_id":19096064,"title":"Setelah diejek karena masih perawan di kota, saya pulang ke rumah dan menemukan ipar-ipar perempuan saya yang bertubuh seksi, yang menunjukkan kasih sayang keibuan kepada saya, mengambil keperawanan saya dan memberi saya pengalaman berbentuk S yang manis.","lastmod":"2025-03-19","duration":"02:25:56","url":"/play/19096064.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjA3ZTJlMGExMDNjMDc4M2Y1ODJiOTlkYWQ5OGNhNzcuanBn.cache","vod_id":19054113,"title":"SHYN-195 Kuat, seksi, keren, dan imut, petarung SOD akhirnya tiba! Karyawan wanita SOD: Lebih memalukan daripada telanjang.","lastmod":"2025-03-19","duration":"01:09:29","url":"/play/19054113.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMDEvZDZkZjRhNDY3Y2MwODYwNmIxOGM1MGI4YjRmZGY3ZGMuanBn.cache","vod_id":19122712,"title":"FC2-PPV-4511270 Sepulang sekolah, aku pergi ke hotel cinta dengan muridku yang super malaikat! \"Bolehkah aku ejakulasi di dalam?\" \"Guru, Anda tidak boleh ejakulasi di dalam...\" Tubuhnya yang putih bersih tanpa kondom.","lastmod":"2025-10-01","duration":"02:36:08","url":"/play/19122712.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZWIxYzRiOTQ5OGJmODA3OTAwN2JlMWI2YmU5YWRlNjIuanBn.cache","vod_id":19142613,"title":"MFCW-016 \"Aku belum pernah ejakulasi di dalam siapa pun sebelumnya...\" Seorang wanita yang sudah menikah menikmati perselingkuhan pertamanya, dan kencan di luar nikah yang fotogenik! Menyembuhkan jiwa di kolam pengamatan.","lastmod":"2026-03-21","duration":"01:39:30","url":"/play/19142613.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTU4YTU3NDg3ZDUwZGQyOWU5MTJmNTVjY2Q2NTQ1ODYuanBn.cache","vod_id":18948641,"title":"KEPA-020 Mengingat Kembali Kebangkitan Seksual Saya: Rasa Malu Saat Masturbasi dengan Pakaian Dalam yang Saya Kenakan Saat Itu","lastmod":"2025-03-19","duration":"02:13:25","url":"/play/18948641.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYzY1YzQyM2JlNmU4MDQxYmQyNDE5ZDc0Y2EyYzk0ZGEuanBn.cache","vod_id":19130108,"title":"WAAA-340-C \"Aku sudah orgasme!\" Dia dipenuhi sperma berkali-kali!","lastmod":"2026-02-13","duration":"01:59:35","url":"/play/19130108.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZWM5M2Q0OTQ2MmEyNzYyOTg2ODVkZDhkZmU3N2ExMjcuanBn.cache","vod_id":19061450,"title":"DVMM-164 Pengawasan AV Pria dan Wanita Biasa: Rencana Perselingkuhan Ganda Cepat Selama Perjalanan Keluarga - Istri Berpayudara Besar, Hanya Berbalut Handuk, Bertemu Pria dengan Penis Besar untuk Pertama Kalinya","lastmod":"2025-03-19","duration":"04:37:41","url":"/play/19061450.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYmEwZjYxNjgzZjc1MDUzYzYxZTJjNGMyMmFlN2RjMDcuanBn.cache","vod_id":19147632,"title":"PYU-401 Orgasme dan Menelan Gadis Tak Bersalah","lastmod":"2026-05-13","duration":"30:06","url":"/play/19147632.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZWM4MjRiNWI3MGM3MDNlNTljMWZmOWY1ZWM2NDVkZDguanBn.cache","vod_id":19063198,"title":"JUQ-819 Saat aku sedang membersihkan, bokongku yang tak curiga tiba-tiba terbuka, dan aku menjadi gila, tenggelam dalam seks telanjang berulang kali.","lastmod":"2025-03-19","duration":"02:00:23","url":"/play/19063198.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MDUvNzk2MDc3MmI2OGVmMmFhMjkzMjFkM2Q1NjRkOTVhYTUuanBn.cache","vod_id":19107351,"title":"Celana dalam berpotongan terbuka yang penuh gairah, stimulasi G-spot di lubang madu_wanita di atas, meremas dan menggerakkan kaki, seks_orgasme","lastmod":"2025-06-05","duration":"08:55","url":"/play/19107351.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZGUyMTBiZTdkMDliNjE2YjM1OTIyODdiZDkwN2NjNWMuanBn.cache","vod_id":18923440,"title":"MIAA-104 Aku diam-diam diganggu oleh dua kakak perempuan pacarku, dan mereka sekarang berada dalam pelukanku. AIKA Rino Kirishima","lastmod":"2025-03-19","duration":"01:56:40","url":"/play/18923440.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvY2E5MzRiNmI1MzIzZjQxZDNkNmEwNGFlNjQ0ZGM1NjUuanBn.cache","vod_id":19148595,"title":"IPZZ-427-C Pembalikan Peran: Aku memeras iparku yang menyebalkan agar melakukan berbagai hal untukku selama tiga hari! Meskipun dia mengeluh, aku tetap memberinya semprotan sperma pribadiku.","lastmod":"2026-05-22","duration":"02:01:52","url":"/play/19148595.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMDMvZDdhNDE0MTg3ZDFmNzlkZjc3MDQwODgwMDhmZjE3NzkuanBn.cache","vod_id":19122995,"title":"Seorang waria nakal diperintahkan oleh majikannya untuk bermasturbasi hingga mencapai orgasme.","lastmod":"2025-10-03","duration":"15:20","url":"/play/19122995.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDI4MGJhNGFiNzYyMmRmN2NmMDZkMzBhNTcxNTc5ODguanBn.cache","vod_id":18925644,"title":"PPPE-108 Orang tuaku menikah lagi, dan sekarang aku sekamar dengan dua kakak perempuanku! Aku terjepit di antara dua kakak perempuan yang mesum, diperkosa dan ditusuk secara brutal setiap hari...","lastmod":"2025-03-19","duration":"02:39:10","url":"/play/18925644.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMWZhZGQ4OGJmMjljMTg4NGQ3NDZmM2Q0MjI5NmY4NzguanBn.cache","vod_id":19040645,"title":"YMDD-344 Pengamatan dan Pengawasan Amatir: Seorang wanita tua yang menawan menangkap seorang amatir dan memaksanya untuk melakukan oral seks dan memanipulasinya.","lastmod":"2025-03-19","duration":"02:27:03","url":"/play/19040645.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjIwZWZhZmUzYzllOWI5NjlkODhlODk1MjViYjgyMWEuanBn.cache","vod_id":18991259,"title":"Hikari Sena - Happening Hotel - Payudara alami ukuran H tapi tubuh langsing!? Gadis bak dewi turun! Seks terus-menerus tanpa bra membuat pria tergila-gila! ~","lastmod":"2025-03-19","duration":"02:24:21","url":"/play/18991259.html"}]},
videoTitle: 'RNA-006 Perbudakan Amatir dan Ejakulasi Hebat [Orgasme Sensitif - Versi Istri yang Mengalami Kejang Gila] Istri baik hati di sebelah rumah memberi saya masakannya, jadi saya menggunakan tubuh saya...',
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=/`;
}
};
}