No final da noite de um dia de verão, após se masturbar, a mãe adormeceu sem suspeitar de nada, e o filho secretamente inseriu seu pênis nela. A mãe fingiu estar dormindo e então entrou em FERA-196-C","lastmod":"2026-07-11","duration":"","url":"/play/19267701.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYmQ4MTVlODY4OGZhMWU0M2MzNjgyMzcyMzY1MGQ3M2YuanBn.cache","vod_id":19119786,"title":"Uma garota do ensino fundamental super fofa com uma voz de personagem de anime!","lastmod":"2025-03-29","duration":"2:30:37","url":"/play/19119786.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MjUvMzY2ODc2ZTI4ZjVjN2NiMjdlODYxMGE3NzRjYTRhMWIuanBn.cache","vod_id":19219179,"title":"NHDTC026 Um médico pervertido disse a ela: \"Quanto mais forte for seu desejo sexual, mais fácil será engravidar\". Ela não conseguiu recusar, então fez sexo com ele na frente dele para ter um filho.","lastmod":"2025-08-24","duration":"2:35:41","url":"/play/19219179.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMDIvMmMwMjM4OGI4NzE3ZTg1MGQyOTkzNWE5MzRmYjQ0MTQuanBn.cache","vod_id":19228879,"title":"Uma viagem a uma fonte termal com uma garota promíscua que adora pênis grandes, com múltiplos encontros sexuais. (Zenba Mami, Zenba Mami, FSDSS_895)","lastmod":"2025-11-01","duration":"2:03:54","url":"/play/19228879.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvY2ZjMWJlYWJkNWJlMzQ3ZGRiMDM0MzYyMDAzYzE4YzUuanBn.cache","vod_id":19052915,"title":"CAWD-036 Esta é a história da minha namorada voluptuosa sendo amarrada e penetrada por um homem alto e mais velho.","lastmod":"2025-03-29","duration":"1:54:30","url":"/play/19052915.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTBiZTk1ZjRkYmVlYjRmZDhjOGVkMmRlZWNiMjJhYzUuanBn.cache","vod_id":19031668,"title":"[Relação incestuosa entre irmãos] Relação perigosa entre irmãos: quando o desejo sexual bate à porta, você precisa deixar seu pênis aproveitar primeiro!","lastmod":"2025-03-28","duration":"0:33:58","url":"/play/19031668.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDM2Yjg1ZGUxZDNjYWFkMmM4YTAwOWVlOTc5ZDNmNzUuanBn.cache","vod_id":19087370,"title":"Diálogo de -guochan-17: Um amigo pervertido foi em uma viagem de negócios e teve um caso com a esposa dele; suas habilidades eram até melhores que as de uma prostituta. Alta definição, sem marca d'água.","lastmod":"2025-03-29","duration":"0:32:48","url":"/play/19087370.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9mYS5zbDI2MDIwNC50b3AvdXBsb2FkL3ZvZC8yMDI2MDIyMS0xL2RjMDRkOTExNWJjNDliMDI1ZTdkYTViMDBmN2VjMDk3LmpwZw==.cache","vod_id":19246013,"title":"Mulheres cuja sensibilidade aumentou várias vezes, tornando o sexo normal impossível, estão experimentando sexo afrodisíaco sem camisinha e com um pênis viciado. #Uma única ejaculação não é suficiente. KIBD-334","lastmod":"2026-02-21","duration":"4:01:23","url":"/play/19246013.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMDE1Yjc1NjQxMzZjN2UyOTc1OGZkYWY4NmFhM2YzN2IuanBn.cache","vod_id":19256217,"title":"SaraJay é minha amiga, uma mãe gostosa. O amigo do filho dela, Bruce, tem um pênis muito, muito grande. [MinhaAmigaMãeGostosa]","lastmod":"2026-04-29","duration":"0:36:45","url":"/play/19256217.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjgvOTdkZDdkN2NlOWFmYWY3NTE2N2E5MGFlY2ZlOThhZGMuanBn.cache","vod_id":19224202,"title":"Gostosa curvilínea, de seios fartos, de óculos, comendo frango, fetiche por pés, brincando com amigos pervertidos, pau por cima, cavalgando e transando.","lastmod":"2025-09-27","duration":"1:13:32","url":"/play/19224202.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTUvYzdhYzU5YjBkZDdmMWMxNDIxMTA2MDU5NGVlZmUwMzMuanBn.cache","vod_id":19235539,"title":"Dominado pelo balanço vigoroso da mulher casada e encharcada de suor, ejaculei dentro dela sem sequer mover os quadris. (Yumi Kazama JUR-449)","lastmod":"2025-12-19","duration":"2:59:00","url":"/play/19235539.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTgyMjcwN2ZkMWVkMjUwZWE5OWRlYmNkMzZkZGJhNGQuanBn.cache","vod_id":19184063,"title":"Irmãs gostosas, a penetração dupla mais excitante, ambas com aparência e corpos de primeira, ambas lindas e sensuais, lambendo o pau do irmão mais velho, enquanto o irmão mais velho também lambe a buceta dela e a fode em grupo antes de passar a melhor amiga dela para lamber.","lastmod":"2025-03-30","duration":"0:49:02","url":"/play/19184063.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYTA1OGQ2ODBjYmM5OTRlMjNjYjIzNDcxMWQzNzliNzguanBn.cache","vod_id":19250749,"title":"NF Seios Grandes - Loira Sexy Escapa para Transar com o Namorado da Irmã S3E5 [NFBusty]","lastmod":"2026-03-24","duration":"0:09:15","url":"/play/19250749.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTY3NGJiMzcwYTQ3MDFmNmRhMTUzYWM2YzhlODI1ZjMuanBn.cache","vod_id":19138388,"title":"[Lançamento Original] A sexy Alexa Flexy está pronta para ser detonada por Josh Jo. Sua bunda gostosa é esticada pelo pau grande e duro dele!","lastmod":"2025-03-29","duration":"0:34:53","url":"/play/19138388.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MDMvODY0YzA0MmRiMDM3M2FhYTI1ZDBhNjVhYmI1ZGRkZTMuanBn.cache","vod_id":19205818,"title":"JUQ369 Imagens chocantes de uma esposa sendo penetrada repetidamente em uma barraca de NTR no acampamento de um vizinho.","lastmod":"2025-06-03","duration":"2:00:46","url":"/play/19205818.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOWRmNzg3MzU1YjY5NjUyMTMxNWY5YmIxNTUwMzRkYzIuanBn.cache","vod_id":19257801,"title":"A luz branca do luar no coração deste perdedor é tão lasciva, olhando para você com olhos libidinosos enquanto chupa seu pau e diz: \"Papai, estou gostando disso? Hoje posso te foder loucamente sem camisinha e finalmente gozar dentro de você sem camisinha, papai, me foda, vou ter um orgasmo!\"","lastmod":"2026-05-09","duration":"0:10:58","url":"/play/19257801.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNmM0MzMzYWVhMzQxYWUzNGQ0Y2JhOGUyYTU3NWZkY2IuanBn.cache","vod_id":19180688,"title":"※Não※ Seios superdimensionados de nível milagroso, tamanho K! Professora famosa de cursinho expõe seu corpo excessivamente por causa de seus seios grandes? Ejaculação sincera em um encontro, filmada com os olhos, caindo no bisturi ♡ Bônus de comentário - CD1","lastmod":"2025-03-30","duration":"0:33:59","url":"/play/19180688.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTUvZjU4NWE5NTg3OTU4YThiODVlOTVmODIyYWNlNmVkYzcuanBn.cache","vod_id":19234888,"title":"Situação excitante, o namorado quer vir e ejacular dentro.","lastmod":"2025-12-15","duration":"0:07:06","url":"/play/19234888.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDBhZmJmMTk1NTZlZTExOWI1MWNlZTYyZDZiM2U0NjkuanBn.cache","vod_id":19188290,"title":"Uma mulher voluptuosa encontra-se secretamente com seu irmão para um encontro amoroso.","lastmod":"2025-03-30","duration":"1:04:37","url":"/play/19188290.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMmYyYTNmMTZhYWQ1NWE5MDYxMzVlNmI1NjAzMDg4M2QuanBn.cache","vod_id":19141041,"title":"[China] Câmera Escondida - Jovem Mulher Tendo um Caso em um Quarto de Hotel, Assistindo Pornografia Enquanto Faz Sexo_303222434!","lastmod":"2025-03-29","duration":"0:28:10","url":"/play/19141041.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTM4YjhmMWE4NjM5YmI0ODg0MWYwMDg4MGY3ODlmMWUuanBn.cache","vod_id":19028657,"title":"Modelo Original Gozada na Cunhada","lastmod":"2025-03-28","duration":"0:28:43","url":"/play/19028657.html"}]},
videoTitle: 'Minha prima estava tendo um caso ao meu lado enquanto eu estava bêbado. Meu cunhado montou em mim às escondidas e me penetrou com força sem camisinha.',
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=/`;
}
};
}