Manajer Hotel Mengambil Foto di Bawah Rok Saat Memilih Seragam, Dengan Gila-gilaan Bercinta dengan Wanita Menikah yang Sempurna dan Ejakulasi di Dalamnya","lastmod":"2026-07-11","duration":"","url":"/play/19245014.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzBlYzM3MWVjYmZmZDI5YTA4ZmMzMGE2OTg2NTQyZWEuanBn.cache","vod_id":19099938,"title":"FC2PPV 3682969 [Tanpa Sensor] Gadis polos melamar pekerjaan mendistribusikan video amatir! - Saat itu aku sedang mandi dan tidak bisa menahan diri.","lastmod":"2025-03-29","duration":"01:01:15","url":"/play/19099938.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYWQ0MjY2ODliZDg3ZDMzZTQyMGZmYzZlYzJkMmQ4Y2UuanBn.cache","vod_id":19224742,"title":"Cendekiawan Ketiga Putra Mahkota: Seorang gadis cantik mengalami gangbang 3P pertamanya dengan dua penis besar, vaginanya mengeluarkan cairan dan mengerang!","lastmod":"2026-03-30","duration":"0:24:42","url":"/play/19224742.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDk5YTBiNTk0NTlkMTNiMGQ0MGMxMWE0MDViYjg3M2YuanBn.cache","vod_id":19113059,"title":"OKP-040 Hamasaki Mao dalam Stoking: Seorang gadis cantik berseragam sekolah sepenuhnya tertutup stoking baru, dari kaki hingga jari kakinya, memamerkan kakinya yang indah. Duduk di wajah, fetish kaki, terkadang ejakulasi, terkadang menggosok bokong, dan seks berkelompok—Anda dapat melakukan apa pun yang Anda inginkan! Fetish AV1 Nikmati pelatihan mesum dan permainan orgasme seorang wanita yang didorong ke keadaan hasrat yang intens.","lastmod":"2025-03-29","duration":"01:33:23","url":"/play/19113059.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOWFjYjA5NDlhZjVkNzFkNDYzYTc4OWIxMjFlMTM0YjIuanBn.cache","vod_id":19220464,"title":"LesbeaHD: Pertukaran Air Liur Gadis yang Menggoda, Yuri Cabul, Deep Throat yang Penuh Gairah","lastmod":"2026-03-06","duration":"0:10:28","url":"/play/19220464.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjE5ZThkOWExZTIyMGM0YmY5MjBmODYzZTQ5MjA3MTcuanBn.cache","vod_id":19060960,"title":"OKAX-357 Pemerkosaan terhadap siswi berseragam!!","lastmod":"2025-03-28","duration":"02:01:51","url":"/play/19060960.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMGE1YmY4NzExMDcwYWM4ZTUyNTIyNGJkODg5YzM5NjQuanBn.cache","vod_id":19073949,"title":"[Gadis 19 tahun] Gadis Jiangsu dengan payudara putih dan payudara super besar ✨✨✨ berkulit cerah dan montok, wajah terbuka, siapa pun yang bisa meniduri vagina ini akan sangat bahagia (2)","lastmod":"2025-03-28","duration":"00:25:00","url":"/play/19073949.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MTgvYWQwM2RlODZlNGExMDdjODIyM2NjNzk5YzcwMDEwODMuanBn.cache","vod_id":19177290,"title":"CLUB835: Rok guru direkam secara diam-diam oleh siswa; pemerkosaan, pemerkosaan berkelompok, ejakulasi di dalam; rekaman latihan cabul; guru pendidikan jasmani yang tangguh dan berotot; toilet manusia.","lastmod":"2025-05-18","duration":"02:02:52","url":"/play/19177290.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTA2MTljYTEyYThjNWJhN2RkNmZlMmFhY2RkYjkyNWMuanBn.cache","vod_id":19138354,"title":"TKI-105 Relawan Pelatihan Rekaman Cumshot 1 Payudara Besar G-Cup Imai Kaho","lastmod":"2025-03-29","duration":"02:06:23","url":"/play/19138354.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTVlYTUyYjA0MzZiMjUyY2Y3OTM5OGU4MjZmMjBmZTQuanBn.cache","vod_id":19088108,"title":"DGCESD-676-D★Hanya Online! Termasuk Video Bonus★Rekaman Perburuan Perawan Berpakaian Silang Yui Hatano 2","lastmod":"2025-03-29","duration":"01:27:40","url":"/play/19088108.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTUvZDdiZTAzZDRjNDBkZDJkYjY1ZjhkNmM2ODBhM2FiNTguanBn.cache","vod_id":19210407,"title":"Hoihoi, seorang gadis cantik amatir, telah merilis selfie pertamanya! Ini adalah seri kesepuluh dari seri Hoihoi Pet, HPET-010.","lastmod":"2025-12-19","duration":"4:58:50","url":"/play/19210407.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzhiNjZmMjI1ZTAzMzJlZmM0NDVjODUxOTI2OGUzYWQuanBn.cache","vod_id":19099454,"title":"PES-098 Permainan Cinta Intens dengan Kecantikan Kelas A Super! Seks Main-main dengan Gadis Nakal dan Nicholas (8 Orang, 2 Cakram)","lastmod":"2025-03-29","duration":"03:47:49","url":"/play/19099454.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDRhNjAxYWNmNGU5MjEwZDhiOTc3N2U5NzQyZmI2OGYuanBn.cache","vod_id":19043880,"title":"Seorang pria muda tampan dari keluarga kaya di Shanghai dan seorang wanita cantik mempesona dengan sosok bak dewi dan sikap elegan terlibat dalam sesi bercinta yang penuh gairah, dengan dorongan terus-menerus dalam berbagai posisi. Wanita cantik itu mengerang kegirangan saat mereka bercinta berulang kali, dan adegan itu difilmkan saat mereka sedang berhubungan seks!","lastmod":"2025-03-28","duration":"00:32:19","url":"/play/19043880.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMWE3NDZlMWI2ZjI3MGE2YjdkYjhmNzU2MDE4N2ExMTcuanBn.cache","vod_id":19060323,"title":"Mengintip melalui jendela dan melihat seorang gadis remaja berkulit putih sedang masturbasi sambil mandi.","lastmod":"2025-03-28","duration":"00:13:44","url":"/play/19060323.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNGZiY2ZiNjI1ZDUwMmM4OTkxZmMwMzI1NjJmODUwZDMuanBn.cache","vod_id":19105267,"title":"HODV-21425 Wanita muda berkualitas tinggi, ejakulasi intens, sosok menakjubkan, Hamasaki Miru.","lastmod":"2025-03-29","duration":"","url":"/play/19105267.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDVhMDZlN2E2MDU5NDA2OWRlNzZmMDI2ODZhZDlhNmQuanBn.cache","vod_id":19033797,"title":"DVDMS-488_B - AV Amatir untuk masyarakat umum, mahasiswa dan mahasiswi! Ideal untuk mahasiswa yang tidak punya pasangan.","lastmod":"2025-03-28","duration":"01:37:42","url":"/play/19033797.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjA3ODdhZGJjZjc2YTk0OWM4ZjAyYWU3MTFmOTAxM2UuanBn.cache","vod_id":19075249,"title":"ED Mosaic, seorang gadis amatir, melihat tweet saya dan ingin mencoba ❤️ pria selain pacarnya 2","lastmod":"2025-03-28","duration":"00:36:53","url":"/play/19075249.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMWNkNjY1ODFlY2I3YmJlYzBkYWU1MWU3YmMyZDI3NGEuanBn.cache","vod_id":19054225,"title":"[Paviliun China] Seorang bintang film asing yang seksi dan cantik, membawa kejayaan bagi negara, bercinta dan menaklukkan dengan penuh gairah, erangannya meluap saat ia berejakulasi di wajahnya.","lastmod":"2025-03-28","duration":"","url":"/play/19054225.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTE0NzQ0NjU2MmY2YTY5YTExNWE1OGQxNjkzMDQ2Y2QuanBn.cache","vod_id":19065076,"title":"Kabar terbaru film: Sudut pandang kamera tersembunyi paling menakjubkan dari \"The Quality Prostitute\" - kunjungan malam hari ke distrik lampu merah di mana sang protagonis menunggu lama sebelum akhirnya mendapatkan vagina bekas seorang wanita muda berbalut cheongsam, yang baru saja digunakan oleh pelacur lain.","lastmod":"2025-03-28","duration":"01:42:51","url":"/play/19065076.html"}]},
videoTitle: '[Kamera Tersembunyi di Rumah] Urusan Pribadi Gadis Amatir Terbongkar! Rekaman Lengkap Adegan Intens MTES_124',
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=/`;
}
};
}