The unconsciously voluptuous allure that fascinates men. The soft, full-figured L-cup breasts that can't be hidden even when clothed. Tianye You. Tianye You S1 NO.1 STYLE","lastmod":"2026-07-11","duration":"03:02:13","url":"/play/19165423.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzQ2ZDdhNzZmMWM2ZGM5ZDRlZTRkNzQ0MTdjZTFjYmIuanBn.cache","vod_id":19015054,"title":"GANA2143 Fa●Fa●Splash Airport pickup! A wet and wild party! If you have fun, you can drink with the girls! I'll offer to take her home and to her hotel... then we'll play Twister in our swimsuits! ? A slutty girl and a cheating beginner, two college students are sexually curious about each other [4P group sex].","lastmod":"2025-03-24","duration":"01:25:47","url":"/play/19015054.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzU1NDg4Zjc1MTk4MWJiNzcxYzViMTlhNzc0ZmNkMTEuanBn.cache","vod_id":18956645,"title":"A respectable young woman, dressed in her pajamas, flirted with a guy, who then stripped her naked in front of the camera. She performed oral sex on him, had him suck her breasts and lick her vagina, and then pinned her down on the sofa for intense, stimulating penetration.","lastmod":"2025-03-22","duration":"01:29:43","url":"/play/18956645.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTA1ODRiMGQ3ODI0ZDFmMWNhNjZlNTliZDA5YjU2YmEuanBn.cache","vod_id":18985078,"title":"[Chinese Subtitles] SSIS-843 A woman with a figure even better than an AI. A timid, submissive female student is kept by a middle-aged man. Mirei Uno.","lastmod":"2025-03-23","duration":"02:54:52","url":"/play/18985078.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmI1NGYxNTMxYTRhYjE2NzgyZTkzMDA2MTcwZDE0YTIuanBn.cache","vod_id":18928312,"title":"The \"Little Cute\" platform (formerly Kawaii) features attractive women livestreaming double sex acts, including passionate oral sex, which is very alluring.","lastmod":"2025-12-14","duration":"00:49:42","url":"/play/18928312.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZDQwMmVlZTExNDFiNTg5ZGFjZTA1NjMxMDNhNTVlNDMuanBn.cache","vod_id":19154723,"title":"She was eaten by her father's friend. He sold his wife's daughter, a burden to a loli-obsessed man, and had unprotected sex with her. (Oto Nishino, Honchu)","lastmod":"2026-04-23","duration":"02:29:34","url":"/play/19154723.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2E0NTc4YTczNmFlN2M4NzhlYTA3OGQzYzU3YmQzYTcuanBn.cache","vod_id":19022119,"title":"Exclusive and explosive leak! [Real boyfriend reveals secrets] Super young, busty girl's face perfectly exposed. Turns out women can be so lewd!","lastmod":"2025-03-24","duration":"12:09","url":"/play/19022119.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MDMvYzY5NzE0MjAyNmE5NzBlMjVhZGVlMTY3Mjk2NTQyYjUuanBn.cache","vod_id":19027626,"title":"After school, she cleans the damp, transparent swimming pool with her idol, the swimming club advisor. (Yui Hatano JUQ-237-C)","lastmod":"2025-04-03","duration":"01:59:18","url":"/play/19027626.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzJhOTAxNmUzZTZiODYxZjA5NWI0M2QxNGE1OTc5MzEuanBn.cache","vod_id":19005206,"title":"JUFE-531-C A dirty married woman goes on a hot spring vacation to enjoy sex, but her face is filthy, something she never shows to her husband.","lastmod":"2025-03-23","duration":"02:03:53","url":"/play/19005206.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZGVkMTQ2YjdjYjJhNWQ3YTNkMjAyZDdmMThhYmMxMzMuanBn.cache","vod_id":19005309,"title":"MIAA-865-C \"Let's train our butts together!\" A sweaty, big-butt trainer entices you with the swaying of her plump ass, bringing you to orgasm 10 times.","lastmod":"2025-03-23","duration":"02:28:31","url":"/play/19005309.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvOGE0ZDk0NjBkMjZkZGI5NmYzODYyOGFhNzRlMDVhZWUuanBn.cache","vod_id":19160477,"title":"[The Mischievous Background of a Housewife] A True Story! Real Case Files of Women's Sexual Behavior #RealFiles Mai Arimura, Rana Aizawa, Sayuki Mogami Mature Women's Academy - Emaniel","lastmod":"2026-05-28","duration":"04:01:18","url":"/play/19160477.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmYxODdlMjQ1YjQxNjllYjg3M2VmNWY1NjYwOGVhNTEuanBn.cache","vod_id":19000794,"title":"RIX-072 The Best Wellness Massage Parlor for Beautiful Married Women","lastmod":"2025-03-23","duration":"03:15:42","url":"/play/19000794.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZWRiZGQ4MTYxYjk3ZWIxOTM4ZmE1NWIwN2IzMjU1ZTguanBn.cache","vod_id":18951735,"title":"SHKD-425 That day I had sex with the girl next door…6 Yui Hatano","lastmod":"2025-03-22","duration":"01:55:46","url":"/play/18951735.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNWI0ZTE2MjAyYjJiYTY0NmY3ZWRmMmJiNGRjZTAyNTcuanBn.cache","vod_id":18931654,"title":"Paco 012320_245 Taking care of the lower body of a naked apron-clad woman skilled in housework.","lastmod":"2025-12-14","duration":"00:58:55","url":"/play/18931654.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDBjNjJiY2FlMmNlMWVjZTUzMzBkNmU2ZDY4NjNkMTguanBn.cache","vod_id":19013620,"title":"HAWA197 A video of a sleeping woman being violated from behind (incest).","lastmod":"2025-03-24","duration":"02:45:21","url":"/play/19013620.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvMDY1YTYxNzQ4ODRiZGI1ZjM5YTZkNzA3ZDk1YzMwOTEuanBn.cache","vod_id":19065614,"title":"FC2-PPV-1129012 Moe-chan wearing super cute twin tails and a sailor uniform for sex.","lastmod":"2025-12-14","duration":"43:52","url":"/play/19065614.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvOGVlOTc0ZDRiMWQ1OTE4MzA0ZGRkZGE2N2QwNzBjNmQuanBn.cache","vod_id":19161541,"title":"I am the best at close contact and shooting out bubble bath water. Actresses such as Yoshinane Yuria, Yuki Chitose, Matsumoto Ichika. Slut Paradise","lastmod":"2026-07-11","duration":"04:00:59","url":"/play/19161541.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTBlNGJkODhhOTk2NDNkYzdjZWY2NjM1N2YzNWY3YjUuanBn.cache","vod_id":18975685,"title":"FC2PPV 3393559 My friend's young girlfriend had sex with me in her uniform on the last day of her life! Sex tape! Cumshot!! The Pistons continue to create chaos.","lastmod":"2025-03-23","duration":"01:11:26","url":"/play/18975685.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2JjMDhmNjNlM2M4MjU1MDRkYzQ2NTU3N2VmOGNlMTMuanBn.cache","vod_id":19008113,"title":"MEYD497 Female teacher NTR's grade head's wife and the academic affairs director went to check out the school trip location in advance... Hachino Tsubasa.","lastmod":"2025-03-24","duration":"01:56:53","url":"/play/19008113.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMmQ3MWViMzlhMWZkMjE1NzBlN2I4MGMzNTg1ODY5ZTkuanBn.cache","vod_id":18967565,"title":"FC2PPV 3216245 [#76-2] features a clean and tidy dental assistant in her uniform. During her first live performance, she had already reached a semi-orgasm without realizing it.","lastmod":"2025-03-22","duration":"00:44:10","url":"/play/18967565.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYjhjNWZhNTViMzhkM2MyMDM1ZTdjYzE2MzUxYjhmMjguanBn.cache","vod_id":19158870,"title":"A woman easily hooked by a fake resume from a high-class dating club: \"Annual income of 28 million yen, residing in Meguro Ward, president of a foreign-owned company.\" She was then lured in by a high-level NPJ (a euphemism for a prostitute).","lastmod":"2026-05-19","duration":"02:13:35","url":"/play/19158870.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZmRkZjJkNDJmNmU3OTA4MjhlNjUzOWM0MjZlZjZkYjEuanBn.cache","vod_id":19154706,"title":"Himari MOODYZ, a Qcup slut beauty salon that makes you ejaculate again and again while dressed in obscene clothes.","lastmod":"2026-04-23","duration":"02:26:34","url":"/play/19154706.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMTMvNTUwMTRhYzZlNWZhMTZlOTNlN2MxM2JiNmFlMDEyMDIuanBn.cache","vod_id":19057578,"title":"Gate! A shockingly explicit video of internet celebrity Chen Xi has gone viral online, showing her repeatedly shouting \"Daddy, fuck me!\" in a highly lewd and shocking manner.","lastmod":"2025-10-12","duration":"07:52","url":"/play/19057578.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYWRlMzQ2ZmE3MmJlMzljYjhhNzIzZDhlNmFlYjBhYWMuanBn.cache","vod_id":19001312,"title":"DOCP-070 A beautiful, busty housewife with a delicate yet lewd appearance challenges herself with her first shameful bubble bath!","lastmod":"2025-03-23","duration":"03:47:27","url":"/play/19001312.html"}]},
videoTitle: 'JUL086 I'm a new stay-at-home dad. Back when I was still wearing my apron, the woman next door was already playing with me. — Yuka Oshima',
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=/`;
}
};
}