Penembusan AVDEBUT ladyboy baharu, orgasme pertama dalam hidup Momona Mikami三神ももなグローリークエスト","lastmod":"2026-07-11","duration":"02:54:28","url":"/play/19165948.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDhlMjViMDViN2U1ZGYzZmU5NWM1OTIwOGMwYmY5YTUuanBn.cache","vod_id":19012294,"title":"200GANA2227 Seorang pemain wanita berpengalaman membawa seorang gadis kembali ke biliknya untuk melakukan hubungan seks, dan kamera itu dirakam secara rahsia. Jururawat setinggi 151cm, comel dan kecil molek! Saya sangat letih selepas keluar kerja, tetapi apabila saya menciumnya, alat kelamin saya mula sakit... Saya akhirnya melakukan hubungan seks dengannya sambil mengerang.","lastmod":"2025-03-24","duration":"01:03:14","url":"/play/19012294.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTU3MDdlY2VhYTg1NWFjMDYyOTJhNjU0NDFkYjQwYTMuanBn.cache","vod_id":19011420,"title":"413INST018 telah menjalinkan hubungan sulit dengan seorang pelajar kolej wanita yang berdada besar selepas sekolah. Semasa saya meneroka sebahagian daripada vulvanya yang lembut, payudaranya mula melantun, dan dia menjadi liar dengan keseronokan! Dia melebarkan faraj mudanya dengan kasar, memasukkan zakarnya ke dalam rahimnya yang tunduk, sambil berkata, \"Ini terasa lebih baik daripada teman lelaki saya!\", dan secara tidak bertanggungjawab mengeluarkan sejumlah besar air mani!","lastmod":"2025-03-24","duration":"01:02:29","url":"/play/19011420.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNGIyOTE1ZmFjZTk4YjY0ZTcyYzQ3NTM5YjIxNDA0M2IuanBn.cache","vod_id":18927472,"title":"Platform comel (dahulunya Kawaii) itu menampilkan seorang wanita matang yang cantik, Princess Seven, dan pasangan seksnya yang terlibat dalam aksi seks yang ghairah, termasuk menjilat dan menjilat faraj antara satu sama lain – satu adegan yang sangat lucah.","lastmod":"2025-12-14","duration":"01:05:30","url":"/play/18927472.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MTQvM2Y5MzE0ZWQ3ZmExMTVjMTkxYTM1MzhjMTQ4MzM2NDMuanBn.cache","vod_id":19052616,"title":"[Cina] SONE671 Pembantu rumah saya yang sangat comel sukakan banyak rawatan muka, jadi saya akan memanjakannya dengan seks berkumpulan rawatan muka!","lastmod":"2025-09-13","duration":"01:58:09","url":"/play/19052616.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MDYvNzI5MzU4NGM5NmNiNmQ3MGYyY2RhYmRmMzc4Njg2MDAuanBn.cache","vod_id":19032290,"title":"200GANA-2812 Seksi dan lembut, kali pertama menjalani penggambaran. Pada tahun 2020, selepas pulang kerja, saya mendekati seorang wanita cantik yang langsing dan bergaya unik di Ikebukuro!","lastmod":"2025-05-06","duration":"01:09:43","url":"/play/19032290.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDgxNjMxZjg1ZTg5ZGFiMzM0NGY0MDQzYjRmNGJhM2QuanBn.cache","vod_id":18974896,"title":"LLAN-002 Pelajar kolej wanita. Dara. Satu perasaan baharu... Fikiran saya digoncang oleh emosi baharu buat kali pertama... Saya rasa saya suka wanita...","lastmod":"2025-03-23","duration":"01:45:32","url":"/play/18974896.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNGYyYTMzYTE0N2MwZDc1Y2Q5OWFlMGFlODk3YWYxMjQuanBn.cache","vod_id":18976030,"title":"LZDQ-019 Aksi seks lesbian dengan sahabat baik saya! Seorang gadis pemalu, manja dan temu janji pertama seorang gadis yang tidak bersalah di rumah - Chiyo Chigusa, Kurumi Shiki","lastmod":"2025-12-14","duration":"02:11:52","url":"/play/18976030.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvODE5YzI0NmQ2NjdkZmEzYzVkODI0MmJjNzViMDNlZTIuanBn.cache","vod_id":19157479,"title":"Tembakan Pertama: Rekod Wanita Berkahwin - Horiguchi Sayuri (センタービレッジ)","lastmod":"2026-05-10","duration":"01:57:19","url":"/play/19157479.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzllYWE3MTEzMmNlMTM2YzUxNTcwMjc3NmQ2ZDkyODIuanBn.cache","vod_id":19026509,"title":"Laguju TV 1318 Saya ingin melakukan pengembaraan sebelum perkahwinan saya... Disebabkan oleh perasaan seksual saya terhadap teman lelaki saya, Shiki Akane 259LUXU-1335-C","lastmod":"2025-03-27","duration":"01:11:55","url":"/play/19026509.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDRhZGFjMjg5ZjgyNTAxNmRmNDNmMmE4ZDc4Yjg4ZmIuanBn.cache","vod_id":18973033,"title":"【Cadangan Hebat ❤️】Lolita Harimau Putih 'Xiao Qi Ruan Tongxue' Adik perempuan saya sangat comel, stoking putih panjang JK, gadis yang suci dan menggoda, rambut panjang hingga ke pinggang, punggung pic, faraj kecil berwarna merah jambu dan tidak berbulu.","lastmod":"2025-03-23","duration":"00:22:28","url":"/play/18973033.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZGZlZDZkMGM1N2EzZmIzYzQ2ZTU1NmU0ZmFhYTBiNTEuanBn.cache","vod_id":18944896,"title":"XXX-AV 24198 Payudara Cantik Ibu Tunggal Comel Amatur Bergoyang Seks Lakonan \"Meow♪\" Vol.01","lastmod":"2025-12-14","duration":"00:24:56","url":"/play/18944896.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MjcvYmY5MDgzOWEyYWE5OTkzYjU1NjljODhhNmEzZDdiNzIuanBn.cache","vod_id":19035331,"title":"HMN371IQ140! Pintar, kebudak-budakan, seksi, bijak, langsing, seorang pelajar yang baru pulang, kali pertama pelajar universiti yang aktif mengalami ejakulasi primal.","lastmod":"2025-05-27","duration":"02:30:48","url":"/play/19035331.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjU5ZmZlYmY4MWExYWNlNWJmMDFiMDJjYjZiMWM5YWMuanBn.cache","vod_id":19022833,"title":"FC2 PPV-807966 Keluaran Pertama ♥ Model Aktif JD ♥ Pengalaman Bogel Pertama Wanita Muda Langsing Kelas-S ♥ Walaupun penampilannya kemas, sebenarnya... air mani mengalir dari lipatan vulva lucahnya.","lastmod":"2025-03-24","duration":"04:49","url":"/play/19022833.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDZjMWFmMzFmZjJmZDhkNzdlYzI0ZWM5MDI5YjRkMmMuanBn.cache","vod_id":18994049,"title":"SIRO-3886 [Penggambaran Pertama] Permohonan AV Dalam Talian → Penggambaran Pengalaman AV 1016 Seorang gadis yang tidak pernah mengambil swafoto dengan teman lelakinya sebelum ini berasa gementar dengan penggambaran pertamanya! Seorang gadis cantik yang tingginya 170cm dan mempunyai kaki yang cantik, pergerakannya yang sedikit kekok menunjukkan kontras yang menawan! 1","lastmod":"2025-12-14","duration":"57:38","url":"/play/18994049.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MTgvMTIzMWRjMGZmM2ZhMzI5ODljYmU0MWI1NGQ1YjU2ZjEuanBn.cache","vod_id":19029811,"title":"Ketua wanita jahat itu membangkitkan kuasanya dalam episod pertama.","lastmod":"2025-04-18","duration":"29:49","url":"/play/19029811.html"}]},
videoTitle: 'FC2PPV 3275049 Telanan pertama Erika! Wajahnya yang comel dipenuhi air mani!',
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=/`;
}
};
}