Ich ging mit einer Kellnerin, die für ihre Schönheit und ihre sexy Figur gelobt wurde, in ein Hotel. Ich versuchte, die verheiratete Kellnerin mit Trinkgeld zu umgarnen ... 4 Stunden lang. (Mud Stick Cat - Emaniel)","lastmod":"2026-07-11","duration":"","url":"/play/19267950.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDhkMTUwMGU0ODJlYTk3NzZiZWU2Yjc5MGQwZDcxNGIuanBn.cache","vod_id":19071631,"title":"APKH-190 Großbusige Schönheit, Lieferantenin, erotischer Hotelsex aus der Ich-Perspektive. Ich würde dein Sperma gerne lecken und trinken... Die Kissenhändlerin ist eine geile Schlampe mit H-Körbchen, Reona Tomiyasu, 26 Jahre alt.","lastmod":"2025-03-29","duration":"2:20:43","url":"/play/19071631.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDZjYmQxZjlmMzI0NTFlYjE0YmMyMmEzMDM0ODc3MjYuanBn.cache","vod_id":19105107,"title":"DOCP-039 Eine tugendhafte und schöne verheiratete Frau, die von ihrem verabscheuungswürdigen Chef gezwungen wird, sexuelle Handlungen vorzunehmen, erlebt mehrere Orgasmen vor ihrem Ehemann.","lastmod":"2025-03-29","duration":"3:36:01","url":"/play/19105107.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODVmYmE0NTFlOTU4MWE5NDgwOWU3NjM0OTgwODc0MGIuanBn.cache","vod_id":19128826,"title":"PES-083 Super A-Grade wunderschönes Mädchen und brutale Pornografie × kaum legales Spiel! Primitiver Sex mit einem schlampigen kleinen Kerl und einer jungen Vagina! 2-CD-Set - CD1","lastmod":"2025-03-29","duration":"2:00:43","url":"/play/19128826.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzc2MGQwYzAwY2QyZWE4Y2FlNTk3MDRjNGQ4MWM4NmEuanBn.cache","vod_id":19174155,"title":"BTH025 Takikawa Kanon, eine Schlampe mit Krabbenbeinen, knetet deine Penisspitze mit ihren sich windenden Hüften und verschränkten Beinen und presst sich beim intimen Sex an dich.","lastmod":"2025-03-30","duration":"0:42:31","url":"/play/19174155.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZWIwNjZjNDIyNzlkMzI0OTdhM2QwNjFmYjYzMGYyNzEuanBn.cache","vod_id":19129489,"title":"PPPE-074 Ruf einfach, und eine vollbusige junge Dame wird kommen, um deine sexuellen Wünsche zu befriedigen. Menschliche Toilette und unsaubere heterosexuelle Affären, bedeckt mit Körperflüssigkeiten.","lastmod":"2025-03-29","duration":"2:26:46","url":"/play/19129489.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGY0YjAzOWQwZDU4ZDVjNDUwOWUxNjczZWYzOWYzYzQuanBn.cache","vod_id":19104833,"title":"[HD-Rezension] ma435MFCS-040 [Primitiver Sex am selben Tag mit einem vollbusigen Mädchen, deren Brüste so groß sind, dass selbst ein voll erigierter Penis darin verschwindet]","lastmod":"2025-03-29","duration":"1:17:01","url":"/play/19104833.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjYzYjJkNzVlNGIyMWZiMDVlMTk4MWI4ZWYwZGUxYTEuanBn.cache","vod_id":19158950,"title":"Ich verleihe meine Tochter jemand anderem. Mein Vater hat über eine Website einen Mann mittleren Alters gefunden, der beim Sex gefilmt werden will. Ein Traum.","lastmod":"2025-03-30","duration":"2:03:37","url":"/play/19158950.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzAyNzNhMmZjMmYyOWE1MWYxYmUwMWVjZDUxMWFiNGIuanBn.cache","vod_id":19095428,"title":"Ich hatte sexuelle Beziehungen mit der Frau eines Gangsters im Zimmer gegenüber.","lastmod":"2025-03-29","duration":"2:00:46","url":"/play/19095428.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzFlNWY1NzEwZmIyZjY2MjlkYzk2YzcyNTg2NDUxZTMuanBn.cache","vod_id":19081859,"title":"Ein neues Soap-Opera-Girl gab mir schnell Oralsex, und dann ejakulierte ich in sie.","lastmod":"2025-03-29","duration":"0:57:57","url":"/play/19081859.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNDcxNjNkYjAwOWQwYTIzMmUxOWFmMTcyNDc4MmZjNzQuanBn.cache","vod_id":19252075,"title":"DNIA-006 – Durchgesickert: Weibliche Attentäterin, Obszöne Fesselspiele, Ameisenlöwenhölle, Akt VI: Schmelzender weiblicher Körper und wahnsinniges Schreien, Schöne verheiratete Agentin, Makoto – CD4","lastmod":"2026-04-02","duration":"0:44:25","url":"/play/19252075.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjE4ZDc4ZTA3OGViM2QyOGE5NmNhNGYxNjkwM2ViY2EuanBn.cache","vod_id":19075532,"title":"Ein Monat der Abstinenz, gefolgt von einer großen Veröffentlichung!","lastmod":"2025-03-29","duration":"0:13:16","url":"/play/19075532.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNmQzZWUyMDk2OGQ1MWU4NDQ3YjFlMTAwMjZiZjIyNzUuanBn.cache","vod_id":19183630,"title":"SIRO3776 [Erster Dreh] Online-AV-Bewerbung → AV-Erlebnisdreh 1015 [Erster Penetrationsdreh!] Ein unschuldiges Mädchen, traumatisiert von Sex mit Männern, beschließt, ihren ersten Dreh zu wagen! Sie hat helle, durchscheinende Haut und einen extrem empfindlichen, zarten Körper! Sie ist sehr sensibel und wird schlaff, wenn man ihre Brüste, ihren Po und ihre behaarten Genitalien berührt, die so gar nicht zu ihrem Aussehen passen! Doch während der Penetration taucht ein Problem auf … Was wird bei diesem ersten Dreh passieren?","lastmod":"2025-03-30","duration":"0:59:58","url":"/play/19183630.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDFiYjJiMWYxYTc0MjgwNDc3OGNkZWJmODY1NWM4OWUuanBn.cache","vod_id":19132091,"title":"2. Ich übergoss ein Mädchen mit kleinen Brüsten mit Wasser und Lotion und hatte dann Sex mit ihr, während ihre Haare und Haut durchnässt waren.","lastmod":"2025-03-29","duration":"2:00:02","url":"/play/19132091.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvMWMxNWI5YzU3NDQ2NjRlODU3MTJlNTI2MjY3NzI0MGQuanBn.cache","vod_id":19260718,"title":"Ein promiskuitiver Lehrer mit sexy, üppigen Schenkeln und einem Beinfetisch neckt und provoziert seinen super-masochistischen Schwanz, ejakuliert dann auf einen Presslufthammer und vögelt dann Ai Sayama WANZ.","lastmod":"2026-05-26","duration":"1:58:59","url":"/play/19260718.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYmE2ODMxNmU5N2I1NjgzMTU2NGE0ZmQ3ZjVhMDhjOTMuanBn.cache","vod_id":19082406,"title":"Zwei Tage hintereinander von einem maskulinen Mann trainiert.","lastmod":"2025-03-29","duration":"2:19:14","url":"/play/19082406.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTUvY2Q3Y2NlNDcxNWVlMTE4YWY4NTc1YTExNWQ0YjFmMWEuanBn.cache","vod_id":19268523,"title":"Bitch Lady Hunts Men – Eine versaute Frau, die penetriert werden und Oralsex haben möchte #Harumi Fujita 藤田晴美 オルスタックソフト","lastmod":"2026-07-14","duration":"","url":"/play/19268523.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDJhN2JjODYzODk3MjI0ZDkxMDU2M2I2ODg0ZWI0ZDQuanBn.cache","vod_id":19082973,"title":"Er hinterließ einen lüsternen Vater und eine willensschwache Ehefrau.","lastmod":"2025-03-29","duration":"2:25:31","url":"/play/19082973.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZjA2MWNjNDgyM2NkZTkxZjI0YmVhMjM0YzZlNmQ2N2UuanBn.cache","vod_id":19238187,"title":"Zwei Paare vergnügen sich mit anregenden BDSM-4P-Sessions, eines mit riesigen Brüsten und das andere mit schönen Beinen.","lastmod":"2026-01-05","duration":"","url":"/play/19238187.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjE2OWQxYjdjYWJiNzQzNTE0ZWYwM2YzNzUyMmQ1OTcuanBn.cache","vod_id":19041902,"title":"Ich hatte sofort Sex mit einer hellhäutigen Hausfrau mit großem Hintern! Am nächsten Tag kam ohne Erlaubnis eine verheiratete Frau vorbei, die auf große Schwänze stand, also ejakulierte ich mehrmals in sie, bis sie befriedigt war. (15 Yuri Oshikawa)","lastmod":"2025-03-28","duration":"2:44:53","url":"/play/19041902.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjBiMTFjNGQ2YTBhZTk4ZTY1ZmRjMWVlZDE1NDBiYzcuanBn.cache","vod_id":19180038,"title":"HUNTA714 Meine geliebte Klassengöttin ist in Wirklichkeit ein Kussmonster!! ● Wiedersehen mit meiner geliebten Klassengöttin aus meiner Studienzeit!! Außerdem eine doppelte Feier! Den letzten Zug verpasst... (Inzest).","lastmod":"2025-03-30","duration":"4:00:49","url":"/play/19180038.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNTNmNTA1ZjhiNGJlMzk0MjZlYzQ5MjgyYTI0Y2JjZTIuanBn.cache","vod_id":19256907,"title":"Die kleine Hündin mit dem Babygesicht und den großen Brüsten rief immer wieder so süß „Papa“. Sie war ein so gehorsamer und wohlerzogener Hund.","lastmod":"2026-05-03","duration":"0:02:39","url":"/play/19256907.html"}]},
videoTitle: 'NKKD-205 Eine verheiratete Frau fährt mit ihrer Familie zu einer Parktoilette!!! 6 Toiletten NTR',
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=/`;
}
};
}