[Pertukaran Wajah] Seks berdada Lee Ji-eun di gimnasium...","lastmod":"2026-07-11","duration":"21:40","url":"/play/19166245.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMTIvNWM0MDRiYjZlOTc1MDZmNjRlNTM5Yzg4NmIyNGJjYmYuanBn.cache","vod_id":19057250,"title":"Pakar itu, Abang Ren, membuat penampilan pertamanya tanpa penapisan, melakukan hubungan seks dengan seorang pelajar tahun pertama kolej berusia 18 tahun yang mempunyai bakat atletik.","lastmod":"2025-10-11","duration":"12:05","url":"/play/19057250.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjE2OTY0ZTZjNzBkYWY4ZjEyMWI4OGY4YTgyNTA4YWQuanBn.cache","vod_id":18967214,"title":"[Tanpa Tapisan dan Dibocorkan] IPX-005 Pelanggan tetap berlimpah ruah! Bar yang dikhabarkan di mana anda boleh melakukan seks sebenar! Nikmati gadis montok F-cup sepenuhnya! Kana Momogi","lastmod":"2025-03-22","duration":"01:58:35","url":"/play/18967214.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjA5OWNmNGU2MjBkMzZlMTUzOGNhNmFiYjFkMTFiMmEuanBn.cache","vod_id":18962043,"title":"Seorang perempuan jalang berekor kuda, melancap dengan penggetar dan jarinya dimasukkan ke dalam farajnya tidak mencukupi, jadi dia memasukkan zakar ke dalam mulutnya, dan mubaligh itu melakukan rutin jackhammer.","lastmod":"2025-03-22","duration":"00:47:04","url":"/play/18962043.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2M1MTlkYjYwYmY4NThkNDI4NDhlYWQ2ZDBiNzFmMzQuanBn.cache","vod_id":18980607,"title":"[Sarikata Cina] IPZZ-061 Guru Pertengahan Umur Sesat Melahap Bibir Lembut Pelajar dalam Ciuman dan Rogol Seperti Hamba - Kana Momonogi","lastmod":"2025-12-14","duration":"02:03:43","url":"/play/18980607.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMTc5NWIwOGNkMGRlOWIwNmU4YTI3NTAxODkzMGRlM2YuanBn.cache","vod_id":19153845,"title":"Seorang jurulatih kecergasan berotot dan berkulit gelap yang memanipulasi wanita agar menjadi hambanya demi wang.","lastmod":"2026-04-17","duration":"14:27","url":"/play/19153845.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTBkNjI3OTI2MmJjOTZmNWU1NTU4Zjc0NDQ4NzkxNWQuanBn.cache","vod_id":18926748,"title":"Adik-beradik kembar yang comel, tidak berambut, berkulit cerah, menjilat satu sama lain, memasukkan penggetar ke dalam faraj mereka, dan kemudian melakukan seks oral dan jongkong kaki dengan lelaki berkaca mata, diikuti dengan menunggang dan bersetubuh sehingga ejakulasi, dan kemudian dipaksa kembali.","lastmod":"2025-12-14","duration":"02:19:05","url":"/play/18926748.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvY2ZjMjg0NzFhYzdiZWVlMzEyZTZlYzM2YWE4OTc2NWYuanBn.cache","vod_id":19141504,"title":"Jurulatih kecergasan otot bogel bersama bermain dan seks dengan zakar besar 4","lastmod":"2026-02-04","duration":"24:35","url":"/play/19141504.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MjIvYTgzMGExODAxNTVhZjI3MGIxZjI2NzM2MThjOTZkNWUuanBn.cache","vod_id":19030333,"title":"Susuk tubuh wanita yang semakin berisi dan matang secara beransur-ansur, postur isteri dan ibu saya yang memalukan, membuatkan saya tidak dapat menahan diri daripada mengalami ereksi. Minami Momoko, Minami Momoko VENX-147-C.","lastmod":"2025-04-22","duration":"01:44:31","url":"/play/19030333.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTZjNjY5Nzc1Y2QxZTFiYjBiZjRmYjdhNzA5ZDhlYWYuanBn.cache","vod_id":18961985,"title":"Penstrim langsung selebriti internet seksi yang sangat dinanti-nantikan di platform Douyin dan Huajiao, 【Mitao Da Meimei】, telah mengeluarkan satu set lengkap gambar peribadi ~ Tarian menggoda Ziwei dengan telur yang bergetar memberikan rangsangan penuh (13).","lastmod":"2025-03-22","duration":"00:02:27","url":"/play/18961985.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2JiZjY1M2MyZjBmNjczNzEyODc0MTZiOTgwZDJkNTkuanBn.cache","vod_id":18964707,"title":"421OCN-041 Momoka","lastmod":"2025-12-14","duration":"00:30:01","url":"/play/18964707.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzVjOTg1MzQxYjIxZWUzYWJmNzZkODQ2ZjlmZjM2YzMuanBn.cache","vod_id":18960558,"title":"Selepas menonton seorang penstrim luar yang serta-merta menjadi keras, dia berlari ke taman permainan sekolah dengan alat penggetar di dalam farajnya dan mula berpura-pura terangsang. Dia berlari ke tandas lelaki, menunjukkan wajahnya yang bogel sepenuhnya, dan melancap sambil berdiri untuk membuang air kecil, menggosok payudaranya, dan bermain dengan farajnya.","lastmod":"2025-03-22","duration":"00:56:37","url":"/play/18960558.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTNjZWU4ZTliMmM1MjliNWNkNTc2Nzk0YTZmYzJkZDMuanBn.cache","vod_id":18974375,"title":"200GANA-1703 Penggambaran softcore yang serius, kali pertama saya menjalani penggambaran. 1063 (Rinka Momose)","lastmod":"2025-03-23","duration":"01:00:27","url":"/play/18974375.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2NmNjY3N2MzMzYyYjA0NDAxNTk1Zjk0MjE4NjdiNzIuanBn.cache","vod_id":19000182,"title":"Seorang gadis cantik, berpenampilan manis, dan berdada besar dari Beijing, yang terkenal dengan penampilannya yang bernilai tinggi, melancap, memakai stoking hitam, choker, dan cemeti kulit kecil sambil mengangkat kakinya dan menggosok vulvanya dengan telur yang bergetar.","lastmod":"2025-03-23","duration":"52:40","url":"/play/19000182.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOGMwOGIwNGFkMzVjMDVlODM5ZWQ0OWY4NTU3ZTExMDAuanBn.cache","vod_id":19136512,"title":"Seorang pakar dalam mempermainkan wanita menjemput guru tadika di sebuah bar.","lastmod":"2026-01-03","duration":"28:43","url":"/play/19136512.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MTUvYjcxOTU3MWU0ZmYyZDVkMGQ0OTI0N2ZjNDY5MjM3MTMuanBn.cache","vod_id":19043198,"title":"Jingdong 114 Pemungut mayat Jingdong, pakar pengutip mayat, bertemu dengan seorang gadis seksi di pintu masuk bar dan membawanya kembali ke hotel dan melakukan hubungan seks dengannya dua kali.","lastmod":"2025-07-14","duration":"39:40","url":"/play/19043198.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2JmZjUwMWI3NzZhYzZlM2IyNGZmNjc1YTQyM2I0YzMuanBn.cache","vod_id":19026722,"title":"[Ingin mencuba orgasme otak?] Kata-kata lucah syaitan kecil itu mencairkan otak anda. Bunga Pic Putih MTALL-051-C.","lastmod":"2025-03-28","duration":"02:13:24","url":"/play/19026722.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTFlNTgxYTM2ZWU3NjA5NDVhYzA1YTcyMmI4ZDI4NmUuanBn.cache","vod_id":18941036,"title":"Seorang pengajar kecergasan lelaki yang kacak, pujaan wanita muda, menjalinkan hubungan dengan dua wanita muda yang cantik di gimnasium. Kedua-dua wanita ini berkongsi sifat yang sama iaitu mempunyai pinggul yang besar dan melengkung serta erangan yang memikat. (Versi asal 1080P)","lastmod":"2025-12-14","duration":"00:29:47","url":"/play/18941036.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjkwOWFiNzUyZGUwNjU2NmUxMTIxYWEyYWNmOTE0ZjEuanBn.cache","vod_id":18951359,"title":"\"Selebriti Internet Tegar✅Tingkat Atas\" Dewi Kecergasan Angkat Berat Berpayudara Besar Onlyfans [Pasangan Ben Dang] Menembak Persendirian Cabul Kelentit Besar Dubur Menyembur Topi Hijau (13)","lastmod":"2025-12-14","duration":"00:10:25","url":"/play/18951359.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTg2NmQyNmIyZWJiYjkxOGJmODRhNjE1NWEwMDMwYTAuanBn.cache","vod_id":18963628,"title":"Dewi yang kau sangkakan sebenarnya adalah seseorang yang tidak mempunyai bakat sebenar tetapi hanya mempamerkan tubuhnya, berpose secara provokatif, bermain farajnya dengan penggetar, dan mengerang lebih kuat daripada mana-mana rumah pelacuran di jalanan—itu semua adalah dirinya yang sebenar!","lastmod":"2025-12-14","duration":"01:18:36","url":"/play/18963628.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmQyMTU1MTk3ZjVkOGFhZDNmOTY4YzIyMzRhMzg5MjEuanBn.cache","vod_id":18986168,"title":"[Video Tao] Aiskrim Gadis Buta","lastmod":"2025-03-23","duration":"00:40:37","url":"/play/18986168.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDVjZWRlNzY5ZTAyMGNjM2E1NGZiOGZhODNlN2UxMTguanBn.cache","vod_id":18959742,"title":"200GANA-2394 Amat lembut, penggambaran kali pertama. 1568 Berjaya berbual dengan seorang gadis seksi yang sedang bersenam di gim.","lastmod":"2025-12-14","duration":"01:17:00","url":"/play/18959742.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNjQ0ZWRiMTZmZmNiZTAzMDNiZDQ2YTExMWNkODViNTUuanBn.cache","vod_id":19141889,"title":"Penggetar Bluetooth Peach Gym untuk peminat kecergasan dipasang - 3","lastmod":"2026-02-06","duration":"01:48:48","url":"/play/19141889.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvN2M5YmZkOWQ4MDg4ODBmMTg1ZDkxZDdjNzEzMzg5N2MuanBn.cache","vod_id":19146244,"title":"Si comel berpunggung pic menukar pakaian dan bergambar dengan menggoda.","lastmod":"2026-03-03","duration":"01:12:58","url":"/play/19146244.html"}]},
videoTitle: 'Penggetar Bluetooth Peach Gym untuk peminat kecergasan dipasang - 3',
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=/`;
}
};
}