≪Zeitsparender Sex vor dem Auschecken≫Ich verführte eine wunderschöne, verheiratete Hotelangestellte, die gerade das Bett machen wollte… Sowohl der Kunde als auch die Angestellte waren Männer. (Furukawa Honoka, S-Klasse Amateur)","lastmod":"2026-07-11","duration":"","url":"/play/19267797.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTZmMDMwMWQ0OTBkODg3NDVkNjBiNDkxZGRmYTMzZTYuanBn.cache","vod_id":19193527,"title":"DAS Dokument Instinct Release Climax SEX Brown Hot Mom Ranka Saki Kanna BIJN-236-C","lastmod":"2025-03-30","duration":"2:06:07","url":"/play/19193527.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjQ3ZTQ1NzI1Y2RjOTNkYjBkZmM0MDJiNDlmYjBmMjguanBn.cache","vod_id":19048925,"title":"Eine attraktive Sekretärin wurde von ihrem lüsternen ehemaligen Chef sexuell belästigt.","lastmod":"2025-03-29","duration":"2:11:02","url":"/play/19048925.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNWQ0Y2ZjMGYwY2I3ZWViMGFmODRmNjE0ZTVjMjhjODIuanBn.cache","vod_id":19193821,"title":"Reisebericht einer Cosplayerin und eines Manga-Zeichners: Mehr als Freunde, weniger als Liebende. (Unter ungestörten Bedingungen) Kururugi Aoi MUKC-030-C.","lastmod":"2025-03-30","duration":"2:24:09","url":"/play/19193821.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMDkvMzVlMzM4NTQxMDJiN2RhMDBlOWYyOTM0YmM4YzIyYjEuanBn.cache","vod_id":19225606,"title":"Schöne Nachbarin, betrunken, öffnet die falsche Tür: „Ich bin zu Hause!“ (Naomi Takarada, NACR882)","lastmod":"2025-10-08","duration":"1:55:44","url":"/play/19225606.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzFlZGU1MmU3NTYwMjRmZmNiMTg2NjQ4Y2Y3ZjRhNGMuanBn.cache","vod_id":19163532,"title":"【泄露视频已婚临时工舒适旅行性爱7-醉酒狂欢、深夜性爱、职场外遇NTR等NTR成功率100%,尽-未知演员。","lastmod":"2025-03-30","duration":"3:01:22","url":"/play/19163532.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTUyMGM5Y2RkNGFiYzMzODZmYTU2ODc4YmRhODUyZWEuanBn.cache","vod_id":19178029,"title":"NKKD149: Meine Frau (32 Jahre alt) wurde während ihrer Arbeitszeit von einem Teilzeitmitarbeiter (20 Jahre alt) verführt… → Ich bin so neidisch, bitte postet dieses Video als AV.","lastmod":"2025-03-30","duration":"3:00:59","url":"/play/19178029.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9mYS5zbDI2MDIwNC50b3AvdXBsb2FkL3ZvZC8yMDI2MDMxMy0xL2RhODBkYzI0YjJlNjdmOTRiNjdiYjNmZDNlNWI2NzlhLmpwZw==.cache","vod_id":19248877,"title":"Eine vollbusige Krankenschwester mit einem I-Körbchen, das um ein Vielfaches größer ist als das meiner Frau, eine triebhafte Frau, die mir rund um die Uhr Orgasmen bescheren kann, allein durch einen Anruf, ungeschützten Sex und ihre Bewegungen. DVAJ-728","lastmod":"2026-03-13","duration":"2:23:29","url":"/play/19248877.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZWRjN2IyYjJmYjMyYTBiNTZmODBhNTNiMzE0ZjcyYWQuanBn.cache","vod_id":19139733,"title":"XXX-AV 24234 Amateur-Süße alleinerziehende Mutter und primitiver Liebessex mit Ejakulation und Samenschlucken Vol.02!","lastmod":"2025-03-29","duration":"0:18:01","url":"/play/19139733.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWZmMWQwZWI2YzY0OTlmYjMyMTAyYTE2NTNhZmQ0OTYuanBn.cache","vod_id":19104040,"title":"\"Analsex mit einer schlampigen Ehefrau\"","lastmod":"2025-03-29","duration":"0:59:55","url":"/play/19104040.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNmRkM2UzN2Q2OTkxNTMyZGE5NGRkMzhhNGVkZmUyYzguanBn.cache","vod_id":19034723,"title":"VEC-498 bringt eine attraktive, verheiratete Frau mit Teilzeitjob mit nach Hause und hat Sex mit ihr. (Asakura Kokona)","lastmod":"2025-03-28","duration":"1:49:47","url":"/play/19034723.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzMzYjM2M2FmMjk1M2FiNzEwOWUwOGQxNDI3YjQ4ZmEuanBn.cache","vod_id":19058477,"title":"[Code] SPRD-1254 Mama, du bist so viel besser als meine Frau... Akemi Washio","lastmod":"2025-03-29","duration":"1:46:58","url":"/play/19058477.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MDIvNmVjOWU2ODVmNjI2MzQ4ZjFkNmNhMTJmODRlYWIxMWIuanBn.cache","vod_id":19216433,"title":"NGOD255 Fahrgemeinschaftsskandal: Meine Frau wurde von einem Fremden im geschlossenen Auto betrogen...","lastmod":"2025-08-01","duration":"2:00:08","url":"/play/19216433.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOGQzYmE5MmVkZjYxNmUwMmU3NzE1MjFiNTFiYjFiNjguanBn.cache","vod_id":19156600,"title":"Die schwarzen Hosen meiner schönen, aber abstoßenden Tante und mein völlig lüsternes Ich - Akimoto Miori.","lastmod":"2025-03-30","duration":"2:00:31","url":"/play/19156600.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZWY1ZmZmZDdjNzgxYzhkYWUwNWZlZmFjYzViNmY4MzkuanBn.cache","vod_id":19099693,"title":"Die Schauspielerin, die zum Vorsprechen angetreten war, entpuppte sich als die Mutter ihrer Klassenkameradin.","lastmod":"2025-03-29","duration":"0:26:49","url":"/play/19099693.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZGUwZDdhYzU5YzUxYjMwNWFmNDY1ZjMxM2IyMjIyN2EuanBn.cache","vod_id":19169977,"title":"NSFS-099-C Geständnis 13: Ehefrau verfällt dem Mann, der sie vergewaltigt hat ~Die wahnsinnige Lust des alleinstehenden Chefs~","lastmod":"2025-03-30","duration":"1:48:13","url":"/play/19169977.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOGNiNDcyNTU5OTBiYmFmNzc0N2Q5YzBhMGU0MjBmNmUuanBn.cache","vod_id":19146979,"title":"Eine attraktive, vollbusige Büroangestellte wird von einem ehemaligen Kollegen ins Visier genommen, der plant, sie brutal zu vergewaltigen, indem er in sie ejakuliert.","lastmod":"2025-03-30","duration":"2:28:25","url":"/play/19146979.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODVjYmRmNjVlNmY4YTk4NGVjNjNlYjM5MmNhZmZjMzcuanBn.cache","vod_id":19085617,"title":"Eine frustrierte Ehefrau wurde von einem Mann sexuell belästigt und geriet in Wallung, als sie einen obszönen Badeanzug trug.","lastmod":"2025-03-29","duration":"1:57:36","url":"/play/19085617.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTJjNjk5OTY1NWRkZmUwZGVkN2RiNGIyODAxZjI2ZWYuanBn.cache","vod_id":19158661,"title":"Anleitung für Studentinnen zum Thema brennendes Verlangen und Höhepunkt: Der erste intensive Höhepunkt und das Wasserlassen; ein zerbrechliches und schönes Mädchen, das während des Orgasmus penetriert wird, Misano Manatsu.","lastmod":"2025-03-30","duration":"2:05:31","url":"/play/19158661.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvY2UwN2Q4OTI0MTZlNTM0MGU0MDQzYjBlZTU5YTlmZmUuanBn.cache","vod_id":19129581,"title":"PAKO-061 zeigt eine große, unglaublich schöne, reife Frau in einem AV. Sie ist Lehrerin.","lastmod":"2025-03-29","duration":"2:15:33","url":"/play/19129581.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvNzc5MmJhZDlhNTFjYjljMTRhZmNiNjQ3NWVkYmYxZTMuanBn.cache","vod_id":19259320,"title":"HEYZO 3185 Eine wunderschöne Frau im Yukata, bereits vom Regen durchnässt, wurde im Liebeshotel erneut völlig durchnässt! —Aoyama Hana","lastmod":"2026-05-18","duration":"1:01:06","url":"/play/19259320.html"}]},
videoTitle: 'Frustrierte Freundin #Party #schöneEhefrau #Gruppe 2, 4 Personen',
language: 'de',
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 kopiert!');
}).catch(() => {
// 降级到旧方法
document.execCommand('copy');
alert('Link kopiert!');
});
} else {
// 降级到旧方法
document.execCommand('copy');
alert('Link kopiert!');
}
}
},
// 切换布局
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=/`;
}
};
}