Uma linda mordomo com um bundão é imediatamente fodida enquanto limpa seu cu desprotegido e enlouquece com o ânus exposto, sendo fodida repetidamente. Akari Tsumugi Madonna","lastmod":"2026-07-11","duration":"02:00:23","url":"/play/19161569.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODk3NDczYzgyZDBkZjJiNmJkMWRlMjVhMjFiNzNjZTkuanBn.cache","vod_id":18926763,"title":"Encontro apaixonado de um homem tatuado com uma mulher de lingerie em um hotel; sexo oral, carícias vaginais, segurando sua bunda, penetrando, gemidos e respiração ofegante — muito sedutor. Não perca!","lastmod":"2025-12-14","duration":"02:09:53","url":"/play/18926763.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDZkYzg3Y2FjNjQ1ZGZhM2EzZDQyYmQ1OWFmNjI1ZjAuanBn.cache","vod_id":18931719,"title":"PKPD-081 Vídeo Completamente Privado: A primeira vez que Minami Kou Risu, irmã de seios tamanho F, a consola.","lastmod":"2025-03-22","duration":"02:20:36","url":"/play/18931719.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZWY4NjdkMzY1N2Q5OTY3NDZlMThiYTBjMzhmNDdjZmUuanBn.cache","vod_id":18980217,"title":"[Sem censura] ALDN-093 Mãe e Filho Gozando: Primeiro gozo da mãe pelo filho Misa Kyono","lastmod":"2025-03-23","duration":"01:49:07","url":"/play/18980217.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNWRiOWFkZDcxOTgxNWQ3N2Q4NjdkNWQ5ODZiNDc1NWMuanBn.cache","vod_id":18988857,"title":"413INST-005 [♀Sessão Pessoal] Minori-chan, 22 anos, garota voluptuosa ★ Seios perfeitos e firmes! Ela perde a consciência enquanto é penetrada violentamente por uma grande quantidade de ejaculação [Vídeo Amador].","lastmod":"2025-12-14","duration":"01:04:45","url":"/play/18988857.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmE1MjMxZTFjN2IzNmMyZWQzNDZmOGJmNDQxMGQ2N2IuanBn.cache","vod_id":18968250,"title":"DOCP-076 Enquanto eu observava secretamente a voluptuosa mulher no quarto do outro lado da rua, ela percebeu meu olhar e começou a me seduzir, exibindo seus enormes seios...2","lastmod":"2025-03-23","duration":"04:05:18","url":"/play/18968250.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjc0N2Y3ZjIzZWE2OWQ1NjY5YjU1OGJiNWQ2MmEwYTcuanBn.cache","vod_id":18940121,"title":"CAWD-055 Charme Radiante! A bela Miru Yanai, com ejaculação precoce, quase desmaiou durante sua primeira relação sexual sem proteção!","lastmod":"2025-12-14","duration":"02:00:09","url":"/play/18940121.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMDQvZDM0N2U5NWMzMjI3MDA4Nzk2ZjMyMWQwM2Y1Mzk0NWYuanBn.cache","vod_id":19061133,"title":"Olha só minhas meias pretas, estou ficando excitado! Minha linda chefe me guiou delicadamente por suas meias pretas! Ator desconhecido SW_972","lastmod":"2025-11-03","duration":"03:36:10","url":"/play/19061133.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMmUyNjEyMWIwOGZkODBjMTQ0YzBiNjExNzEwOGFlYjguanBn.cache","vod_id":19143670,"title":"De férias com minha namorada. Fazendo sexo com ejaculação facial em seus seios fartos e firmes. Riho Shishido SQTE-635","lastmod":"2026-02-16","duration":"01:47:52","url":"/play/19143670.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTA1NjQ3YjY1OThiNTk2OGZlNjJiNjZiNTdlNTMxODIuanBn.cache","vod_id":18991793,"title":"200GANA-2116 Super gentil, primeira vez filmando. 1369 Uma linda garota que estava de mau humor por causa de uma festa fracassada foi abordada por mim em Kagurazaka! \"Contanto que você se divirta♪\" Brindamos com chuhai enlatado → demos uma volta de carro → andamos na roda-gigante e depois voltamos direto para o hotel! \"Você é tão legal comigo, não consigo recusar♪\" Eu a convenci e implorei, e finalmente consegui haha 1","lastmod":"2025-12-14","duration":"01:05:48","url":"/play/18991793.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMDYvNDUyZDg0YjI0OTYxNWQzMzIwODA4OGQwYWJiN2U5YTkuanBn.cache","vod_id":19056314,"title":"Close-up de uma esposa voluptuosa e de seios fartos em ato sexual. 4 Atriz desconhecida MMMB133","lastmod":"2025-10-05","duration":"04:04:39","url":"/play/19056314.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODYwYzk4MGIwZmQwNTViNmZlNDhkZjA5M2RiOTM2NjAuanBn.cache","vod_id":18988877,"title":"413INST-018 Perspectiva em primeira pessoa de um caso extraconjugal com uma universitária voluptuosa depois da aula: Quando abri sua vagina intocada, seus seios tremeram e ela teve um orgasmo selvagem! Alarguei delicadamente sua entrada jovem, \"É melhor do que com meu namorado!\" Inseri meu pênis em seu útero frouxo e ejaculei violentamente!","lastmod":"2025-12-14","duration":"01:02:29","url":"/play/18988877.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MDMvODc5ZDU2MTU0MmRkM2ZhNTUyYjUxYzdlODFhNGIxMGIuanBn.cache","vod_id":19031828,"title":"A partir deste momento, dedico o primeiro volume a vocês.","lastmod":"2025-05-03","duration":"18:42","url":"/play/19031828.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODliNmI5MjlmOGIzYjVkNzQ0ZjNhYmE3NGEzOTliYjcuanBn.cache","vod_id":18989000,"title":"[Torta de Frutas] Madrasta de seios fartos e irmã mais velha voluptuosa, o jovem fode todas elas! \"Para cima\".","lastmod":"2025-03-23","duration":"32:37","url":"/play/18989000.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMGVjNGIwYzJjM2U0MmNmYjJhMzQ3ZDJlZTc1ZDI3ZTQuanBn.cache","vod_id":18986198,"title":"VENU-988 Justo, voluptuoso, brilhante, sexy! Body incestuoso da mãe Reina Asami","lastmod":"2025-12-14","duration":"01:40:23","url":"/play/18986198.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2U4Y2UyNWFmYzAzOGEzNTA1Zjc0NjQzMjIzNWIyNmYuanBn.cache","vod_id":18972441,"title":"Uma gostosa que adora atividades ao ar livre teve uma sessão de sexo super excitante no carro com um cara. Ela se curvou, abriu as pernas e mostrou a buceta para o namorado. Ela fez sexo oral nele no carro enquanto ele apertava os seios dela e a fodia até gozar na boca dela.","lastmod":"2025-12-14","duration":"00:25:48","url":"/play/18972441.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTI4MmU5YTYxNjNmMmRkNTI1YzEzYjdlNTVjZjZiMDEuanBn.cache","vod_id":18941524,"title":"Bumbum de Bolha Saltitante - bwb_dee_williams_wh091917_720p_8000","lastmod":"2025-12-14","duration":"00:30:13","url":"/play/18941524.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDBlYWVmODJkZTc0MjdlMjZmMDMxMzY4ZDljNGIwYmYuanBn.cache","vod_id":18977808,"title":"MDVHJ-092 \"Sogro, por favor, me perdoe se fizer isso de novo...\" A esposa atingiu o orgasmo repetidas vezes com o pênis insaciável do sogro... Capítulo Seis: Sasaki Natsuna","lastmod":"2025-12-14","duration":"01:50:06","url":"/play/18977808.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMWJhYjIyY2FmMzAzM2UyZGMwMmNiMTNmMjdhNzIzZDQuanBn.cache","vod_id":18952184,"title":"DVDMS-903 Minha linda submissa engole cada gota de sêmen. Experimente a vida definitiva de beber sêmen com minha amante, algo que minha esposa e eu não podemos experimentar. 2 Suzuki Mayu","lastmod":"2025-12-14","duration":"02:42:59","url":"/play/18952184.html"}]},
videoTitle: '345SIMM370 [Bumbum Grande] J curvilínea● Superou seu complexo através de sua primeira experiência de banho em close-up [gordinha] (0002)......',
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=/`;
}
};
}