IPX344 Je suis Tsumugi Akari, et je suis souvent séduit par ma patronne avec des mots obscènes et des photos de ses sous-vêtements transpirants, et je peux éjaculer à l'intérieur d'elle.
Étudiant, expert en drague, blogueur spécialisé dans les techniques de parasitage, rencontre une belle fille en uniforme de soubrette et bas noirs, et la baise passionnément à deux reprises.Étudiant, expert en drague, blogueur spécialisé dans les techniques de parasitage, rencontre une belle fille en uniforme de soubrette et bas noirs, et la baise passionnément à deux reprises.","lastmod":"2026-07-11","duration":"01:15:18","url":"/play/19154652.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDFhZTkzNzI3ZjdlMTc5YjY5MzI1YTBkZTVjMDkxN2MuanBn.cache","vod_id":19008667,"title":"Une jeune femme magnifique et plantureuse séduit les spectateurs masculins en dévoilant son visage tout au long de la vidéo. Vous aimez ces gros seins ? Elle les malaxe et les suce, accompagnée de gémissements lascifs. Ne manquez pas ce spectacle excitant !","lastmod":"2025-03-28","duration":"32:09","url":"/play/19008667.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZjQwM2UwYTBiNTgzNTdlZmM2NjY5MWYyNzM1NTNiNzQuanBn.cache","vod_id":19135560,"title":"Tentation uniforme, chignon tigre blanc de première qualité, chatte loli en cheongsam, bas noirs, grosse bite, baiser la petite sœur tendre de quelqu'un sans préservatif.","lastmod":"2026-04-07","duration":"07:14","url":"/play/19135560.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTY5Y2RhMDYwMjFlOTUyYjJmOTY2OWZmY2ZhYjUxMjMuanBn.cache","vod_id":18982235,"title":"L'ultime évolution de la série des objets fantastiques : une montre-bracelet qui arrête le temps. Pour toute la famille, arrêtez le temps.","lastmod":"2025-03-28","duration":"02:17:56","url":"/play/18982235.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNGUzZWQxN2VjODllOWYwNDRmZTVjMTc5ZTkxY2FlMmEuanBn.cache","vod_id":19121256,"title":"Compte à rebours de la tentation Volume 6, Kagami AKIRA Chapitre 3 (Sous-titres chinois)","lastmod":"2026-01-29","duration":"28:21","url":"/play/19121256.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MDcvZDRkOTc3MmUyZTBhMGM3YzkwOGIxNzU4NmEyYjMwZDMuanBn.cache","vod_id":19072272,"title":"JK White Tiger Loli Fétichisme des pieds Séduction Masturbation_","lastmod":"2025-05-07","duration":"11:37","url":"/play/19072272.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZjcxYTJkNDI4MGM4YzMwYjljNWE5ZjE0MzBkNjE5NjAuanBn.cache","vod_id":19131688,"title":"MIDV-641-C Lorsque je vivais chez mon fils, et qu'il vivait avec sa fiancée... je n'ai pas pu résister à la tentation des seins de sa petite amie...","lastmod":"2026-03-19","duration":"02:22:39","url":"/play/19131688.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MDQvMWZlZDk4NTVjMDdkNDU5MDI2MmUyODYwYzliMTExNDQuanBn.cache","vod_id":19147272,"title":"Je veux ma mère ! Je ne peux pas faire ça… Contrairement à ce qu’il a dit une fois, j’adore quand le mauvais fils se lâche complètement… Complexes émotionnels, franchissement des limites, MBM","lastmod":"2026-06-03","duration":"04:01:49","url":"/play/19147272.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvNTljZGY4MDEyZTNiMmVhYzVhYjcxYmFmNTA3ZTk3MTEuanBn.cache","vod_id":19144976,"title":"La cheffe de chantier s'est rendue dans la chambre louée par ses collègues pour leur faire part de son inquiétude, mais elle a été au contraire captivée par l'habileté de l'homme plus âgé.","lastmod":"2026-05-23","duration":"04:51","url":"/play/19144976.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjg5N2ExZjc2OTg0NDY5NjRjOGFjMWFkNjM4YjdjNmIuanBn.cache","vod_id":19057814,"title":"422ION002 Après mon rendez-vous avec mon petit ami, j'ai invité ma partenaire sexuelle chez moi et j'ai eu des relations sexuelles avec elle.","lastmod":"2025-03-29","duration":"01:08:33","url":"/play/19057814.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDAwMTIyOWE2ODU0NGMzN2U4M2IxZDdkNDE1OTQyZDAuanBn.cache","vod_id":18986746,"title":"Ma copine aux gros seins","lastmod":"2025-03-28","duration":"09:12","url":"/play/18986746.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MDQvNjQxYmQyMjgwMWQ4MWM2YjZkY2NiOTk3ZWQxMjI4NmYuanBn.cache","vod_id":19147255,"title":"Observation d'un concours félin amateur 4 - Version fille en uniforme - Caméra 4K, ultra gros plan : on aperçoit presque la villa étincelante - Amateur de classe S","lastmod":"2026-06-03","duration":"05:00:55","url":"/play/19147255.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWVjNDk4NjZmYWRkZTc2YzFkYTYxZDNmM2QwNDE3OGUuanBn.cache","vod_id":19018484,"title":"Ma tutrice préférée a été trompée et mon père a éjaculé en moi.","lastmod":"2025-03-29","duration":"01:59:13","url":"/play/19018484.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvN2NmYzFmYTRkMTkzZDVhZmJlYjljN2M0ZGY4Y2Q0YzAuanBn.cache","vod_id":19060229,"title":"MD0115_La tentation du professeur particulier : le site officiel d'une femme mariée séduisante et attirante - Xia Qingzi.","lastmod":"2025-03-29","duration":"24:20","url":"/play/19060229.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZmYxY2VmMjJjNmNiOGVkNmMyY2RlMmRjOGFhYmVhOGEuanBn.cache","vod_id":19121682,"title":"Des photos de voyage ont fuité, révélant le séjour passionné de Michelle Ye et de son petit ami à Qingdao. Sous ses airs innocents se cache une vulve aguicheuse, des fesses rebondies et une poitrine généreuse. Sans aucune retenue devant l'objectif, elle fait preuve d'une grande maîtrise du sexe oral et de la pénétration, se comportant comme une soumise envers son petit ami et affichant une obscénité extrême.","lastmod":"2026-01-31","duration":"20:40","url":"/play/19121682.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMDEvYjBjY2MwZjNkOTFhYzkzZTg1YmFhMWM0ZWYxMzI4YzAuanBn.cache","vod_id":19103725,"title":"Vous êtes mon élève, c'est absolument une relation inappropriée... Kashiwagi Konatsu (柏木こなつ) SAME_131","lastmod":"2025-10-31","duration":"01:58:55","url":"/play/19103725.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMDQvODNkOGMxYTFmYWZlZWY5ZDAzMzgwYmQ1Y2ZhN2UwY2YuanBn.cache","vod_id":19098982,"title":"J'ai été domptée par le patron de mon mari et transformée en son « esclave laitière » personnelle… (Auteur : Aya Ueba, Aya Ueba, JUQ996)","lastmod":"2025-10-03","duration":"02:18:37","url":"/play/19098982.html"}]},
videoTitle: 'IPX344 Je suis Tsumugi Akari, et je suis souvent séduit par ma patronne avec des mots obscènes et des photos de ses sous-vêtements transpirants, et je peux éjaculer à l'intérieur d'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=/`;
}
};
}