Isteri Abang yang Cantik Saya menemui rahsia adik ipar saya yang cantik dan sangat kecewa, dia sedang mencari aplikasi mencari jodoh. Hamasaki Mao, Page Jane","lastmod":"2026-07-11","duration":"02:07:13","url":"/play/19162697.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjQ2OGI4MDE1ODZlNDIwN2MxMzlmODIwOTVkYjliMzcuanBn.cache","vod_id":18992416,"title":"DDHZ-005 Isteriku tersayang… Aku rasa teruja melihat dia dipeluk oleh seorang pemuda dan menggeliat dalam klimaks betul-betul di hadapanku. Asuka Rin 1","lastmod":"2025-03-23","duration":"01:46:04","url":"/play/18992416.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjI2ZThhYjA3MGM5MmY0OGM2ZWQ4NzYwYjBhM2VhZWYuanBn.cache","vod_id":19007917,"title":"KBI012 - 1 orang yang berpengalaman! Natsume Sayuri, seorang isteri guru yang sangat berterus terang dan aktif yang hanya pernah bersama suaminya, membuat penampilan sulung AVnya.","lastmod":"2025-03-24","duration":"03:15:08","url":"/play/19007917.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjEvZDUzODY2Mjk1Y2JhMmVmNmM0NzRmYTFmMmNkNmFiYWMuanBn.cache","vod_id":19058962,"title":"Isteri amatur yang jelas wanita matang POV Bahagian 4 Kebocoran sebenar peribadi Pak Cik Sukehei Pelakon tidak diketahui SJHD004 bocor","lastmod":"2025-10-20","duration":"04:13:32","url":"/play/19058962.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTEvMGJmODQ3ZGY5MDM0NjI0MWVmNmQ0ZDY1NGNlMGZiZTUuanBn.cache","vod_id":19169055,"title":"Gach...rakaman rahsia Ririka Amano idola iGravure sebelum debut AVnya. (Amanyu Ririka CAWD803)","lastmod":"2026-07-20","duration":"02:33:31","url":"/play/19169055.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzNlYzljMGMxYjUyYjlhNTZhZjVlNWNlNTgwNTkzMjUuanBn.cache","vod_id":18983036,"title":"[Tanpa Penapisan] SNIS-613 Pendatang Baru NO.1 GAYA: Pinggang Ramping \"W53\" Kitagawa Yuzu Debut AV","lastmod":"2025-12-14","duration":"02:49:16","url":"/play/18983036.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjkyNzg1NTVjZWNmYTA1OTcwMTExMGE1ZDQyZjc5MTkuanBn.cache","vod_id":18979359,"title":"Seorang dewi dengan penarafan kecantikan 9/10 yang menakjubkan! Pinggang ramping dan kakinya yang cantik sangat memikat! Punggungnya yang montok terangkat sempurna, dan dildo dimasukkan dari belakang, farajnya yang tidak berbulu dan seksi ditembusi jauh dengan setiap tusukan, ekspresinya sangat menggoda.","lastmod":"2025-12-14","duration":"02:19:54","url":"/play/18979359.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZGRjMWNkODZkNTBkYzAwZjY3NGJiMDM4NjdiZjcwYzIuanBn.cache","vod_id":19147698,"title":"Pertunjukan Super Dewi asuna_love2-6","lastmod":"2026-03-11","duration":"04:06:28","url":"/play/19147698.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTNkNTE2NGM5NjkxYzc2MmQzNzNkZDlhN2RkOTI2ODkuanBn.cache","vod_id":18937713,"title":"Suami saya yang seksi dan nakal selalu datang kepada saya untuk menghilangkan dahaganya setiap kali dia berada di luar negara untuk urusan perniagaan.","lastmod":"2025-12-14","duration":"00:14:06","url":"/play/18937713.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMTQvZTcwYjk2MDkxYmQxMjgyOWQxNzhhNDBkY2M0MGNiN2EuanBn.cache","vod_id":19057746,"title":"Seorang heroin tahap dewi turun - menjilat dan bermain dengan zakar yang cantik, dibalut dengan air mani dan diberi seks oral.","lastmod":"2025-10-13","duration":"06:20","url":"/play/19057746.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTc1ZmYxNGQ5M2I3NzJjMWJjNWIxODExNDgwZjcyOWQuanBn.cache","vod_id":18973254,"title":"[Tanpa Tapisan] 348NTR-049 Seorang isteri G-cup yang sangat nakal yang tidak pernah dapat menghilangkan tabiat curangnya. Kami menemui pasangan berhampiran Kuil Senso-ji... atau begitulah sangkaan kami, tetapi mereka sebenarnya pasangan suami isteri!","lastmod":"2025-03-23","duration":"01:22:17","url":"/play/18973254.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjMyMzY3NGRkMTM1NWZlMDAzNGVhMjJhOWE3NzgxNzEuanBn.cache","vod_id":19016466,"title":"Jelly Media - Isteri Mandul yang Terdesak untuk Mempunyai Anak Berunding dengan Doktor Perubatan Tradisional Cina - Bai Jingjing","lastmod":"2025-03-24","duration":"50:35","url":"/play/19016466.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZWY4OGJlNzJlZTc4MDdlZjM0YzFlYTJmM2VjNWNlOTcuanBn.cache","vod_id":19017943,"title":"Jelly Media - Dorongan Ibu Membawa Kepada Kebejatan Kerana Zakar Anak Lelaki Yang Tebal - Du Juan","lastmod":"2025-03-24","duration":"43:43","url":"/play/19017943.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDY3OTI2YmY1NmRiYzk0MDhjMGIzOTcwOWU2YzNiZjEuanBn.cache","vod_id":18981401,"title":"[Tanpa Penapisan] DLPN-026 \"Saya agak bangga dengan punggung saya.\" Mizuki (31 tahun), seorang isteri yang penuh nafsu, menggoncang punggungnya yang penuh dan seksi, menikmati keinginan seksual.","lastmod":"2025-03-23","duration":"02:03:33","url":"/play/18981401.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNTA3OGYzMWU2ZmQxYTY3NzlhNzg1NjZhZGY2ZWE4OGUuanBn.cache","vod_id":19141649,"title":"Seks dengan isteri jiran. Dua hari, tiga hari, dan dua malam tanpa isteri. Isteri jiran datang dan pergi seorang demi seorang... kisah sperma kosong saya. Vol.02 HEZ-831","lastmod":"2026-02-05","duration":"02:22:32","url":"/play/19141649.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MTUvMDE2OTZhMjcxOGIzMDhhYzg0NjA4NzQzYTAzMGNiOWMuanBn.cache","vod_id":19043101,"title":"EMBM038 Riku (32 tahun), isteri yang patuh dan curang terhadap suaminya, telah melakukannya.","lastmod":"2025-07-14","duration":"01:46:20","url":"/play/19043101.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzRlYzAyZDZmY2E0MmE0OTgxMzgyOTIyNzExNDUxYjguanBn.cache","vod_id":18948761,"title":"Adik perempuan yang sangat seksi, susuk tubuh yang menakjubkan dalam pakaian seragam dan pakaian dalam, seks oral dengan dildo dan sedikit susu, begitu slutty, duduk di atas dildo dengan punggungnya terkeluar sambil menggosok payudaranya, dan kemudian penembusan dubur.","lastmod":"2025-12-14","duration":"02:13:10","url":"/play/18948761.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDdmMjczNWVhMWVkNDUyNDAwOGE0NzBjYjVjZWRiZTMuanBn.cache","vod_id":19004850,"title":"Menjilat alat kelamin kakak saya... Saya tidak pernah tahu dia begitu seksi!","lastmod":"2025-03-23","duration":"11:46","url":"/play/19004850.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNDllZGE3NGU1NmJiOGIyYjM1ZWM5Mjc5NGEwNjI2MmUuanBn.cache","vod_id":19140626,"title":"Xu Huihui, 91cm-156cm, ialah seorang isteri yang luar biasa penyayang. Jika suaminya tidak menyayanginya, orang lain akan menyayanginya.","lastmod":"2026-01-28","duration":"24:46","url":"/play/19140626.html"}]},
videoTitle: 'IPX-346 Isteri tahap dewi muncul dalam AV! Ibu kepada dua anak... Sangat cantik! Sangat memikat! Sangat seksi! Nozomi Satsuki 1',
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=/`;
}
};
}