Kakak yang hanya memakai baju dan tidak memakai seluar terkejut dan abangnya meniduri pukinya dengan kejam. Misono dan Hana","lastmod":"2026-07-11","duration":"","url":"/play/19244750.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMThjNzcyZjhjMTBmMTM3YTBiY2RmYmI1M2M4MzU1ZWYuanBn.cache","vod_id":19225410,"title":"JUR-561 Si cantik insomnia Suzunami ditiduri secara kejam dan dipancut di dalam oleh abang suaminya. Seks istimewa pai krim.","lastmod":"2026-03-30","duration":"1:56:15","url":"/play/19225410.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTM3MTA4ODA5Zjk1ZjkzNWIzOGE5ZWIyMDZiM2FlZmEuanBn.cache","vod_id":19103646,"title":"Sisa-sisa maruah terakhir yang hilang kepada suaminya yang curang, mendisiplinkan isterinya yang bernafsu, fetish kaki, stoking, punggung madu, faraj yang lembut, zakarnya yang mengamuk memukulnya pada kelajuan maksimum, meramas dan mencurah - video ejakulasi tanpa perlindungan.","lastmod":"2025-03-29","duration":"","url":"/play/19103646.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYzFjNTVlODNlNTQ5NmYzM2ZjMGQwYWUxYjAxNDFjZjEuanBn.cache","vod_id":19227877,"title":"DOMB-001 Bocor: Penguasaan Muktamad! Seorang perempuan jalang peringkat atasan ditiduri sehingga dia hilang kawalan ke atas pundi kencingnya, terpaksa mengalami pelbagai orgasme dengan ejakulasi dalaman.","lastmod":"2026-04-09","duration":"0:53:51","url":"/play/19227877.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMGJjYzg1MjkzNzg1OWJiZDJkODVjMjk1MzcyMjI0YjAuanBn.cache","vod_id":19230977,"title":"RealityKings: Bos pertengahan umur melakukan hubungan seks dengan pengasuh Alina Lopez di dalam keretanya, mengalami pelbagai orgasme dan ejakulasi yang kuat di dalam dirinya!","lastmod":"2026-04-26","duration":"0:24:21","url":"/play/19230977.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvY2I0NjU3ZjY5MmRhNTEwZWJkMGYzMTEyZGJjNDcwODAuanBn.cache","vod_id":19114159,"title":"[Wanita muda yang sudah berkahwin berselingkuh] Dia menunjukkan wajahnya sepanjang siaran langsung seks ghairahnya dengan abang sulungnya di sebuah hotel. Dia melakukan seks oral tekak dalam pada zakar besarnya dan membiarkannya menjilat kemaluannya untuk dilihat oleh lelaki lain. Dia juga melakukan seks tanpa perlindungan, mengerang dan mani di dalam dirinya.","lastmod":"2025-03-29","duration":"","url":"/play/19114159.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvMjY5MDJjMDkxNmFlNmNlNmY5YmMyYjk5MTlmMDExMjIuanBn.cache","vod_id":19235553,"title":"Hasutan waktu malam: seorang lelaki yang mengerikan tanpa henti menyerang seorang gadis yang manis dan seksi, memancutkan air mani di dalam dirinya sehingga dia meletup!","lastmod":"2026-05-16","duration":"0:40:33","url":"/play/19235553.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYWUwMTA3YzM3OTZmZmRkMmNmNWRlNGRkMjU5MzIyNTcuanBn.cache","vod_id":19241136,"title":"Gurun Liar! NieR: Bekas Machina diseksa secara kejam dan dimancutkan air mani di dalam oleh zakar gergasi sehingga dia kejang.","lastmod":"2026-06-18","duration":"0:05:28","url":"/play/19241136.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYWM5ODBmM2QxNTExMDQ0MzkxM2EyMGU4MDBiMzU5Y2IuanBn.cache","vod_id":19211063,"title":"Hubungan seks terlarang dan tidak bermoral antara guru dan pelajar! Seorang pelajar perempuan yang suci dan tidak berpendidikan telah didera secara seksual dan dimancutkan air mani oleh gurunya [GOJI-067]","lastmod":"2025-12-23","duration":"3:56:43","url":"/play/19211063.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjMvMzI4YzBmZjE4ZGU1YTYxMmQ1ZWQyNmQ5YWFlYjkwZDcuanBn.cache","vod_id":19242226,"title":"Mei Chuan Qin Yin, alat mainan seks terhebat, kewujudannya sedang disetubuhi dan dipancutkan tanpa henti di dalam.","lastmod":"2026-06-25","duration":"2:01:30","url":"/play/19242226.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZTljYzE4NTFlYjc1ZDdmYjFlZDdlMmY3ZTA4ZTBiZWUuanBn.cache","vod_id":19228774,"title":"Faraj teman wanita saya dijilat dan diseksa dengan begitu kuat sehingga dia mencapai orgasme dan hilang kawalan ke atas pundi kencingnya. Dia menjerit, merayu belas kasihan, dan berlutut, merayu untuk lebih banyak penembusan.","lastmod":"2026-04-12","duration":"0:36:53","url":"/play/19228774.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOTk0YTg5MWE5NmJlOWU3MDIyYTczZWIwMDIwNmI3OTAuanBn.cache","vod_id":19215891,"title":"FOCS-277 Ketua Asrama Pemberontak dengan Payudara G-cup Ketagih Melancap; Pertempuran Orgasme 4P Gadis Seksi Berkulit Gelap; Rekod Semburan Air Kencing yang Tidak Bermoral","lastmod":"2026-02-05","duration":"2:01:03","url":"/play/19215891.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYWUxZjg3Yzc0MjgzZTIwNWFhZWZhMWEwMzY2NjVlNmMuanBn.cache","vod_id":19212102,"title":"Cik Yuri berubah menjadi seorang wanita yang sudah berkahwin dan lucah, masokis! Dia menjalani latihan kejam jauh di dalam tekaknya, termasuk rogol esofagus dalam-dalam dan ejakulasi di dalam dirinya, mengakibatkan kehamilan! Nombor katalog: MIAB-500","lastmod":"2025-12-30","duration":"2:25:51","url":"/play/19212102.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjk1MDEwODNjYmY3N2FjMGE0NjZjM2NjY2E2ZDkwZTYuanBn.cache","vod_id":19103396,"title":"Tukang tukar pakaian stoking hitam berbingkai merah, kita sudah lama berkahwin dan sekarang awak tak minat saya lagi, kan? Saya akan tetap melakukannya. Saya selalu bermimpi untuk hamil dan menuntut semua lelaki kacak memancutkan air mani di dalam badan saya tanpa kondom. - Video rakaman kendiri Cina","lastmod":"2025-03-29","duration":"","url":"/play/19103396.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTNkZmQ2NTlmYjBkODA3NzA1MWJjNTFiZDBiNGM4NjQuanBn.cache","vod_id":19169970,"title":"Kalau kau boleh tahan, aku akan biarkan kau pancut dalam diriku.","lastmod":"2025-03-29","duration":"03:07:44","url":"/play/19169970.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOTU3M2UwMmRjNGIzNGExNDk3MjI4YzJlOTcwY2M0MDMuanBn.cache","vod_id":19233258,"title":"[Fiksyen Fans] Idolmaster Idol Berpayudara Besar 60fps Seks Payudara dan Pancutan Mani HD Versi SE","lastmod":"2026-05-06","duration":"0:05:07","url":"/play/19233258.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjMvYjA3MTRkYTI1ZDhlM2Q2YTc4NTI5YjA5YWMzOTRiZTYuanBn.cache","vod_id":19242596,"title":"Tempahan bilik hotel! Seorang gadis sekolah menengah yang masih dara ditiduri secara kejam dalam pelbagai posisi; daging muda, ejakulasi dalaman sangat menyeronokkan!","lastmod":"2026-06-27","duration":"0:57:05","url":"/play/19242596.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvNDNkNGJiMmZlNzg3NWZjNGJmNDQ5NGU3ZTU0MjhkMDcuanBn.cache","vod_id":19238160,"title":"Syurga Salon Kecantikan: Kanon Urara, Kato Momoka, Ichijo Mio - Hubungan seks berterusan tiga lubang dan ejakulasi dalaman","lastmod":"2026-05-30","duration":"2:11:46","url":"/play/19238160.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTAvYTIxNmU2NGJkNzUyMzcwMGE4NTk5YTRmNTViOTQ4MzUuanBn.cache","vod_id":19245893,"title":"Khidmat Oral Terbaik Izumi Momoka Syaitan Kecil! Menjilat Tongkat dan Bercakap Lucah, Walaupun dengan Teman Wanita, Dia Masih Terpikat dengan Si Sesat dan Kena Suntikan","lastmod":"2026-07-11","duration":"","url":"/play/19245893.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYmNkMTQ0MTUxOTQxMWJkMTczMmM0Y2YwYjU1NzgyZTMuanBn.cache","vod_id":19223921,"title":"MMD24 Glorious BAAMx Perempuan murahan berpayu dara besar berkualiti tinggi ditiduri secara kejam sehingga dia memancut liar, pancutan air mani berganda di dalam dan muka.","lastmod":"2026-03-26","duration":"0:02:10","url":"/play/19223921.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNTFmZmRkZjAzMmU3ZWE4MTdhM2Q4OTFhZTNmMzFiYTIuanBn.cache","vod_id":19226016,"title":"Seorang wanita langsing yang sangat cantik dan menawan, mengidamkan seks, ditumbuk tanpa henti oleh zakar yang besar sehingga dia melimpah ruah dengan cairan.","lastmod":"2026-03-31","duration":"1:03:34","url":"/play/19226016.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZDZjMzM2ODY5YTkyYWMwY2FiOTYyZThjNzkwODg3OTguanBn.cache","vod_id":19232435,"title":"Seorang gadis cantik dari sekolah menengah atas dengan stoking putih yang memukau dan kaki yang cantik; kecantikannya luar biasa; dia aktif menggoda dan tanpa henti menembusinya sehingga lelaki itu memancut di dalam dirinya, mencapai orgasme.","lastmod":"2026-05-02","duration":"0:12:16","url":"/play/19232435.html"}]},
videoTitle: 'Dua lelaki dalam talian meng-rap dua gadis panas bergaya dalam pesta seks 4P dengan pancutan mani di dalamnya!',
language: 'ms',
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('Pautan disalin!');
}).catch(() => {
// 降级到旧方法
document.execCommand('copy');
alert('Pautan disalin!');
});
} else {
// 降级到旧方法
document.execCommand('copy');
alert('Pautan 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=/`;
}
};
}