Uma jovem com maquiagem chinesa antiga, uma encantadora ama de leite, revela seu rosto; ela tem bastante leite materno, é bonita e se diverte muito. Seguindo as instruções de seu acompanhante, ela se entrega a uma performance apaixonada, tocando sua vulva, brincando com adereços e fazendo sons lascivos enquanto está completamente molhada.
Depois de jogar mahjong, transei com duas jovens elegantes de salto alto na mesa de mahjong e no sofá. ...","lastmod":"2026-07-11","duration":"01:17:41","url":"/play/19163550.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2RjMTNlNjcyZTM4NTUwZWYwZmEyZmFmMGNhZDI4YTMuanBn.cache","vod_id":18960517,"title":"[Legendas em chinês] GS-457: Masturbação mútua com uma esposa frustrada, seguida de relação sexual apaixonada. Apesar de ser uma esposa jovem, ela é insatisfeita e ousada.","lastmod":"2025-03-22","duration":"01:33:57","url":"/play/18960517.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDQ2OThjYmYxM2U2NWVkMjAxYWMxNjViYjZlYmJiMTAuanBn.cache","vod_id":18966704,"title":"Uma mulher casada e sedutora, com o rosto totalmente exposto, seduz um jovem, cavalgando em seu pescoço e lambendo sua vulva enquanto o penetra apaixonadamente, oferecendo-lhe os seios e chupando seu pênis – um espetáculo emocionante e excitante.","lastmod":"2025-03-22","duration":"01:23:21","url":"/play/18966704.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODUxYWNiOTE4NzZjOTRmZGYxYWE0YzQ0MDAxYWM4M2QuanBn.cache","vod_id":18934559,"title":"Na segunda vez, seduzi o encanador completamente nua, provocando-o e seduzindo-o, seu membro carnudo foi enfiado em seu buraco de tigre branco, seu rosto e mamilos ficaram expostos o tempo todo, e tivemos uma conversa em chinês.","lastmod":"2025-12-14","duration":"00:15:20","url":"/play/18934559.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmE5NTAyYmYxOWZkODcwMDNkNWU2ZGZlNzM2N2UxYzIuanBn.cache","vod_id":18976644,"title":"Novas fotos vazadas de maio mostram um fotógrafo chinês especializado em fotografia de banheiros entrando sorrateiramente em um banheiro público perto de uma faculdade de formação de professores para filmar secretamente mulheres bonitas urinando. Entre elas, três mulheres muito elegantes e atraentes.","lastmod":"2025-03-23","duration":"00:13:33","url":"/play/18976644.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTYxODNlNDcwNzY5YjI4M2I4NWFjMTdhY2E2YWM5MjkuanBn.cache","vod_id":18942689,"title":"[Estudante de Enfermagem do Último Ano] Uma linda garota de meias transparentes e meias cor da pele se masturba de forma sedutora; closes de sua vulva sendo esfregada com acessórios são muito atraentes.","lastmod":"2025-03-22","duration":"02:26:26","url":"/play/18942689.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvMmQ2M2RmNGEwZjk1MWNkNzJiNTE1ODlkM2VmZDRiYzYuanBn.cache","vod_id":19064953,"title":"Uma mulher esbelta, de meias brancas e seios fartos, transa apaixonadamente com seu namorado.","lastmod":"2025-12-14","duration":"03:04:56","url":"/play/19064953.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvMWYxMGY3YTc0ZmM2NzIyYjYxZTVjM2ZlZGVjMTJjNjkuanBn.cache","vod_id":19066235,"title":"Um homem negro corpulento fez sexo com uma garota, com o rosto totalmente visível durante todo o encontro apaixonado a quatro.","lastmod":"2025-12-14","duration":"01:04:00","url":"/play/19066235.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODE0ZmQ4YWVhNDg5YWMwODI3YjQxOTM0MDQxMjkyOTkuanBn.cache","vod_id":18982999,"title":"Irmãs lindas! Um ménage à trois apaixonado com um irmão mais velho feliz! Elas se revezam transando de quatro, na posição de vaqueira, com a virilha aberta e meias, até gozarem. A ejaculação contínua é incrivelmente prazerosa.","lastmod":"2025-03-23","duration":"01:20:08","url":"/play/18982999.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvNzllODNjNjg1MmQ1MTljY2Q2N2M0MTA5NDg0YjhkYTguanBn.cache","vod_id":19161701,"title":"Meng Ruoyu PMS004 Médico Pervertido EP1 Anestesiando Jovem de Seios Grandes Trata Sintomas de Gemidos Provocantes","lastmod":"2026-07-11","duration":"25:51","url":"/play/19161701.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvM2IwNWYxMjdiMTlhZjk2NDUwNjc4NmUxNmM1MjEyY2IuanBn.cache","vod_id":19138856,"title":"Neste grupo exclusivo e privado, a maioria dos membros (43) são mostrados com seus rostos.","lastmod":"2026-01-17","duration":"08:09","url":"/play/19138856.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjkxYTViZTMzODQ0ZGY1OGUxOGJmNzk1YWU1ZTMwOGIuanBn.cache","vod_id":18998964,"title":"Os resultados da busca no Baidu mostraram uma jovem e bela aeromoça e seu namorado fazendo sexo em frente a um espelho enquanto se filmavam, e depois usando um vibrador na cama enquanto ela era penetrada, gritando: \"Me foda com mais força, foda minha vadiazinha!\"","lastmod":"2025-03-23","duration":"05:10","url":"/play/18998964.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMWY3ZDRhMzNhMjBkMGFjMDgwMjAzYjk5MmI2ZmE1MGEuanBn.cache","vod_id":18939024,"title":"[Recursos de Alta Qualidade] A streamer mais bonita do Huajiao, [77 Pequena Ancestral], teve seu rosto e vagina expostos em um vazamento em larga escala.","lastmod":"2025-12-14","duration":"00:10:16","url":"/play/18939024.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNGRlYzE3OGQzZjliYzQ4ZTEwMTRjZmU5YzVmYTQ4ODYuanBn.cache","vod_id":19135335,"title":"Pernas longas, meias, figura esbelta, voz sedutora, interação flertosa, closes de masturbação com acessórios.","lastmod":"2025-12-26","duration":"01:29:13","url":"/play/19135335.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNTNmYmZmYzEwMTIyY2ZkMzgwMDlhZGFlNzc3MTg1OWYuanBn.cache","vod_id":19146819,"title":"Uma mulher esbelta e voluptuosa e um jovem espirituoso se envolveram em uma batalha apaixonada.","lastmod":"2026-03-06","duration":"39:29","url":"/play/19146819.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmZmMGU1MGYwODlkNzE1OTgzZmE5MDEzZTMwMGZjNjkuanBn.cache","vod_id":18929286,"title":"Uma jovem atraente de cabelos curtos usa acessórios para se masturbar enquanto usa salto alto e está sentada em uma cadeira. Um vibrador em formato de ovo é inserido em sua vagina, e ela contorce o corpo de forma sedutora. Não perca se você gosta desse tipo de conteúdo!","lastmod":"2025-12-14","duration":"00:56:23","url":"/play/18929286.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYTg1MTQ1OWI1MDA5Y2NkYmQ0YzE1ZTMzNDQ3ZTVhNWYuanBn.cache","vod_id":19149826,"title":"A vagina de uma jovem inocente foi abusada por seu irmão mais velho e perverso.","lastmod":"2026-03-23","duration":"10:47","url":"/play/19149826.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMThlODQ4Y2ZiMjI2ZTAyYzhmNWU1YzQwMmYyZWZjZTAuanBn.cache","vod_id":18971706,"title":"Uma celebridade da internet deslumbrante, com um rosto lindo, meias pretas sedutoras, pernas longas e mãos acariciando os seios; um corpo de modelo com um bumbum grande e uma vulva bonita.","lastmod":"2025-12-14","duration":"00:59:00","url":"/play/18971706.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYzczODAyYWMxYjMyNDdlOWQ0ZDk4N2IzOGEyOTY1N2EuanBn.cache","vod_id":19140827,"title":"Meias pretas, nádegas fartas, seios grandes, óculos, voz lasciva, interação insinuante, closes de seios balançando e vulva se abrindo, adereços, sexo intenso com uma mulher promíscua.","lastmod":"2026-01-29","duration":"25:47","url":"/play/19140827.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MDYvYTY0NzQ0YzYxYjY0MDg3YzgwMzI4NjQwMzhkZWViODIuanBn.cache","vod_id":19167000,"title":"A garota mais gostosa, Hina, é fodida até o êxtase. Seus mamilos são super sensíveis e ela é estimulada até ter múltiplos orgasmos. Ela é estuprada por vários homens e recebe uma chuva de esperma. Hazuki Hina. Banquete venenoso.","lastmod":"2026-07-11","duration":"04:13:47","url":"/play/19167000.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMjM4N2YzOWQ1ODI0NWQ3MjhiMmU1NTliMDA0M2IwOWYuanBn.cache","vod_id":19136873,"title":"A streamer de douyu Yao Yao revela seu rosto, seios e decote em uma dança nua, incluindo uma coleção de seus orgasmos.","lastmod":"2026-01-05","duration":"28:18","url":"/play/19136873.html"}]},
videoTitle: 'Uma jovem com maquiagem chinesa antiga, uma encantadora ama de leite, revela seu rosto; ela tem bastante leite materno, é bonita e se diverte muito. Seguindo as instruções de seu acompanhante, ela se entrega a uma performance apaixonada, tocando sua vulva, brincando com adereços e fazendo sons lascivos enquanto está completamente molhada.',
language: 'pt',
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('Link copiado!');
}).catch(() => {
// 降级到旧方法
document.execCommand('copy');
alert('Link copiado!');
});
} else {
// 降级到旧方法
document.execCommand('copy');
alert('Link copiado!');
}
}
},
// 切换布局
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=/`;
}
};
}