Penyalahgunaan Gadis-Gadis yang Melarikan Diri: Rekaman Seks Inseminasi Buatan. Jangan Meremehkan Penis Orang Dewasa! Big Mocal","lastmod":"2026-07-11","duration":"02:52:06","url":"/play/19164039.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjA5ODk5YmZkZmFiNDg4Y2I5OWJjMTc0YTZhYzIyOWIuanBn.cache","vod_id":18957355,"title":"SKJK-009 0 yen Hikari gadis cantik H-cup 18 tahun Yume adalah masokis instan Cream Pie Free Tender Hole Girl Yume Aikawa","lastmod":"2025-12-14","duration":"02:16:17","url":"/play/18957355.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2ViMTdmYzUzZDlhODUxNDQ1ZTI1MjgzYTlmYWRhYWYuanBn.cache","vod_id":18952473,"title":"SDAB-085- Takami Haruka, seorang gadis berbakat yang fasih dalam enam bahasa, dan juga seorang siswa berprestasi, adalah dirimu di siang hari.","lastmod":"2025-12-14","duration":"02:17:31","url":"/play/18952473.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmI3MWRlZGM4NGE4MTQ5NmIwYjFlMjQyOGExNjQwNjEuanBn.cache","vod_id":18953713,"title":"MXGS-923 Gadis Cantik 4 Produksi - Akiho Yoshizawa","lastmod":"2025-03-22","duration":"02:10:02","url":"/play/18953713.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmUxZmMwZTQ2MTEzMWZjOTA5YzI2YzU2MmE0NjNmMzQuanBn.cache","vod_id":19002899,"title":"Pengalaman pertama bagi mahasiswi berusia 19 tahun itu—meskipun tekniknya tidak sempurna, tetap saja cukup seksi.","lastmod":"2025-03-23","duration":"41:20","url":"/play/19002899.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDAyOWIxNjA2ZGUwYTFiYTk2ZjJkYWU1OWUzZGMzZWEuanBn.cache","vod_id":18981645,"title":"491TKWA-265 Yu, seorang gadis cantik dengan tinggi 145cm yang ingin mempelajari hal-hal nakal.","lastmod":"2025-03-23","duration":"01:24:33","url":"/play/18981645.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTVjNWQ3OWY2YWNjMzM5OTk5NDRiOGQyMWQ5Yjc4MTYuanBn.cache","vod_id":19022015,"title":"ABP670 Mengikat seorang gadis cantik dan melatihnya untuk mencapai orgasme 004 Belenggu Sonoda Mion dicabut.","lastmod":"2025-03-24","duration":"02:32:09","url":"/play/19022015.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjA4ODNjYjk1ZDA5YjVlYzcwMmJhZTY3MjU3ZDZlYjguanBn.cache","vod_id":19023465,"title":"IPX192 Subtitle Bahasa Mandarin: Seorang gadis cantik bak iblis berseragam, tak mampu mengeluarkan suara, diam-diam menggoda penis dengan wajahnya.","lastmod":"2025-03-24","duration":"02:08:04","url":"/play/19023465.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZWNlN2RiNmNlOGUxMGFkOGFkZTE3MTk2ZGJmOWFkNzEuanBn.cache","vod_id":18946021,"title":"Influencer Pornhub yang sedang tren saat ini, 'E-mei', foto-foto eksplisitnya saat Festival Musim Semi bocor. Ia terlihat menjelajahi \"gua Mars\" di depan kamar tidur orang tuanya, dan vulva merah mudanya yang indah dimainkan hingga ia mengalami ejakulasi. Versi definisi tinggi 720P.","lastmod":"2025-03-22","duration":"00:25:07","url":"/play/18946021.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYTMzMzI2ODlkMGE3MmJkZWU2OTU0Y2Y4YTI4YWUzYTAuanBn.cache","vod_id":19149247,"title":"Seorang gadis yang polos dan cantik melakukan seks oral dan menelan air mani, ekspresi ekstatisnya saat orgasme tampak nakal dan menggoda.","lastmod":"2026-03-20","duration":"25:41","url":"/play/19149247.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2ViZjNmZDQ3Y2Y0NzcyNmE0NjIzNWIxZmExNGI3MDAuanBn.cache","vod_id":18979614,"title":"IPX-139 Kesan Pertama 125 Payudara Luar Biasa Besar: Cup J 100cm, Bokong Alami yang Berlekuk, Debut AV Idola Gravure!! Mia Masuzaka","lastmod":"2025-12-14","duration":"02:39:39","url":"/play/18979614.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzIxNjY3YzA3YjAzMDVjNDAxMGFmZGRiMmIzNGZjZWIuanBn.cache","vod_id":18983282,"title":"IPX-352 Seorang wanita muda yang cantik dan artistik yang menyukai pria paruh baya benar-benar membangkitkan gairahku saat aku benar-benar tak berdaya. Karen Maple","lastmod":"2025-03-23","duration":"02:40:44","url":"/play/18983282.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjUzMjBmMjk3NjVmMTJkYjAxMTVlMDMyNWJmZmRkZmYuanBn.cache","vod_id":18963200,"title":"⭐Muda dan tak terkalahkan⭐ Kulit cerah, bulat, payudara besar alami berkualitas tinggi, pinggang ramping, dan bokong berisi, selebriti internet meriam baja kecil [Diinginkan] Pemotretan pribadi mahal Musim 3 ~ Tarian telanjang crossdressing Bingkai meriam sempurna Ziwei (11)","lastmod":"2025-12-14","duration":"00:01:42","url":"/play/18963200.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMjRhNWMxYzEzZGE3OGI4ZDJlODFhZjU3NTNmNzM5OWEuanBn.cache","vod_id":19145948,"title":"Rahasia pekerjaan paruh waktu resepsionis muda cantik Xiaomin'er sebagai perwakilan layanan pelanggan di meja depan: menyaksikan wanita-wanita cantik berhubungan seks sambil mengenakan stoking hitam dan alat kelamin putih benar-benar merupakan sebuah kenikmatan.","lastmod":"2026-03-01","duration":"23:28","url":"/play/19145948.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZWM3MzQzNGJhYTNhYWNjMTk2M2YzM2M1ZDE4MGYzNDAuanBn.cache","vod_id":18948711,"title":"\"Otaku✅Kelas Berat✅Kesejahteraan\" Selebriti internet muda bernilai tinggi, gadis cantik Jingyuer pergi ke laut untuk menunjukkan wajahnya dengan bayaran, pemotretan pribadi, payudara kencang dan bulat, bagian pribadi tanpa bulu, sangat merah muda, paviliun taman, pohon krep, buang air kecil, cairan putih meluap (5)","lastmod":"2025-12-14","duration":"00:58:52","url":"/play/18948711.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjAxMDZlYmFlYWJjOTMzNWFjZDE5OTY2YzU5ODc3YTEuanBn.cache","vod_id":18963297,"title":"⭐Muda dan tak terkalahkan⭐ Kulit cerah, bulat, payudara besar alami berkualitas tinggi, pinggang ramping, dan bokong berisi, selebriti internet meriam baja kecil [Diinginkan] Pemotretan pribadi mahal Musim 3 ~ Tarian telanjang berdandan Bingkai meriam sempurna Ziwei (17)","lastmod":"2025-03-22","duration":"00:01:02","url":"/play/18963297.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjgyOGU2MDNiYjEwYjEyM2U2NWNmZjk1NTRiM2IxMTYuanBn.cache","vod_id":18946296,"title":"SHKD-933: Rekaman Seorang Profesor Intelektual Cabul dan Mainan yang Dimanipulasi Secara Seksual Milik Seorang Gadis Sastra Cantik - Lagu Mimpi","lastmod":"2025-12-14","duration":"01:36:25","url":"/play/18946296.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjkvMWIzMmIzYzlkMWMwNDcwOTUzMjRjNjQ3YjQ5NTE3OGUuanBn.cache","vod_id":19165798,"title":"Gadis Masa Depan Semen Miyanishi Hikaru Red","lastmod":"2026-07-11","duration":"02:00:27","url":"/play/19165798.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNTIzMWRiYzY5N2E4Y2E1YzlhMjVlNmFiNTVkYjg0ZjEuanBn.cache","vod_id":19150437,"title":"MIDV-728-C Aku mendandani istriku yang lebih tua, Miyu, dengan seragam sekolah dan bercinta dengannya dengan penuh semangat dan kemudaan. Aku berfantasi tentang bagaimana rupa istriku tercinta di masa remajanya, dan bercinta dengannya dengan penuh gairah, seperti saat pertama kali kami bertemu.","lastmod":"2026-03-27","duration":"01:58:34","url":"/play/19150437.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDZiNTU2OWFhOWU0MGQ2ZDA4YWQ0MTAzYzE0MDY2YTIuanBn.cache","vod_id":19018334,"title":"Berhubungan seks tanpa peng","lastmod":"2025-03-24","duration":"03:47","url":"/play/19018334.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZGE2OWVlNzNhNmFjYmU4NjdhNTFmY2I5NTA1NDgwNWEuanBn.cache","vod_id":18987583,"title":"[Tanpa Sensor] MUDR-266 Mengintip, membobol rumah, berbaring di atas gadis yang sedang tidur... belajar melalui tidur. Seorang gadis terus-menerus dipenuhi kenikmatan melalui ejakulasi.","lastmod":"2025-03-23","duration":"02:15:16","url":"/play/18987583.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjJiMTA5MjIxYTExM2I1MmQ0NWZmZWQwNDZhNjQxMDYuanBn.cache","vod_id":19003127,"title":"[Kue Buah] Siswi Sakura Moko mendapat ejakulasi sebanyak 46 kali 1","lastmod":"2025-03-23","duration":"14:50","url":"/play/19003127.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MDgvZWIwYTAzM2I3NjZmYjY2ZTEwMTRkMGE3ZWM2YTUzZGUuanBn.cache","vod_id":19041978,"title":"UMSO595 Seorang gadis nakal yang kabur dari rumah membalas budi: \"Terima kasih, paman! Sebagai tanda penghargaan karena telah tinggal bersamaku, aku akan melakukan beberapa perbuatan baik.\" VOL.03","lastmod":"2025-07-07","duration":"04:00:06","url":"/play/19041978.html"}]},
videoTitle: 'IPZZ520 "Pertama Kali Mencoba Menjadi Putri Sabun" Seks Instan Seks Instan!! Layanan Mandi Busa Memikat dari Gadis Cantik Alami',
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=/`;
}
};
}