Istri muda berdiri di jalan di area apartemen! Mengambil 1,5? Berhubungan seks di rumah gratis! Bernegosiasi dan kemudian ejakulasi di dalam tanpa kondom OK! Seorang pria muda yang berhenti berhubungan seks untuk menghabiskan waktu Hunter","lastmod":"2026-07-11","duration":"04:00:31","url":"/play/19163820.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MzAvNzcwZjIwZWVjMWRiNTQ1ZWMwYzc1OGVkYmEwOTE5MDMuanBn.cache","vod_id":19031488,"title":"Payudara lembut ukuran H, godaan manis setiap hari, mesin pembuat pria yang tak berguna, Yuko Ono FSDSS-452-C","lastmod":"2025-04-30","duration":"02:02:46","url":"/play/19031488.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTMxMTM5Nzc4ODdjMjY3YmZlNWRiZjg1OTBlNGZjNTcuanBn.cache","vod_id":19025274,"title":"SSNI402: Seorang wanita yang sudah menikah bernama Riyu Aoi menjual dirinya ke rumah bordel demi suami tercintanya.","lastmod":"2025-03-24","duration":"02:25:26","url":"/play/19025274.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODdmODM5ODY4NTZkZDAzMjk4YTU5ZjgzMzUwNDUzODEuanBn.cache","vod_id":18957800,"title":"LZDM-050 [ASMR Perspektif Subjektif Lesbian] Hari itu, aku menyerah pada godaan lesbian dari murid-muridku dan memberikan tubuhku kepada mereka sekali. Sejak itu, aku melakukannya lagi dan lagi setiap kali bertemu mereka.","lastmod":"2025-12-14","duration":"02:55:50","url":"/play/18957800.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMDlhZDJkMzlkZTcxYmFjNGNmYjAwNzdiMGEyMzQwMzMuanBn.cache","vod_id":19156969,"title":"Pada hari yang sangat panas dan lembap ketika pendingin udara rusak, seorang istri muda dari pedesaan yang frustrasi secara seksual, setelah melihat penis ereksi selain milik suaminya, melakukan hubungan seksual yang penuh gairah dan berkeringat. (DASS-581-C)","lastmod":"2026-05-07","duration":"01:56:51","url":"/play/19156969.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODA4YTkxNGUxNzkyMDJkZTA1NmZiZjE4ZTA3MTY2ZjUuanBn.cache","vod_id":18956366,"title":"\"Berita Terkini⭐Pelanggaran Privasi\" Balas dendam bajingan setelah putus dengan seorang gadis membocorkan selfie tidak senonoh seorang siswi polos berkacamata~ Bermain seruling, berhubungan seks, masturbasi, dan mengeluarkan suara erangan yang sangat khas. Beginilah cara seorang jalang murahan tercipta (3)","lastmod":"2025-12-14","duration":"00:03:26","url":"/play/18956366.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvOTZhMWZkMzA5YzgzMTU4NzhhNDA5NzM3NDIzYTUxM2UuanBn.cache","vod_id":19065752,"title":"Aku benar-benar terobsesi dengan guru kecil bertema lemon yang super imut ini, baik yang mengenakan seragam sekolah maupun pakaian renang.","lastmod":"2025-12-14","duration":"43:30","url":"/play/19065752.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTIzZjc4ZWU0NDAwMGIwNzU0NzI4NDBjMGM3MTM3MGMuanBn.cache","vod_id":18937042,"title":"Apartemen pribadi sang bos digunakan untuk berhubungan intim dengan mahasiswi panggilan yang memiliki payudara besar, kaki indah, dan pakaian renang seksi berbelahan tinggi. Dia bercinta dengannya di sofa dan di atas meja, sambil mengerang dan mengatakan betapa nikmatnya. Dialognya jelas dan dalam rekaman asli 1080P dengan kamera ganda.","lastmod":"2025-12-14","duration":"00:20:51","url":"/play/18937042.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvMGYxNjEwOGU5YzY3ODM2OWJkYjEyN2Y4ZTI3MTk3MTMuanBn.cache","vod_id":19066033,"title":"Pendek dan belum dewasa... Temanku yang bertinggi 147cm, si iblis kecil, menggoda dan merayuku!! Bermain-main dengan payudaranya dari jarak dekat, tampaknya mungkin tetapi mustahil. Tsumugi Yura FOCS_213","lastmod":"2025-12-14","duration":"02:08:24","url":"/play/19066033.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzAxOTAxZGY5MzljNzAyNDQxODdkMGEwZTAzMjM3YjcuanBn.cache","vod_id":18995352,"title":"[Definisi Tinggi] NACR-551 Istri Tidak Setia di Sebelah Rumah - Tanaka Nanami","lastmod":"2025-12-14","duration":"02:00:04","url":"/play/18995352.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZWZlNjIwZjk2M2IzZjgzMWEyZTU1ZjgyMTUxMTk5YjEuanBn.cache","vod_id":19010158,"title":"Pria botak berpenis besar melakukan oral seks dalam-dalam pada mahasiswi internasional kurus.","lastmod":"2025-03-24","duration":"10:41","url":"/play/19010158.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmExNWI0ZDM3NzliMjE4NGNjNzFmYTg4OWE0NzUxNTMuanBn.cache","vod_id":18975585,"title":"SDMU-657 Memantau Apa yang Terjadi Selama Hubungan Seks Tanpa Perlindungan: Tugas Pilihan untuk Mahasiswa yang Menghadiri Kuliah Informasi Keamanan Seksual","lastmod":"2025-12-14","duration":"04:03:29","url":"/play/18975585.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvNzQ1YzdiYTJhMDQwZDczMjI0ZWUyZDdlNmU4NmQxMDQuanBn.cache","vod_id":19158299,"title":"Seorang istri amatir mendapatkan kondom di rumah seorang mahasiswa biasa dan menghabiskan malam di sana, tetapi merasa tidak puas hanya dengan satu kali berhubungan seks menggunakan kondom. (Cosmos Echoes)","lastmod":"2026-05-15","duration":"02:22:45","url":"/play/19158299.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvNTU1YmM1ZGY0MGU3MWYxYzE1ZGZiNzljMDg3MzE2YjIuanBn.cache","vod_id":19066430,"title":"Gadis kuliah berkulit gelap dan dalam pengaruh obat bius dengan rambut dikepang dua itu diperkosa beramai-ramai secara brutal dan menjerit kesakitan. Jeritannya sangat menyayat hati.","lastmod":"2025-12-14","duration":"34:46","url":"/play/19066430.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYWU1YmY2YzVkYWZjMmIyNjEwY2RhNDNiNGQ0ODJhMmUuanBn.cache","vod_id":19004523,"title":"ZEX-317 Vagina halus ukuran G-cup: Wawancara AV dengan seorang mahasiswi - Miho Moriya","lastmod":"2025-03-23","duration":"01:59:17","url":"/play/19004523.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjEvMDE3OTY0NzRiZTE4MTRmYzA4Nzg0YmY0Mjc5NDM0NTAuanBn.cache","vod_id":19058863,"title":"Mahasiswi-mahasiswi cantik aktif berpartisipasi dalam kegiatan sukarela! \"Bisakah Anda membantu saya mengatasi ejakulasi dini?\" 2 Peserta Aktor tidak dikenal SKMJ565","lastmod":"2025-10-20","duration":"04:31:39","url":"/play/19058863.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzZkOTE2ZmNhYWZlZmRmMDMzNTBjNzhiZjc0NGFmODUuanBn.cache","vod_id":18999091,"title":"Takayama Rin, seorang mahasiswi yang bergulat dengan hasrat seksualnya di sebuah restoran.","lastmod":"2025-03-23","duration":"01:49:19","url":"/play/18999091.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDYyMGE0Mjg0MDAyYWVkMGIxYzQyOGEyNzVkYzgwYzQuanBn.cache","vod_id":18925761,"title":"[Saudari Xi Shi] yang nakal berhubungan seks dengan dua wanita dan satu pria, bersama dengan pasangan seksnya. Dia berada di atas, menunggangi, dan bercinta dengan penuh semangat, mengerang dan terengah-engah – sangat menggoda. Jangan lewatkan jika Anda suka!","lastmod":"2025-12-14","duration":"03:21:08","url":"/play/18925761.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9pYy4xNTUyNTAyMTQudG9wLzIwMjYwMjI0L1BaWEJqbnBRLzEuanBn.cache","vod_id":19145225,"title":"Istri saudaraku yang serakah itu tak curiga dan genit dengan bagian bawah tubuhnya! Dia merayuku dengan pantatnya yang montok, dan tepat di sebelah saudaraku, dia melahap penisku yang ereksi! SW-1028","lastmod":"2026-02-25","duration":"03:14:37","url":"/play/19145225.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjk0NTRmMzIzZjE5MTY5OWZjNzk5OGQxZDNlY2EyZDIuanBn.cache","vod_id":18933315,"title":"VNDS-5194 Aku tak akan pernah memberi tahu suamiku... Seorang istri berusia lima puluhan yang diperkosa oleh anaknya, dengan payudara besar dan bokong seksi, Aoi Mari","lastmod":"2025-12-14","duration":"01:29:15","url":"/play/18933315.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZWZhNDc0Mzk1ZjdhMDcwNjYwMWUxNzdhN2VjMmFlZmEuanBn.cache","vod_id":18960591,"title":"SSR-082 Seorang guru perempuan yang cabul menggunakan tubuhnya yang menggoda untuk merayu dan melecehkan secara seksual seorang siswa laki-laki yang sangat bernafsu.","lastmod":"2025-12-14","duration":"02:11:19","url":"/play/18960591.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMDEvODg1MTc4ZDViNGMxZmIzMTgxNWEyMDc2Nzc0MWNhNjAuanBn.cache","vod_id":19055374,"title":"Seorang mahasiswi yang berada di bawah pengaruh afrodisiak ditidurkan dan diperkosa. Seorang gadis muda, yang tubuhnya yang belum matang dimanipulasi dan disetubuhi oleh seorang dokter kejam hingga catatan medisnya hancur, dibiarkan dalam keadaan kacau. (Penulis: ROYD208)","lastmod":"2025-09-30","duration":"02:14:10","url":"/play/19055374.html"}]},
videoTitle: 'Guru Perempuan NTR: Istri Tercintaku Dirayu oleh Murid Nakal. (Mitsu Kana JUR-512)',
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=/`;
}
};
}