44-jährige, erstklassige verheiratete Frau Tada Yuka, nackte Muschi zum wilden Ficken","lastmod":"2026-07-11","duration":"","url":"/play/19244982.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTViNjFlYTQ0YWE5ZWQyODdkZDAzYWVkOTk2M2JkYTMuanBn.cache","vod_id":19046693,"title":"Hochwertiges, super junges und wunderschönes Mädchen, sexy Dessous, verführerische Masturbation mit vibrierendem Ei, Einführen eines Requisits, Doggy-Style mit herausgestrecktem Po, Stoßen und Stöhnen, Nahaufnahme ihrer Genitalien.","lastmod":"2025-03-28","duration":"","url":"/play/19046693.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2Y3NGJmN2ViN2NiZjQ4NDFjMDk1Mjg1NDBjNzk1YjcuanBn.cache","vod_id":19105902,"title":"Neueste Top-Frau der reifen Generation erobert die Erwachsenenvideobranche: 172 cm groß, mit schönen Beinen und festen Brüsten, masturbiert und wird sehr feucht – chinesisches Selbstvideo.","lastmod":"2025-03-29","duration":"","url":"/play/19105902.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2M3ZTAwNmM5MjI5NDJkZjdmMGQ5NmVjMGYzNzM2YjMuanBn.cache","vod_id":19074092,"title":"[Falling for Sheep] Auf Anfrage veröffentlicht: Unschuldiges Grundschulmädchen masturbiert mit Requisiten, ohne Kondom~!! ✨✨✨--20 Stunden, bekannt als Zhejiang Liu Yifei, unschuldiges Gesicht enthüllt_20220811_144302","lastmod":"2025-03-28","duration":"01:22:04","url":"/play/19074092.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDU1YjU0ZWFkNjQ5NjhiMzViMTk4NzM4YTkzZmYxYmUuanBn.cache","vod_id":19169408,"title":"Eine junge Frau streamte sich selbst beim Masturbieren und präsentierte dabei ihre für ihr junges Alter überraschend großen Brüste.","lastmod":"2025-03-29","duration":"45:17","url":"/play/19169408.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZTNkMDAxNTViY2M5NTYxNGIzMDQ4MWNkYWVmODc0M2IuanBn.cache","vod_id":19230266,"title":"Eine atemberaubende, 170 cm große, langbeinige Geisteswissenschaftlerin mit einer Figur wie ein Model masturbiert und manipuliert ihre Klitoris mit Hilfsmitteln!","lastmod":"2026-04-21","duration":"0:29:17","url":"/play/19230266.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjZlMGZiMGQwZTBkMWU1MDQyNTMwMWZkOTczMmUyZjkuanBn.cache","vod_id":19052620,"title":"[China Pavilion] Ihr kleiner Bruder ist auf Geschäftsreise, deshalb kann sie sich nur zu Hause selbst befriedigen, indem sie mit einem Vibrator spielt und stöhnt, als würde sie von einem großen Schwanz gefickt.","lastmod":"2025-03-28","duration":"","url":"/play/19052620.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzBmNjNlNjQxYWI5ZWE2NWEyYzRiMmNlY2Y2ZjE1MDYuanBn.cache","vod_id":19078614,"title":"Eine glamouröse und verführerische verheiratete Frau, die alle mit ihrem Charme in ihren Bann zieht, ist durchgehend in sexy Strümpfen und Dessous zu sehen. Ihre Gesichtsausdrücke sind unglaublich provokant, während sie ihre Brüste leckt, ihre männlichen Verehrer durch das Anheben ihrer Brustwarzen neckt und beim Masturbieren stöhnt und seufzt.","lastmod":"2025-03-29","duration":"00:27:13","url":"/play/19078614.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2YzYTNiNTIzOGUzZTZiMWExOGYyODdjODU5NGFhNjYuanBn.cache","vod_id":19038724,"title":"【Crystal of the Stars】Hochwertiges Mädchen masturbiert mit einem Vibrator, Nahaufnahme vom Einführen und Herausziehen des Vibrators durch dichtes Schamhaar, sehr verführerisch, verpassen Sie es nicht, wenn Sie darauf stehen.","lastmod":"2025-03-28","duration":"02:35:28","url":"/play/19038724.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNGQwMTc4YTViY2NhYWM0MmMyNzRkZmQ3MzIyMzA5MmUuanBn.cache","vod_id":19077316,"title":"Das schönste Mädchen aus der Kunstabteilung unserer Schule – sie ist so sexy! Wer würde nicht gerne an ihren Nippeln saugen? Und wenn sie masturbiert, ist sie unglaublich verführerisch!","lastmod":"2025-03-29","duration":"01:32:05","url":"/play/19077316.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzUxOWE2NzlhMGQwZjliNTE2Y2Q2NzQ4NmJhNzg5NTguanBn.cache","vod_id":19042669,"title":"Junge, hübsche und bezaubernde Mädchen verlangen Geld für Live-Streams, in denen sie sich mit Gewalt einen Vibrator in die Vagina einführen, um zu masturbieren; das ist unglaublich obszön.","lastmod":"2025-03-28","duration":"00:28:50","url":"/play/19042669.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGUyZjA0OWRlYzc0Zjk0MzE3ODNmNDhmOWJhNGJiYWEuanBn.cache","vod_id":19145097,"title":"Großbrüstige JK (Highschool-Mädchen) in blau-weißen Bowls masturbiert mit einem Vibrator zum Orgasmus.","lastmod":"2025-03-29","duration":"15:42","url":"/play/19145097.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDkyMDI1MjIyZjliNzlhMzAyMGRkMTEwYmJkMWVhM2YuanBn.cache","vod_id":19143366,"title":"Eine Auswahl an sexy, kurzhaarigen Studentinnen, die sich im Badezimmer mit einem Dildo selbst befriedigen.","lastmod":"2025-03-29","duration":"","url":"/play/19143366.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzQzMTA4Mzk4YTg3MzUzM2ZiY2JlNTE1MzMwZTRhMWUuanBn.cache","vod_id":19103704,"title":"CEAD-609 14 Schauspielerinnen ejakulieren durch Sitzen auf ihrem Gesicht - Yui Hatano","lastmod":"2025-03-29","duration":"","url":"/play/19103704.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZjczYTA4YTYyYmNhMzUzY2M5OWE1YjczYmVkNmFhMzguanBn.cache","vod_id":19212062,"title":"Erwache zu einem Festmahl im nackten Harem! Der erbitterte Kampf der letzten Nacht geht weiter – eine Auswahl an Gruppensex- und Ejakulations-Extravaganzen HHF-084","lastmod":"2025-12-29","duration":"4:02:00","url":"/play/19212062.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjA5ZmM5MmMzODJjMTZkNGFmNDA4YjQ0M2UxYTE1OGIuanBn.cache","vod_id":19078572,"title":"[Chinesische Untertitel] HBAD-368 Eine hochmütige Lehrerin ist völlig nackt und wird vor ihren Schülern gefickt, ihr Körper ist mit exquisitem Sperma gefüllt.","lastmod":"2025-03-29","duration":"02:35:40","url":"/play/19078572.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTcwNzE1NjE3M2I0NjcxZjcwM2Q5ZDBmMjdhOTMxYWQuanBn.cache","vod_id":19043801,"title":"Eine üppige, langhaarige Frau masturbiert im Bett mit Hilfsmitteln und interagiert dabei mit männlichen Partnern. Sie nimmt die Lotusposition ein und führt schnelle Stöße aus, was zu unglaublich stimulierender und lustvoller Erregung führt.","lastmod":"2025-03-28","duration":"00:20:02","url":"/play/19043801.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvM2UwYjBlZTU4OWU3MDZhMzBiYmYyOTljMmJjZTNmZWUuanBn.cache","vod_id":19234603,"title":"Studentinnen und beste Freundinnen masturbieren gemeinsam, ihre zarten Vaginas ineinander verschlungen, und ihre Säfte fließen ungehindert.","lastmod":"2026-05-16","duration":"1:15:50","url":"/play/19234603.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYWUzMTU5MTU0MTFhZWIxNWE3OWRhMWRjN2RmOTg1ZTYuanBn.cache","vod_id":19040823,"title":"Hochwertige, unschuldige und süße Nacktaufnahmen eines Mädchens, verführerische Vulva, haarlos, Selbstbefriedigung auf dem Bett, Nahaufnahmen von weißem Sperma, sehr verlockend und anziehend. Nicht verpassen, wenn du darauf stehst.","lastmod":"2025-03-28","duration":"00:19:10","url":"/play/19040823.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTFmMWMxZWEzNjM0NGUxNjRlYjY1NDcwN2ZkNDhhYTMuanBn.cache","vod_id":19064458,"title":"Eine bekannte Göttin benutzt verschiedene Requisiten, um ihre Intimbereiche zu stimulieren und enthüllt dabei ihre rosafarbene Klitoris.","lastmod":"2025-03-28","duration":"01:02:45","url":"/play/19064458.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTE4ZDBiYTI3NDA3YTllZGFkMDllNmExNDMyYzM3YWEuanBn.cache","vod_id":19154534,"title":"DVDMS513 Unisex Überwachung AV: Eine Studentin und ein Student leben unter einem Dach, und der Student muss einmal pro Stunde ejakulieren.","lastmod":"2025-03-29","duration":"","url":"/play/19154534.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTZkM2NmYTIzMWYxY2U0ZDI2MGQzMjY0ZWNjYzk2ZmYuanBn.cache","vod_id":19067317,"title":"✿Ein nacktes Festmahl✿ Atemberaubende JVID-Schönheit mit großem Busen und lüsterner Sinnlichkeit ▌Zi Qing▌Eine Schönheit mit großem Busen steigt zur Geliebten des Mafia-Bosses auf und genießt die frische Vagina eines berühmten Mannes 123P2V","lastmod":"2025-03-28","duration":"00:06:50","url":"/play/19067317.html"}]},
videoTitle: 'Ein erschreckendes Erlebnis: Mu Xili rennt nackt die Treppe hinunter; sie masturbiert nackt in einem Aufzug unter Beobachtung. Mu Xili 62_(neu)',
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=/`;
}
};
}