SDMU-657 Beobachtung des Geschehens beim ungeschützten Geschlechtsverkehr: Eine Wahlaufgabe für Studierende, die an Informationsveranstaltungen zur sexuellen Sicherheit teilgenommen haben
Gewöhnliche Überwachungs-AV für Männer und Frauen. Eine adrette Studentin lutscht tief einen großen Schwanz in ihrem Mund und versucht sich an Deep Throat ohne Hände! Ein großer Schwanz wird sofort in JDs Vagina eingeführt, Augen ディープス","lastmod":"2026-07-11","duration":"03:41:29","url":"/play/19166866.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjQwNTBiOGViMjRiNWI5YWUyYzhkOWI1OGMxZTQ0OWYuanBn.cache","vod_id":18989573,"title":"Ballettschülerin von Lehrer vergewaltigt, Folge 24!","lastmod":"2025-03-23","duration":"14:18","url":"/play/18989573.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTk3OTI3MzNjMWE4ZjY3Y2I0MjBiM2ViOGNhMjc2NDUuanBn.cache","vod_id":19024945,"title":"NACR681C Einen Penis mieten? Yuri Sasahara (gespielt von Blue Wooler) ist eine Frau mit außergewöhnlichen sexuellen Fähigkeiten, die jeden Mann einlädt, zu ihrer Belustigung erotische Handlungen auszuführen.","lastmod":"2025-03-24","duration":"01:53:49","url":"/play/19024945.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYzU2M2ExMTRhMzFiYWE5Y2VlMGJhNjc0NmFlYjU1NGUuanBn.cache","vod_id":19151587,"title":"Eine kriminelle Bande hatte es auf alleinlebende Studentinnen abgesehen. Sie drangen gewaltsam in deren Wohnungen ein und vergewaltigten sie. Opfer: R.K-chan YMRK-061","lastmod":"2026-04-03","duration":"01:07:36","url":"/play/19151587.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDYyYjJlYWMwMmMwNjQ2YWJhZDMzMWQ3OGE1YWI4NTYuanBn.cache","vod_id":18960626,"title":"[Unzensiert] SSIS-519 Das unvergessliche Vergnügen ihres ersten sexuellen Übergriffs, das Schicksal einer Studentin, die süchtig nach sexueller Belästigung in Zügen ist (Ogura Nanami)","lastmod":"2025-03-22","duration":"02:26:47","url":"/play/18960626.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNWFlYmZkMzQzNGJiMDAwZDFhZmIzMDU2YWY4ZWJiY2MuanBn.cache","vod_id":19010177,"title":"Erzählung – Ein wundersamer Fall von Inzest 21.","lastmod":"2025-03-24","duration":"08:34","url":"/play/19010177.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZGRkMGY5MmFiMWQ0MGQ5OTA0NTk4ZjAxOTcyMmNjODkuanBn.cache","vod_id":18985051,"title":"CAWD-132: Eine hochtalentierte Frau beschließt, in einem AV-Film einer großen Unterhaltungsproduktionsfirma mitzuwirken. Um ihren Traum zu verwirklichen, gibt sie ein unerwartetes Debüt als Minato Himeka.","lastmod":"2025-03-23","duration":"02:25:21","url":"/play/18985051.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvNDBlMjMyYTgxOTg3Zjg0YzdhYmNjNzlkZTE1ODU4MmQuanBn.cache","vod_id":19161066,"title":"Schmutzige Studentin, empfindlich, vorzeitiger Samenerguss, vaginal lustsüchtig, großer Hintern, spritzend, verabscheuungswürdiges Schlampenidol, Digitale Kunst.","lastmod":"2026-06-01","duration":"03:22:51","url":"/play/19161066.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2QzZDAxYmM2ZTI3ZDUyOGQxMTZjOGZkNWUyOTQ2ZjMuanBn.cache","vod_id":18977117,"title":"CESD-700: Lesbenverbot aufgehoben; exklusive Schauspielerin Himawari Yuzuki x lesbische Lehrerin Hatano Yui erste gleichgeschlechtliche sexuelle Begegnung.","lastmod":"2025-03-23","duration":"02:42:45","url":"/play/18977117.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MTYvZTNhYjEzMGYzZGVhYTVmN2EyN2M2ZTg2YjkyYmY4MmIuanBn.cache","vod_id":19047277,"title":"An ihrem Hochzeitstag wurde meine Frau von einigen ehemaligen Sexclub-Freunden in einem örtlichen Wellnesshotel entdeckt und hatte die ganze Nacht Sex mit ihnen.","lastmod":"2025-08-15","duration":"02:00:43","url":"/play/19047277.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDY4MDlkMTc3MmRiMDU1ZjY3MmMwMmRmMmFiZmRjZTcuanBn.cache","vod_id":18947131,"title":"[Chinesische Untertitel] STARS-128 Meine erste College-Liebe: Mein schlanker Model-Freund","lastmod":"2025-12-14","duration":"02:16:36","url":"/play/18947131.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDRmM2VmZTQxMmUxZWEzOGM4M2FkMjQ4MWI0OGE4OTkuanBn.cache","vod_id":18943421,"title":"DASD-480 Schließlich beschloss ich, lesbischen Sex mit meiner besten Freundin zu haben. Ehemaliger Star Seri Anna Tsukishima","lastmod":"2025-12-14","duration":"02:37:25","url":"/play/18943421.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDMyZGQyODk3MDBlZmZkNWJjMDYwOTJmODZkMzVjMzcuanBn.cache","vod_id":18999370,"title":"[Prominente] Bestrafung: Reformplan für Studentinnen, Datei 03","lastmod":"2025-03-23","duration":"16:47","url":"/play/18999370.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MzAvNWZiZDk5MzVmZDY4MGVhNTNkMTBjNWUwYmE4ZGM4OTMuanBn.cache","vod_id":19035791,"title":"IPZZ053 beschreibt eine attraktive Lehrerin, die, nachdem sie zur Einnahme von Diuretika gezwungen wurde, ihren Harndrang nicht mehr kontrollieren kann und wiederholt vor ihren Schülern Inkontinenz und Orgasmen erlebt. Ihre schönen Beine zittern, und ihre Oberschenkel sind durchnässt.","lastmod":"2025-05-30","duration":"01:58:43","url":"/play/19035791.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNGFjNDc4Y2ZmNzkyZjBmZjZkNmM5M2MzNTYwOWQ4NGEuanBn.cache","vod_id":18936202,"title":"[Chinesische Untertitel] HOMA-072 Das unscheinbare Mädchen von nebenan hat riesige Brüste","lastmod":"2025-03-22","duration":"02:13:50","url":"/play/18936202.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNGU3MDUzZmQzNTBjZmNmMzkyZjc0YTJkN2UxYTEwOTguanBn.cache","vod_id":18976917,"title":"[Ungekürzte Version] MIMK-133 Super Sexy Beauty Master Michigan x MOODYZ Erste Zusammenarbeit!! Abstinenzclub – Sexualaufklärung für Schülerinnen","lastmod":"2025-12-14","duration":"02:00:13","url":"/play/18976917.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDNmMDI0ZjU5YTNlNWQ5N2IxMjBlYThiMTNkMTI0YTguanBn.cache","vod_id":18980169,"title":"FC2PPV 3610539 Erstes Shooting, wahres Gesicht enthüllt!! Zeitlich begrenztes Angebot: 980 Punkte, endet am 31. Juli!! Nana-chan ist ein super süßes Mädchen, das eine Frauenuniversität besucht und nebenbei in einer Kindertagesstätte arbeitet!","lastmod":"2025-12-14","duration":"01:26:24","url":"/play/18980169.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDI1ZWY3MWFmZTEyYjZhNTU5NjBiODliMDYxNTI3MmYuanBn.cache","vod_id":18990033,"title":"DVDMS-513 Normale männliche und weibliche Studenten schauen sich zum ersten Mal gemeinsam AV unter einem Dach an; ein weiblicher und ein männlicher Student müssen einmal pro Stunde ejakulieren.","lastmod":"2025-03-23","duration":"04:00:14","url":"/play/18990033.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZmE1ZmUxYmRhNWEwNjJhZTE2YmY5YTZlNzY5YzE1NGIuanBn.cache","vod_id":19151856,"title":"Eine Sammlung von Trainingseinheiten für attraktive Sportstudenten","lastmod":"2026-04-05","duration":"08:48","url":"/play/19151856.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOWQzMTJkNjAyN2ExMjlhZTRhN2E3MjYxMjhmZGVjODkuanBn.cache","vod_id":19025793,"title":"VOSS163 buchte eine verheiratete Frau für erotische Dienste, und es stellte sich heraus, dass es ihre ehemalige, attraktive Lehrerin war. Aufgrund meines berüchtigten Rufs während meiner Studienzeit hatte sie mich ins Visier genommen, und mein Zeugnis war stets eine Eins.","lastmod":"2025-03-24","duration":"01:45:14","url":"/play/19025793.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMGMyNzMxODUxZWYzZDY3NWQ1NmY0MjU3ZWVlNjMzNmUuanBn.cache","vod_id":18965252,"title":"200GANA-2235 Ein erfahrener Aufreißer nimmt ein Mädchen mit nach Hause und filmt sie heimlich beim Sex. 146 Das hübsche Mädchen, das er aufgelesen und mit nach Hause genommen hat, sieht jetzt aus wie ihr Freund.","lastmod":"2025-12-14","duration":"01:16:36","url":"/play/18965252.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMjVjZWFlYzA2Y2YwYzhlY2IwODBmYzA1ZGQ4ODg1ODIuanBn.cache","vod_id":19154693,"title":"Faszinierende Handlung: Wer sagt, dass Frauen männlichen und weiblichen Studenten unterlegen sind? Student vergewaltigt Mann im Anzug.","lastmod":"2026-04-22","duration":"25:55","url":"/play/19154693.html"}]},
videoTitle: 'SDMU-657 Beobachtung des Geschehens beim ungeschützten Geschlechtsverkehr: Eine Wahlaufgabe für Studierende, die an Informationsveranstaltungen zur sexuellen Sicherheit teilgenommen haben',
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=/`;
}
};
}