[Diari Sumbang mahram 20-22│22] Seorang lelaki dara menghabiskan setengah tahun merakam hubungan sumbang mahramnya dengan gambar dan garis masa: daripada menggoda ibunya hinggalah merakam secara rahsia dan akhirnya secara terbuka melakukan sumbang mahram~ Bahagian 20-22 daripada 22!
Rekod Minum Bilik: Kumpulan Nishino Otoko Pendatang Baharu Amatur dan Rakan-rakan Ceria Mereka - Puak Khayalan","lastmod":"2026-07-11","duration":"02:06:39","url":"/play/19163222.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmNhZWFjNDEzNDMwMjc4N2FjYTVlODUwZjU1YzFmZGIuanBn.cache","vod_id":18984909,"title":"HBAD-399 Mencium Payudara Besar Sumbang mahram: Tubuh Anak Perempuan Saya yang Nakal Adalah Mainan Sempurna untuk Memuaskan Keinginan Seksual Saya - Marina Yuzuki","lastmod":"2025-12-14","duration":"02:04:12","url":"/play/18984909.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MjUvYjhlYjk0ODY5YzE0ZTVmZDNjMWMyZjY0NjlmOGYzOWQuanBn.cache","vod_id":19039888,"title":"GNS123 [Realiti Masyarakat Pengawasan] Kamera Pengawasan #Kamera Genggam #Rakam Sneak dengan Kamera Telefon Bimbit #Pornografi Dendam?","lastmod":"2025-06-24","duration":"05:01:22","url":"/play/19039888.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzc5OWM3YWU1M2IzNWY3ODM3OGZlZmVkYzdkYTY4ZDMuanBn.cache","vod_id":18990448,"title":"ION-038 Miho (Sumbang mahram)","lastmod":"2025-03-23","duration":"01:07:27","url":"/play/18990448.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MDMvYzQ5NDVjZmVhYWQ1ZjEwM2ZmNGRmODg1NWRiYjE3NmIuanBn.cache","vod_id":19045031,"title":"Hubungan sumbang mahram dalam kehidupan sebenar antara ibu dan anak: ibu melakukan seks oral pada anaknya, seks yang penuh ghairah di atas sofa.","lastmod":"2025-08-02","duration":"15:05","url":"/play/19045031.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZjgxYmFiZWNmNGMwM2Y3NDZiNzBhM2E3ZjIyZjJjMDkuanBn.cache","vod_id":19156151,"title":"Seorang pekerja pembinaan di tapak tersebut bermain dengan seorang wanita muda yang berpunggung besar dan nakal, melakukan hubungan seks tanpa perlindungan dan memancutkan air mani di dalam dirinya, membuat faraj wanita itu menjilat zakarnya.","lastmod":"2026-05-02","duration":"18:07","url":"/play/19156151.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTEvNWRlZjY2ZGQ0Y2VjZGY4NmRmOTFmOWYyMWU5NTdhNWMuanBn.cache","vod_id":19167873,"title":"Rekod pendidikan seks oral antara bapa dan anak perempuan. Nana Minami, SOD","lastmod":"2026-07-12","duration":"02:08:04","url":"/play/19167873.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MDgvNTUwOGU0NmFiZmU2NzY3NzAxMjVkNDJhMzAzMGZiZjUuanBn.cache","vod_id":19037078,"title":"KSBJ321 Seorang isteri lucah yang gemar menghisap dan menggoda bapa mertuanya dengan lidahnya yang lucah.","lastmod":"2025-06-08","duration":"01:59:48","url":"/play/19037078.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZGRjMGI3Y2Y3OGQ2ZjVhMjFkNTMyMDM5MjVhN2EzN2YuanBn.cache","vod_id":19003607,"title":"SPRD-1109 Ibu Disuntik dengan Ejakulasi di Dalam Anak Lelakinya Buat Kali Pertama - Miyuki Nishino","lastmod":"2025-03-23","duration":"01:53:46","url":"/play/19003607.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvZmNkNTljNTU3MDhiZDU5NjFjZTgyMmU4ZWUyNGM0NGYuanBn.cache","vod_id":19066070,"title":"Seorang wanita lucah berkulit cerah, ditutup matanya, melakukan seks oral pada seorang lelaki muda yang kemudian menungganginya dan menidurinya.","lastmod":"2025-12-14","duration":"03:58:10","url":"/play/19066070.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTNjMzYzZTE0MWI1ZjIzYjBhMzk1OWVhZDNhODMwNDQuanBn.cache","vod_id":19024533,"title":"Gadis cantik itu menghukum pemuda itu.","lastmod":"2025-03-24","duration":"26:28","url":"/play/19024533.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MDgvMmI3NzM3M2MzMTY2OTVlOWM4ZGYyZWIzNzYyOTQzMTkuanBn.cache","vod_id":19036960,"title":"JUQ786 “Sekejap, tolong benarkan saya masuk!!” Saya berasa simpati yang mendalam terhadap abang ipar saya yang berusia 30 tahun dan masih dara, berharap dia dapat melakukan hubungan seks sepanjang hayatnya.","lastmod":"2025-06-08","duration":"02:02:15","url":"/play/19036960.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjMvM2ZjZGYyOGVjYjEzM2Q1ZDQyODkzZGM0YzhhZDdiODYuanBn.cache","vod_id":19058991,"title":"Selepas mengintai isteri dan ibu saya sedang mandi, saya ternampak ereksi saya yang besar. Isteri dan ibu saya secara rahsia membantu saya menyembuhkan... (Usami Sui NGOD237)","lastmod":"2025-10-22","duration":"02:00:18","url":"/play/19058991.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MDgvOWU4M2Y4OWE0Y2NkMTlmOGU5Y2MyNTJlMmQyNDAyYjUuanBn.cache","vod_id":19051530,"title":"Perlembagaan romantik yang melilit dan melahap seperti ular. Penampilan sulung AV ibu tunggal Imai Yurina yang kecewa. (336DTT053)","lastmod":"2025-09-07","duration":"01:55:07","url":"/play/19051530.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNjRmOTU0OTM5ZTZlYTg5YzE4NGI0OTM5ZGNiMDA0NGIuanBn.cache","vod_id":19143394,"title":"Seorang gadis muda yang sangat cantik menggoda seorang jurugambar; selebriti internet Suzuki Misaki, seorang cosplayer berambut putih yang lembut, memakai stoking hitam dan terlibat dalam fetish kaki_2","lastmod":"2026-02-14","duration":"29:50","url":"/play/19143394.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTRmMWU3MzMzOTY4YWFjYzRkMGI5NGY5ZTQyN2Y4MDMuanBn.cache","vod_id":18962608,"title":"200GANA-2051 Seorang jurugambar pikap berpengalaman membawa seorang gadis kembali ke biliknya dan secara rahsia merakam mereka melakukan hubungan seks. 122 Berasa tidak puas hati selepas perjumpaan sosial yang mengecewakan!","lastmod":"2025-12-14","duration":"01:01:08","url":"/play/18962608.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvMjlkMjg5ZDMwZmMwMDc2YzZmMDBkZjZkYTNhNWY0YmEuanBn.cache","vod_id":19065366,"title":"Puting seorang wanita biasa yang sudah berkahwin dan berpayu dara besar diganggu secara seksual setiap hari oleh bosnya, sehingga mencapai puncak orgasme. (Irida Maaya DLDSS_336)","lastmod":"2025-12-14","duration":"02:03:21","url":"/play/19065366.html"}]},
videoTitle: '[Diari Sumbang mahram 20-22│22] Seorang lelaki dara menghabiskan setengah tahun merakam hubungan sumbang mahramnya dengan gambar dan garis masa: daripada menggoda ibunya hinggalah merakam secara rahsia dan akhirnya secara terbuka melakukan sumbang mahram~ Bahagian 20-22 daripada 22!',
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=/`;
}
};
}