Milk Puff, escortes anime hors ligne de haute qualité, éjaculation interne.","lastmod":"2026-07-11","duration":"","url":"/play/19207513.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNjU1NmFkN2Y1OTdhNjRiNWQzMmU3MjZlM2M2MzIxMjkuanBn.cache","vod_id":19080604,"title":"Une nouvelle célébrité d'internet, mature et sophistiquée, fait ses débuts en matière de masturbation, baissant son string et s'enfonçant un godemichet, ses belles fesses rondes relevées et sa vulve grande ouverte.","lastmod":"2025-03-26","duration":"1:36:05","url":"/play/19080604.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMGMyNzNjMzRkOGQ0ZjVmY2JhZTEzOTEwOTU5OTcyZGUuanBn.cache","vod_id":19176618,"title":"La célèbre influenceuse Douyin aux 80 000 abonnés, surnommée « Fairy Sister », se retrouve au cœur d'un nouveau scandale après la fuite d'une précédente vidéo compromettante. Des contenus encore plus choquants ont fait surface, notamment une vidéo où on la voit avaler du sperme, une prestation proposée en échange d'une somme d'argent suffisante pour une rencontre privée.","lastmod":"2026-01-27","duration":"0:04:51","url":"/play/19176618.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvOWVlNTg1ZTRlNTkyMzVjODY5OGU1YTZhY2M2MzUzNDkuanBn.cache","vod_id":19165187,"title":"Entraînement SM d'une chatonne de haut niveau en bas noirs, bondage, fétichisme des pieds, sexe et pénétration – super stimulant !","lastmod":"2025-12-13","duration":"0:21:55","url":"/play/19165187.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjUvMTgyNTgxYjZlN2FiYmY0ZjQyNDc0N2UzMTQyMTNlOTIuanBn.cache","vod_id":19156265,"title":"Déesse sexy et envoûtante aux longs cheveux, débordante de liquide blanc, se masturbant avec des accessoires, se pénétrant vigoureusement le vagin, bas noirs, longues jambes séduisantes, deux gros seins, un spectacle magnifique et charmant.","lastmod":"2025-09-24","duration":"0:08:22","url":"/play/19156265.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvY2M0MzJkM2JhYzIyZGFjNTg2MjE0MWU3MTkwZmQ1NDIuanBn.cache","vod_id":19197304,"title":"L'apparition soudaine d'une streameuse de Kuaishou sans soutien-gorge","lastmod":"2026-05-06","duration":"0:01:37","url":"/play/19197304.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9zYnp5dHBpbWc0LmNvbTozNTE5L3VwbG9hZC92b2QvMjAyNjAyMTgtMS80OTNhZGZmZTkzYTE0OGExNmZkYWM0N2Y5MWU3NDAzMy5qcGc=.cache","vod_id":19180969,"title":"Une jeune lycéenne mince diffuse des photos d'elle et de son petit ami en train de faire l'amour passionnément dans un appartement loué.","lastmod":"2026-02-18","duration":"0:06:06","url":"/play/19180969.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MjIvYjdhM2NiNzE4ZWM5Y2ZmNmQ0N2E1ZDlmNzg0Y2FlMzUuanBn.cache","vod_id":19150616,"title":"Sélection des meilleurs moments - Déesse aux jambes interminables en jeans, baisant sans pitié avec ses longues jambes portées sur ses épaules","lastmod":"2025-08-21","duration":"0:33:31","url":"/play/19150616.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MTIvZDUwMGYxYmUyMzRlMjhkZmJmYjhmN2Q3YTgyZDU2YTguanBn.cache","vod_id":19143325,"title":"Une jeune fille de 16 ans, issue d'un milieu aisé et bénéficiant de l'aide sociale, se livre à une masturbation à grande échelle.","lastmod":"2025-07-11","duration":"0:07:28","url":"/play/19143325.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjg1ODQyMzgxOWUzYjFlODFlOTI0MWJiNGU3NmVjOGIuanBn.cache","vod_id":19105467,"title":"Réunion des anciennes élèves de la promotion PAP-224 : retrouvailles entre camarades et professeurs pour la première fois en 30 ans","lastmod":"2025-03-26","duration":"1:46:50","url":"/play/19105467.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZGVmMmRiM2RjNTJlMDc1NTc1M2Q1MDE5NDQ4ZGU3NzkuanBn.cache","vod_id":19184081,"title":"Des vidéos filmées à titre privé ont fuité, montrant des professeurs expliquant à des étudiantes comment avoir des relations sexuelles, le professeur ordonnant aux filles de pointer leur vagin vers lui.","lastmod":"2026-03-03","duration":"0:07:54","url":"/play/19184081.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjQ1YjBkZjAzZDI1ODY1YWExOTkzM2JkZjk2ZDEzZDIuanBn.cache","vod_id":19030931,"title":"HMN-243 La belle et plantureuse épouse du romancier est envoyée chez un otaku incroyablement bien doté. (Little Flower Warm)","lastmod":"2025-03-26","duration":"1:59:09","url":"/play/19030931.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MDcvOWU2ZWZhM2VhZTZhY2RkN2Q5MDgxM2JlMzc1ZmRlNWYuanBn.cache","vod_id":19133373,"title":"Une femme d'une beauté époustouflante, dotée d'une poitrine généreuse (bonnet G), participe à un spectacle de séduction à petite échelle.","lastmod":"2025-05-07","duration":"1:37:22","url":"/play/19133373.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNDU4MjgwY2NlMDM1NWY3MTRlODQ4MTgyZWJkYjEyMDYuanBn.cache","vod_id":19189157,"title":"Une collection de vidéos documentant les bains quotidiens, la masturbation et les autoportraits d'une écolière à lunettes à l'air innocent.","lastmod":"2026-03-27","duration":"0:10:29","url":"/play/19189157.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZjY2ZTU1NmFiMzFmMGY1MDEzOWJkMmJiYzBhOTBiN2YuanBn.cache","vod_id":19169331,"title":"Succubus Liz Little Night se déguise en une bombe atomique aux seins généreux qui se fait brutalement baiser et pénétrer.","lastmod":"2025-12-23","duration":"0:03:46","url":"/play/19169331.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MjcvODY0YTQ1MDlhYjFiMzIzYTczMjc5ZDExMmUzMjU5NDMuanBn.cache","vod_id":19141048,"title":"L'anus d'une mignonne petite fille loli était rempli de sperme ; une mignonne étudiante loli se masturbait avec son tigre blanc.","lastmod":"2025-06-26","duration":"0:15:59","url":"/play/19141048.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTBmYmEyOWJiYjZjM2MwNDJiODRjMDU0YjJhODRmZWEuanBn.cache","vod_id":19103986,"title":"J'ai couché avec cette jeune femme mariée ; ses petites fesses bien rondes étaient un vrai régal à caresser et à baiser. Elle haletait et gémissait pendant que je la prenais deux fois de suite !","lastmod":"2025-03-26","duration":"0:34:59","url":"/play/19103986.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYmFhN2Q4YWQzYmU3YTRhMGViYTBjN2QwNGMwOTRmNTguanBn.cache","vod_id":19187963,"title":"Cette collection présente 10 photos soigneusement sélectionnées d'une riche héritière, fKabuto, illustrant son style de vie contrasté. Chaque cliché met en valeur sa beauté naturelle et son intelligence, séduisant à la fois les femmes pures et les femmes envoûtantes. Avec une allure époustouflante, une taille fine et des courbes parfaites, une telle collection serait impossible sans une fortune considérable.","lastmod":"2026-03-21","duration":"1:24:59","url":"/play/19187963.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvN2Q4OGEzMWU0NDdhYzJiZTIyMGZmMTEzZTdmNzQxNDUuanBn.cache","vod_id":19193433,"title":"91 M. Shen jouit du plaisir de l'empereur de recevoir des vols doubles de grande valeur avec de jeunes mannequins aux longues jambes et de qualité supérieure.","lastmod":"2026-04-18","duration":"0:15:23","url":"/play/19193433.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjAvOWIwMjUxYjk2ODhhZmY1NGM0YTZlZWIwNDIyZjlhNDkuanBn.cache","vod_id":19160228,"title":"Une belle jeune fille se filme en direct en train de se masturber dans sa chambre d'étudiante ; c'est une chatte sauvage mignonne et miaulante.","lastmod":"2025-10-19","duration":"0:28:45","url":"/play/19160228.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOGE5M2Y3NWVjMzM3NDYwOTAxOGIyN2RmNmZlNjBhOGMuanBn.cache","vod_id":19034437,"title":"SDAB-234 Une belle jeune femme, adepte de la masturbation, se voit imposer l'abstinence sexuelle pendant 30 jours ! Elle découvre pour la première fois l'éjaculation dans son vagin, devenu hypersensible par l'abstinence. Moeka Marui","lastmod":"2025-03-26","duration":"3:10:05","url":"/play/19034437.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MjEvNDUwODg0Y2VlYzlkN2RlZTY0ZmNmYWE1ZmI3NTE3M2QuanBn.cache","vod_id":19131549,"title":"Les dernières images divulguées provenant de bains publics chinois montrent de jeunes femmes de grande qualité et des femmes mariées lascives qui se touchent les seins en marchant.","lastmod":"2025-04-21","duration":"0:19:07","url":"/play/19131549.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMDc4MGU3Y2MzOWIxMWU5YzlkZGUyMjViMjZiNjE5MGYuanBn.cache","vod_id":19187330,"title":"Mina, étudiante senior - Nuisette en dentelle blanche pure","lastmod":"2026-03-18","duration":"0:15:34","url":"/play/19187330.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzkzNmNjODUxZDhkNTU1NDhhMTAwZWJlOGU4OGNjNGEuanBn.cache","vod_id":19119222,"title":"OFKU117 Une femme mûre commet l'inceste avec ses proches, désormais connue sous le nom de Kiyoka.","lastmod":"2025-03-26","duration":"1:38:57","url":"/play/19119222.html"}]},
videoTitle: '[Fuite Kuaishou - Femme mûre de haute qualité se masturbant à la maison] La vieille chatte ne sert qu'à se rafraîchir',
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=/`;
}
};
}