A trama gira em torno de uma lava-jato alta, bonita e elegante que, acidentalmente, arranha a pintura de um carro. Para compensar o dano, ela não tem escolha a não ser oferecer seu corpo como pagamento. (Diálogo em mandarim)
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/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/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvZTAyNWE0NDQwOGE5N2M5YjljMmNkYzA0MDQ2OWI3NjcuanBn.cache","vod_id":19164085,"title":"A moça ao meu lado é muito bonita e tem um corpo sexy, então tentei conquistá-la, e ela era ainda mais sexy do que eu imaginava…!! 4 horas Mud Stick Cat - Emaniel","lastmod":"2026-07-11","duration":"04:00:33","url":"/play/19164085.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYTdmNDdhNmVkMThhZTRiNzRhYWMxNjUyYjIyYzJlYzMuanBn.cache","vod_id":19145725,"title":"Uma empregada doméstica de pernas longas e seios tamanho I, forçada a servir seu patrão baixo em uma postura humilhante com as pernas abertas e em posição baixa (MIAB-586)","lastmod":"2026-02-28","duration":"02:26:04","url":"/play/19145725.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzg2MmFkNjY0MDg5MWU1MmUxNTY4MWJkYTA5MTQ3Y2IuanBn.cache","vod_id":18934860,"title":"HSAM-004 Desafio do Jogo de Coleta de Sêmen! Três competidoras amadoras (Misuzu, Setsuna e Miria) estimulam seus pênis em busca do prêmio em dinheiro!","lastmod":"2025-12-14","duration":"01:26:18","url":"/play/18934860.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvODJmM2RiMmNjZjNjODUyNmYxMzRkZTE0YjNhYWU1ZmUuanBn.cache","vod_id":19158210,"title":"Teamskeet - Seu enteado queratinoso fez com que sua madrasta, Vanessa Cage, se sentisse melhor com seu corpo. [Team Skeet]","lastmod":"2026-05-15","duration":"37:41","url":"/play/19158210.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTE1ZDdkZTlkYzAxZGE4OThjNjNhN2FmNWQ3MWU5MjEuanBn.cache","vod_id":18968608,"title":"EBOD-776 Embora os seios da minha irmãzinha rebelde já estivessem completamente desenvolvidos, durante os três dias em que nossos pais estiveram fora, só nós duas, ela foi repetidamente preenchida com sêmen pelo seu odiado irmão. Ibuki Kanon","lastmod":"2025-12-14","duration":"01:58:20","url":"/play/18968608.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTgyMjg0ZmZiODc4MmVkNjRiNjU1NmRiN2UxOTJmOTEuanBn.cache","vod_id":19012576,"title":"SIRO4064 [Primeira Vez] [Beleza com Rosto de Bebê] [Chega...] Uma garota-propaganda de uma loja de ramen que parece muito jovem. Se você enfiasse seu pauzão nesse corpo delicado... Inscreva-se para AV online → AV Experience Shot 1194 (Incesto)","lastmod":"2025-03-24","duration":"01:03:20","url":"/play/19012576.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MTIvZTVlZWJjMGI2MjJlMGY3NGI1M2I4YjM0NWI2NmJlY2EuanBn.cache","vod_id":19033230,"title":"Yao Yao, uma linda modelo de Pequim, e seu belo namorado italiano.","lastmod":"2025-05-12","duration":"13:34","url":"/play/19033230.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTUvMzliMzA5NmRlZjllM2ZmM2E0ODFhZWEzNGExNTY5ODcuanBn.cache","vod_id":19134452,"title":"Eles invadiram o local e sufocaram a linda garota vestida com o uniforme branco de marinheiro.","lastmod":"2025-12-20","duration":"31:09","url":"/play/19134452.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTRjNzUxOTY0OTM0OWZkNzlhYzczYjc0M2UzODJiODUuanBn.cache","vod_id":18961295,"title":"Eu, a Dama Perfeita 1","lastmod":"2025-03-22","duration":"00:18:59","url":"/play/18961295.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZjJhOGI4Yjc3ODdhMzJiMTAwNzk4NTBhNjY3Y2Q5M2UuanBn.cache","vod_id":19136204,"title":"Para estrear...para alcançar vendas...uma idol que obedece é estuprada e estuprada em grupo. (IPZZ-196)","lastmod":"2026-01-01","duration":"01:54:18","url":"/play/19136204.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDMwODMxYTgyYzAwNGUzYjU0NjU5ZGE1NzA0MmUwMTUuanBn.cache","vod_id":18941312,"title":"Um homem tatuado encontrou-se com um internauta em sua casa e fez sexo com sua esposa, uma mulher sexy, madura e atraente. O internauta era tão habilidoso que fez a esposa tremer por inteiro, mas não ejaculou. Com medo de machucá-la, ele acabou fazendo sexo com ela!","lastmod":"2025-03-22","duration":"00:32:30","url":"/play/18941312.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/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/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNzBhMjMxYzY4YjliNmQ4YjZhYmZhMWY1MTkyNmU2ZDkuanBn.cache","vod_id":19138421,"title":"Ouro Subterrâneo [POV Bruto] [Belezas com estilo requintado, garotas voluptuosas e transparentes] URKN-004","lastmod":"2026-01-15","duration":"03:49:27","url":"/play/19138421.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MjkvOGQ5MjFiYjUxZmMwMjg3ZDNkNTBkOWExM2Q5MDE2MzQuanBn.cache","vod_id":19035719,"title":"O diálogo obsceno do dragão venenoso.","lastmod":"2025-05-29","duration":"17:57","url":"/play/19035719.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/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/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTc5MGRkODQ5NWRmZDZmMWIxODExNDlhMTdiZGFlYjEuanBn.cache","vod_id":19000498,"title":"RCTD-289 Macaco Corporal ~Sala de Aula de Possessão~","lastmod":"2025-03-23","duration":"02:36:42","url":"/play/19000498.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MjgvODc0MTQ4YTUzMzA4NTZlMjlhMjJhYzY3MWM4OTRhZWIuanBn.cache","vod_id":19040487,"title":"MBMP104 Me apaixonei por você, a melhor. Uma estrangeira que faz você querer olhar duas vezes. Uma loira linda com a melhor memória.","lastmod":"2025-06-27","duration":"03:58:17","url":"/play/19040487.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDI3NmZmNjYyOTUyYmVjNTM1NDg2OWNkZGJkMDEzZjguanBn.cache","vod_id":18946219,"title":"[Legendas em chinês] MDTM-566 A matrícula de uma beldade de nível galáctico é ótima, mas ela tem uma missão secreta","lastmod":"2025-12-14","duration":"01:59:36","url":"/play/18946219.html"}]},
videoTitle: 'A trama gira em torno de uma lava-jato alta, bonita e elegante que, acidentalmente, arranha a pintura de um carro. Para compensar o dano, ela não tem escolha a não ser oferecer seu corpo como pagamento. (Diálogo em mandarim)',
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=/`;
}
};
}