Setelah itu…Saya terus berhubungan seks sampai jam malam…Siswa Suzu Nagano Suzu 永野铃 グレイズ","lastmod":"2026-07-11","duration":"01:52:29","url":"/play/19166428.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODdiYzU2ODMxZGViODdlNDdlNjk4ODA5OWI3ODdhMTkuanBn.cache","vod_id":18975570,"title":"SIRO-5031 [Seks Rahasia di Belakang Pacar] Seorang gadis cantik dan modis diserang di seluruh tubuhnya, menggeliat kesakitan!","lastmod":"2025-12-14","duration":"00:59:01","url":"/play/18975570.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYjgxMjU3ODZjYmQyODQ3Zjg4NWJkZTc2OWUwZmVlNDUuanBn.cache","vod_id":19158084,"title":"Pacar temanku datang ke apartemenku larut malam setelah aku bertengkar dengan pacarku dan keluar rumah dengan pakaian santai... MKMP-524-C","lastmod":"2026-05-14","duration":"02:26:44","url":"/play/19158084.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMjRkYjBlODZhODc5ZTg5NmQ3MjI4NjIwMjNmMTIyYWUuanBn.cache","vod_id":19157480,"title":"Seorang siswi SMA yang dikhianati oleh pria berpenis besar. Pacar favoritku dirayu dan mengalami ejakulasi di dalam dirinya oleh seorang mahasiswa paruh waktu berpenis besar. Hinako Matsui, Bintang Pertama.","lastmod":"2026-05-10","duration":"01:54:04","url":"/play/19157480.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjczYjE0MGEzMGRlMzYxN2IzMzlmNDU5MmQ5MmQ2NTIuanBn.cache","vod_id":19008405,"title":"MIFD116, menampilkan manajer klub rugby universitas yang tangguh, Kohinata Aya, yang melakukan debut AV-nya di tengah gelombang erotisme.","lastmod":"2025-03-24","duration":"01:59:29","url":"/play/19008405.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjNhODM2OGE3MDdiZDY0N2Y0YjdjYjYyMGVkZTBmNzUuanBn.cache","vod_id":19008635,"title":"NACR280, putri seorang mahasiswi kecantikan yang bertubuh seksi, meminta ayahnya untuk menjadi model telanjangnya, tetapi akhirnya malah terangsang dan berhubungan seks dengannya.","lastmod":"2025-03-24","duration":"01:52:42","url":"/play/19008635.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmZmZTA3OTBjYTVjZGY5ZWNjMWQxNGUyN2FiYjFlMzMuanBn.cache","vod_id":18996155,"title":"FSDSS-009 Pertempuran Antara Pria Macho dan Wanita Mesum","lastmod":"2025-03-23","duration":"01:52:42","url":"/play/18996155.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMGM2MDc2OTBmOGFiMzFlZWZmMzM2OGQxNzE2ZjlkYzAuanBn.cache","vod_id":19024569,"title":"MIDV378C adalah pendatang baru, seorang wanita muda yang kuliah di universitas khusus wanita, dan kandidat untuk gelar \"Dewi Penyembur\". Dia tidak perlu lagi bekerja untuk perusahaan terkenal; dia dapat sepenuhnya memanfaatkan kemampuan menyemburnya.","lastmod":"2025-03-24","duration":"02:38:46","url":"/play/19024569.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MjgvZjhiOTk4MTJkMTdmY2Y0YWIwZWExZTU1MDIzMjAyYTEuanBn.cache","vod_id":19048796,"title":"HODV21947 [Edisi Terbatas] Foto Pakaian Dalam Godaan Manis dan Menggoda dari Ketua OSIS Si Iblis Kecil, Shiina Koharu","lastmod":"2025-08-27","duration":"02:22:27","url":"/play/19048796.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDZkNmYwZjA2MzBkYmI2ZjRhNjZlZWM1Y2JlZjdiODkuanBn.cache","vod_id":18977972,"title":"KAMEF-056 Pemotretan pribadi, pemotretan mahasiswa atas pesanan, BLACK KAMEKO FILE.56 karya Machida Lens, foto-foto imut seorang dewi wanita, tanpa perlindungan.","lastmod":"2025-03-23","duration":"01:56:19","url":"/play/18977972.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMGVjOTFlZjY4YjAwMjJiMjdjZTc5MWY0M2JmOWU2NTcuanBn.cache","vod_id":18925020,"title":"Seorang wanita montok dan seksi dengan payudara besar yang mengenakan topeng sedang berhubungan seks dengan pacarnya. Dia mengenakan stoking hitam seksi dan celana pendek kulit, tudung kepala, dan sedang melakukan seks oral. Sangat menggoda; jangan sampai ketinggalan jika Anda menyukainya.","lastmod":"2025-12-14","duration":"01:20:54","url":"/play/18925020.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2E0NTc4YTczNmFlN2M4NzhlYTA3OGQzYzU3YmQzYTcuanBn.cache","vod_id":19022119,"title":"Bocoran eksklusif dan menggemparkan! [Pacar asli membongkar rahasia] Wajah gadis super muda dan seksi terekspos sempurna. Ternyata wanita bisa begitu mesum!","lastmod":"2025-03-24","duration":"12:09","url":"/play/19022119.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDdkOTQyOWRlNDVkZjAyOWIwMjAyMmMxM2E0ODc2NWQuanBn.cache","vod_id":18971508,"title":"Berita besar! Seorang taipan properti membeli seorang mahasiswi lulusan tahun 2002 dari Jurusan Bahasa Asing seharga beberapa ribu yuan, lalu membius dan memperkosanya dengan lilin, kemudian menyemprotkan cairan sperma ke wajahnya. Kartu identitas dan foto-foto pribadinya telah tersebar dalam resolusi tinggi 1080P.","lastmod":"2025-12-14","duration":"01:02:37","url":"/play/18971508.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMTdmODY1OTNkZmY4N2Y0ZGU2MDRiMDE4YWI0NWJhMDYuanBn.cache","vod_id":19138787,"title":"Rekan kerja pria dan wanita merasakan pijatan minyak esensial yang intens pada bokong mulus dan telanjang selama istirahat kerja!? Seorang rekan kerja wanita yang sudah punya pacar terlibat dalam pertemuan seksual yang mendebarkan. Aktor tidak dikenal SKMJ-650","lastmod":"2026-01-17","duration":"03:48:44","url":"/play/19138787.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTEyZjY3ZmUwYWVlY2Y4YTE3YTBmODM5MTlhZjBiYWQuanBn.cache","vod_id":18960025,"title":"HOISW-017 Sayangku! Juara No. 17 Siswi Terbaik! [Spesial Erotis] Perspektif Siswi","lastmod":"2025-12-14","duration":"03:02:14","url":"/play/18960025.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNWU0NDAzNjdhYTY5MzJkMzk1NmMxODMzMjIzYTg4MmIuanBn.cache","vod_id":19002299,"title":"Alice yang memiliki ukuran payudara E ingin berinteraksi dengan pria kulit hitam tampan, dan menyukai banyak pasangan, ditambah dua penis besar lagi untuk dia gunakan.","lastmod":"2025-03-23","duration":"01:05:13","url":"/play/19002299.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvN2Y4YmViNmFiNWI3ZmI3ZDJjOWZmNTg1M2NmNTE0ZjQuanBn.cache","vod_id":19142353,"title":"Wanita pirang, berkulit putih, berpayudara besar, jalang yang sedang bercinta penuh gairah dengan pacarnya.","lastmod":"2026-02-08","duration":"18:53","url":"/play/19142353.html"}]},
videoTitle: 'Seorang mahasiswi yang menikmati masturbasi melakukan masturbasi pada pacarnya.',
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=/`;
}
};
}