Un riche héritier rencontre une étudiante vénale. Après avoir mangé, bu et passé un bon moment, il parvient à obtenir son vagin pulpeux et tendre. Pénétration non protégée, humide et serrée.","lastmod":"2026-07-11","duration":"","url":"/play/19206725.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMGEyMGQxZDcwMThjNzk1OWQ4YmMxOGJkNmMwNjM0NWUuanBn.cache","vod_id":19189620,"title":"Deux écolières pures et innocentes se sont relayées pour savourer le plaisir de la petite salope jusqu'à ce qu'elles s'envolent.","lastmod":"2026-03-30","duration":"1:08:04","url":"/play/19189620.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNTI1MjYzZWM2M2EyZTZlMjQ3ZTg3NmYzMWM2NWZkNDEuanBn.cache","vod_id":19195004,"title":"Miroir Magique [Le Plus Faible de Tous les Temps ?!] Un juriste surdiplômé retourne à l'université pour relever un défi ! Une bagarre digne d'un match de baseball, mettant en scène 5 étudiantes innocentes à la peau claire ! SOD","lastmod":"2026-04-25","duration":"3:37:40","url":"/play/19195004.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMWEzNzcyN2M3OWNjMTdkZjkxODIzNGQ2MDJkYjI1N2IuanBn.cache","vod_id":19177567,"title":"Une étudiante de 19 ans d'une beauté époustouflante, aux jambes interminables, qui s'est lancée dans l'industrie du divertissement pour adultes par appât du gain. Complètement novice, elle était timide du début à la fin, retenant difficilement ses gémissements. Son pubis était peu fourni.","lastmod":"2026-02-01","duration":"1:02:11","url":"/play/19177567.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzY1MzEwNzI1ZWIzODcxZmVmNTk5NDRhZGY1NzhiOTMuanBn.cache","vod_id":19081551,"title":"Kannazuki Reina, une professeure de littérature classique au lycée qui n'a pas rencontré d'homme depuis plus de 10 ans, encadre une élève qui a été agressée sexuellement par un homme rencontré en ligne et qui regrette désormais son addiction à son pénis.","lastmod":"2025-03-26","duration":"1:09:11","url":"/play/19081551.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTAvMTg1ODYzN2MzMjg2MTMzNjJmNDNhZTU2MGJjNzc0NjguanBn.cache","vod_id":19207377,"title":"La fellation de cette étudiante était si passionnée, c'était une gorge incroyablement profonde. Je me dis que ça vaudrait la peine de vivre quelques années de plus pour être servi par une telle beauté.","lastmod":"2026-07-11","duration":"","url":"/play/19207377.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjBmN2QzZWQ1NDQyYjAzMjMyNGE2Yjg5NmFiNGUyZWYuanBn.cache","vod_id":19084501,"title":"Réédition de Xie En, au prix de 1980 yens. Importation pour adultes ! L'intégrale des 26 épisodes d'une femme mariée se livrant à des jeux sexuels avec d'autres hommes ~ Muto Ayaka, une femme mûre, commet des actes indécents avec un jeune étudiant.","lastmod":"2025-03-26","duration":"2:45:05","url":"/play/19084501.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvY2VlNzhlNmJlYjM1ZTY3ZjcxYThlYTZiMGMwMWUwODguanBn.cache","vod_id":19109148,"title":"Première expérience sexuelle à califourchon d'une étudiante en body noir !","lastmod":"2025-03-26","duration":"4:10:32","url":"/play/19109148.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9zYnp5dHBpbWc0LmNvbTozNTE5L3VwbG9hZC92b2QvMjAyNjAzMTQtMS84NTA2ZDhkYmM5ODgxZTk1MGY4OGEzY2RhOTFiYmVhMi5qcGc=.cache","vod_id":19186352,"title":"Le pire des crétins, un coureur de jupons, a passé le week-end avec une étudiante brillante de la génération Z. Ils ont vécu une rencontre passionnée dans un karaoké, rythmée par des chants, et leurs ébats étaient intenses.","lastmod":"2026-03-14","duration":"0:55:25","url":"/play/19186352.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGQ5YTVmMTdjYTEyNTgyMjk3Y2NjZDQzMTUxYTM2NjkuanBn.cache","vod_id":19124563,"title":"IENE983 Une étudiante amateur reçoit une récompense pour avoir eu des rapports sexuels avec son frère à travers une couche de film plastique et avoir éjaculé.","lastmod":"2025-03-26","duration":"3:57:55","url":"/play/19124563.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTRkMGRlNzUxNDk5YTk4YzYxYmU0Mzk2OWYxZDE5ZTQuanBn.cache","vod_id":19059461,"title":"Le président du conseil étudiant qui a été harcelé","lastmod":"2025-03-26","duration":"0:14:18","url":"/play/19059461.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNWI4M2ZhNzIwYTUwZWU2NDA4NTE5NzJkNTU0ZTI5ZTMuanBn.cache","vod_id":19128925,"title":"La reine de beauté de l'université de 2004 a même posé des questions sur le goût avant de sucer un pénis.","lastmod":"2025-03-28","duration":"0:19:51","url":"/play/19128925.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjYxYTM3YzIyMjgzNmVmMGIyYWZhNjExNTcxZmUyOGEuanBn.cache","vod_id":19127055,"title":"Royal HJ092, chauffeur expérimenté, apprivoise Lenako, étudiante, dans un atelier de réparation à mi-chemin.","lastmod":"2025-03-26","duration":"0:23:06","url":"/play/19127055.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzNkMzVmNzQ1MGY0NDRmNTQyMDliZDYzMDFiZDI3YjMuanBn.cache","vod_id":19061947,"title":"VEMA-153 Mon professeur principal et un élève ont bavé et entremêlé leurs langues à plusieurs reprises.","lastmod":"2025-03-26","duration":"1:56:04","url":"/play/19061947.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWYwODAxOWEwMzExZGNlNDljZjAxM2EwNGMzYjA4ZDkuanBn.cache","vod_id":19106823,"title":"Je suis une enseignante qui a perdu le charme espiègle de ses élèves.","lastmod":"2025-03-26","duration":"2:09:36","url":"/play/19106823.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzQxOTUyMTVhZGZkODkzZWE5NTkyNjczZTQyM2U5OGYuanBn.cache","vod_id":19121121,"title":"ATID410 retrouve un étudiant qu'elle a autrefois aimé.","lastmod":"2025-03-26","duration":"1:36:21","url":"/play/19121121.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvMDM1NDZmN2MwZWNhNTU0MTYwOTM3M2Y1ZmNkM2MzNDIuanBn.cache","vod_id":19201435,"title":"La jeune écolière ténébreuse dont le père est endetté : « Je travaillerai et rembourserai les dettes de mon père… » Rei Misumi (美澄玲衣) - JUMP","lastmod":"2026-05-26","duration":"2:23:45","url":"/play/19201435.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTUvZGZjNDQ2ZjRjMjk1Mjg2ZmY1NDBhNjk1ZjliOGQ2NzIuanBn.cache","vod_id":19169119,"title":"Enregistrement intégral d'une relation sexuelle entre un professeur particulier et son élève. 4 heures, 8 personnes. Avec Amu Otoha, Ryo Tsukimi et Kanon Hazuki. JKSR-697","lastmod":"2025-12-21","duration":"4:26:47","url":"/play/19169119.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzA4ODVkMjAxMjczOGJiZDkyYzA0ODMxNTM5OGE5NDUuanBn.cache","vod_id":19067904,"title":"Célébrité internet de premier plan avec un contraste surprenant – l'écolière JK Si Yu – un gode vibrant martelant avec force son trou sensible, du sperme blanc coulant librement ; un pénis extra-long pénétrant profondément son trou étroit ; un sex-symbol contrasté ultra-puissant 1.","lastmod":"2025-03-26","duration":"0:13:04","url":"/play/19067904.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTlhZjE5MWZhOWQwNDFjZjFkZGZiYzFhMDQ5ZjE2NzUuanBn.cache","vod_id":19071587,"title":"HND753 Une étudiante timide et voluptueuse vit sa première rencontre intense avec un homme plus âgé, Yu Matsui.","lastmod":"2025-03-26","duration":"1:57:33","url":"/play/19071587.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTY4M2FlNWIzZjAwNTJhNTg1NjgzYWMyNDAzZWIyNjAuanBn.cache","vod_id":19063943,"title":"J'ai baisé une écolière super mignonne.","lastmod":"2025-03-26","duration":"0:35:05","url":"/play/19063943.html"}]},
videoTitle: 'Elle a réussi à infiltrer le dortoir des étudiantes, tel un tigre entrant dans la bergerie.',
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=/`;
}
};
}