Eine wohlerzogene Schlampe mit einer tollen Figur lässt sich von dem Kerl die Brüste streicheln und ficken.","lastmod":"2026-07-11","duration":"29:17","url":"/play/19117365.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MDMvZWY2ZTE2YWNhZjkyNjM4ZWUxOTMzOTczZDM5ZjJlNzEuanBn.cache","vod_id":19098524,"title":"KTRA-696 – Schlicht und doch bezaubernd!! Liebe machen mit meinen Schwestern.","lastmod":"2025-04-03","duration":"04:03:26","url":"/play/19098524.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvY2M5MzA5OTE2YjYyOTdkZDY1NjZiMmI0ZmE3N2ZjODAuanBn.cache","vod_id":19097173,"title":"494SIKA-287 Ein super süßes, flachbrüstiges Mädchen ejakuliert wiederholt mit Hilfe eines Vibrators und eines leistungsstarken Kolbens.","lastmod":"2025-03-25","duration":"57:28","url":"/play/19097173.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MjcvNGY5MmUxYjBkZmU5NzM0YTI3YTA4NDYxOGM0ODE4NDMuanBn.cache","vod_id":19113931,"title":"Super süßes, kurzhaariges, großbrüstiges, sexy Mädchen masturbiert #Live1","lastmod":"2025-07-27","duration":"03:49","url":"/play/19113931.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNWFmZTMyOTk2YTM1OGE0Yjc2YzU4NDZiMzk3NzdjNjYuanBn.cache","vod_id":19083596,"title":"Modelfiguren, zwei atemberaubend schöne Frauen sind verführerisch","lastmod":"2025-03-19","duration":"00:00:35","url":"/play/19083596.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZDdhMzFmYzFlZGM2OWFiOWQ5NTE3YmVjZWVmZmFkZjguanBn.cache","vod_id":19145779,"title":"BANK-228 Die gehorsame, schöne Ehefrau: Die schlanke, dunkelhaarige, langbeinige 30-jährige Nan berichtet über jeden sexuellen Orgasmus.","lastmod":"2026-04-21","duration":"02:10:51","url":"/play/19145779.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTMyNjcyZDRlZjA0MjhiMmFhNDAyYTYyM2NjMWE4ZDIuanBn.cache","vod_id":18956368,"title":"22-jährige Schülerin im Dienstmädchen-Outfit, Nahaufnahme von Flirten und Sex.","lastmod":"2025-03-19","duration":"01:03:29","url":"/play/18956368.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNmU4NzU5NzBjYWJkOTY5NDNiYWVlYTE1ZmEyMjVmMmQuanBn.cache","vod_id":18932129,"title":"Ich bin total vernarrt in mein süßes Nachbarmädchen. Ich habe sie zweimal nackt und ohne Kondom in verschiedenen Stellungen gefickt. Einmal bin ich in ihr gekommen und einmal auf ihr Gesicht.","lastmod":"2025-03-19","duration":"49:31","url":"/play/18932129.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvM2U4OWMxM2E4NWZmNTU3ZTQwZmRiNTY5ZWViZTE1MGUuanBn.cache","vod_id":19014171,"title":"Das Hotel bietet erstklassige Escort-Göttinnen mit großen Figuren und rosafarbenen Brüsten.","lastmod":"2025-03-19","duration":"17:34","url":"/play/19014171.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MjMvM2U1ZTFkMzZjMmQ5NDdjM2Q2MmFkZjE5YWM3Njc2NzcuanBn.cache","vod_id":19113478,"title":"Spa-Club-Beauty mit Top-Schönheit und toller Figur, Hotel-Escortservice, kein Kondom, Ejakulation im Inneren, unten","lastmod":"2025-07-23","duration":"24:36","url":"/play/19113478.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZmEyMGY1OTM2NzhkZGYwMzRmN2ExOWY5MTI2NWM0MWYuanBn.cache","vod_id":19080347,"title":"Seltene jährliche Enthüllung der Skandale einer Internet-Berühmtheit mit Millionen von Followern: TS Xintong, die Internet-Berühmtheit mit der höchsten Schönheit und Figur, wurde Opfer von geleakten privaten Videos, die sie bei der Prostitution zeigen! Auch eine Transgender-Internet-Berühmtheit auf Douyin wird der Prostitution beschuldigt.","lastmod":"2025-03-19","duration":"56:20","url":"/play/19080347.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MDgvOTg4MzQwYjE3MTZlYmUyYzAwZGU4NDBmZWI0NGNkY2EuanBn.cache","vod_id":19103646,"title":"#2 Das junge, sexy und bezaubernde Mädchen mit den langen Zöpfen wirkt in ihrer Lingerie verführerisch.","lastmod":"2025-05-08","duration":"09:16","url":"/play/19103646.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTFlN2RkODMzMjZmNmVhMjYwMjMzZjc4ODJlZTBmZDMuanBn.cache","vod_id":19003200,"title":"Sie präsentierte ihre gute Figur und verwöhnte den jungen Mann mit Leidenschaft. Sie war gehorsam und hingebungsvoll und gab ihm in 69 Stellungen Oralsex an seinem großen Penis, ließ ihn in sie eindringen und sie auf verschiedene Weise verwöhnen, während sie unaufhörlich stöhnte und seufzte.","lastmod":"2025-03-19","duration":"01:11:17","url":"/play/19003200.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYWFhMTFiZTMzZTc5OTNiMmUwMjgwMjA4ZDZkNDkyY2YuanBn.cache","vod_id":19041944,"title":"Absolut empfehlenswert! Eine reine und wunderschöne Göttin mit atemberaubenden Brüsten [Moonlight Diao Chan] – ihre Figur ist einfach umwerfend!! _0.","lastmod":"2025-03-19","duration":"00:00:38","url":"/play/19041944.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNWI5MWQwMzQ5NDY5OGYyMTI3NTA2ZDMyYTkyMGY4NGIuanBn.cache","vod_id":18978085,"title":"Eine wunderschöne, hübsche Frau zeigt verschiedene Stellungen während eines Zweier-Sex-Abenteuers. Sie ist sehr ausdauernd und kann mit jedem im Bett, auf dem Balkon oder auf dem Sofa Sex haben. Sie hat eine schlanke Figur und ein starkes sexuelles Verlangen.","lastmod":"2025-03-19","duration":"51:51","url":"/play/18978085.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTNjODE0NTFmNGNmMzFhYjk0M2M1MTNjMGNiNTczNGYuanBn.cache","vod_id":19071580,"title":"Der verführerische Anblick eines sexy, haarlosen, schlanken Mädchens mit langen Beinen.","lastmod":"2025-03-19","duration":"28:57","url":"/play/19071580.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNDU1YjQ2NWY5ZTA2NDIyNzUyY2I5Y2M1YTliYmM4NmMuanBn.cache","vod_id":19131470,"title":"EBON-002 basiert auf der überaus beliebten Manga-Serie, die sich über 110.000 Mal verkauft hat! Eine starke und süße kleine Schwester × Erzwungene Romanze – Tsubaki Rika","lastmod":"2026-02-13","duration":"01:40:58","url":"/play/19131470.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZGI5MDdiYTdlNmU5NjdjZTQwNDI5N2Y1OGE3ZWY3NzguanBn.cache","vod_id":19031717,"title":"Zwei umwerfend schöne Frauen mit fantastischen Figuren streamten ein Treffen mit zwei Fans im Wohnzimmer eines Luxusapartments, bei dem sie sich auf eine Vierer-Session einließen und abwechselnd Sex hatten – es war eine Stunde lang sehr genussvoll!","lastmod":"2025-03-19","duration":"01:15:24","url":"/play/19031717.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNGZlYjI5MGI3MzljOTlhNTk3ODMwZDBhZjAzMDQzMGEuanBn.cache","vod_id":19052791,"title":"Die neuesten durchgesickerten Informationen vom März: Eine attraktive, hübsche Studentin bot ihm an, für 3000 Yuan mit ihm Sex zu haben; sie sei bezaubernd und wohlerzogen.","lastmod":"2025-03-19","duration":"13:36","url":"/play/19052791.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYWFiN2U2ZDQxODFkZTAwYWQ1Yzc1NmY3MzEzMTViYTQuanBn.cache","vod_id":19024063,"title":"BLOR-247 Ein Mädchen mit einem süßen Lächeln wird brutal von einem riesigen Schwanz gefickt! Ihr Lächeln verwandelt sich in das Gesicht einer schmelzenden Frau... verloren in der Lust eines gierigen Schwanzes.","lastmod":"2025-03-19","duration":"02:15:21","url":"/play/19024063.html"}]},
videoTitle: 'Ein süßes kleines Dienstmädchen mit einer tollen Figur, so jugendlich! (Teil 2)',
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=/`;
}
};
}