Angezogen vom Reiz der üppigen Brüste der Krankenschwester, bat ich sie, mir ihre Brüste massieren zu lassen. Nachdem sie einen Orgasmus hatte, ließ sie mich mit ihr schlafen. Kosaka Himari, Yukari Nonoka, Sakura Mohi Akinori","lastmod":"2026-07-11","duration":"02:45:25","url":"/play/19164784.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzk5MzBjODAwOTkzODBhYjg2Mzc3MDMyNGJhY2QxYWYuanBn.cache","vod_id":18963593,"title":"PPPD-684 Takada Mengami Orgasmen während der Brustmassage","lastmod":"2025-03-22","duration":"02:00:20","url":"/play/18963593.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTE0N2Y3ZTBmZmRmODJlY2VmNmIwZDUzMWVjYzg1NGIuanBn.cache","vod_id":18952406,"title":"[Chinesische Untertitel] JUFD-742 Die überragenden lüsternen Techniken der Lehrerin: Ichinose Miki saugt dich unaufhörlich aus","lastmod":"2025-03-22","duration":"02:26:07","url":"/play/18952406.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTcvYTA2ODIzMWM1NDQzMzNjNGM5NzQ5ODU3Y2FjMmY1YjQuanBn.cache","vod_id":19168634,"title":"Nachdem sie ihre bewunderte Tante zehn Tage lang unter Drogen gesetzt hatte, wurde sie zu einem feuchten, orgasmusgeplagten Sexspielzeug... Rin Okae, Madonna","lastmod":"2026-07-16","duration":"02:16:21","url":"/play/19168634.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODI4OGY3MGEyYzEzNWQyMGM0YWY0ODEzNGI3ZmRlMjMuanBn.cache","vod_id":19006150,"title":"ABP-818 lässt dich in 3 Hauptszenen die üppigen Brüste einer Göttin in G-Körbchengröße hautnah erleben. Eine super erotische, vollbusige, masochistische Schönheit wird von Nagase Mimo zum Orgasmus gebracht.","lastmod":"2025-03-24","duration":"03:42:41","url":"/play/19006150.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvM2IwMTc3NGM0ODFhYWQ3YWZkZDgyMjE1YmEwMDliMDMuanBn.cache","vod_id":19137463,"title":"Eine verheiratete Hotelangestellte wurde aufgrund einer unberechtigten Kundenbeschwerde vorgeladen und von einem Gast mit einem überdimensionalen Penis vergewaltigt. (Onosaka Yuika, NGOD-284)","lastmod":"2026-01-09","duration":"02:11:13","url":"/play/19137463.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMGUzNGFmYjM4ODg0NDI5MWFlYTMxYzQ2OTk2NzVlYWYuanBn.cache","vod_id":18946025,"title":"Die neueste Internet-Sensation, die Göttin „AsamiSusu“, benutzt transparente Sexspielzeuge, um sich selbst zum Orgasmus zu bringen. Am süßesten sieht sie aus, wenn sie in ihrer Schuluniform kniet und sich selbst befriedigt. (HD-Version in 720p)","lastmod":"2025-12-14","duration":"00:22:48","url":"/play/18946025.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjFhNjQ5YjNlMTY1ODhmZTEyNDNhYzk0ZWRmNjU5OGYuanBn.cache","vod_id":18977603,"title":"SNIS-720 „Emily die Lust des vaginalen Orgasmus näherbringen“ Schweiß, Speichel, Vaginalsekret, tropfende Körperflüssigkeiten, Krämpfe, Ekstase – Emily Ikedo","lastmod":"2025-12-14","duration":"02:44:25","url":"/play/18977603.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjMvZmVhNjQxOGMxNjBjZWU0OTJhMjIwMjFhMzg5NDE0MTAuanBn.cache","vod_id":19164889,"title":"Fruit Pie Personally Teaches Virgin Brother to Break Virginity Ignoring Advice and Forcefully Ejaculating Inside NACR-833","lastmod":"2026-07-11","duration":"19:59","url":"/play/19164889.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDAxMGY1NWM4MTFiOGJhNDdlNTE5YTAzZTZjMzcyMTcuanBn.cache","vod_id":18936139,"title":"FSET-856 Berufstätige Frauen: Wie berufstätige Frauen zum Orgasmus kommen – Die 24-jährige Rezeptionistin Yukina verdreht die Augen","lastmod":"2025-12-14","duration":"02:20:37","url":"/play/18936139.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTFiOWMyMWM1NTBkYjViNzQ3OWU3Y2I5NzVjMDMyZTMuanBn.cache","vod_id":18965475,"title":"XVSR-358 Unschuldige Studentin wird zum Geschlechtsverkehr gezwungen Maria Wakatsuki","lastmod":"2025-03-22","duration":"01:57:26","url":"/play/18965475.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNGY3NGMxMjRkNzllNmE3ODYwNGM4M2U3NWZjNWM2N2EuanBn.cache","vod_id":19024132,"title":"JUQ368C Rezeptionistin in einem Businesshotel erzwingt Orgasmen für 4 aufeinanderfolgende Nächte – Zimmerservice für alleinreisende Geschäftsreisende.","lastmod":"2025-03-24","duration":"02:19:05","url":"/play/19024132.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDc1MjIyOWRhY2Y0MTVjYWE2MTUxYjI2Y2MyNWIwMDMuanBn.cache","vod_id":18959460,"title":"PPPD-675 Zeitstopp Brustmassage Akademie 3 Erzwungene Freisetzung Schreiende Panik Sahnetorte Vergewaltigung Amano Miyu Tsukimoto Ai","lastmod":"2025-12-14","duration":"02:28:16","url":"/play/18959460.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MTUvNzQ5NDgyNWE5MzI3ODMxMjc2MTAxMGU5ODlhMjU4MmMuanBn.cache","vod_id":19038544,"title":"MIFD512 erlebte 39.713 Orgasmen durch erotische Flüssigkeitsspritzer, begleitet von Krämpfen und Zittern! Ein großer Penis drang dreimal in die Gebärmutter ein, was zum ersten Orgasmus durch Penetration führte.","lastmod":"2025-06-15","duration":"02:29:42","url":"/play/19038544.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDRjMzE2YjA5MGNmMjczMDNlZGQwMjEyY2I1MjgwMzYuanBn.cache","vod_id":19005578,"title":"MIDV-496-C Eine schweißtreibende, leidenschaftliche Session! Ein Ausflug zu einer heißen Quelle, der ihre Obszönität vollends offenbart. Sie fühlt sich verlegen und feucht und liebt den Schwanz. Sie erreicht einen heftigen Orgasmus und zuckt zusammen.","lastmod":"2025-03-24","duration":"02:28:53","url":"/play/19005578.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MTUvYWQ1YzgxMWYyNjU4MTE3NjFkYTI1ZmFjZmUzYzhmNjkuanBn.cache","vod_id":19046995,"title":"SORA593, die saubere und fähige Studentin, die ich zwangsweise unter Drogen gesetzt, entführt und gedemütigt habe! Ich habe sie geschlagen und getreten, sie gewürgt, bis sie eine Überdosis nahm, die Augen verdrehte, weinte und ihre Schönheit verblasste!","lastmod":"2025-08-14","duration":"02:24:07","url":"/play/19046995.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTI5ZjU3ZGVjY2FjNDQ4ZDc5ODVhODc0ZjY5NDYzYzAuanBn.cache","vod_id":18986055,"title":"STAR-591 Marina Shiraishi - Climax Hell - Empfindliche Zuckungen - 211 Orgasmen - Riesiger Schwanz - 13.688 Kolben","lastmod":"2025-03-23","duration":"03:10:46","url":"/play/18986055.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZGE4YzUyMDcwMGEzYWI0YzhlMmQzNzVhZGZjNTI0Y2MuanBn.cache","vod_id":19016547,"title":"SSNI508 In der zweiten Runde des intensiven, kolbenartigen Geschlechtsverkehrs wurde die krampfende Vagina, die gerade den Orgasmus erreicht hatte, gnadenlos penetriert. Miharu Usasaki.","lastmod":"2025-03-24","duration":"01:59:51","url":"/play/19016547.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvM2QyOGE5ZWRlMWQyNzcxMDFmZjFjMDY0NTYxM2Y0MjQuanBn.cache","vod_id":19141080,"title":"JVIDSM Outdoor-Dominanz einer sexy Wildkatze mit Analplug und Fuchsschwanz, Masturbation in der Natur, Aufhängung auf dem Dach und erzwungener Orgasmus","lastmod":"2026-02-01","duration":"23:44","url":"/play/19141080.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNGM5ZjJmMTFlODU5ODllOGU3NDU5YzY5MGE1M2M4MjEuanBn.cache","vod_id":18964821,"title":"[Chinesische Untertitel] MIAA-756 Krankenschwester ruft mitten in der Nacht nach NTR; Patient zieht weißen Kittel aus und hat um Mitternacht im Krankenhaus wiederholte Orgasmen, kann aber keinen Laut von sich geben.","lastmod":"2025-03-22","duration":"01:57:20","url":"/play/18964821.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9pYy4xNTUyNTAyMTQudG9wLzIwMjYwMjIwL0JKV3VHZGpWLzEuanBn.cache","vod_id":19144545,"title":"Dreharbeiten zu einer Szene, in der das ehemalige Idol Ishida Karen in einem Bus sexuell belästigt wird… Erzwungene Fingerpenetration einer berühmten Persönlichkeit, die ihre Schreie unterdrückt, während sie zum Orgasmus kommt – ein Mädchen, das hofft, ein großer Fernsehstar zu werden. (SONE-971)","lastmod":"2026-02-21","duration":"02:49:38","url":"/play/19144545.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2E1MDI4YzkxOTljYTAwYmVmMjAzNDA3ZmZhNGU3YmQuanBn.cache","vod_id":18923264,"title":"Die attraktive, kurzhaarige KIKI benutzt im Badezimmer einen Vibrator. Ihre rosafarbene, haarlose Vagina erlebt einen Orgasmus und spritzt ab – sehr verführerisch. Nicht verpassen!","lastmod":"2025-12-14","duration":"01:29:52","url":"/play/18923264.html"}]},
videoTitle: 'NHDTB331 ist ein Trainer, der Athletinnen durch Überstrecken des Rückens zu einer erzwungenen Reitposition und einem Orgasmus zwingt.',
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=/`;
}
};
}