Le désir ardent d'Hibiki, professeure de santé, pour des rapports sexuels inégalés avec des hommes Ōtsuki Hibiki Massulum - Tribu illusoire","lastmod":"2026-07-11","duration":"","url":"/play/19206918.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZWFlODYzOWEyYWU4ZmM4OGI0YzFkMmNkNzA2ZGRmYmMuanBn.cache","vod_id":19117334,"title":"MIUM388 Perverse de génie !!! Ma première rencontre remonte à la cinquième année !!! Elle déteste les sous-vêtements et n'en porte jamais !!! Elle se masturbe dès qu'elle a un moment de libre !!! Le problème, c'est que ses expériences jusqu'à présent sont plutôt horribles (très choquantes) !!! Et… ça n'en finit jamais !!! Cette fille a vraiment une liste interminable d'histoires sexy !!! N'hésitez pas à découvrir ce contenu rose authentique du début à la fin ! Découvrez l'histoire principale… !!! Ce matin, 39 tournées dans les bars autour de la gare de Shin-Okubo.","lastmod":"2025-03-26","duration":"1:48:04","url":"/play/19117334.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjlmOWJhNDAzZjA3MGZkODlhNjdhNjNjMzM5YTYyZjguanBn.cache","vod_id":19049161,"title":"259LUXU-1256 Téléviseur de luxe 1234 Une belle femme mariée, heureuse en ménage depuis 5 ans, ne peut plus réprimer ses pulsions et décide de tourner dans un film X ! Son mot d'ordre est « intense… » et elle atteint l'orgasme lors d'une séance de sexe si intense que les vitres s'embuent !","lastmod":"2025-03-26","duration":"1:03:49","url":"/play/19049161.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MDIvZGZiMWI5NTU2OTYwYjczMThhMGRkNDFjNzVkMWEyMGUuanBn.cache","vod_id":19129547,"title":"Un voyage en solitaire dans une source thermale : une perte de virginité inattendue. (Auteurs : Nishikawa Rei, Washio Mei, IENE-404-C)","lastmod":"2025-04-02","duration":"2:03:51","url":"/play/19129547.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjU1ZTM4YzcyZWQ0NWQ3YzdhODEyNGFjNmZjNmE5NGQuanBn.cache","vod_id":19032469,"title":"Montrez-vous ! Après tout, cette enfant est tellement mignonne ! Si vous me fixez, si vous êtes un homme, Ikorou ! Retrouvailles avec elle… ses yeux sont absolument magnifiques et elle est tout simplement adorable !","lastmod":"2025-03-26","duration":"0:42:35","url":"/play/19032469.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MjEvOWE5ZjY5MTM0M2M5Y2Y2NTc2MDgwNjNkZDlkMjI2ZGEuanBn.cache","vod_id":19131654,"title":"Tu es ma seule petite amie (version bonus), mon étudiante de dernière année, si respectée, s'est soudainement transformée en femme, avec Yui Takamiya 107NTTR-046-cd3","lastmod":"2025-04-21","duration":"0:42:42","url":"/play/19131654.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MjgvYjFhYTYxYTIwOGFiMzNiY2M1MzcyYWJmZjI5ZDAzYzAuanBn.cache","vod_id":19146073,"title":"PARATHD4178 Une femme de 60 ans a été trompée par un homme plus jeune ; sa peau était déchirée et ensanglantée. Le mari l'a vue jouir avec le pénis d'un autre homme dans la pièce voisine…","lastmod":"2025-07-27","duration":"1:55:09","url":"/play/19146073.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MjgvYmU4YTZiNzgzYjgyNmRmNTJmZTJiMGNiYTM4ZDg3MTMuanBn.cache","vod_id":19136751,"title":"JUQ417 Une femme patronne hautaine a remplacé son mari et l'a humilié par sa façon de gérer les plaintes. Elle a été forcée par un homme malveillant à porter un vibromasseur et à présenter ses excuses.","lastmod":"2025-05-28","duration":"2:30:24","url":"/play/19136751.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvM2IyNTAwYjI0ODBkNTViOWZkMWFlZDM0Mzg1YTgyZmIuanBn.cache","vod_id":19045712,"title":"Une femme recouverte de sperme","lastmod":"2025-03-26","duration":"1:02:53","url":"/play/19045712.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjcvOTY5ZDVkNjFiMTY4NWM5ODc0YzkxMjk2NmE3N2RlNWIuanBn.cache","vod_id":19156517,"title":"Telle une bête sauvage, une femme couverte de tatouages - Shizuku Yuuki (RMER043)","lastmod":"2025-09-26","duration":"2:00:02","url":"/play/19156517.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvN2ZmYzRlYjQxNDAwODU1Yjc2ODA2ZjY0OTY0N2FlMDMuanBn.cache","vod_id":19074594,"title":"RCTD-530 ouvre aujourd'hui ! Oma○ko, le café des servantes esclaves perverses, par la famille perverse","lastmod":"2025-03-26","duration":"2:08:51","url":"/play/19074594.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMmZlOWJlYmJjYTc1YTMzOGE3ZDdjNTJmYmU1ZmM5NDMuanBn.cache","vod_id":19084190,"title":"Un esclave masochiste pervers qui veut devenir un objet sexuel, dont la beauté s'effondre, couvert de sperme, les tétons couverts de sperme, et qui est incontinent, est un démon lubrique. Il éjacule continuellement dans Yun Dan Ishikawa Yun Dan CD1.","lastmod":"2025-03-26","duration":"2:38:12","url":"/play/19084190.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMTc0ZTVmYjdhMDgyOTliZDI0NWFmOWJiMjE2OTBhNDAuanBn.cache","vod_id":19060703,"title":"Une fille perverse se fait baiser pendant qu'on lui lèche les parties génitales (ce n'est pas du putaclic) (Épique)","lastmod":"2025-03-26","duration":"0:03:25","url":"/play/19060703.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzEyODkyYzhkYmVmMGMyNzY2MDk1YzQ2ZWE0ODNkOGMuanBn.cache","vod_id":19086711,"title":"Super chaud !! La fille espionne de l'homme subit de cruelles tortures pour accéder au ciel et je frémis. Nouvelle III : La Grande Victoire et l'Anus ! Le Chagrin du Démon Volant Alice Takanashi Kanon.","lastmod":"2025-03-26","duration":"2:02:44","url":"/play/19086711.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTljYmNjNDY5ZDEwNjY2M2QxMWU4NzAyZjk1NjYyZDAuanBn.cache","vod_id":19033916,"title":"« J’ai changé… » Comment une simple femme au foyer devient dépendante d’un homme plus âgé et lubrique – Nao Jinguji","lastmod":"2025-03-26","duration":"1:58:40","url":"/play/19033916.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODk3YTcwNTgwYTQyMGI0YzU2NjE1NDAxYzhhN2EyYjEuanBn.cache","vod_id":19116430,"title":"OKP042 Mari Rika, la déesse des collants : Les jambes magnifiques d'une Lolita en uniforme sont entièrement recouvertes de collants neufs, nous permettant d'admirer pleinement ses plantes de pieds et ses orteils transpirants ! Face sitting, fétichisme des pieds, éjaculations faciales, frottements de fesses et sexe de groupe : tout est permis ! Un film X fétichiste qui vous fait apprécier les jeux pervers d'entraînement et d'orgasme d'une femme excitée par le sexe.","lastmod":"2025-03-26","duration":"1:33:44","url":"/play/19116430.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9zYnp5dHBpbWc0LmNvbTozNTE5L3VwbG9hZC92b2QvMjAyNjAzMTMtMS9mMWI1OTBkOGIyMzZhMTcwYjFlNjE0ZTY0NTYxMzQ4ZS5qcGc=.cache","vod_id":19186238,"title":"L'infidélité du mari a été découverte lorsque sa femme a trouvé par hasard sur son téléphone des échanges avec d'autres hommes. Fou de rage, il a tout révélé.","lastmod":"2026-03-13","duration":"0:50:32","url":"/play/19186238.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTNiYTYzNmVmZTg0YThjYzAzM2U4YTNiNzI0NzMxZDMuanBn.cache","vod_id":19094324,"title":"CJOB-133 Un homme masochiste… des tétons sensibles… des pétrissages ! Taquineries et viol simultanés ! L’éjaculation interne de la cowgirl me procure l’orgasme le plus intense.","lastmod":"2025-03-26","duration":"3:56:21","url":"/play/19094324.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYjgyYWFiNDlhZTQxODI2YjRmNGE3ODQ2NmY5Mzg4NTEuanBn.cache","vod_id":19178760,"title":"La campeuse, emmenée de force dans la tente, était incapable de se défendre et a été simultanément agressée sexuellement. (NHDTC-124)","lastmod":"2026-02-06","duration":"2:56:28","url":"/play/19178760.html"}]},
videoTitle: 'BNST008 Une femme avide dévore hommes et femmes ! Un trio bisexuel pervers ! Sakiko, bonnet H.',
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=/`;
}
};
}