Real 5 Minutes Before Orgasm! Showcasing the Brilliance of 40 Women's 5 Minutes Before Orgasm! VOL.08 Starring Asagiri Yu, Kiyotsuka Nana, Shinoda Ayumi, etc. K.M.P","lastmod":"2026-07-11","duration":"4:02:05","url":"/play/19266965.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzY3MzQ1NjI3Y2M2MjBiNGM3YWRjMDEyNTJjZjRjN2EuanBn.cache","vod_id":19056153,"title":"[Online] A beautiful, fresh-faced college girl and a handsome young man she'd just met were having sex at a hotel. The girl was overwhelmed by his various sexual advances! 1V","lastmod":"2025-03-29","duration":"0:21:02","url":"/play/19056153.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTAzZmU3YjBhZDQ1YWI3ZDIwODdkNzUxNWVhZDJiOTAuanBn.cache","vod_id":19104635,"title":"[High Definition Encoding] 345SIMM-755 A student council member wearing glasses was filmed by Tonoyoshi's power.","lastmod":"2025-03-29","duration":"1:07:30","url":"/play/19104635.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjUvZTg2OTg3MGJiNmIwM2VmYjcxMzk2NGY0OTYxMDNiNzQuanBn.cache","vod_id":19223747,"title":"The second round of the national third-place draw: another date with a cute girl in white for sex.","lastmod":"2025-09-24","duration":"1:12:57","url":"/play/19223747.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOGJiNjk4ZGViYjk1MzFiMWViZTc4M2I5ZmFmMDVjNjYuanBn.cache","vod_id":19101928,"title":"A real brother and sister, the beautiful older sister unexpectedly makes an appearance.","lastmod":"2025-03-29","duration":"1:02:10","url":"/play/19101928.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjYxZTcyMWRkZDhjOTkyMzNhZDNjZDZjMDMzYjU3NWMuanBn.cache","vod_id":19054536,"title":"[Exciting Plot] While the sister is away, the brother-in-law watches porn and, overcome with lust, forces himself on his sister-in-law, who moans loudly and intensely.","lastmod":"2025-03-29","duration":"0:19:10","url":"/play/19054536.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDcwNGNmMDNhODg2YTVlMzg5N2JhYzMxY2U1YmRlYmYuanBn.cache","vod_id":19099239,"title":"Sweeping across the country, hooking up with high-value, mature women, passionate oral sex and other sexual acts are extremely tempting.","lastmod":"2025-03-29","duration":"0:52:29","url":"/play/19099239.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MjYvNDg3Y2MxYmUzMjJjMjBkNWNlNzU0YWVhZjQxZTgwMWMuanBn.cache","vod_id":19199319,"title":"The two plump, firm, pink abalone slices of Mengbaijiang are incredibly tempting, with cracks that seem to be the work of a master craftsman.","lastmod":"2025-04-26","duration":"","url":"/play/19199319.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjcvOTViNjhlNjkzOTU1OThjMGVmZjQyZTIwN2I5NDkwOTYuanBn.cache","vod_id":19224036,"title":"Japanese selection of tall goddesses, passionate toilet anal sex.","lastmod":"2025-09-26","duration":"0:14:57","url":"/play/19224036.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzk5NjE4YTFmYWY3ODUyZjExZWNmMmIwY2U2ZmRlNjEuanBn.cache","vod_id":19112381,"title":"My naughty Asian girlfriend sucks my cock, it feels so good!","lastmod":"2025-03-29","duration":"0:04:54","url":"/play/19112381.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYWYyOTY4ODU5YzZjMGI4NDdmNmY2ZTRlMTAyNzRhYWEuanBn.cache","vod_id":19257733,"title":"The persistent, top-ranked 21-year-old college student is a perfect example of a woman with a contrasting personality; her scholarly air can't hide her slutty nature, and her moans are deafening.","lastmod":"2026-05-08","duration":"0:37:31","url":"/play/19257733.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvN2E5MThmZDRlN2I0YmRlMTU0ODk0NDIyNTZiNzkwYjUuanBn.cache","vod_id":19099190,"title":"DASS-047 My busty girlfriend, though unwilling, was brainwashed into becoming an anal sex toilet.","lastmod":"2025-03-29","duration":"2:00:04","url":"/play/19099190.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWFkYjA0OWQxMGNjNTYyZDgzNmNmYmM4OTI0ZjdiYzQuanBn.cache","vod_id":19061961,"title":"AGAV-016 [True Story] Amateur Drunk Girl Taken to Hotel - Real Footage of Drunk Girl Becoming a Slut and Ultimately Being Fucked Again and Again - Aya Ibuki 1","lastmod":"2025-03-29","duration":"2:08:00","url":"/play/19061961.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MTUvOTE2NTE4ZjgxYWNlODJlZjg1ZTZkM2RiNDIxZWIzMjIuanBn.cache","vod_id":19207852,"title":"MKON092 I had planned to have my first kiss with my girlfriend in her clean room, but the guy living in her stinky garbage room ejaculated inside me, leaving me battered and bruised.","lastmod":"2025-06-15","duration":"2:03:32","url":"/play/19207852.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYWJkNjA3NjIxNGUyNDRjYWRjNmQ2NzdmNmJkODkwZDkuanBn.cache","vod_id":19031547,"title":"[Top Goddess] A beautiful and elegant water-spraying queen engages in a passionate sex battle with her fans in a live stream.","lastmod":"2025-03-28","duration":"0:22:47","url":"/play/19031547.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTYvMWRkZDIyNzAwYmE3N2Y2MmJjMjgwYmExZTY4NjdkNWIuanBn.cache","vod_id":19268758,"title":"RingoMashin loves my JK girlfriend's swaying breasts and sex anime version.","lastmod":"2026-07-15","duration":"","url":"/play/19268758.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMGY0NTQ5NDE0OWYxOWFmMWIwMWRlN2U1NzM3MjhmNGMuanBn.cache","vod_id":19252903,"title":"A female DJ, a nightclub DJ, has been exposed for allegedly engaging in casual sex with women in nightclubs, revealing a life similar to that of prostitutes.","lastmod":"2026-04-07","duration":"0:18:36","url":"/play/19252903.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMDVjOWZhNmVlN2ViNDQ4ODFiNWZlOWNkMDM3MGU3NjguanBn.cache","vod_id":19239172,"title":"A yandere schoolgirl who will do anything for her beloved and her perverted boyfriend. (NMSL-021)","lastmod":"2026-01-11","duration":"2:02:31","url":"/play/19239172.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYWEyYmViN2Q0YTdkNzg1NTMzNzJkOWEyNDU2NmZiMmQuanBn.cache","vod_id":19101637,"title":"HODV-21331 A sexy, developing, innocent female student experiences her first vaginal orgasm with ejaculation. (The last line appears to be a fragment and doesn't translate directly.)","lastmod":"2025-03-29","duration":"2:19:38","url":"/play/19101637.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMTgwNWY1OGE3OGY3OTQwOTY1ZTVmMmIzMDk3YTE4ZTMuanBn.cache","vod_id":19141610,"title":"[Selected Selfies] My girlfriend, with her amazing figure and pinkish skin, is completely captivated, exclaiming how deep and big it is! _225104918's!","lastmod":"2025-03-29","duration":"0:12:27","url":"/play/19141610.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvN2ZjMmQyZTIyNjk1NGE2NzIwMDVjNDdiMTM2ZTRkMjMuanBn.cache","vod_id":19131867,"title":"A 20-year-old female college student with naturally beautiful breasts and a fair complexion had her first threesome with two muscular men!","lastmod":"2025-03-29","duration":"0:43:06","url":"/play/19131867.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDdlYTExYmIwODYzZmY5NDNlMmQwNzhkMTZiZWU0NDMuanBn.cache","vod_id":19081136,"title":"Passionate fucking, with a commentator on the side, grabbing a big dick and sucking it, then riding on top of him and thrusting into his cunt.","lastmod":"2025-03-29","duration":"0:36:58","url":"/play/19081136.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDU3ODk2MmQxYzgxYzZmMTAxZmU0MTg2MDgzMjA0NjQuanBn.cache","vod_id":19151817,"title":"A female college student majoring in dance, wearing a bodysuit and fishnet stockings, dances energetically to the music.","lastmod":"2025-03-30","duration":"0:10:55","url":"/play/19151817.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvM2ZhYjYxYTBlZGU1YmU0OTc1OTAxMWQ0YjcxZDg3MzYuanBn.cache","vod_id":19095676,"title":"3D Street Pickup: Be My Girlfriend for a Day","lastmod":"2025-03-29","duration":"0:21:21","url":"/play/19095676.html"}]},
videoTitle: 'A genuine, decent guy, beer and kebabs, accompanied by his college student girlfriend, close-up sex, passionate moans and seductive groans.',
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=/`;
}
};
}