Un soir, après une soirée, Ichika, une collégienne devenue experte en baisers français après avoir trop bu, s'est assise à califourchon sur lui. (Le reste du texte semble sans rapport et probablement généré automatiquement ; il est donc laissé tel quel.)
Jimmybiiig, maître de la séduction, possède une centaine de femmes et se spécialise dans les rencontres avec de jeunes étudiantes. Des uniformes et des photos variés mettent en valeur leurs silhouettes et leurs beautés, toutes plus sublimes les unes que les autres.","lastmod":"2026-07-11","duration":"","url":"/play/19207132.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDg1MmU2YmNkY2EwMjJhYzgxOTlhMDI1Y2M1NDA0MjUuanBn.cache","vod_id":19034168,"title":"Lycéenne aux seins généreux (bonnet F), en sueur et couverte de salive, en pleine transformation sexy ! Kashiwagi Konatsu","lastmod":"2025-03-26","duration":"2:02:57","url":"/play/19034168.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzBlMTFkOTAwMDFiZWI4NmY4NDUyZDkxYTZlZjVlNDEuanBn.cache","vod_id":19110144,"title":"Une histoire tragique impliquant une femme aux seins énormes se retrouve mêlée à un clan hors du commun !","lastmod":"2025-03-26","duration":"2:05:50","url":"/play/19110144.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzA4ODUxZGYzNjQ4YTRkOWUwYTQxMjBiMTFkNjcyZDQuanBn.cache","vod_id":19124869,"title":"JUFD942 Une femme aguicheuse qui joue avec les hommes et parle salement ~Mio, la professeure principale qui aime jouer avec moi~ Kimishima Mio.","lastmod":"2025-03-26","duration":"3:59:34","url":"/play/19124869.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjgyODczOGMyZmRiNTVjZDhmZTY0N2VkOGVhYWI4MWIuanBn.cache","vod_id":19104543,"title":"Dernière œuvre de l'artiste AV chinoise Shen Qiao : La séduction passionnée d'une femme ivre conduit un chauffeur de VTC à avoir des relations sexuelles dans sa voiture sans préservatif et à éjaculer à l'intérieur !","lastmod":"2025-03-26","duration":"0:21:48","url":"/play/19104543.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvOGE4NTYyMGZkMjc2OTNiZjczNmQyYzUzYTY5OGNiN2IuanBn.cache","vod_id":19166726,"title":"[Inceste entre mère et fils] Le fils bestial a pénétré de force sa mère endormie alors qu'elle était ivre.","lastmod":"2025-12-13","duration":"0:17:28","url":"/play/19166726.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvY2M1NDE1ZWE1MmVhODdmOGVmYjg4YjcxOWFjYzdmMGYuanBn.cache","vod_id":19060624,"title":"(Version non éditée) Only You, Good Evening, épisode 3 « Ayane » (DLrip 1280x720 x264 AC3).mkv","lastmod":"2025-03-26","duration":"0:20:30","url":"/play/19060624.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MDkvNDY4NjMwYmMyMjM2NmU0NmU1ZGQ1YzNhOTlhZWYwNTAuanBn.cache","vod_id":19203296,"title":"Débuts d'une nouvelle actrice de films pour adultes : « Puis-je devenir actrice de films pour adultes moi aussi ? » - Hanabi Tsukino MAX-A","lastmod":"2026-06-08","duration":"2:13:32","url":"/play/19203296.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODQ4MDdjMTExZWZkYTg0MjFjY2YxNjkyY2NmYmI0MjYuanBn.cache","vod_id":19033144,"title":"CAWD-364 « On manque d'acteurs de films X ! Pas assez ! » Un documentaire sur des participants novices à un camp de formation d'acteurs de films X, où des personnes vierges de toutes origines sont formées de A à Z pour devenir des acteurs de renom, à travers diverses activités et formations sexuelles. (Aoi Reina)","lastmod":"2025-03-26","duration":"2:58:44","url":"/play/19033144.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9zYnp5dHBpbWc0LmNvbTozNTE5L3VwbG9hZC92b2QvMjAyNjAyMjAtMS9mNzc3NTg1NWJkZjU2NTVjMDU2MWZiOTdmMjI2OTgyMi5qcGc=.cache","vod_id":19181748,"title":"Avec sa silhouette sublime et son talent hors pair, Futaba Otani est une garce lubrique et insupportable qui vous fera jouir à coup sûr ! SPÉCIAL !! MFYD-049","lastmod":"2026-02-20","duration":"2:30:17","url":"/play/19181748.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTczNWJkYjI3Mjg4ZTc2NjkwMWQxMzUxZWE2YzgyMWYuanBn.cache","vod_id":19073401,"title":"NSSTL022 Ayako, une femme mariée qui se soumet à un homme qu'elle n'aime pas (inceste).","lastmod":"2025-03-26","duration":"0:38:19","url":"/play/19073401.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjgvNTQyZDA0MDhlYWJiNmMwY2FhZWZkZTkyODYyYzRhZGUuanBn.cache","vod_id":19156853,"title":"Épisode de sexe en voiture de YuiPeachpie, une jolie fille aux grands yeux : Vêtue d'une jupe moulante bleue sexy, elle séduit son propriétaire à l'intérieur de la voiture alors qu'il s'agenouille et lui fait une fellation, la chevauchant jusqu'à ce qu'il éjacule en elle, et elle ne peut s'empêcher d'avoir un orgasme et de gicler.","lastmod":"2025-09-27","duration":"0:20:17","url":"/play/19156853.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MDMvNGViYjI4NjY0M2YyNDM0MjYyODAyMzZhMjNiOTcyYTIuanBn.cache","vod_id":19137561,"title":"MIAA949 Mon amie a trouvé une vidéo porno de cocuage mais l'a mal comprise, alors elle est allée sur une application pour avoir des relations sexuelles avec un homme.","lastmod":"2025-06-03","duration":"2:00:39","url":"/play/19137561.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODc1NmUzZjlmMzEwNzhlYTY4NTI4YzhkYzY4YWZmYTQuanBn.cache","vod_id":19073344,"title":"NSSTN001 Série de sexe avec baisers intenses Épisode 1 : Yuri Sasahara - J'ai demandé à mon patron de mettre ma femme enceinte - (Inceste)","lastmod":"2025-03-26","duration":"1:27:24","url":"/play/19073344.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzljNzk1MTY3OGMxOWZmNjhkMmJhYmRiMTYyNDAyNmIuanBn.cache","vod_id":19103467,"title":"Le petit chenapan est arrivé !! Il passe l'été chez mon cousin (qui est un sugar daddy).","lastmod":"2025-03-26","duration":"1:43:50","url":"/play/19103467.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNjM4NGNhNmMxNjcyYjVkNTdjNzNlZGI5MThkMDlkOGUuanBn.cache","vod_id":19097174,"title":"Bien qu'elle soit une femme inaccessible et magnifique, c'est une onapetu surnaturelle prête à avoir des relations sexuelles avec n'importe quel homme qui s'approche d'elle !","lastmod":"2025-03-26","duration":"2:11:24","url":"/play/19097174.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZGYyNTI5MmNhMzU5YWNmYWZiMDUyZTI4ODExNTc3NjMuanBn.cache","vod_id":19175378,"title":"L'étudiante en master s'est révélée être une femme radicalement différente, mais elle a malheureusement épousé un homme ayant un fétichisme pour le cocuage, qui publie des photos de sa femme partout.","lastmod":"2026-01-21","duration":"0:11:35","url":"/play/19175378.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MjkvMWRhZGNhOGNmNTczMWVlN2RiMTc0ODIyMGZlMTAyNmIuanBn.cache","vod_id":19151557,"title":"Une employée de bureau a accompagné un ami tard dans la nuit, se livrant à des actes passionnés incluant la masturbation et des fellations, le visage entièrement découvert.","lastmod":"2025-08-28","duration":"0:18:06","url":"/play/19151557.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MjEvOGEwNWY2YTY3OWIwZjBjNjMyNGE0NDAwNTczNzQ3MGIuanBn.cache","vod_id":19145005,"title":"Des collégiens de troisième, un couple qui filme pour la première fois, la poitrine de la fille est magnifique","lastmod":"2025-07-20","duration":"0:06:28","url":"/play/19145005.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODlkOTY0ZTcyM2U5NGI5MzI5NDgwYjM1NjA3Y2Q5NmMuanBn.cache","vod_id":19112480,"title":"MIAA-100 Ma copine déménage à Tokyo et NTR Partie 2. Elle est venue à Tokyo avec le rêve de devenir photographe, mais un homme de la ville l'a possédée et lui a volé son corps et son âme. Ma copine Fukada Eimi 1","lastmod":"2025-03-26","duration":"2:00:05","url":"/play/19112480.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzA3NDk5NTkyYjZkYTNkMDRiMzU3MTdmZDVlY2Y0MWQuanBn.cache","vod_id":19114052,"title":"Xu Mu, l'étudiant de dernière année, a agressé sexuellement sa colocataire ivre.","lastmod":"2025-03-26","duration":"0:20:59","url":"/play/19114052.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MTUvNGE3OTY4NzVjYTIxOTBkMDk4ZWM4MjRmNDgxYzgyMzMuanBn.cache","vod_id":19203977,"title":"Une vidéo en direct d'une étudiante urinant aux toilettes, filmée en haute définition et mettant en valeur son joli visage. On la voit même se masturber frénétiquement le clitoris pendant un long moment avant de s'arrêter.","lastmod":"2026-06-14","duration":"0:16:10","url":"/play/19203977.html"}]},
videoTitle: 'Un soir, après une soirée, Ichika, une collégienne devenue experte en baisers français après avoir trop bu, s'est assise à califourchon sur lui. (Le reste du texte semble sans rapport et probablement généré automatiquement ; il est donc laissé tel quel.)',
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=/`;
}
};
}