L'histoire d'un expert en éjaculation et d'une prostituée (version live-action) : Une femme est imprégnée de sperme pendant 7 jours par un homme en manque absolu de sperme, avec des effets comparables à ceux d'une infidélité. (MIMK-251)
La jeune épouse, victime de violences répétées de la part de son beau-père pervers, est devenue une femme de mœurs légères. Nagano Suzu Nagano Suzu Plane Plus","lastmod":"2026-07-11","duration":"01:52:06","url":"/play/19164786.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmJhZDRkOTJhYmNiNTMyNTIwNTA5NGE3OTIzMmI0ZTEuanBn.cache","vod_id":18980188,"title":"Test SERO-0078 : Que se passe-t-il lorsqu’une femme a des orgasmes continus ? – Chika Ero","lastmod":"2025-12-14","duration":"02:00:05","url":"/play/18980188.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvMmJkYWFiYWQxY2IyMzJlY2I2MDZjYWIwNTUxY2IyYmQuanBn.cache","vod_id":19160565,"title":"Un climax continu et larmoyant - SEX44 Koharu Mari, Koharu Mari, Amis Célébrités","lastmod":"2026-05-29","duration":"02:02:37","url":"/play/19160565.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMWJkMTcxMzAxZjdmNmQ4NDA1ZDhmZGQ3MTM1Yjk5MTMuanBn.cache","vod_id":18980592,"title":"[Version intégrale] NIMA-023 Maison de l'accouplement : En prises de vues réelles ! Dans ma maison, où résonnent les rugissements des bêtes, je suis la seule à être incapable de prendre du plaisir… Mengami Takarada","lastmod":"2025-12-14","duration":"02:27:13","url":"/play/18980592.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTEvNGIyOWNmOGNmZjVhZTZjMjJhYTg5ZDg4MGFkZDQxNjEuanBn.cache","vod_id":19168183,"title":"L'histoire d'une collègue enseignante qui m'a contactée pendant ses fiançailles car elle souhaitait immortaliser ce moment. Waka Misono ADN-615-C","lastmod":"2026-07-13","duration":"01:49:23","url":"/play/19168183.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYmE5Y2Q2N2VkYzU3NTc3YWQyMDE0ZWI4ZGVjNzJjYjAuanBn.cache","vod_id":19149874,"title":"Une double « cérémonie de remise de diplômes » pour une épouse et son fils vierges après l'accouchement. Sa douce et aimante épouse lui a volé sa virginité, lui offrant son premier SKMJ-707.","lastmod":"2026-03-24","duration":"03:15:44","url":"/play/19149874.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMmE0OTJlOGU2ZjAyYTgzZjBkNzE0MTRiMzBlOTg1MTEuanBn.cache","vod_id":19154558,"title":"Une infirmière séduit un patient bien doté en lui prodiguant des paroles obscènes, puis lui pratique immédiatement une fellation pour l'aider à éjaculer ; elle lui lèche le pénis 20 fois. (Extrait d'une vidéo de MOODYZ avec Ruisa Tozuki.)","lastmod":"2026-04-22","duration":"02:37:18","url":"/play/19154558.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTFiMWI4NDNhMzdiOWIzZWMyOGMyZWIzZWQ2NGU2MmEuanBn.cache","vod_id":18991935,"title":"326SPOR-014 [Sportive Girl] Une vidéo du point de vue d'une sportive, racontant l'histoire d'une fille qui se met au golf après avoir été achetée par un gros client ☆ Ru-chan, qui travaille dans une boîte de nuit d'Akasaka, a des parties intimes extrêmement sensibles !! 1","lastmod":"2025-12-14","duration":"01:12:34","url":"/play/18991935.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmQ4MzNhZjIwODI3YjY1MmEzN2Y2Yjc2ZmZjZDI1YmMuanBn.cache","vod_id":18988160,"title":"[Diffusion en ligne exclusive] L'histoire d'un photographe et de sa fausse rencontre qui a mal tourné :","lastmod":"2025-12-14","duration":"18:52","url":"/play/18988160.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzU0NDVkMDlmMTY0NTViNjFiMDc1OWYwZmI0ODQyMWQuanBn.cache","vod_id":19013616,"title":"Le contenu bonus de Zaori inclut l'épisode final de la saison 3 de Swimming Club ! La scène de sexe finale et torride de Masa ! Présidente du conseil des élèves ! Club de natation ! Un petit ami ! Une personnalité hors du commun.","lastmod":"2025-03-24","duration":"44:48","url":"/play/19013616.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzQ5YzliZDUwYzliOWM2NTQ2YzU1MzI2YjRkODgyMzAuanBn.cache","vod_id":18976836,"title":"[Sous-titres chinois] DNJR-100 « Je soutiens ton éjaculation ! » Interprétation : Misaki Asu, supportrice de la masturbation","lastmod":"2025-03-23","duration":"02:00:11","url":"/play/18976836.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MjcvNmE3MTk1YWUwYzQxYjQ1MTI2NDUyODdkMjNjNmE1ZmQuanBn.cache","vod_id":19040051,"title":"Le premier épisode de « Big Brother Punishment Game » de HUNTC350 est disponible. Il raconte l'histoire d'un frère souvent considéré comme inquiétant, dont la sœur et ses amies font irruption dans la chambre, et soudain…","lastmod":"2025-06-26","duration":"03:03:44","url":"/play/19040051.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTAxNzY3YzFjODJhMzYyNTAzZGQ5NmRiYmRjOGQ4ZjYuanBn.cache","vod_id":18972708,"title":"727PCHN-068, surnommée \"Boobs-chan\", cette J○ au bonnet G adore le sexe et m'a fait une fellation avant que j'éjacule !","lastmod":"2025-12-14","duration":"00:59:23","url":"/play/18972708.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDE5YWM1MjVhYzlmNTM5OGQ3MjQ0Zjc2ZGY1MjllOTMuanBn.cache","vod_id":19011035,"title":"MIAA192 Une femme mariée tatouée est disposée à jouir chez un homme timide et amateur, et elle sera envoyée chez lui. Shizuku Kurosaki.","lastmod":"2025-03-24","duration":"01:59:41","url":"/play/19011035.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9pYy4xNTUyNTAyMTQudG9wLzIwMjYwMjIzL3FkTGJPWFJILzEuanBn.cache","vod_id":19145078,"title":"Ce que je préfère, c'est un pénis sale et malodorant. Pendant mes rondes nocturnes, je cible le pénis sale d'un patient, que je force à avoir une relation sexuelle. Après avoir éjaculé une première fois, j'éjacule une seconde fois et je poursuis une infirmière en chaleur qui me fait une fellation. MNGS-026","lastmod":"2026-02-24","duration":"02:32:53","url":"/play/19145078.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MTkvZDFhYmFkMjY4ZTUwYmYxMjYzYzE4NTZmYTJlNmY4YjIuanBn.cache","vod_id":19038933,"title":"ADN686 Ma patronne est toujours en chaleur, et elle n'a pas fait l'amour depuis un mois suite à une dispute avec son mari. Je suis un homme très viril, et je veux la faire jouir jusqu'à en mourir.","lastmod":"2025-06-19","duration":"02:13:49","url":"/play/19038933.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZWNlMGI4OGY2NjBjYzc2OGY4MWY0YTliNThlMGM5MWYuanBn.cache","vod_id":18951810,"title":"UMSO-243 présente 12 filles sexy avec une taille fine et des hanches généreuses.","lastmod":"2025-12-14","duration":"02:11:00","url":"/play/18951810.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZDVmYjEzODEzZDY5YmM2YTE3ZDRiYjI2YmUwYzk0N2YuanBn.cache","vod_id":19141137,"title":"Inversion de la relation sexuelle avec sa sœur, satisfaisant mes désirs masochistes et mon sperme avec une mini sœur masochiste de 145 cm. En secret, j'ai utilisé le massage de la gorge profonde et le FOCS-284...","lastmod":"2026-02-02","duration":"01:58:46","url":"/play/19141137.html"}]},
videoTitle: 'L'histoire d'un expert en éjaculation et d'une prostituée (version live-action) : Une femme est imprégnée de sperme pendant 7 jours par un homme en manque absolu de sperme, avec des effets comparables à ceux d'une infidélité. (MIMK-251)',
language: 'fr',
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('Lien copié !');
}).catch(() => {
// 降级到旧方法
document.execCommand('copy');
alert('Lien copié !');
});
} else {
// 降级到旧方法
document.execCommand('copy');
alert('Lien copié !');
}
}
},
// 切换布局
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=/`;
}
};
}