SOE451, lasst uns eine S-Klasse-Schauspielerin erschaffen! 2. Mein Künstlername steht fest! Extrem intensives Training! Ich lerne von den Top-Veteranen der AV-Branche! ...
Fujimori Riho, eine Callgirl, wurde von ihrem Vorgesetzten brutal vergewaltigt und ihre großen Brüste wurden so lange missbraucht, bis sie die Kontrolle über ihre Blase verlor.","lastmod":"2026-07-11","duration":"","url":"/play/19244727.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGUzNjBhMzQ3OTY4N2JlZGY0ZWY1ZTBlMDVjOTg2YmMuanBn.cache","vod_id":19098031,"title":"[Unzensiert] MADM-165 Mein erstes Mal war mit meiner großbusigen Nachbarin... Meine Jungfräulichkeit wurde mir von den Brüsten meiner Nachbarin genommen, und ehe ich es merkte, war ich zum Sadisten geworden.","lastmod":"2025-03-29","duration":"02:17:55","url":"/play/19098031.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZGViODRlZmRlNWIxZTUyYjFhNzViYjBhZjYzMjYyY2EuanBn.cache","vod_id":19132617,"title":"MEYD-485 Meine Frau ist besessen von ihrem unvergleichlichen Vater, der sie im aktiven Dienst hält und sie zum Zielen anspornt...","lastmod":"2025-03-29","duration":"01:57:39","url":"/play/19132617.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNWViYWE3YTc0ZmQ5MDUwNzc2ZGE4ZDczODdmZTA1MDguanBn.cache","vod_id":19049934,"title":"[China-Pavillon] Eine große, sexy, langbeinige Schönheit hat Sex mit ihrem Freund in ihrem Studentenwohnheim und macht dabei Selfies. Sie stöhnt und schreit, während er sie fickt: „Oh, es ist so tief, du bringst mich um! Nein, ich kann nicht mehr!“","lastmod":"2025-03-28","duration":"","url":"/play/19049934.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzdkNzI4NWY3OThhYzhjZjk1MGE2YjkzZTgyYjhkNjMuanBn.cache","vod_id":19140332,"title":"[Affäre aufgedeckt] Nach ihrer Affäre beschloss die promiskuitive Ehefrau, sich von ihrem Mann scheiden zu lassen. Um die Scheidung zu vermeiden, akzeptierte sie jedoch die Affäre und teilte sie mit ihrem Liebhaber.","lastmod":"2025-03-29","duration":"11:22","url":"/play/19140332.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTVmYWM0ZDdjMjg1MGU3ZjEwY2Q5N2JiZjA5MGRjMzYuanBn.cache","vod_id":19156511,"title":"DYPE002 Die Schwester, die Ärger macht: Schauspieltraining","lastmod":"2025-03-29","duration":"01:14:24","url":"/play/19156511.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNGFmYWNkYTA3ZDlkMzU0NjNhNjQwMWU2N2I5ZDg0ZTkuanBn.cache","vod_id":19124343,"title":"CATWALK POISON 118 Du und Ich Adagio","lastmod":"2025-03-29","duration":"01:59:39","url":"/play/19124343.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZGQ1NmQyMGRmMjVjOTJiMmI0MWQ1Mjk1ZjZmNzU3MjYuanBn.cache","vod_id":19091619,"title":"DLDSS-155 Meine Frau fuhr zu einer Gedenkfeier nach Hause und wurde von vier ihrer Brüder mit riesigen Schwänzen vergewaltigt. Ihr geiler Arsch wollte einfach nicht runter... Ayaka Tomoda","lastmod":"2025-03-29","duration":"02:03:39","url":"/play/19091619.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZGJiZmZiOGM1NGE4MTIwMDg5N2Y0M2IxMDIzMjZlZDYuanBn.cache","vod_id":19156503,"title":"PH-141 Verkäuferin in einem Halbservice-Shop beschließt, ihre Vagina zu benutzen","lastmod":"2025-03-29","duration":"35:43","url":"/play/19156503.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTgxMGVjOTc2MTk1NDE4OGZmYzc1ODBjZDMyM2JkYzEuanBn.cache","vod_id":19105594,"title":"384SHSS-003 [Erster Dreh] Online-AV-Bewerbung → AV-Erlebnis-Dreh 1018 Eine vollbusige Rezeptionistin, die beschließt, in einem AV mitzuspielen, um Nervenkitzel zu erleben. Schon das Einführen eines Fingers in ihren rasierten Intimbereich lässt ihren Körper zucken und hüpfen, bis sie immer wieder zum Orgasmus kommt…!","lastmod":"2025-03-29","duration":"","url":"/play/19105594.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDQyYjYzNTRkOTNkODlmOWQwNjU5NjZmMjFjMzlkMTMuanBn.cache","vod_id":19111806,"title":"Meine erotische beste Freundin fesselte mir Hände und Füße und fickte meine Muschi hart, während sie einen Dildo trug.","lastmod":"2025-03-29","duration":"","url":"/play/19111806.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjllYWVhOTgzNmY4NzIyYWY2YjRlZGRjNzRmMzJlZDUuanBn.cache","vod_id":19042800,"title":"KIL-004 Ich benutzte meine sexy kleine Schwester als Testperson für ein Aphrodisiakum und spielte mit ihr.","lastmod":"2025-03-28","duration":"01:41:22","url":"/play/19042800.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNWNlMTI2ZGQ0YTViMDc4NjJiYTQ4OWEyZmM1ZTQ3YjMuanBn.cache","vod_id":19070117,"title":"HUNT-300 Ich bin ein schüchterner Junge, deshalb konnte ich nicht ablehnen, als ein Mädchen aus meiner Klasse zu mir nach Hause kam und Erwachsenenvideos anschauen wollte.","lastmod":"2025-03-28","duration":"02:34:48","url":"/play/19070117.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWM2MGUwYmQyYjcxOTU3MjllNGM0ZTUxY2M0NWNlZjAuanBn.cache","vod_id":19037851,"title":"DOCP-073_B \"Bist du wirklich ein Engel?!\" Mein Penis ist abgebrochen, und ich kann nicht masturbieren.","lastmod":"2025-03-28","duration":"01:45:06","url":"/play/19037851.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzY2ZWY1MTY2YmE1MzcyNGNjYmJkMWVlNDE1ODgwZjEuanBn.cache","vod_id":19101290,"title":"MMMB-093 Die Mutter meiner Frau ist schon eine alte Dame, aber sie will immer noch Sex! Eine frustrierte 50-jährige Stiefmutter bettelt um 4 Stunden Penetration.","lastmod":"2025-03-29","duration":"03:57:18","url":"/play/19101290.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2Y2OTg2NGFkNzBlZDViMWZjOTI3YzViODIxYjFiMWMuanBn.cache","vod_id":19148243,"title":"HOKS050 Schockierend! (Schockierend) Meine Frau hatte Sex mit meinem Vater, meinem Lieferanten und meinem Bruder...","lastmod":"2025-03-29","duration":"02:06:29","url":"/play/19148243.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2NjY2RmYzU0Nzk5ZGZhMWU4MGRkOGM3NDFmOGIxNjkuanBn.cache","vod_id":19087221,"title":"10musume Natural Girl 022223_01 Bitte lass mich deinen Schwanz tief in meinen Hals lutschen, Mami Tatsumi","lastmod":"2025-03-29","duration":"00:20:29","url":"/play/19087221.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjQ1OGMxNDBiN2Q0YzExODBlZmY2YTFjZTQwNTYwNWUuanBn.cache","vod_id":19113004,"title":"Dieses Mal ließ ich meine beste Freundin ihre Hand in meinen engen Anus einführen und sie hinein- und herausstoßen, während ich gleichzeitig meine Vagina vibrierte.","lastmod":"2025-03-29","duration":"","url":"/play/19113004.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjEyNmY4NGMyMTUzYWZhYTQwYjU2MGYxNDZmZjc4MDUuanBn.cache","vod_id":19070273,"title":"Caribbean Language 111717-540 Makoto Shiraishi, Schauspielerin Spirit ~Überraschungsspecial zum Ruhestand~","lastmod":"2025-03-28","duration":"00:57:13","url":"/play/19070273.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTQ4ODE2NDBkMzczZWI1NzcxMDlkNWU0ZmVjZmRkNzYuanBn.cache","vod_id":19046143,"title":"BF-594 Meine Klassenlehrerin arbeitet in einem uniformierten Schaumbad, also wenn Sie mich nominieren,","lastmod":"2025-03-28","duration":"","url":"/play/19046143.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjU5NDU5ZWMzMjliNmJkN2JkMzcwNWIzMGE0MGNmYzcuanBn.cache","vod_id":19159643,"title":"MIDE668 Die unscheinbare Vermieterin ist eine absolute Schlampe!! Ich wurde gefesselt und bis zum Rand des Orgasmus trainiert.","lastmod":"2025-03-29","duration":"02:57:35","url":"/play/19159643.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWUxOTYyYzk1ODUyMmVhZWM1OTFkZjlmY2Q0YmExZmUuanBn.cache","vod_id":19089685,"title":"[Unzensiert] STARS-757 Kominato Yotsubas erste richtige Drama-Herausforderung: 7 Dinge, die ich mir von meinem sadistischen Freund für dieses naive, eingebildete Mädchen wünsche, das gerade nach Tokio gezogen ist","lastmod":"2025-03-29","duration":"03:41:32","url":"/play/19089685.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MDYvOWJkOGM4OWE5ZmZlMzExNjI1Nzk1MTI1OGFlNThiZjQuanBn.cache","vod_id":19244956,"title":"Mädchenschule Voyeur-Club: Aphrodisiakum-Vergewaltigung und interne Ejakulation 3P Yura Kana und andere Top-Schauspielerinnen fallen in die Falle","lastmod":"2026-07-11","duration":"","url":"/play/19244956.html"}]},
videoTitle: 'SOE451, lasst uns eine S-Klasse-Schauspielerin erschaffen! 2. Mein Künstlername steht fest! Extrem intensives Training! Ich lerne von den Top-Veteranen der AV-Branche! ...',
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=/`;
}
};
}