Adik laki-laki yang hebat melakukan inses dengan kakak perempuannya, memperkosanya secara paksa saat dia sedang menstruasi, dan membuat rambut kemaluannya mengeluarkan asap.Adik laki-laki yang hebat melakukan inses dengan kakak perempuannya, memperkosanya secara paksa saat dia sedang menstruasi, dan membuat rambut kemaluannya mengeluarkan asap.","lastmod":"2026-07-11","duration":"25:33","url":"/play/19154489.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMDIvMDhiMmMzN2NlMDcwMzY1M2RkNTFhNjJhOTM2NWMzMTQuanBn.cache","vod_id":19098485,"title":"Skandal yang melibatkan seorang mahasiswi blasteran Tionghoa dan Jepang serta seorang selebriti yang penampilannya sangat kontras sehingga sebuah video dirinya bocor.","lastmod":"2025-10-01","duration":"23:16","url":"/play/19098485.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjgzYjI4Nzk2MjUwMWIyYjFjYWJlMWI1NDUxMGI4YWIuanBn.cache","vod_id":18973382,"title":"TMG018 Adik ipar perempuan melakukan inses dengan kakak ipar laki-laki","lastmod":"2025-03-28","duration":"30:03","url":"/play/18973382.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYzQ2NzVlMmNiODI5MTQ5M2IwZDMyZmQ3NzRhZDE1ZjIuanBn.cache","vod_id":19125048,"title":"Kubis yang bagus semuanya... diberikan oleh babi... seorang siswi SMA tertangkap dalam video sedang menghisap penis pacarnya di tangga sekolah. Video tersebut telah bocor.","lastmod":"2026-02-16","duration":"03:04","url":"/play/19125048.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9zYnp5dHBpbWc0LmNvbTozNTE5L3VwbG9hZC92b2QvMjAyNjAyMjQtMS8xNGExM2FlMDRkNTFmYTIwYzU0ODI4MGE2NzYwNjc0Yi5qcGc=.cache","vod_id":19126759,"title":"Wanita seksi berbaju dalaman hasil foto diri premium","lastmod":"2026-02-24","duration":"18:25","url":"/play/19126759.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MTUvY2E3NTlhMGQ4NzExMjNjYjc1MjE2MTk2NGVkZjJlYmEuanBn.cache","vod_id":19095574,"title":"Selebriti internet CC, streamer langsung, dewi, membuat lubang merah muda skala besar yang dipersonalisasi terbaru untuk kesejahteraan.","lastmod":"2025-09-14","duration":"28:29","url":"/play/19095574.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzIwODZmNGM4MjRjMDJhOWMyYTQwNTc3NzI0MWQwOTguanBn.cache","vod_id":19037488,"title":"[Skandal Online] Insiden video tidak senonoh seorang siswa SMP terjadi di Shangrao, Jiangxi.","lastmod":"2025-03-29","duration":"02:53","url":"/play/19037488.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MDMvZDY1ZDA1Yjg4NmFhZGQxZmFlZmFlMTg4ZDg4M2MxMWQuanBn.cache","vod_id":19093333,"title":"Selfie seks di kamar sewaan pasangan, lubang bakpao kukus, Guanyin si cantik sekolah duduk posisi lotus, gerakan sendiri, kulit putih, sangat kontras.","lastmod":"2025-09-02","duration":"17:47","url":"/play/19093333.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNzJmOWQzYjlkZTgyMDQ5OGM5NzZjODliNjFhODk4YzguanBn.cache","vod_id":19117869,"title":"Seorang pria berkacamata tertangkap basah mencuri uang dari seorang wanita cantik dan seksi di sebuah hotel. Setelah ejakulasi, ia mencoba mencuri uang wanita itu tetapi ketahuan. Video lengkapnya telah bocor.","lastmod":"2026-01-12","duration":"01:07:38","url":"/play/19117869.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYWQ4YzhmMThlMTM1MjNmNWM1NmJlYzU4NjAyYWYzYWYuanBn.cache","vod_id":19011282,"title":"Pembaruan September: Adegan seks berkelompok yang sangat cabul! Seorang pria yang dikhianati istrinya menyewa empat rekan kerja pria dari tempat kerjanya untuk berhubungan seks dengan istrinya, [Nyonya Ping]. Wanita yang sudah menikah itu montok dan menawan; adegan seks luar ruangan 5P dengan gaun pengantin.","lastmod":"2025-03-28","duration":"48:31","url":"/play/19011282.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDljMmRjM2YwNzdmNDkyOTlhNDE3MjI2MzY4Njc2ODYuanBn.cache","vod_id":19030259,"title":"Video seorang wanita yang sudah menikah sedang berejakulasi secara liar telah bocor setelah direkam secara diam-diam oleh seorang pria paruh baya! (7)","lastmod":"2025-03-29","duration":"02:58:32","url":"/play/19030259.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNGY2MWZiNWYzYmE2ODdmYTFlYzdiOGM4NWMzMDZlMjMuanBn.cache","vod_id":19116751,"title":"Adik perempuan, yang belajar tari, menjadi subjek hubungan inses yang provokatif dan melampaui batas perilaku yang dapat diterima.","lastmod":"2026-01-06","duration":"31:07","url":"/play/19116751.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNGIyZTNkODJiM2Y1OWQ3NmUzZmVhMzdjMzM5YWNhMGMuanBn.cache","vod_id":19016410,"title":"Seorang sekretaris yang sangat cantik dari sebuah perusahaan asing berhubungan seks dengan seorang eksekutif senior di sebuah hotel setelah pulang kerja dan mengambil foto selfie.","lastmod":"2025-03-29","duration":"24:41","url":"/play/19016410.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9zYnp5dHBpbWc0LmNvbTozNTE5L3VwbG9hZC92b2QvMjAyNjAyMjctMS9kMmQ4MDI0OTU3ZTY0Y2FhYzRlOWM1NGI0M2EwMjEzNy5qcGc=.cache","vod_id":19127190,"title":"Gambar dan Video MIDV-422-C NTR: Perlahan-lahan Merosot dan Dikhianati...!","lastmod":"2026-02-27","duration":"02:27:01","url":"/play/19127190.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MTYvN2FiODNmYWViMWViOTY0YWQ1NWE1ZDBmZmJhMjllMDcuanBn.cache","vod_id":19095744,"title":"Sebuah file yang bocor di penyimpanan awan memperlihatkan kehidupan sehari-hari seorang pacar yang sangat cantik dan manis dengan payudara besar.","lastmod":"2025-09-15","duration":"31:55","url":"/play/19095744.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDMxM2NiMzM1MzQxNmI5YzAwZTI4YzY1NmQ2NjQzNzAuanBn.cache","vod_id":18978489,"title":"ONEZ-214 Kami punya gadis-gadis super imut! Ayo bercinta di Kafe Kucing Meow Meow! Mitsuki Nagisa Vol.002 (Inses)","lastmod":"2025-03-28","duration":"01:59:46","url":"/play/18978489.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOGY5MjBjNmVmMjYzMThmYzI3MDg3ZjExYTUwMDhkNTMuanBn.cache","vod_id":19045007,"title":"Bonus eksklusif: Insiden seks oral di ruang kelas sekolah kejuruan, semua foto pribadi pasangan tersebut bocor! Payudara besar! Jaring ikan","lastmod":"2025-03-29","duration":"15:44","url":"/play/19045007.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MDUvOGYzZjFjZDk3YzkzNTZkMDA0ZDRmNDk1Yzg3NzNiMTEuanBn.cache","vod_id":19087948,"title":"Pasangan asing berfoto selfie","lastmod":"2025-08-04","duration":"06:00","url":"/play/19087948.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNWZkNWM0ZjI5MWMwMWEyZjgwMzhjZjJiZjcyOWJjODEuanBn.cache","vod_id":19122302,"title":"Foto-foto yang bocor dari seorang model muda menunjukkan seorang fotografer dan sutradara terlibat dalam hubungan seksual bertiga yang cabul di sebuah hotel pemandian air panas. Nama model tersebut, Xiao Qi, juga disebutkan.","lastmod":"2026-02-03","duration":"29:25","url":"/play/19122302.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjEvNmMxODcyYmExNmVmMjlkOWZkYjlhMWJkM2E3NTcyNDAuanBn.cache","vod_id":19150623,"title":"Seorang mahasiswa di Chengdu mengambil \"pinjaman telanjang\" dan berfoto selfie tanpa busana.","lastmod":"2026-06-20","duration":"04:04","url":"/play/19150623.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MDYvNWZiMjA2OTNjYzk5OGYxZWNmMTg0YmZkMzg2YzJkNzIuanBn.cache","vod_id":19153692,"title":"Kompilasi tindakan inses yang melibatkan perawan, menampilkan gadis-gadis muda yang diperkosa secara paksa.","lastmod":"2026-07-05","duration":"02:57:30","url":"/play/19153692.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYjNjZWEwMjczMWVhNTQ0OTM0Mjg3MzNiZjNhNjc4MDkuanBn.cache","vod_id":19119832,"title":"Tuduhan daring terbaru mengungkap seorang mahasiswi jurusan konservasi air dan teknik pembangkit listrik tenaga air di Universitas Menshilin yang tertangkap basah melakukan hubungan seksual dengan pacarnya di dalam kelas, beserta kumpulan foto yang memperlihatkan dirinya memergoki pacarnya sedang melakukan perbuatan tersebut.","lastmod":"2026-01-21","duration":"05:27","url":"/play/19119832.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MDYvNmU4NGY3ZTA4MDVjZTQ5MzkyOTJhMzMyNWNmZGRkMzAuanBn.cache","vod_id":19093789,"title":"Foto-foto close-up panorama definisi tinggi yang baru saja bocor memperlihatkan wanita-wanita bercelana legging dan sepatu bot di toilet restoran hot pot pada bulan Desember.","lastmod":"2025-09-05","duration":"11:04","url":"/play/19093789.html"}]},
videoTitle: 'Video hubungan inses terbaru bocor: saudara kandung dalam suatu hubungan, video inses yang mereka rekam sendiri bocor.',
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=/`;
}
};
}