Mesin jilat amatur yang tidak dijangka, 50 ejakulasi ejakulasi berturut-turut yang sengit! Pilihan seks oral terunggul untuk jelita kelas-S amatur kelas-S","lastmod":"2026-07-11","duration":"04:00:34","url":"/play/19154164.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOTQ4NTlhOWM5NDdiZGFmOTRhNzRkMjQ0ZTBmMTBlYzEuanBn.cache","vod_id":19117609,"title":"Satu video seorang wanita yang mempunyai nafsu seks yang sangat tinggi yang kerap keluar untuk melakukan hubungan seks kasual dan kini sedang didedahkan telah muncul dalam talian.","lastmod":"2026-01-10","duration":"01:40","url":"/play/19117609.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvODVjYTg0N2I0YzkyMjNmNWE3ZmVmM2Y2ZTNlMmQzMzYuanBn.cache","vod_id":19124631,"title":"Skandal baharu yang melibatkan Sun Yunting, seorang pelajar di Akademi Seni Halus Guangzhou, telah timbul: satu video dia sedang menjalinkan hubungan sulit dengan rakan sekelas telah bocor, bersama-sama dengan gambar-gambar mereka berdua yang jarang ditemui yang menunjukkan wajah mereka. Perbezaan antara latar belakang seni mereka amat ketara.","lastmod":"2026-02-14","duration":"07:51","url":"/play/19124631.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvODE3NGFiYmZjNmVmN2UzMmI3N2E0YTVjNTcyZTY2MjEuanBn.cache","vod_id":19141124,"title":"Saya bertemu dengan seorang lelaki kacak di hotel untuk berseronok dengan isteri saya. Dia membuatnya berasa sangat seronok; isteri saya cantik dan mempunyai susuk badan yang hebat.","lastmod":"2026-05-04","duration":"11:20","url":"/play/19141124.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MTcvYjZmY2VmODU5YWIyZGEzY2Q5MzBlNDViOWFmY2U1NTMuanBn.cache","vod_id":19084377,"title":"Kecantikan berambut pendek di kolam renang vila","lastmod":"2025-07-16","duration":"32:23","url":"/play/19084377.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTVjOGU0YTNiNzA2NTY4OThhOGYwM2Y3NzYzNTQxOWEuanBn.cache","vod_id":18990544,"title":"Jualan dilanjutkan, harga dikurangkan lagi; video jualan akan dimuat naik.","lastmod":"2025-03-28","duration":"55:39","url":"/play/18990544.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMTJkMTlkNmQ1YzViMDI3MzkxOWE3ZGM5YzFkMDA4OTkuanBn.cache","vod_id":19006641,"title":"\"Siri Bunga Teratas\" - koleksi video yang menampilkan model bercetak terbaik, mempamerkan daya tarikan tulen dan memikat mereka serta menjadikannya sangat popular.","lastmod":"2025-03-28","duration":"21:08","url":"/play/19006641.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzI3MDliNjNlZmRiYjE3ZDExNDZhYTU0MWQ3ODYzZjEuanBn.cache","vod_id":18966063,"title":"SDNM-353 Seorang wanita cantik berkepala lapan yang ajaib, setinggi 171cm, yang juga merupakan idola gravure, berumur 41 tahun. Bab terakhir: Dia berbohong kepada suami dan anak-anaknya untuk datang ke sini. Hari ini, dia hanya mahu melupakan semua kerja harian… Perjalanan kolam air panas luar nikah dengan pesta seks dan klimaks yang sengit. Shirakawa Hanayoshi","lastmod":"2025-03-28","duration":"02:24:47","url":"/play/18966063.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MDcvZDI3MzRlMmZkYTQ3ZjVmNjIxMDcxOGE3ZjNjY2M0MjMuanBn.cache","vod_id":19147891,"title":"Seorang gadis Gen Z yang berdada besar terbangun dalam keadaan bosan semasa tidur petangnya dan memanggil seorang pelacur dari sebuah perkampungan bandar ke rumahnya. Pelacur itu ialah seorang gadis kampung muda yang langsing dan berpakaian seragam sekolah.","lastmod":"2026-06-06","duration":"09:43","url":"/play/19147891.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNjBkYzVmNmE0Njg3Nzc3OGY5ODVhZTIzMDE5ZjQxMDcuanBn.cache","vod_id":18961522,"title":"SDDE-680 sangat berkesan! Salun kecantikan lelaki popular yang menawarkan urutan punggung wanita – \"Sentiasa Separuh Bogel\" Salun Kecantikan Punggung – Tonton, Sentuh dan Jilat Punggung Terbaik untuk Melegakan Tekanan Harian Anda – Mao Kurata Manami Oura","lastmod":"2025-03-28","duration":"02:16:25","url":"/play/18961522.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZWNlMzhlODk0MTU1ODM2MWY2NGM5NWU1ZDhmYTU0N2YuanBn.cache","vod_id":19008770,"title":"Video Berbayar 91lisa untuk Melatih Little Jing Tian (131)","lastmod":"2025-03-28","duration":"01:11","url":"/play/19008770.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTk1NDkwM2JkMTY5MDg2MmY0MTE5NWRkYzA3Mjc0YjguanBn.cache","vod_id":19052099,"title":"KNB049 [Projek Penemuan Wanita Berkahwin KANBi] Video AV Pertama 02 Jika anda menepuk punggungnya, isteri yang gementar dan pemalu pun secara naluri akan mencari zakar...","lastmod":"2025-03-29","duration":"01:00:32","url":"/play/19052099.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODM1YTc1ZDU0YTM0MDEwOGFjNzNjM2NkNGRjODVjNGIuanBn.cache","vod_id":18960173,"title":"Seorang model PR wanita yang tinggi, langsing, berpakaian profesional, berambut panjang terurai dan perangai yang sangat baik, dengan bukaan atas dan bawahnya yang luas, telah membuat dua pemuda kehabisan akal.","lastmod":"2025-03-28","duration":"44:02","url":"/play/18960173.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MTcvZTk4OWVkOWFiNmU0Yzg2YTAxMGQwNDI4MDUwODQxNzUuanBn.cache","vod_id":19069965,"title":"Gadis bernilai tinggi berskirt pendek, ciuman Perancis, seks oral, mengurat, penembusan belakang, seks rancak, mengerang dan tercungap-cungap.","lastmod":"2025-04-17","duration":"38:05","url":"/play/19069965.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MDkvNWQ2YjU3ZDhkMmVkYWU5ODJlOGRiOGZjNTljMWU5ZDAuanBn.cache","vod_id":19148377,"title":"Siri Video Panjang Kelab Ayam: Seragam Pelajar Sekolah Lanjutan Seks Oral Darlings VS Pembebasan Anal","lastmod":"2026-06-08","duration":"53:24","url":"/play/19148377.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNGVhODY5NWIyYTkyNjVkYTBhZjI2NTFjOTljOGExMWEuanBn.cache","vod_id":18989362,"title":"Seorang wanita muda berambut pendek dan menarik sedang melakukan hubungan seks dengan pasangan seks kasualnya.","lastmod":"2025-03-28","duration":"01:21:21","url":"/play/18989362.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MTMvMDFiZTE4NWQxMGNiNWM2MDcyOTNlODgwOGU5M2RiYzUuanBn.cache","vod_id":19083579,"title":"Wanita muda setinggi 170cm, elegan dan berkaki panjang","lastmod":"2025-07-12","duration":"28:36","url":"/play/19083579.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNGE2OThlNjBmYWMxYTJlODMyZjlhYmM1MzE3YzUxOTIuanBn.cache","vod_id":19060643,"title":"Gaya Marina-chan dan segala-galanya tentangnya memang hebat.","lastmod":"2025-03-29","duration":"52:06","url":"/play/19060643.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTFjNTRiNWU4Nzg4ZjAwYzc0M2EyOTY1ZWQwYjc3YTkuanBn.cache","vod_id":19010746,"title":"#BungaCeriPertama#Kawaii#PenggodaAnchorCantik","lastmod":"2025-03-28","duration":"27:41","url":"/play/19010746.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMThlM2YwOWRjZGU1ZjgxYTJlMDc2YjhkNjRlMDE4NWUuanBn.cache","vod_id":19024092,"title":"Urutan Mewah MCSR-537! Seorang ahli terapi wanita matang yang sudah berkahwin akan memberikan anda rawatan yang menyeronokkan yang akan mengujakan anda! Rawatan terbaik termasuk rawatan yang melibatkan alat kelamin wanita yang sudah berkahwin dan melancap.","lastmod":"2025-03-29","duration":"03:19:16","url":"/play/19024092.html"}]},
videoTitle: 'Seorang model cantik dengan paras rupa, susuk tubuh dan perangai yang menarik terlibat dalam video seks!',
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=/`;
}
};
}