Jinan Bride Lü Jinmeng: Wer hätte gedacht, dass sie vor ihrer Heirat eine trainierte Schlampe war? Was für ein Kontrast!Jinan Bride Lü Jinmeng: Wer hätte gedacht, dass sie vor ihrer Heirat eine trainierte Schlampe war?","lastmod":"2026-07-11","duration":"02:10","url":"/play/19166181.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOWNhZTU3MjVkODRlZGZiYjE2MTMzODEzYTljYTFhMzkuanBn.cache","vod_id":18941082,"title":"Das taiwanesische SWAG-Model 'Mio' hat eine überraschend süße und kontrastreiche Figur im Bett; Fans suchen mich gezielt auf, um Coaching und Training in Schlafzimmerfähigkeiten zu erhalten.","lastmod":"2025-12-14","duration":"00:16:24","url":"/play/18941082.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvMmVhNTVjZGViNWY2MTRmYjBiMmU2ZThkNzg5OTRiNTMuanBn.cache","vod_id":19158144,"title":"HEYZO 3160 Ich will, dass du mein Gesicht ableckst! ~Namikata Moe als Beispiel~ – Namikata Moe","lastmod":"2026-05-14","duration":"20:32","url":"/play/19158144.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2IzMDk3NjAwZTlmMGIzYjQ0YTg0MDkwMWMwOGRkNDAuanBn.cache","vod_id":18959161,"title":"MKON-014 Meine liebe Freundin hat meinen Cuckoldry-Fetisch entdeckt, und um meinetwillen...","lastmod":"2025-12-14","duration":"02:05:23","url":"/play/18959161.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjZjODNiNjZlYjIxZmYzZmJkZGVjOTNlMjdmMGQ3NjIuanBn.cache","vod_id":19007667,"title":"JUY489 Madonna Exklusiver Elektroschock-Transfer Phase 2! Wenn ich meinen liebenden Stiefvater heiraten würde~ Der wundervolle Penis würde den Körper der Braut verwöhnen~ Hoshikawa Mitsuki.","lastmod":"2025-03-24","duration":"01:57:55","url":"/play/19007667.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMGNmZWM4ZjA1M2Q3OWE4MzViNjk5MjliZWExODYxMGQuanBn.cache","vod_id":19013754,"title":"HUNTA743P3 [Band 3] „Wenn du einverstanden bist, können wir Sex haben! Es ist okay, wenn du versagst und in mir kommst … Mach dein erstes Mal zu einer wundervollen Erinnerung!“ Meine neue Stiefmutter taucht plötzlich auf … (Inzest).","lastmod":"2025-03-24","duration":"01:56:02","url":"/play/19013754.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZGExMDg3MzY1YzZkY2QxNTIwMWMxYjc1OGI4ZTIwNTcuanBn.cache","vod_id":19018112,"title":"Mein Mitbewohner hat keinerlei Reiseerfahrung.","lastmod":"2025-03-24","duration":"24:07","url":"/play/19018112.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MDUvMDNkMWNjZGYxN2FmODMyZTg2YTlkZDgxZmFmZDNiZjguanBn.cache","vod_id":19045573,"title":"Meine Stiefschwester hat beschlossen, mit meinem Schwanz zu spielen – Charlie Chase","lastmod":"2025-08-04","duration":"11:38","url":"/play/19045573.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmQ5ZDJkZjRkOTkwYmM4MDg4ZWMyZWVjZGVhOGFhMDMuanBn.cache","vod_id":18960692,"title":"[Ungekürzte Version] ROYD-112 \"Schauest du mich etwa so an?\" Meine Freundin aus Kindertagen ist so süß geworden, es ist unglaublich, sie verführt mich unbewusst.","lastmod":"2025-12-14","duration":"02:18:36","url":"/play/18960692.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMTQvZTQ3ZmVmZmI0MTBmMDdiOWFiZWJlZTliZGRjZGUwNjIuanBn.cache","vod_id":19062503,"title":"Ich bin Jungfrau und wurde in einem Krisenspiel von einer Schlampe gefangen genommen! Die Schlampe aus meiner Klasse hat mich, die Jungfrau, geärgert und sogar mit meinem Penis gespielt! (Okina Sakura HUNTC_119)","lastmod":"2025-12-14","duration":"02:03:35","url":"/play/19062503.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTU3M2U1YjM3YTAzNTFmNGJlY2ZlMGYzMGEyYzI5MTMuanBn.cache","vod_id":19003794,"title":"SSNI-556 Meine Frau saß direkt neben mir und ritt heimlich auf meinem Penis, während sie mir obszöne Worte ins Ohr flüsterte. (Schwester Kojima Minami)","lastmod":"2025-03-23","duration":"02:44:38","url":"/play/19003794.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDhiODNmMzZmOTVmZjA2ZjZiYzllMjJjOThjNTU5Y2MuanBn.cache","vod_id":18936438,"title":"Eine atemberaubend schöne junge Frau leckt den Anus ihres Freundes. Selbst die edelste Frau kann zur unterwürfigen Schlampe werden, sobald sie unter dem Pantoffel eines Mannes steht. Sieh nur, wie genüsslich sie leckt.","lastmod":"2025-12-14","duration":"00:02:20","url":"/play/18936438.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzJlY2RjMTMwMjg3YTJmMWYzY2ViOTY5YjY2Zjg3NzAuanBn.cache","vod_id":19013660,"title":"HAWA196 hatte hinter dem Rücken ihres Mannes Sex mit einem anderen Mann. „Eigentlich habe ich noch nie das Sperma meines Mannes getrunken.“ Sie trank zum ersten Mal Sperma nach ihrem 30. Geburtstag (Inzest).","lastmod":"2025-03-24","duration":"04:04:13","url":"/play/19013660.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDAzN2NkNThlNTk5MmYzZjM0NGUwMTAxNDgxODgwNzguanBn.cache","vod_id":18981350,"title":"[Ungekürzte Version] MVSD-542 Die jüngere Schwester meiner Freundin ist ein geiles, teuflisches Loli-Monster! Sie ist völlig ausgerastet, nachdem sie versehentlich einen Blick auf meinen Penis erhascht hat!","lastmod":"2025-12-14","duration":"01:55:22","url":"/play/18981350.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTFmMGU3YjEyNDBmMWVmMGQxNDY5NWRiZmZkYmYzMjIuanBn.cache","vod_id":18951383,"title":"[Eilmeldung ✅ Top-Tier-Leak ✅ Kontrast] Deine Göttin ist die Sklavin eines reichen Mannes! Ein reicher Erbe zweiter Generation beleidigt, foltert und misshandelt eine wunderschöne, vollbusige, freizügige Frau mit Deep Throat, Trampling, Fußlecken und verschiedenen SM-Praktiken. Sie weint und fleht um Gnade, aber es ist zwecklos. 2","lastmod":"2025-03-22","duration":"00:15:05","url":"/play/18951383.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOGUwMzBkMTdkMmY0Yzg2ZWFlYmNjNDE4NTljNDBlNWIuanBn.cache","vod_id":19021286,"title":"Die verheiratete Frau wusch sich im Badezimmer und wartete darauf, dass ihr Liebhaber sie hart durchfickte.","lastmod":"2025-03-24","duration":"56:58","url":"/play/19021286.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMmZjYmMyOGYyYmFjMzIxMjc0ZmM4MDI5ZTlkNzdlYjQuanBn.cache","vod_id":18951301,"title":"Die frisch angekommene junge verheiratete Frau wurde gefilmt, wie sie von einem jungen Mann „trainiert“ wurde. Sie saugte an seinen Brüsten, masturbierte und leckte seinen großen Penis. Beim Sex im Doggy-Style stöhnte und ächzte sie und zeigte den männlichen Bewunderern ihre lüsternen Blicke.","lastmod":"2025-03-22","duration":"00:23:34","url":"/play/18951301.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvN2FmNzlhMGI4ZTU4MTdhMDIwNjU1NGZmODA4Y2MxMzYuanBn.cache","vod_id":19149255,"title":"Training von hochkarätigen weiblichen Models und Schönheiten für die Teilnahme an Nackt-3P-PUBG-Spielen","lastmod":"2026-03-20","duration":"04:00:29","url":"/play/19149255.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMWIyYzgzOWI0ODUwYzQwYjNlZmE1OTE4Zjk0NmNkOTcuanBn.cache","vod_id":18993200,"title":"MIAA-133 Meine Jugendliebe tauchte im Video auf. Ich liebe sie so sehr, ich bin eifersüchtig, und meine verdrehte, abscheuliche Erektion wurde vergewaltigt. Inaba Ryuka 1","lastmod":"2025-03-23","duration":"01:58:56","url":"/play/18993200.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZWQwOTk0ZjFhZjE4Y2E0MTA2NTUzM2UyYTQ4OWE0OWUuanBn.cache","vod_id":19135590,"title":"Ein vollbusiges Bunny-Girl wird von ihrem Liebhaber brutal gefickt. Sie trägt einen String und rote Netzstrümpfe, schüttelt ihren schönen Po und bettelt darum, gefickt zu werden. Dann wird sie im Stehen von hinten penetriert, ihre Brüste zittern. Die Szene zeigt den intensiven Fick aus der Ich-Perspektive.","lastmod":"2025-12-28","duration":"01:39:19","url":"/play/19135590.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTQvMmY5NmE0YjBkYzJiMjg0NGU2YWRlYTQyODg4YjBhNTYuanBn.cache","vod_id":19067526,"title":"Sie ist so wunderschön, es hat mich geblendet! Diese Studentin ist so rein und unschuldig, und sie veranstaltet eine Modenschau.","lastmod":"2025-12-14","duration":"29:33","url":"/play/19067526.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9pYy4xNTUyNTAyMTQudG9wLzIwMjYwMjIwL1RmSEhaaW5HLzEuanBn.cache","vod_id":19144768,"title":"Eine sexuell frustrierte Ehefrau erkundigte sich bei einer Freundin ihrer Mutter nach Leihmutterschaftsdiensten. „Genug, genug, ich komme!“ (VEC-745 von Marie-Laure)","lastmod":"2026-02-22","duration":"01:47:20","url":"/play/19144768.html"}]},
videoTitle: 'Meine weibliche Sexualpartnerin wird mit Peitsche, Halsband und tropfendem Wachs trainiert.',
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=/`;
}
};
}