"High-Quality Cloud Drive Leaks" - Showing your face is the key! A 2003 student girl with average looks, but she's all about being "young, obedient, and real." She had sex with her boyfriend in a hotel, and they had oral sex twice. Absolutely amazing (4)
Ordinary male and female surveillance AV Neat female college student deeply sucks a big cock in her mouth, tries deep throat without hands! A big cock is immediately inserted into JD's vagina, eyes ディープス","lastmod":"2026-07-11","duration":"03:41:29","url":"/play/19166866.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjQwNTBiOGViMjRiNWI5YWUyYzhkOWI1OGMxZTQ0OWYuanBn.cache","vod_id":18989573,"title":"Ballet student raped by teacher, episode 24!","lastmod":"2025-03-23","duration":"14:18","url":"/play/18989573.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjUxNjA0YWY4ZTEyMTA5ZGJlYjY5NDY1MDM0OTc3M2IuanBn.cache","vod_id":18970832,"title":"[Chinese Subtitles] IENF-258 Kana Yura: Morning and Night Cumshot Sex - 50 143cm Petite 18-Year-Old Loli Girl Joins Morning and Night!","lastmod":"2025-03-23","duration":"02:27:52","url":"/play/18970832.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMjVjNmU5YzkwNDA2N2U4MWE4YzEyZjg1NTc0MDA0NzEuanBn.cache","vod_id":19143586,"title":"A stunning young married woman showed her face throughout the entire encounter, allowing the young man to relentlessly ravage her in front of the camera.","lastmod":"2026-02-15","duration":"30:08","url":"/play/19143586.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2IyMDU2MzkzMTQ0YTg3NzVjZGJiNGI5ZDIzMGMwN2IuanBn.cache","vod_id":18971577,"title":"XVSR-421 Early summer in Aoba Natsu, my immature girlfriend had her first time... a trembling, electric-shock sex session.","lastmod":"2025-12-14","duration":"01:57:21","url":"/play/18971577.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTE0MTJmNzA4MDE1ZDMwOTJkYTQ0MTk0OThlZGU1NWEuanBn.cache","vod_id":18968453,"title":"HAVD-1019 Obscene Kiss: Living with Lesbians - Soaked to the bone, no time to dry off... Immersed in lesbian sex every day","lastmod":"2025-03-23","duration":"02:05:10","url":"/play/18968453.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjIxOGM5ZTMyMjMwMjc4MjJiYjEwMGI0MmJkZDNiYjguanBn.cache","vod_id":18939599,"title":"BBAN-206100% 甜美的脸庞可以诱惑任何女人! ! Mihi Nagai 是一个非常英俊的双性恋女孩","lastmod":"2025-03-22","duration":"01:57:59","url":"/play/18939599.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTljY2ExYThlMzAzYzNjNDdjNWM1NTYyZjcyMTQyZTguanBn.cache","vod_id":18946649,"title":"SOE-913 Intertwined bodily fluids, intense sex - Rina Ito","lastmod":"2025-12-14","duration":"02:27:13","url":"/play/18946649.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzAxNTI1MTc2OGNjMjNiMzMyYTk3MWZlNTViODgxM2IuanBn.cache","vod_id":18985021,"title":"[无码] SSIS-623 梦野愛花 本来面目 无剧本 100% 处女母亲乳交性爱 梦野愛花","lastmod":"2025-03-23","duration":"02:26:00","url":"/play/18985021.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmJlZmZhZjIzMDVlZGMxMTY1NzA5MDdlZDc2ZjE1MzMuanBn.cache","vod_id":18976844,"title":"A young couple was having sex at home, taking selfies. The girl was watching TV while they were having sex, and her boyfriend was dragging his feet, as if he hadn't eaten enough.","lastmod":"2025-12-14","duration":"00:16:20","url":"/play/18976844.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTU3MGIzNTNjMDJiYmI2YzVjOGU3Mjc3ZDdlNWVjN2UuanBn.cache","vod_id":19024934,"title":"Nana proactively shares her street prey for sex.","lastmod":"2025-03-24","duration":"24:38","url":"/play/19024934.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYWE0NmE0MmZmZTQ5N2RjZTQ3M2U0MTE0YzJiZGUzZGUuanBn.cache","vod_id":18968776,"title":"FC2PPV 3246909 First shoot!! Forced face reveal!! Limited to 1980 points, until I am satisfied!! The punishment for betraying me is very severe.","lastmod":"2025-12-14","duration":"01:08:29","url":"/play/18968776.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MDcvZDc1ZjY0ODBiYTI5Mjk2MWQ3MDMyN2QyMjFjMDRlNjMuanBn.cache","vod_id":19166856,"title":"Our Crazy Baby (A Limited-Time Special Sexual Encounter) A Secret Space Where Love Fluids, Body Temperature, and Saliva All Crave Each Other Forget the First Time and the First DASS-487-C","lastmod":"2026-07-11","duration":"02:12:06","url":"/play/19166856.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvNzZmMmI5NTFjNTYyYTNhYjE3ZjRjYjExZWQxOTFjNzkuanBn.cache","vod_id":19159939,"title":"A pregnant woman with a sweet and beautiful face, engaging in sexual harassment and training during her pregnancy, has had her private photos leaked online, showing her fully nude during pregnancy.","lastmod":"2026-05-25","duration":"18:07","url":"/play/19159939.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYTY0ODc4OTQ2MGNmYmMxMWFiYzAwOTgxNGU4YmRmMTQuanBn.cache","vod_id":19137236,"title":"If the father-in-law hugs her so tightly… the young wife indulges in every day of sex with her extraordinary father-in-law. (Aoi Mizuki, PRED-803)","lastmod":"2026-01-07","duration":"01:55:41","url":"/play/19137236.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjUvMTY1ZGY2M2EzODBhNzdiM2Q1NzQ4MThkN2Q2Y2I0OTguanBn.cache","vod_id":19059520,"title":"Model - The Cuckolded Husband's Perverted Love: A Planned Sexual Game - Kinoshita Hikari","lastmod":"2025-10-24","duration":"45:51","url":"/play/19059520.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTg3N2U5ZGU3M2JkOGM1MGU0YjM1MjE5ZWEwNzIzMjIuanBn.cache","vod_id":19019915,"title":"Sex Paradise, Extremely Fantasy Masturbation","lastmod":"2025-03-24","duration":"15:30","url":"/play/19019915.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjYvYTU0YjE5MWEwNTUxNzA0M2Q5MTMyNTdmNmRhNDE3ZWUuanBn.cache","vod_id":19054282,"title":"A slutty younger sister seduced me, licked me, and brought me to orgasm! #ShunkaSuzumura HGMJ017","lastmod":"2025-09-25","duration":"01:39:03","url":"/play/19054282.html"}]},
videoTitle: '"High-Quality Cloud Drive Leaks" - Showing your face is the key! A 2003 student girl with average looks, but she's all about being "young, obedient, and real." She had sex with her boyfriend in a hotel, and they had oral sex twice. Absolutely amazing (4)',
language: 'en',
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('Link copied!');
}).catch(() => {
// 降级到旧方法
document.execCommand('copy');
alert('Link copied!');
});
} else {
// 降级到旧方法
document.execCommand('copy');
alert('Link copied!');
}
}
},
// 切换布局
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=/`;
}
};
}