Sesudah sekolah, gadis cantik H G dewi pijat payudara orgasme boneka wajah payudara besar siswi Nagisa [Icha L Shiraishi Nagisa Aurora Project Annex]","lastmod":"2026-07-11","duration":"02:31:58","url":"/play/19164921.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNGYxNGZkODBhNzQ3ZTFhODc5YmRmMWZhY2RhMTg5NzkuanBn.cache","vod_id":18954291,"title":"USBA-010 Pelatihan Perbudakan Seragam Paman...Aku Menjadi Budak Seks...Arimura Nozomi","lastmod":"2025-12-14","duration":"01:54:08","url":"/play/18954291.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2I5NmZlZTcxMTFlYjk5OTcwNzBlMGZjMTY3ZjcxOWIuanBn.cache","vod_id":19023341,"title":"fc2ppv674261 Bab Pelatihan Gadis Cantik Berusia 18 Tahun Peringkat SS (Bagian 2)","lastmod":"2025-03-24","duration":"41:12","url":"/play/19023341.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzAwNGFkOWU5YjYwYzUxZWIwZGRjM2MzYjI3ZTFjMzkuanBn.cache","vod_id":18971217,"title":"Kontes Seleksi IPZ-745 KESAN PERTAMA97 Kategori Gadis Cantik Hadiah Utama Diumumkan! Seorang gadis berbakat dan cantik dengan vagina yang menakjubkan! Horikita Sakura","lastmod":"2025-03-23","duration":"02:30:05","url":"/play/18971217.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDk5MmRiYWI0Mjk0OTZkMThlOTRhMDFhNTFiZDZiMDguanBn.cache","vod_id":18961748,"title":"PPPD-681 Gadis mandi busa bertubuh seksi legendaris dari Kinjinen, yang menunggu selama setahun, melakukan debut AV-nya!! Rika Komiyama","lastmod":"2025-03-22","duration":"02:00:13","url":"/play/18961748.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDc4Mzk0YzYzZjRjMTIxOTUwMWU2ODdhMjA1MGVlODIuanBn.cache","vod_id":18973824,"title":"BAZX-363 Gadis cantik berseragam pelaut dan seks yang sepenuhnya patuh SPESIAL Vol. 002","lastmod":"2025-03-23","duration":"02:29:35","url":"/play/18973824.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2E0YmE2NWIyMTQwZjFkY2IyNmY3YTlkOGMwZjJhYzQuanBn.cache","vod_id":18963518,"title":"491TKWA-232 Lepaskan kacamata J●, cosplay, berhubungan seks, lalu kecanduan! Kasuga Ena","lastmod":"2025-03-22","duration":"00:54:15","url":"/play/18963518.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzAxY2RkOWE5ODk4YmViMTgwMDdiZTI5NDZiMDc4YWUuanBn.cache","vod_id":18956437,"title":"[Subtitle Bahasa Mandarin] NSFS-136 Rumah Perselingkuhan 4 ~Istri Menjadi Boneka Seks~ Honda Hitomi","lastmod":"2025-03-22","duration":"01:48:53","url":"/play/18956437.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOGNjOWJiYWVlOTRlYjdhZmM3N2E5NWNjYWRhMzc0MWEuanBn.cache","vod_id":18939656,"title":"[Subtitle Bahasa Mandarin] SALO-003 Ruang Latihan Ratu Reina - Reina Hitam","lastmod":"2025-12-14","duration":"01:43:59","url":"/play/18939656.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2ZhZDIxZmVlY2U1ODA2ZmYxNzczOGM3ODUyMjQyNGIuanBn.cache","vod_id":18983270,"title":"476MLA-041 Mengembangkan secara seksual seorang gadis kamera yang polos seperti malaikat! Seorang gadis cantik dengan bokong selembut marshmallow, yang dijemput di acara iluminasi Roppongi, dengan sedikit pengalaman.","lastmod":"2025-03-23","duration":"01:06:21","url":"/play/18983270.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjgzZmY4NjI4MDVlNjg4YjIwNjM0OGEyYWYzOWIyNTcuanBn.cache","vod_id":18949567,"title":"[Subtitle Bahasa Mandarin] JUY-363 Kelakuan Nakal Istri... Takeuchi Hitomi","lastmod":"2025-12-14","duration":"01:59:13","url":"/play/18949567.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MDYvMWNmZmFmMDE5MDM0ODg3OGI4MThhNDdiMTFiNzk2YTcuanBn.cache","vod_id":19041685,"title":"Ukuran cup SONE751L, wajah super imut, siswi tercantik terbaik di dunia maya!","lastmod":"2025-07-05","duration":"02:47:53","url":"/play/19041685.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTQvNTQ5YjBiMzM4MWFmMDkyZTdiYmZkNDI4ZjhhYjYwZGQuanBn.cache","vod_id":19067440,"title":"Saat istriku sedang pergi dalam perjalanan bisnis, aku, tergoda oleh bibiku Anzu, mengumpulkan cairan sperma kental yang keluar selama 30 hari, mengakibatkan ejakulasi yang dalam dan tak terkendali... Azuki Amatsuki JUQ-826","lastmod":"2025-12-14","duration":"02:15:13","url":"/play/19067440.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDliYzM5MzVjYWViY2Q4YzEzNDEyNTVlZTQxODZhMjEuanBn.cache","vod_id":19015298,"title":"IPX341 Seorang pria paruh baya dan seorang gadis cantik berseragam berbagi ciuman penuh keringat dan air liur yang penuh gairah. (Nishimiya Yume)","lastmod":"2025-03-24","duration":"02:47:42","url":"/play/19015298.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2FiYTBhNDUwYWMyODg2OTJhZDQ3ZGE2YWM3ZTQzOTIuanBn.cache","vod_id":18935531,"title":"[Subtitle Bahasa Mandarin] HBAD-500 Hubungan Inses dengan Anak Perempuan Pemberani yang Berperan sebagai Ibu. Dari Pekerjaan Rumah Tangga","lastmod":"2025-03-22","duration":"01:40:16","url":"/play/18935531.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjY2OTQ4NzFjZTJhMTdlZjg1NjkyNmNkNGI1NmEwYzMuanBn.cache","vod_id":18989684,"title":"336KNB-092 Koleksi Foto Erotis Wanita Menikah di Seluruh Negeri: Rekrutmen wanita menikah di seluruh negeri, difilmkan dari sudut pandang orang pertama, tersedia online: Mary, 37 tahun, menikah selama 7 tahun, seorang istri cantik dengan senyum berseri-seri, melepaskan hasratnya yang menggairahkan dalam sebuah film porno! Payudaranya hampir meledak, putingnya mengeras hanya dengan sentuhan ringan! Alat kelaminnya yang berbulu basah dan berair, dan dia mulai dengan panik menghisap penis di depannya. Penetrasi berikutnya mungkin akan membuatnya kehilangan akal sehat seketika!!","lastmod":"2025-12-14","duration":"01:08:43","url":"/play/18989684.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNTkzZmZhOTUzNGI4YTU3NzBkZDcyYzAwM2JkMzRhMWMuanBn.cache","vod_id":19150969,"title":"Turnamen bela diri terhebat! Orang yang mengalami klimaks paling hebat di dunia! Seorang wanita cantik bertubuh seksi dan linglung melawan seorang cosplayer rendahan yang kejang-kejang dengan lubang yang cabul. PRIN-057","lastmod":"2026-03-31","duration":"03:35:09","url":"/play/19150969.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTk3NGViNDk1YmI4ODQ2ZGNmMTc2ODhiOTY2OTQxMmQuanBn.cache","vod_id":18955959,"title":"[Subtitle Bahasa Mandarin] MDTM-792 Siswa berseragam adalah pasangan seks yang mudah. Miyu 03","lastmod":"2025-03-22","duration":"02:01:42","url":"/play/18955959.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTZkNzE0YTgwNTU4YzkxNGQxYzAwMzE3ZGZhMDYxOWIuanBn.cache","vod_id":18994888,"title":"[Pengkodean Definisi Tinggi] 326FCT-052 Seorang gadis muda yang murni, lembut, dan penuh gairah, memancarkan pesona kepolosan kekanak-kanakan yang luar biasa!! ...Tapi sebenarnya dia adalah gadis mesum dengan payudara yang terlalu besar.","lastmod":"2025-03-23","duration":"01:27:04","url":"/play/18994888.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTNhNWEwMDExNGUxMjU5NDRiYTdmNzU4N2EzYzI4NDguanBn.cache","vod_id":19014522,"title":"Mirei-chan, si cantik masokis berusia 20 tahun dari ARA368 [Miracle Big Breasts], hadir di sini! Alasannya bergabung dengan kelompok teater adalah \"tidak cukup uang untuk biaya hidup... jadi aku harus menanggalkan pakaianku...\" Meskipun miskin, ia memiliki payudara berukuran G-cup yang pantas dimiliki wanita kaya! Hanya dengan sedikit rangsangan, ia akan mengeluarkan cairan dalam jumlah banyak! Ia sangat sensitif; seluruh tubuhnya adalah zona erotis! Jangan lewatkan seks orgasme anggota kelompok teater ini dengan payudaranya yang bergoyang liar!","lastmod":"2025-03-24","duration":"01:21:38","url":"/play/19014522.html"}]},
videoTitle: '[Subtitle Bahasa Mandarin] SDAB-104 Bercinta dengan siswi berseragam sekolah sepanjang hari, dimulai pada siang hari - Kurumi Rei',
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=/`;
}
};
}