Une professeure innocente se fait brutalement baiser par son élève ! D'un orgasme timide à une luxure totale et à une soumission absolue [LunaRoulette]","lastmod":"2026-07-11","duration":"","url":"/play/19244949.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDdkZjliNDdkY2UzNWJmZDU0M2VkNjRmYWUxMGEwYzAuanBn.cache","vod_id":19046927,"title":"Une ravissante jeune fille aux couettes, vêtue d'une robe rouge et de bas, dévoile son côté sexy de façon très envoûtante. À ne pas manquer !","lastmod":"2025-03-28","duration":"","url":"/play/19046927.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDc1NTViYWI3MWY0ZjNhNzJiYmZlYTkwMmNiMTdhODEuanBn.cache","vod_id":19049776,"title":"Une jeune fille mignonne et menue, aux petits seins, qui apprend la danse, est nue et séduisante. Debout, les jambes écartées, elle se penche en avant, ses cheveux épais sont magnifiques ! Très attirante, à ne pas manquer !","lastmod":"2025-03-28","duration":"","url":"/play/19049776.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjkvYjE5NDBlZTM2NjNjOTgyOTc2ZTY5NGVkZGQ4NDhlNWMuanBn.cache","vod_id":19243658,"title":"EBWH-187-C La sœur aînée, innocente et pure, succombe à son charme ! Récit complet de sa crise de nerfs, de ses ébats intenses et de son éjaculation interne.","lastmod":"2026-07-03","duration":"","url":"/play/19243658.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMTQvZGFhMTE3YmI5NmM1OGY2MWNmOTk1MGU5MDRjOWFmYjAuanBn.cache","vod_id":19199339,"title":"Une écolière pure et innocente se fait stimuler le vagin par un œuf vibrant tandis que ses pieds délicats taquinent un gros pénis, la menant à l'extase !","lastmod":"2025-10-13","duration":"37:04","url":"/play/19199339.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOWQ2YjExOTNkZGFlNDNiY2Y3MTg0MTI0YWU1N2YyMDYuanBn.cache","vod_id":19065353,"title":"Cette jeune écolière aux formes généreuses avait l'air innocente, mais elle était étonnamment dévergondée, se livrant à un plan à trois passionné avec deux jeunes hommes, leur faisant tour à tour une fellation sur leurs gros pénis tandis qu'ils la dévoraient dans diverses positions, suçant ses seins et léchant son vagin.","lastmod":"2025-03-28","duration":"01:16:24","url":"/play/19065353.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNmU1ODdhZGIyZGM5YTgxYzgyY2VmNDU0N2E0ZGI5OTIuanBn.cache","vod_id":19049129,"title":"La fille avait désobéi, alors son petit ami l'a suspendue et lui a donné des coups de cuillère sur les seins. Elle a pleuré et imploré son pardon, puis il l'a reposée et l'a violée. Ses seins étaient gros et magnifiques.","lastmod":"2025-03-28","duration":"","url":"/play/19049129.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvN2JlMjI4YzIzNjExMWUyYWE5ZTgyM2IzMDdiYzM1YWYuanBn.cache","vod_id":19125768,"title":"Liu Yifei, une belle jeune fille, se livrant à des rapports sexuels innocents.","lastmod":"2025-03-29","duration":"09:22","url":"/play/19125768.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvODczYjc0N2FmNzEzZjVlMjEyOTcyNDIyNzgzZDQxNmIuanBn.cache","vod_id":19217901,"title":"Une jeune fille d'une beauté époustouflante, à l'air innocent et aux seins énormes, a été brutalement sodomisée et a éjaculé à l'intérieur d'elle par un homme musclé, atteignant l'orgasme.","lastmod":"2026-02-15","duration":"1:38:34","url":"/play/19217901.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2Y3NmM3NDY5ZDk1YTY0MDMyZTc2NmM4ZmJlMDEzNDUuanBn.cache","vod_id":19158312,"title":"LUXU1139 Luxury TV 1128 Une instructrice d'une beauté époustouflante, à la silhouette élancée ! « Je veux être torturée… » Un flot de liquide s'échappa de son intimité, incapable de contenir son désir brûlant ! Elle prit avidement le pénis au fond de sa gorge, et lorsqu'il pénétra ses parties intimes humides, elle atteignit de multiples orgasmes ! Une instructrice lubrique se livra à des actes sexuels obscènes, suivant ses instincts !","lastmod":"2025-03-29","duration":"01:14:23","url":"/play/19158312.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMGIzMDY3YzE5NThmODcxZmRlMTkxY2NmOGI0YmY5ZjEuanBn.cache","vod_id":19214093,"title":"Images top secrètes : Première nuit en solo de la star Nishimoto Meisa - PKPD-386","lastmod":"2026-01-10","duration":"2:19:29","url":"/play/19214093.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYmRhOGYyMWRkYWI3OTdjYjQzZjFmZTc4M2JiMzYyNzMuanBn.cache","vod_id":19222135,"title":"Une jeune femme d'une beauté époustouflante a été brutalement violée sans préservatif ! Elle a timidement refusé dans l'obscurité, mais a été remplie de sperme lors d'une éjaculation survenue pendant ses règles !","lastmod":"2026-03-16","duration":"0:50:46","url":"/play/19222135.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjhmMDdkNzI5OWU5ZWNjNzFhYjUxNDE2NmFjZjA2M2QuanBn.cache","vod_id":19145255,"title":"SSIS-186 Apparemment innocente, mais une femme perverse dans l'âme. Jusqu'à ce qu'elle ne puisse plus se masturber, elle m'aide à éjaculer. Une histoire obscène et licencieuse sur les soins masculins. Iga Mako.","lastmod":"2025-03-29","duration":"02:33:08","url":"/play/19145255.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MTMvYWEwMDZiYjkzMjQ1MTJkZmRiZjhiYzc3N2Y5ZGZlMmIuanBn.cache","vod_id":19194255,"title":"Le masque d'innocence de Natsuzora Rika s'est complètement effondré ! Ses désirs masochistes pervers éclatent au grand jour, et elle le soumet à un entraînement et une manipulation brutaux jusqu'à ce qu'il éjacule et perde le contrôle de sa vessie, laissant une trace obscène et sordide de ses spasmes orgasmiques. SONE516","lastmod":"2025-09-12","duration":"01:58:37","url":"/play/19194255.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjkvNTFmNGEwYTc3NDBhNmE5NzE3YTNiMjNlMzgxMGQzMDIuanBn.cache","vod_id":19243449,"title":"PixelPerry, la jeune fille innocente aux oreilles de biche : son trou tendre a été déverrouillé prématurément par un bossu assoiffé, et elle a été violemment baisée et éjaculée sur le visage !","lastmod":"2026-07-02","duration":"","url":"/play/19243449.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvMjkwMGE5ZDQ0MjlhYTJhOWMwZmM3MzIwNDZkODMxYmUuanBn.cache","vod_id":19207027,"title":"Madou Media : Le bureau d'une collègue angélique sombre dans le chaos, explorant en profondeur l'échange de fluides corporels, une jeune fille innocente se transforme complètement en salope !","lastmod":"2025-12-13","duration":"0:32:33","url":"/play/19207027.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTk4ODRlOTBiNDEzZDAzMzQ4NTVhNjMxM2M1N2YwOGUuanBn.cache","vod_id":19156158,"title":"Une jeune fille innocente aux gros seins et portant un appareil dentaire pratique une fellation profonde et avale du sperme","lastmod":"2025-03-29","duration":"11:54","url":"/play/19156158.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNGFmNzVkMTRlYmMyZGE3ZTRiZWZkMDgwNGExOGI5YjQuanBn.cache","vod_id":19222567,"title":"DKWA-001 Massage aux huiles essentielles haut de gamme ! Pure et mignonne, avec des techniques exceptionnelles. Tu n'arrives même pas à rentrer à la maison après tout ce bavardage ? Regarde-moi te baiser avec mon énorme bite jusqu'à ce que tu jouisses et que tu succombes !","lastmod":"2026-03-18","duration":"0:57:21","url":"/play/19222567.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzA1YmExN2MwYzhiYjA1OTlkZmMyOWI4ZGQ5NzIyMjAuanBn.cache","vod_id":19087843,"title":"✅Queue de lapin mignonne✅Fille mignonne et adorable〖Il y a une sucette en dessous〗Petite amie avec un plug anal et une queue de lapin, le fessier électrique le plus puissant vide le sperme de son petit ami deux fois de suite, silhouette diabolique, chatte rose tigre blanc","lastmod":"2025-03-29","duration":"00:07:21","url":"/play/19087843.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZDAxNjMxOWM4ZDcwNjllZjdlNDkzNTgyNzlkNzFkZTAuanBn.cache","vod_id":19228249,"title":"Tutoriel pratique de l'application de rencontres NTRH-012 ! Apprenez étape par étape comment utiliser l'application pour flirter et coucher avec des femmes mariées, seules et de la haute société, puis les baiser brutalement et jouir en elles en l'absence de leurs petits amis !","lastmod":"2026-04-09","duration":"1:51:45","url":"/play/19228249.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDU1OTNlMGU1MDc5MGQ5YjkwNDc2MmUwMTdiYzA3NDIuanBn.cache","vod_id":19055143,"title":"[Spécial HD] Une jeune femme riche et belle a été espionnée par son chauffeur alors qu'elle prenait une douche. Elle l'a ensuite appelé pour avoir des relations sexuelles avec lui. Il l'a alors forcée à faire le grand écart et à avoir des rapports sexuels violents contre la fenêtre ouverte. (Mandarin)","lastmod":"2025-03-28","duration":"","url":"/play/19055143.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNjYzOWRjZmY2NTE1ZDg5MTdlNWYyZTg2ZDQ2OGM4M2YuanBn.cache","vod_id":19219554,"title":"IceGirlxx, une bombe aguicheuse, exhibe sa poitrine généreuse dans le métro et se fait brutalement baiser par un beau gosse jusqu'à ce qu'elle jouisse.","lastmod":"2026-02-28","duration":"0:09:53","url":"/play/19219554.html"}]},
videoTitle: 'Une jeune fille mignonne et innocente se couvrit la bouche alors qu'elle était brutalement baisée, gémissant timidement : « Si tendre ! »',
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=/`;
}
};
}