Une grande et belle jeune femme aux longues jambes se filmait en train de faire l'amour avec son petit ami dans leur chambre d'étudiante. Elle gémissait et criait pendant qu'il la baisait : « Aïe, c'est si profond ! Tu me tues ! Non ! Je n'en peux plus ! Arrête ! »
Selfies intimes d'une lycéenne aux formes généreuses et de son petit ami","lastmod":"2026-07-11","duration":"21:28","url":"/play/19166860.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjcvY2FjNDZhZDFlMjM3ZmUyYjdjZjliY2U5NzU5ZDJkMTMuanBn.cache","vod_id":19059876,"title":"Séduire les invités pour qu'ils aient des relations sexuelles de groupe","lastmod":"2025-10-26","duration":"51:25","url":"/play/19059876.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTUvMTE3YmVmZjQxMWI4MTRlNWYzYmVmNDRjNjgwNDIwYjMuanBn.cache","vod_id":19133621,"title":"J'adore dessiner ! ? Je me suis inscrite à un cours de dessin rempli de jolies filles pour trouver un emploi à temps partiel, et contre toute attente... (Le texte suivant semble sans rapport avec le sujet et peut-être généré automatiquement : Nagano Suzu, Hanon Rei, Natsuki Hikaru, etc. DHLD-021)","lastmod":"2025-12-15","duration":"02:12:54","url":"/play/19133621.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjUxZGNlY2RlZjdhZGQwOTM5NzFmZmFjNTRiMmYzN2YuanBn.cache","vod_id":18989411,"title":"259LUXU-1122 Luxury TV 1108 « Je veux l'oublier… » Elle entre dans l'industrie du X pour se venger de l'homme qui a rompu ses fiançailles ! Elle dévoile une silhouette incroyablement sexy, à mille lieues de son image innocente ! Elle secoue sa poitrine généreuse et ses fesses rebondies, chevauchant avec fougue des vagues de plaisir infinies ! (002)","lastmod":"2025-12-14","duration":"01:19:29","url":"/play/18989411.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MTAvMjJjNTAyNGRmNTQ2M2U2YmU1ZTBmZWY3N2RjYjM0NTMuanBn.cache","vod_id":19037621,"title":"BANK-011 Une représentante japonaise lubrique, mettant en vedette une femme voluptueuse avec de grandes et belles jambes et une silhouette sexy, éjacule dans une source chaude en plein air !","lastmod":"2025-06-10","duration":"02:30:17","url":"/play/19037621.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTZhZWRiZTYxNDkyZjlkYmQxYTY4MzQxZDMyNjAwZTMuanBn.cache","vod_id":18927758,"title":"La plateforme « Little Cutie » (anciennement Kawaii) propose un spectacle de double fellation passionné et incroyablement tentant – à ne pas manquer !","lastmod":"2025-12-14","duration":"00:09:22","url":"/play/18927758.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MjMvZTFiMjI1ZWMwNjk1NTk2ZGNkYzA2MTZjMGRmOWYwNmQuanBn.cache","vod_id":19034761,"title":"EBWH091 Super Climax ! Convulsions massives ! Un torrent de liquide a jailli ! Une beauté mince, bonnet G, apparemment inaccessible, a libéré ses désirs dans cet ultime orgasme sexuel.","lastmod":"2025-05-23","duration":"01:59:47","url":"/play/19034761.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MTIvZDRjMjM5ODNiMTMxYjUzMmRkZWNiYjIxMTljYzM5NGYuanBn.cache","vod_id":19042535,"title":"BANK201 : Une excursion ludique dans une source thermale avec deux adorables sœurs empoisonnées par leur beau-père.","lastmod":"2025-07-11","duration":"03:00:28","url":"/play/19042535.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MTUvMjE1NWQ4YmVhODg5YTYwNWE3Y2UxZTJhOGM0ODVmYjkuanBn.cache","vod_id":19033693,"title":"J'ai organisé une rencontre avec une jolie fille en minijupe pour une fellation, alors qu'elle était entièrement habillée et à califourchon sur moi, me chevauchant et me pénétrant...","lastmod":"2025-05-15","duration":"24:32","url":"/play/19033693.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MjcvNjQ0NmY0NDNlNjAzMGJlYWUzZDgwYjEzNTJmNGViNWQuanBn.cache","vod_id":19044221,"title":"Une beauté en bas noirs 3D et gros seins se fait brutalement baiser par une énorme bite","lastmod":"2025-07-26","duration":"00:00:17","url":"/play/19044221.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZmQ0NGFiYzIwNjdkMmNjYjk5MzM0MmM1ZjE4ZDM4NWUuanBn.cache","vod_id":19147386,"title":"Jeune femme mince et plantureuse en tenue de sport faisant l'amour passionnément avec son petit ami.","lastmod":"2026-03-09","duration":"01:41:25","url":"/play/19147386.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvODkwNWIyNDM2NjJmYzRkMjZmODMzMTc2ZGQ4YTU0NTUuanBn.cache","vod_id":19151805,"title":"Les quatre beautés s'entraidèrent.","lastmod":"2026-04-05","duration":"03:31","url":"/play/19151805.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMGJlZGVjMmNiZjVjOGMzOGJhMGY5NjI2MGExZjMxMDQuanBn.cache","vod_id":18955197,"title":"Une belle femme en robe à fleurs, un type lubrique se masturbant le visage découvert, se caressant et se massant les parties génitales, se masturbant sous la douche de la salle de bain.","lastmod":"2025-03-22","duration":"01:04:24","url":"/play/18955197.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MjkvYjM1ZTQ1ODlmNjU2YmRmYzQ1YjYwMGI1YjY0Y2ZjZjIuanBn.cache","vod_id":19040587,"title":"Une jeune Taïwanaise aux longues jambes a une relation avec un mannequin, le tout vu à la première personne.","lastmod":"2025-06-28","duration":"19:19","url":"/play/19040587.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZjJlMThjMzAyMzdmMWU5M2IwMDFiMjE3OWFkMjk2NDEuanBn.cache","vod_id":19146596,"title":"Vidéo érotique amateur (NTR) : La personne figurant dans la vidéo érotique amateur envoyée par erreur par un proche s’est avérée être ma mère. ROE-394","lastmod":"2026-03-05","duration":"01:59:25","url":"/play/19146596.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MjkvMWYyMTZlNThjNzJlZmNkZDc4NjAwMDdhOTk4YzMxNzIuanBn.cache","vod_id":19049020,"title":"MLMM072 L'exquise Kawanami Rin, une déesse aux seins fins mais généreux.","lastmod":"2025-08-28","duration":"03:49:15","url":"/play/19049020.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvMzA0ODI0OGRmMjI2NzQxOWZhMGYxZjI1NjNmOWU4ZTQuanBn.cache","vod_id":19160271,"title":"Des jumelles aux longues jambes de grande qualité pour des rencontres et des plans à trois.","lastmod":"2026-05-27","duration":"19:32","url":"/play/19160271.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvNmQyODJiNGYyZmFkZTZiNWVkZWQ0YjMzODJlNWFiMWEuanBn.cache","vod_id":19065414,"title":"Notre alchimie est incroyable… C’est tellement agréable, ça n’en finit plus. (3 jours avec mon amie d’enfance qui cache son petit ami - Misono Kazuka BF_718)","lastmod":"2025-12-14","duration":"02:24:13","url":"/play/19065414.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly8xNTI2MDMwOXAudG9wLzIwMjYwMzE0L2xIaTdpbjd2LzEuanBn.cache","vod_id":19148355,"title":"Escortes de luxe disponibles sept jours sur sept, filles sexy en vestes en jean en boîte de nuit","lastmod":"2026-03-15","duration":"01:26:09","url":"/play/19148355.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmQyNGU2ZmQ1MDI2ODczOTlmNTAxZTNmYmNlNGE3NDguanBn.cache","vod_id":19000207,"title":"Youyou, une belle femme pékinoise au visage doux et à la poitrine généreuse, se masturbe en baissant son jean pour dévoiler son sexe et en insérant un vibromasseur dans des bas résille noirs de manière séduisante.","lastmod":"2025-03-23","duration":"01:58:53","url":"/play/19000207.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTNhNWEwMDExNGUxMjU5NDRiYTdmNzU4N2EzYzI4NDguanBn.cache","vod_id":19014522,"title":"Mirei-chan, la sublime jeune femme de 20 ans aux seins généreux, membre du groupe ARA368, est arrivée ! Elle a rejoint la troupe de théâtre car « elle n'avait pas assez d'argent pour vivre… alors elle a dû se déshabiller… » Malgré sa pauvreté, elle possède une poitrine opulente digne d'une femme riche ! Une simple stimulation suffit à la faire jouir abondamment ! Elle est incroyablement sensible ; tout son corps est une zone érogène ! Ne manquez pas cette scène de sexe orgasmique où sa poitrine ondule sauvagement !","lastmod":"2025-03-24","duration":"01:21:38","url":"/play/19014522.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MzAvMzc5YmFhMGExM2NiZjRjNWUyYzkwZDg4ZWIyMDVjZjUuanBn.cache","vod_id":19035761,"title":"IPZZ103 Une ouvrière d'usine est forcée de porter une minijupe sexy par son manager qu'elle déteste et éprouve du plaisir à être harcelée sexuellement.","lastmod":"2025-05-30","duration":"01:56:36","url":"/play/19035761.html"}]},
videoTitle: 'Une grande et belle jeune femme aux longues jambes se filmait en train de faire l'amour avec son petit ami dans leur chambre d'étudiante. Elle gémissait et criait pendant qu'il la baisait : « Aïe, c'est si profond ! Tu me tues ! Non ! Je n'en peux plus ! Arrête ! »',
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=/`;
}
};
}