[Pavillon de la Chine] Une jeune diplômée, une des plus belles femmes du campus, a demandé une dernière fois à son petit ami ses faveurs avant de rompre ; c’est elle qui a pris l’initiative.
Une beauté pure cache un trou de salope sous son hanfu, baise sauvagement et jouit à l'intérieur et affronte la fée","lastmod":"2026-07-11","duration":"","url":"/play/19244970.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGYyZTk5ODhmN2ZiZDUxOTE0MDU2NWEwZjBhOTViNDYuanBn.cache","vod_id":19124263,"title":"[Exploration hôtelière] Un homme loue une chambre d'hôtel de luxe pour 3 800 yuans et engage une escort girl sexy vêtue d'une robe moulante rouge. Elle a la peau claire, la taille fine, une poitrine magnifique et des fesses rebondies. Après une première séance, elle enfile des bas noirs et leur rendez-vous se poursuit.","lastmod":"2025-03-29","duration":"44:13","url":"/play/19124263.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTUxZWMyNzVhMGFhOTQwZTU3NGMwZDExOGI2YmFkNDIuanBn.cache","vod_id":19136167,"title":"Sherry est trop mignonne ! Une adorable célébrité d'internet ! Son petit ami, qui reste à la maison, couche avec elle.","lastmod":"2025-03-29","duration":"","url":"/play/19136167.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvZmIwNDc1ZTcwMTBjNWJjZmFiZjQ4Y2NlOWExZDVkNGIuanBn.cache","vod_id":19234495,"title":"Erika Ozaki, une femme au foyer aux formes généreuses, se balance et succombe aux avances de son petit ami dans une cage d'entraînement.","lastmod":"2026-05-16","duration":"1:50:03","url":"/play/19234495.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjY2Y2FkNjdhZjllYjFhNTNiOTc5ZDViMGY0NDhlZjAuanBn.cache","vod_id":19055781,"title":"[Pavillon de la Chine] Vêtue d'un uniforme sexy, elle jouait à des jeux en attendant son petit ami. Il la pénétra aussitôt par derrière ; ses fesses galbées étaient très attirantes.","lastmod":"2025-03-28","duration":"","url":"/play/19055781.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzhiMjQzNzY2YTkwYWQxNjcwNjM2ZTk0ZDVmYzY3YTQuanBn.cache","vod_id":19055955,"title":"(Lesbiennes japonaises) Deux belles femmes s'embrassent à la française, se caressent et se masturbent.","lastmod":"2025-03-28","duration":"","url":"/play/19055955.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODIxOTNlYmY3OWUzZTU3YWQ5NzJjOGUxZTU4MzVhMjQuanBn.cache","vod_id":19070584,"title":"La belle Jemi de Taipei ne se contentait pas de se masturber seule ❤️ et voulait trouver un homme pour satisfaire ses envies, mais à la place, elle a eu droit à deux 1.","lastmod":"2025-03-28","duration":"00:30:11","url":"/play/19070584.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNmJjYjc1NmU1NTIxNzA0YjgxMTk3NzJlZmIwMGE5ODYuanBn.cache","vod_id":19154216,"title":"AP713 (HD) - Une belle mais paresseuse professeure subit une punition d'éjaculation interne, la rendant totalement réticente à enseigner ! On lui administre des somnifères et on lui malaxe les seins… [Censuré, Haute Définition, Sous-titres chinois].","lastmod":"2025-03-29","duration":"03:59:52","url":"/play/19154216.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTdkOThkMjQ4YTk3YTQ5ZjY2Yzk5NjM2NjlmYmI4NzAuanBn.cache","vod_id":19054098,"title":"[Pavillon de la Chine] Les selfies révélateurs de la sublime Yan Jiali, déesse aux jambes interminables, à l'hôtel","lastmod":"2025-03-28","duration":"","url":"/play/19054098.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmIwYjI5NjA1NzUzM2U5ZDU5MDM1ZGYyNDEzNWE4ZTYuanBn.cache","vod_id":19169601,"title":"SSNI39819 ans Hata Mei : premier orgasme, premier squirting, développement sexy 3, édition spéciale sexe.","lastmod":"2025-03-29","duration":"02:27:00","url":"/play/19169601.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2YxY2VhMjQyMzIzY2Q3ZDEwZWMxOTUyZGQ4OWNhM2EuanBn.cache","vod_id":19125921,"title":"[Inceste père-fille] Ma fille et moi avons commis l'inceste, la première fois que nous l'avons fait, la version complète, filmée en secret, ma fille a crié qu'elle ne voulait pas le faire !","lastmod":"2025-03-29","duration":"24:04","url":"/play/19125921.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNWJlNGZmNWRiOWE0MjQwN2U1NTE0MTRiYmNmZjBjMGYuanBn.cache","vod_id":19099053,"title":"FC2PPV 3635369 J'adore le sexe oral ! Kana-chan, étudiante en quatrième année d'université avec une poitrine généreuse (bonnet G), a avalé un énorme pénis, a avalé du sperme trois fois et a été pénétrée deux fois !! ※Récompense pour les commentaires","lastmod":"2025-03-29","duration":"00:38:22","url":"/play/19099053.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MTQvODM3MWZiNjc5NzA1NGY0NWFhYmVkZmQ5MThlZmMwM2QuanBn.cache","vod_id":19172651,"title":"[Jennie Kim, la « garce à contraste »] Son premier rendez-vous était incroyablement humide ! Elle a pris l'initiative de le chevaucher, secouant sauvagement ses fesses rebondies, tandis que le gros pénis de son petit ami la pénétrait profondément jusqu'à ce qu'elle halète à plusieurs reprises.","lastmod":"2025-04-13","duration":"06:14","url":"/play/19172651.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjVlZmI2NjZiZjU1MGJhOTI0NDEzMjU3OTE0Y2RiN2YuanBn.cache","vod_id":19091913,"title":"531HFC-007 Kohaku, un garçon de 153 cm, retourne chez ses parents et se livre à un jeu lesbien interdit avec sa mère, qui finit par éjaculer en lui ! (Matsumine, Kouhaku, Shimazaki Kasumi)","lastmod":"2025-03-29","duration":"00:38:46","url":"/play/19091913.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDAwN2JhZjNhOGZjZjhiMjVjYmZhYjc3NDM4MDM2ZmEuanBn.cache","vod_id":19106305,"title":"Travestie, son vagin serre le pénis et la pénètre violemment, elle jouit à plusieurs reprises pendant qu'elle est fistée, son liquide pré-éjaculatoire continue de couler, et les halètements qui suivent indiquent qu'elle jouit - Vidéo amateur chinoise","lastmod":"2025-03-29","duration":"","url":"/play/19106305.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTgxMGVjOTc2MTk1NDE4OGZmYzc1ODBjZDMyM2JkYzEuanBn.cache","vod_id":19105594,"title":"384SHSS-003 [Première prise] Application AV en ligne → Expérience AV Prise 1018 Une réceptionniste aux formes généreuses décide de tourner dans un film AV pour vivre des sensations fortes. Le simple fait d'insérer un doigt dans son pubis rasé provoque des convulsions et des rebondissements chez elle, l'amenant à l'orgasme à répétition… !","lastmod":"2025-03-29","duration":"","url":"/play/19105594.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjYxOTQ5MTVlMDIzN2QzNGVjMDhmNDdhYWFkZTEyOWQuanBn.cache","vod_id":19041277,"title":"Fruit Loan Beauty Édition Spéciale : La douce et mignonne Zhang Shenglan est très séduisante et utilise divers accessoires pour se masturber. Son visage juvénile et sa généreuse poitrine sont incroyablement attirants.","lastmod":"2025-03-28","duration":"00:23:57","url":"/play/19041277.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvOGZiMTU1YjFkNzRjZDg1ZjQwZmM2ZmU0ZjJhMzMxYWMuanBn.cache","vod_id":19239927,"title":"Une étudiante pure et innocente, née dans les années 2000, avec une poitrine généreuse et un fessier rebondi, s'est fait brutalement baiser ! Elle a éjaculé du sperme blanc en elle, a gémi et a joui.","lastmod":"2026-06-10","duration":"0:42:16","url":"/play/19239927.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDFiMzk0Nzg2YTIwNzFhMDFjODg1NzY0YmVjNTM1ODEuanBn.cache","vod_id":19051794,"title":"[Pavillon de la Chine] Une belle femme en uniforme et bas noirs a eu une séance de sexe oral 69 passionnée avec un homme, où la femme a été pénétrée dans de multiples positions et baisée par lui.","lastmod":"2025-03-28","duration":"","url":"/play/19051794.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZGY2MmFlNzk4ODRiMDFhZWI4OTYyOGFlZGQxODQ5YjguanBn.cache","vod_id":19223870,"title":"YUJ-055 Ivre, j'ai séduit la copine de mon frère ! Durant l'été de ma dernière année d'université, j'ai secrètement baisé la copine de mon meilleur ami un nombre incalculable de fois ; cette salope aux gros seins me chevauchait avec ardeur et me suppliait de jouir en elle.","lastmod":"2026-03-25","duration":"2:05:29","url":"/play/19223870.html"}]},
videoTitle: '[Pavillon de la Chine] Une jeune diplômée, une des plus belles femmes du campus, a demandé une dernière fois à son petit ami ses faveurs avant de rompre ; c’est elle qui a pris l’initiative.',
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=/`;
}
};
}