Shen Xiangni ! Une patiente plantureuse et aguicheuse, incapable de contenir son désir, s'urine dessus et séduit un médecin, qui la pénètre ensuite brutalement et éjacule en elle.
Une sœur, vêtue seulement d'une chemise et sans pantalon, est prise au dépourvu et son frère la baise brutalement. Misono et Hana","lastmod":"2026-07-11","duration":"","url":"/play/19244750.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMThjNzcyZjhjMTBmMTM3YTBiY2RmYmI1M2M4MzU1ZWYuanBn.cache","vod_id":19225410,"title":"JUR-561 La belle insomniaque Suzunami est brutalement sodomisée et éjaculée à l'intérieur par le frère de son mari. Une orgie de sperme.","lastmod":"2026-03-30","duration":"1:56:15","url":"/play/19225410.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvMWZkMzU0YmQ3Mzk1NmE5YWM4MzI5OTU3NzkxOGJlYTkuanBn.cache","vod_id":19238521,"title":"Honoka Hashima / Ran Himeno / Riku Ichikawa - Cosplay and Bizarre Sex, Volume 4 : Une salope aux gros seins se fait violemment baiser et éjacule en elle.","lastmod":"2026-06-01","duration":"4:02:58","url":"/play/19238521.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTM3MTA4ODA5Zjk1ZjkzNWIzOGE5ZWIyMDZiM2FlZmEuanBn.cache","vod_id":19103646,"title":"Le dernier vestige de dignité perdu à cause de son mari infidèle, la discipline de sa femme lubrique, fétichisme des pieds, bas, fesses sucrées, vagin tendre, son pénis enragé la frappant à toute vitesse, la pressant et déversant – vidéo d'éjaculation non protégée.","lastmod":"2025-03-29","duration":"","url":"/play/19103646.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNjVkNTFiMWMwNjA5N2FjNTc1Y2IyMjM5YzY4NmE0MTguanBn.cache","vod_id":19039604,"title":"Les dialogues sont à la fois drôles et grivois. Xiaoqian, la femme, est une belle jeune femme à la peau claire, à la silhouette parfaite, épilée et délicate. Elle n'a de rapports sexuels que deux fois par an, portant un plug anal lors de ses ébats avec son petit ami, qui est très bien doté.","lastmod":"2025-03-28","duration":"00:55:57","url":"/play/19039604.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYzFjNTVlODNlNTQ5NmYzM2ZjMGQwYWUxYjAxNDFjZjEuanBn.cache","vod_id":19227877,"title":"DOMB-001 Fuite : Domination ultime ! Une salope de haut niveau est baisée jusqu'à perdre le contrôle de sa vessie, forcée de subir de multiples orgasmes avec éjaculation interne.","lastmod":"2026-04-09","duration":"0:53:51","url":"/play/19227877.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMGJjYzg1MjkzNzg1OWJiZDJkODVjMjk1MzcyMjI0YjAuanBn.cache","vod_id":19230977,"title":"RealityKings : Un patron d'âge moyen a des relations sexuelles avec sa nounou Alina Lopez dans sa voiture, et éprouve de multiples orgasmes et une éjaculation intense à l'intérieur d'elle !","lastmod":"2026-04-26","duration":"0:24:21","url":"/play/19230977.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MjgvNDk4ZDg5ZWIyZTNlY2M5ZDlkZDE1MDVkNTE4ODZkNDMuanBn.cache","vod_id":19182742,"title":"Massage de gros seins et d'un beau vagin, halètement et draps trempés.","lastmod":"2025-06-27","duration":"01:03:18","url":"/play/19182742.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvY2I0NjU3ZjY5MmRhNTEwZWJkMGYzMTEyZGJjNDcwODAuanBn.cache","vod_id":19114159,"title":"[Jeune femme mariée ayant une liaison] Elle montre son visage tout au long de la diffusion en direct de ses ébats passionnés avec son frère aîné dans un hôtel. Elle lui fait une fellation profonde et le laisse lui lécher le vagin devant les autres hommes. Ils ont également des rapports non protégés ; elle gémit et jouit en lui.","lastmod":"2025-03-29","duration":"","url":"/play/19114159.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvMjY5MDJjMDkxNmFlNmNlNmY5YmMyYjk5MTlmMDExMjIuanBn.cache","vod_id":19235553,"title":"Sédition nocturne : un homme horrible agresse sans relâche une jeune fille douce et sexy, éjaculant à l'intérieur d'elle jusqu'à ce qu'elle explose !","lastmod":"2026-05-16","duration":"0:40:33","url":"/play/19235553.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYWUwMTA3YzM3OTZmZmRkMmNmNWRlNGRkMjU5MzIyNTcuanBn.cache","vod_id":19241136,"title":"Désert sauvage ! NieR : Ex Machina se fait brutalement baiser et éjaculer à l'intérieur par un pénis géant jusqu'à ce qu'elle ait des spasmes.","lastmod":"2026-06-18","duration":"0:05:28","url":"/play/19241136.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMTgvZDE2NjZlYmE4NzY5YzAwNjEyNWQ4Y2E3NTM0MGM0ZTEuanBn.cache","vod_id":19199943,"title":"MGTD029 Une femme d'une beauté envoûtante et d'un charme irrésistible vous séduit avec passion ! Une scène torride et intime... Vol. 04","lastmod":"2025-10-17","duration":"04:01:11","url":"/play/19199943.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYWM5ODBmM2QxNTExMDQ0MzkxM2EyMGU4MDBiMzU5Y2IuanBn.cache","vod_id":19211063,"title":"Relations sexuelles interdites et immorales entre un professeur et une élève ! Une élève pure et sans instruction a été agressée sexuellement et son professeur a éjaculé en elle [GOJI-067]","lastmod":"2025-12-23","duration":"3:56:43","url":"/play/19211063.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjMvMzI4YzBmZjE4ZGU1YTYxMmQ1ZWQyNmQ5YWFlYjkwZDcuanBn.cache","vod_id":19242226,"title":"Mei Chuan Qin Yin, le jouet sexuel ultime, son existence même consiste à être sans cesse baisée et éjaculée à l'intérieur.","lastmod":"2026-06-25","duration":"2:01:30","url":"/play/19242226.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvODhjODRjYTViY2I0ZmIwYWU2MjgyMjZmNDYyZWNhZjkuanBn.cache","vod_id":19224567,"title":"Une enseignante aux gros seins et portant des lunettes, vêtue de bas, tombe amoureuse d'un élève qui la chevauche sauvagement et la baise avec force.","lastmod":"2026-03-30","duration":"0:28:15","url":"/play/19224567.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZTljYzE4NTFlYjc1ZDdmYjFlZDdlMmY3ZTA4ZTBiZWUuanBn.cache","vod_id":19228774,"title":"Ma copine se faisait lécher et baiser si fort qu'elle a eu un orgasme et a perdu le contrôle de sa vessie. Elle a crié, supplié qu'on l'arrête et s'est agenouillée, implorant qu'on la pénètre encore plus.","lastmod":"2026-04-12","duration":"0:36:53","url":"/play/19228774.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYWUxZjg3Yzc0MjgzZTIwNWFhZWZhMWEwMzY2NjVlNmMuanBn.cache","vod_id":19212102,"title":"Mademoiselle Yuri se transforme en une femme mariée lubrique et masochiste ! Elle subit un entraînement brutal au niveau de la gorge, incluant une pénétration œsophagienne profonde et une éjaculation interne, ce qui entraîne une grossesse ! Numéro de catalogue : MIAB-500","lastmod":"2025-12-30","duration":"2:25:51","url":"/play/19212102.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGNkNzA4OTEyMWVlYjg5YjI1OTY1YWVkODEyZWI0NGIuanBn.cache","vod_id":19046416,"title":"Les dialogues sont grivois et drôles. Le vieil homme doit avoir une sacrée érection. Un oncle à la poitrine velue entretient une jeune étudiante qui pourrait être sa fille. La jeune fille fait l'amour en direct sur internet. Cette petite beauté est vraiment une vraie salope.","lastmod":"2025-03-28","duration":"","url":"/play/19046416.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjk1MDEwODNjYmY3N2FjMGE0NjZjM2NjY2E2ZDkwZTYuanBn.cache","vod_id":19103396,"title":"Travesti en bas noirs à bordure rouge, ça fait si longtemps qu'on est mariés et maintenant tu ne t'intéresses plus à moi, hein ? Je vais serrer les dents et le faire quand même. J'ai toujours rêvé de tomber enceinte et d'exiger que tous les beaux mecs éjaculent en moi sans préservatif. - Vidéo amateur chinoise","lastmod":"2025-03-29","duration":"","url":"/play/19103396.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTNkZmQ2NTlmYjBkODA3NzA1MWJjNTFiZDBiNGM4NjQuanBn.cache","vod_id":19169970,"title":"Si tu arrives à te retenir, je te laisserai éjaculer en moi.","lastmod":"2025-03-29","duration":"03:07:44","url":"/play/19169970.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNzI5NTRjOGI1NDk4ODE4MjFhNTkwNjg1MWQ1ZjE3OWQuanBn.cache","vod_id":19221574,"title":"Sexe brutal avec une femme de chambre en uniforme ! Toutes les positions obscènes sont débloquées.","lastmod":"2026-03-12","duration":"0:06:32","url":"/play/19221574.html"}]},
videoTitle: 'Shen Xiangni ! Une patiente plantureuse et aguicheuse, incapable de contenir son désir, s'urine dessus et séduit un médecin, qui la pénètre ensuite brutalement et éjacule en elle.',
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=/`;
}
};
}