Nachdem sie ihre bewunderte Tante zehn Tage lang unter Drogen gesetzt hatte, wurde sie zu einem feuchten, orgasmusgeplagten Sexspielzeug... Rin Okae, Madonna
Als Manager eines Familienrestaurants erlag ich der lüsternen Verlockung eines kleinen Teufelchens, einer Prostituierten, und wurde süchtig nach ungeschütztem Sex... DVAJ-671-C","lastmod":"2026-07-11","duration":"02:09:47","url":"/play/19165711.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTU1N2E0ZmI0OTU2Yjk1YWE3NTk4MjM2ZWNhNmNhNGQuanBn.cache","vod_id":19007785,"title":"KAWD962 verfolgt eine Studentin mit ungeschütztem Penis, ihr erstes Mal beim Eindringen und Ficken, eine vollständige Aufzeichnung von Nana.","lastmod":"2025-03-24","duration":"02:30:59","url":"/play/19007785.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvMGI2MWIwYmM0YzY1NWZhYzc5Y2M4Y2MwNGQ3M2I4OTYuanBn.cache","vod_id":19162031,"title":"[4K] Die Nachbarin ist eine wunderschöne Po-Trainerin, ihr weicher Körper und die heilige Entwicklung verbotener Ejakulation, von der du nur träumen kannst. Yuri Maina Crystal Image","lastmod":"2026-07-11","duration":"02:05:55","url":"/play/19162031.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNWEzY2UzNTlkMjRiOGQzNWUwMWU1ODA4NGEyODUzMWQuanBn.cache","vod_id":18969564,"title":"STARS-756 Die 21-jährige Miyajima Mei, eine unschuldige Büroangestellte, erlebt zum ersten Mal eine widerliche körperliche Untersuchung durch einen perversen Arzt. Obwohl sie während der Untersuchung frustriert ist und ihre Stimme zittert, kommt sie dennoch zum Orgasmus.","lastmod":"2025-12-14","duration":"02:09:35","url":"/play/18969564.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTA1YTVjYjUzZmE4ZGIwOWE3NGFhNGEzNDQwZDllZGMuanBn.cache","vod_id":19023922,"title":"JUL030 Chinesische Untertitel Madonnas exklusives \"Kaoru Iiyama\" wurde endlich geknackt.","lastmod":"2025-03-24","duration":"01:55:00","url":"/play/19023922.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZDFmNzEwODRjZGY3NGZkYjAwMmJkNzcyMjMyOTIxMGUuanBn.cache","vod_id":19146308,"title":"Reispaste-Pfirsich - Hochzeitskleid-Oralsex, Samenerguss, so schön, dass ich geweint habe.","lastmod":"2026-03-03","duration":"16:23","url":"/play/19146308.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDVhZmZhMzY0MWNhNDhmNjkwZGYxODYwZDE4ODA1ZGQuanBn.cache","vod_id":18980739,"title":"[Chinesische Untertitel] ADN-475 Der Preis des Nervenkitzels. Eine verheiratete Frau bricht in einen Laden ein und wird zum Sexspielzeug des Ladenbesitzers. Misaki Nanami","lastmod":"2025-03-23","duration":"01:51:43","url":"/play/18980739.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2EzODEwZDhkMTZiZjI0NTdhOWJkOTA5ZjBjMWFmMWYuanBn.cache","vod_id":19011151,"title":"MIAA217 Ich erzähle euch, wie ich, jemand mit vorzeitigem Samenerguss und schlechter sexueller Leistungsfähigkeit, „das Gegenteil von dem“ nahm und zu einem Mann wurde, der eine freche Studentin immer wieder zum Orgasmus bringen konnte. Nagase Yui...","lastmod":"2025-03-24","duration":"02:27:58","url":"/play/19011151.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MTQvY2Y1OGQzMmE1MzI5YzgxOTFhMTM2NTAyYjE0NjU1ZWEuanBn.cache","vod_id":19042631,"title":"CHUC131 Super süßes Mädchen mit E-Körbchen in erotischer Kleidung hat Sex mit Nozomi","lastmod":"2025-07-13","duration":"01:08:52","url":"/play/19042631.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzI3MmY4M2FhMWQ0M2MzMjcyYWQyZTkzZjYzYzljNTAuanBn.cache","vod_id":18989486,"title":"254HON-190 Echter Höhepunkt-Aufnahme. Obwohl es sein erstes Mal vor der Kamera war, lachte er laut auf! Der Kontrast zwischen ihrer nervösen sexuellen Seite und ihren leisen Stöhnen ist einfach zu süß! (0002).","lastmod":"2025-03-23","duration":"54:04","url":"/play/18989486.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDFlNTVjMjNjYWY5NTA1ODMxMjE3YzEyM2IxM2IyYjQuanBn.cache","vod_id":18973522,"title":"KSBJ-235 Ein üppiger und sinnlicher Körper! Riesige Brüste x Reife Frau x 20 Personen bekommen einen Samenerguss","lastmod":"2025-03-23","duration":"04:01:28","url":"/play/18973522.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2M3MWZkNGU1YmFmYzQ0YTk2N2RjY2U2OWIzMGM2MjMuanBn.cache","vod_id":18976666,"title":"FANH-125 Akiba J-Style großbrüstige Fußmassage-Girl Suzuka-chan, kleiner Teufel JDs süßer Junge Nahaufnahme, Rückenoperation POV, rücksichtsloser und intensiver Kolben, kontinuierlicher Orgasmus, erzwungene Zustimmung.","lastmod":"2025-03-23","duration":"02:21:47","url":"/play/18976666.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MjAvOGNiZTVhZjYyOTFjYTVmZTBhZTE1Yjg3YTMyMjEzZTMuanBn.cache","vod_id":19043756,"title":"HMN683 Newcomerin Sexgenie!! Ein wunderschönes Mädchen mit einem tollen Po, das wegen zu extremer Inhalte gesperrt wurde, ein Video, in dem sie beim Eindringen ihre Hüften verdreht.","lastmod":"2025-07-19","duration":"02:52:38","url":"/play/19043756.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDFiN2JmMWM4YzVmN2MxNGFlODAxNGNiNDg2NTRjYWUuanBn.cache","vod_id":18926315,"title":"Eine wunderschöne Schülerin in Schuluniform mit perfekter Figur und hohem Aussehen wird zusammen mit ihrer jüngeren Schwester einem SM-Training unterzogen, wobei sie anzügliche Geräusche von sich gibt. Zwei haarlose, zarte Mädchen spielen miteinander, spritzen aus einem doppelköpfigen Penis und haben anschließend Sex mit ihren Partnern, indem sie ihnen Oralverkehr geben und ejakulieren. Die Dialoge sind obszön.","lastmod":"2025-12-14","duration":"02:11:20","url":"/play/18926315.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNTYwZjg4OTIzMzQ2YjJiYjQ4MWMyMTdkNjYxZGZhOTcuanBn.cache","vod_id":19138899,"title":"Spastisches Delirium! Durchgebogener Rücken, ultimative Orgasmusentwicklung! [Plötzliche Verwandlung, Zusammenbruch, Erwachen] Unkontrollierte überempfindliche Gebärmutter Spezial - Natsume Hibiki START-374","lastmod":"2026-01-17","duration":"02:48:32","url":"/play/19138899.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjJhYTFjY2ZkNGNlYzZlYzEwYjllNmVjM2VlMjY2MjUuanBn.cache","vod_id":18964312,"title":"TPPN-022 Schweiß und Vaginalsekret. Multiple Orgasmen. Azusa Itagaki","lastmod":"2025-12-14","duration":"01:59:24","url":"/play/18964312.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzBlOGNlMjQwYjQxMzEwMzlhZmMzMTY0MGVkZThhMWQuanBn.cache","vod_id":18988697,"title":"ETQR-115 Fußmassage eines schönen Mädchens in Matrosenuniform, Iisparatsuka.","lastmod":"2025-03-23","duration":"01:01:05","url":"/play/18988697.html"}]},
videoTitle: 'Nachdem sie ihre bewunderte Tante zehn Tage lang unter Drogen gesetzt hatte, wurde sie zu einem feuchten, orgasmusgeplagten Sexspielzeug... Rin Okae, Madonna',
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=/`;
}
};
}