Déesse de premier plan d'un groupe de K-pop ! Seins énormes, chatte de salope, corps explosif, brutalement baisée et éjaculée dessus.","lastmod":"2026-07-11","duration":"","url":"/play/19244810.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjQ3YjNkMTYwZjQwOGJhZmExMGQ5YWRlNzgzNjRlMGYuanBn.cache","vod_id":19034767,"title":"[Sous-titres chinois] JUL-041 Je ne peux pas le dire à ma femme, à ma belle-mère","lastmod":"2025-03-28","duration":"01:59:58","url":"/play/19034767.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzY5NmNkZDY4NmY4OTBhOTY4ZTJjZmZlYzc4ZGRlYjEuanBn.cache","vod_id":19048537,"title":"Le garçon de 18 ans couchait avec une grande et belle jeune femme de 20 ans, aux formes généreuses et au fessier rebondi, dans un hôtel. La jeune femme était si séduisante qu'elle disait avoir des démangeaisons et ressentir un plaisir intense !","lastmod":"2025-03-28","duration":"","url":"/play/19048537.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvODJlYjIxOGQ2YjNhNzVkNTJjN2YyMzY1YmZlMTM4ZWUuanBn.cache","vod_id":19211528,"title":"Tentation à l'hôtel Esports : Je jouerai avec passion avec de jeunes et beaux hommes (Partie 1)","lastmod":"2025-12-26","duration":"0:19:46","url":"/play/19211528.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZWQ4MjJlNDM5NjA0ODMyZjdkMDhhMzg0MDI2YWVjMTMuanBn.cache","vod_id":19215561,"title":"[Fuite haute définition] Kuroshima Rei FTHTD-152 Une sœur piégée à la maison est forcée de s'occuper de son jeune frère collant ; enchevêtrement physique sans fin dans l'inceste.","lastmod":"2026-02-05","duration":"2:39:47","url":"/play/19215561.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDYyNjNkOGMxNDY2ODIxMmM4YzBhNzY5ZTNhZTM0MjguanBn.cache","vod_id":19133117,"title":"[Fuite] Liang Shanya, une étudiante de l'Université normale de Chengdu, au physique contrasté, se retrouve dans des vidéos à caractère sexuel.","lastmod":"2025-03-29","duration":"07:28","url":"/play/19133117.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDkxYzUzYzJmYjY2MzZkNzI3Y2EwZTgxZDk2NzdjMzkuanBn.cache","vod_id":19055121,"title":"Belle-sœur de premier ordre_Sexe_20201218","lastmod":"2025-03-28","duration":"","url":"/play/19055121.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvY2Y3YjlmYjExY2M4MWRiMzVjNjhjYzUwZWU1NjU5NzUuanBn.cache","vod_id":19215242,"title":"RAS-0253 Le coffret cadeau royal chinois super excitant « Sexe en voiture ultime avec Yan'er », bain moussant pour une première fois,","lastmod":"2026-02-02","duration":"0:29:28","url":"/play/19215242.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvZTJmMTQzNWUwOGU4Yjg5ZjIyN2YzZTA2NDE4ODEwZGUuanBn.cache","vod_id":19238739,"title":"Twistys Mia Markova, le sextoy ultime, pratique une fellation profonde et avale sauvagement un énorme pénis pour une éjaculation interne.","lastmod":"2026-06-03","duration":"0:35:11","url":"/play/19238739.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvY2FiYjUzMWEzZDMwOGQxZTM5NzY4ZjMzZmRjYTk2ZjEuanBn.cache","vod_id":19218055,"title":"Quelle beauté incroyable ! Ses énormes seins se balancent dans son haut dos nu, et elle se livre à un spectacle de masturbation avec accessoires dans une chambre payante, projetant des flots de fluide vaginal !","lastmod":"2026-02-16","duration":"2:16:19","url":"/play/19218055.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNjNkOGE2MzBlY2Y1M2Q3ZThmNDA1YmI5NDM2YzI4NjEuanBn.cache","vod_id":19055153,"title":"[Pavillon de la Chine] Jiang Shuying, mannequin de premier plan aux seins généreux (bonnet F) en bas noirs, sosie de Paris, est présentée dans une scène de dévoilement parfait de son visage, incluant une éjaculation faciale et une fellation.","lastmod":"2025-03-28","duration":"","url":"/play/19055153.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDE4ODM0NGQ3ZjdkODg2Y2YyMDU1N2UyOTljNTI4ZDkuanBn.cache","vod_id":19154536,"title":"[Déesses de premier ordre] Jouets pour les riches ! Six filles superbes et de jeunes mannequins de haut niveau","lastmod":"2025-03-29","duration":"12:03","url":"/play/19154536.html"}]},
videoTitle: 'Des photos prises par des paparazzis dans un hôtel ont fuité ! La silhouette sublime de cette déesse de classe S est irrésistible.',
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=/`;
}
};
}