Video seks Zhang Yuehan, mahasiswi Universitas Keuangan dan Ekonomi Liaoning yang kontroversial, dan pacarnya terbongkar. 01. Mahasiswi cantik dan imut itu...","lastmod":"2026-07-11","duration":"","url":"/play/19207141.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTljNDMyOGJkNDE4NmIzYjY4MWU2N2QxNWNlZGJlZjIuanBn.cache","vod_id":19109672,"title":"Seorang guru perempuan bertubuh seksi diperkosa oleh muridnya! Ia bahkan sampai mencapai orgasme melalui penetrasi!","lastmod":"2025-03-26","duration":"1:57:29","url":"/play/19109672.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTc5YTE0NDc1ZWU5ZjdlZDY0MjRjMGQ4MzE0MWNmMzIuanBn.cache","vod_id":19097736,"title":"Pendatang baru: 1 detik sebelum ejakulasi! Sangat sensitif! Ukuran G-cup, pinggang menakjubkan, mahasiswi yang sedang melakukan debut AV-nya dengan penetrasi!! Target!","lastmod":"2025-03-26","duration":"2:38:35","url":"/play/19097736.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjkyZDA5NGQyMjAyYzZjZDJmZmE4OTI3MGUxNGM3ZDIuanBn.cache","vod_id":19048348,"title":"277DCV-151 Bisakah aku mengantarmu pulang? Kasus 151, monster cabul terbesar dalam seri ini! Saat pintu terbuka, kamu mendapatkan seks oral dalam 2 detik!! Tercepat dan paling cabul... 2000 orang telah mengalami pelecehan seksual terbalik di dalam taksi! Bidiklah! 10.000 masokis mencari cinta abadi, bercinta siang dan malam! Rasa sakit membawa kesenangan, dia mencapai orgasme berulang kali! Aku akan berejakulasi satu miliar kali! Tiba-tiba, air mata kedewasaan... cinta pertamaku (0002)","lastmod":"2025-03-26","duration":"1:48:30","url":"/play/19048348.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MTUvNTY0Yjc1Njc1MTZkMDExZmMxZmIxMjIwODBlNWYwZDUuanBn.cache","vod_id":19143803,"title":"Seorang ahli PUA (Pick-Up Artist) dari Hangzhou memikat empat siswi SMA, termasuk siswi tercantik dan idola sekolah, untuk berhubungan seks dengan kakak perempuan teman sekelas mereka, lalu memaksa mereka ejakulasi di dalam rumah seorang siswi unggulan.","lastmod":"2025-07-14","duration":"0:44:29","url":"/play/19143803.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZWUxOWU0NWJhMTc4MDc4YmYxMWNkYzRlNzI2MGM0MmUuanBn.cache","vod_id":19176070,"title":"Seks oral dan ejakulasi di wajah: pesta visual yang sempurna.","lastmod":"2026-01-23","duration":"0:10:35","url":"/play/19176070.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzI5YTc4NWMzNDU2ZThlNTBhOTgyZjJkY2IwMTc0NzYuanBn.cache","vod_id":19075853,"title":"STARS967 Seorang guru perempuan pemula ketahuan oleh murid-muridnya berselingkuh dengan seorang rekan kerja dan dijadikan objek seks.","lastmod":"2025-03-26","duration":"2:17:59","url":"/play/19075853.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDM1MzIzNDM4ZWYyMTI4NzJmMWE0Mjc4Y2ZjY2UxYmYuanBn.cache","vod_id":19107093,"title":"Pembantu seks oral pribadi saya","lastmod":"2025-03-26","duration":"2:04:55","url":"/play/19107093.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MDEvOGM3OWM2YTVlODYxYWFhOGNjMWYxZTk0YTY5MGVhMTIuanBn.cache","vod_id":19152173,"title":"Wanita itu, mengenakan rok pendek, merayu seorang pengemudi ojek, mendesaknya untuk menidurinya sampai mati. Dialognya sangat merangsang. Dia melakukan seks oral pada pengemudi berusia 50 tahun itu, yang sudah sangat haus, dan mengeluarkan semua sperma yang telah ditahannya selama berbulan-bulan ke dalam vaginanya.","lastmod":"2025-08-31","duration":"0:46:58","url":"/play/19152173.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDQ5YmM0ZjQwZmNiZjA0MzllOTA4MzFmMjIyOTA3YzAuanBn.cache","vod_id":19029637,"title":"Aku punya pacar pertamaku... dan tak bisa menahan bisikan menggoda dari guruku yang cantik, berselingkuh darinya berkali-kali... (Blue Sprout Moon)","lastmod":"2025-03-26","duration":"1:59:29","url":"/play/19029637.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYWVmOTBkNDZjYWMwYmIwNjRmZjcxYjI5ZmE5YWMxYmYuanBn.cache","vod_id":19069566,"title":"XK8094 Buku Harian Kenangan Guru Tari 1 - Xiaorou 1","lastmod":"2025-03-26","duration":"0:26:47","url":"/play/19069566.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MTEvNzA4Zjc4YTA4OTNiNTRiYzU2MzAyY2MxYjg4ZDJlOTEuanBn.cache","vod_id":19153934,"title":"Serangkaian foto candid para pembawa acara media wanita, tokoh-tokoh terkenal, dan mahasiswa—wajib dilihat!","lastmod":"2025-09-10","duration":"0:39:43","url":"/play/19153934.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTUvNWJiZThmZjg3OWM2Y2E5MDNjY2JmZjBkZmVjY2JkYTcuanBn.cache","vod_id":19168022,"title":"Tidak melakukan seks oral adalah bukti menjadi budak! 17 10 Gadis Amatir Melakukan Seks Oral Tanpa Tangan Aktris Tidak Dikenal KAGP-370","lastmod":"2025-12-15","duration":"2:00:29","url":"/play/19168022.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTJmMzZiN2U0ZGFiZTBhOGVhNGFmYTNmMTYzMjc3NjMuanBn.cache","vod_id":19128565,"title":"Xiangling, seorang mahasiswi yang disponsori oleh XingkongXK8104.","lastmod":"2025-03-26","duration":"0:38:51","url":"/play/19128565.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvNTBjZDc1NjE1MGQ3MTI2ZTE0ZDhlMjFhZWFjODRmZWEuanBn.cache","vod_id":19199513,"title":"Dengan berbekal izin untuk berhubungan seks tanpa peng","lastmod":"2026-05-17","duration":"0:42:18","url":"/play/19199513.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjliNjlhOWM3NGRiMmM4ZWJkNzljYzg5NDc1MTY4ODguanBn.cache","vod_id":19072281,"title":"285ENDX257 Miri, 20 tahun, mahasiswi dengan bikini yang dicukur [benar-benar amatir].","lastmod":"2025-03-26","duration":"0:47:50","url":"/play/19072281.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjkvYTRkMjQxOGU0ZDYyZDc4NzEwYTdjNGFkMDQ1NTg3ZGQuanBn.cache","vod_id":19205673,"title":"Wajah seorang gadis yang imut dan tampak polos terungkap dalam sebuah video, yang menunjukkan dia melakukan seks oral deep throat dan menunggangi orang lain, menikmati kenikmatan tersebut.","lastmod":"2026-06-30","duration":"","url":"/play/19205673.html"}]},
videoTitle: 'Gadis ideal bagi sang guru, seorang siswi teladan, yang sangat terampil dalam seks oral.',
language: 'id',
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('Tautan berhasil disalin!');
}).catch(() => {
// 降级到旧方法
document.execCommand('copy');
alert('Tautan berhasil disalin!');
});
} else {
// 降级到旧方法
document.execCommand('copy');
alert('Tautan berhasil 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=/`;
}
};
}