Midnight Health Room EP19 Mulheres aos 30 anos são como lobos e tigres, a capacidade sexual dos homens diminui após a meia-idade. Psicólogo analisa as grandes diferenças nas atitudes sexuais de homens e mulheres.","lastmod":"2026-07-11","duration":"16:20","url":"/play/19163976.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMWIxMjM2MTIyNTU5YzdhNzAwNjRiY2RiY2FkYTFmN2UuanBn.cache","vod_id":18946365,"title":"SNIS-071 A Escola do Diabo Onde Vive a Estudante Violentada - Miho Sakaguchi","lastmod":"2025-03-22","duration":"02:29:05","url":"/play/18946365.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmYyYzY5MmRiZmI2MDM4NGIxMjMwYmEwNTI3M2VlMDUuanBn.cache","vod_id":18957439,"title":"NACX-072 14 A garota com o corpo delicado e contorcido, vol. 03 2021-02-01 Apresentando: Claire Hasumi, Suzu Mitake, Rin Asuka, Hana Shirasaki, Yui Tano, Waka Ninomiya, Miho Michino, Hibiki Otsuki, Misuzu Kawana, Rin Yukino, Yuna Ishikawa, Yu Shinoda, Yuka Takashima, AIKA 14º lugar Girls, Yu, Outros - 077","lastmod":"2025-12-14","duration":"04:02:31","url":"/play/18957439.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOGNjM2NhMzE1MmZiZTg0YjVkODQxMTM3MDk0ZjFkNjAuanBn.cache","vod_id":18990254,"title":"HYPN-020 Controle Forçado de uma Estudante Universitária com Medo de Homens! Hipnose Obscena - Sakurai Miyuki","lastmod":"2025-12-14","duration":"01:02:24","url":"/play/18990254.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOGI3YTViZTlkMTBhYjFkNDM2MmI4ZjMxNzA5ZjU4YmUuanBn.cache","vod_id":19006052,"title":"[Legendas em chinês] IPX-745 No último trem, a mulher bêbada sentada à minha frente começou a se masturbar de repente!? Quando estávamos sozinhos no trem, fiquei com uma ereção e a garota começou a me assediar.","lastmod":"2025-03-24","duration":"01:53:38","url":"/play/19006052.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDg4ODgxZTc4ZWRkYzdjZWQ5MDllMmNlZjYxOWZiMmMuanBn.cache","vod_id":18990615,"title":"MISM-159 A aluna modelo acabará se tornando masoquista. Registros de treinamento de uma colegial uniformizada. Hiiragi Rui.","lastmod":"2025-12-14","duration":"02:08:01","url":"/play/18990615.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDVlOThlNTVhMzhhMjdhNjZlYTA0N2VmNGY0ZDJmOTEuanBn.cache","vod_id":19013400,"title":"CAWD051 Ela se parece com aquela apresentadora! A universitária Kato Iori, que se tornou um assunto comentado durante um concurso de beleza, faz sua estreia no cinema adulto.","lastmod":"2025-03-24","duration":"02:30:28","url":"/play/19013400.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjVlMjBkMjlmZWUxYjhkNTMxYzU4MDE2NzM2NzYxNDEuanBn.cache","vod_id":18924656,"title":"10mu 040310_01 Mochizuki Natsuko Uma estudante séria de óculos teve o rosto coberto de sêmen!","lastmod":"2025-12-14","duration":"00:53:38","url":"/play/18924656.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMDMvOGQ2MTVmY2MwZTg5MGZlNWQ3ZGFmMDY5YjUwOGQ1Y2MuanBn.cache","vod_id":19055881,"title":"IA - Liu Yifei - Professora que não usa roupa íntima recompensa alunos","lastmod":"2025-10-02","duration":"29:07","url":"/play/19055881.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYzIzYmNmODQxNjVlNzI3MTBkNzEwMjIxOTNlYmVmMDEuanBn.cache","vod_id":19161092,"title":"Até minha sogra acha que estou grávida. (Yamaze Miki, Takara Eizou)","lastmod":"2026-06-01","duration":"02:15:11","url":"/play/19161092.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2Q4Yzc4NmU2ZTBjZjgxZmQ4ZmVjYmU5MjdhNTQwMDAuanBn.cache","vod_id":18989049,"title":"326EVA-078 Quanto mais tímida e inocente uma garota é, mais pervertida e lasciva ela se torna! A linda morena que conheci no mar estava inicialmente relutante em se expor diante da câmera, mas quando tirei meu pênis para fora, ela ficou muito excitada, haha. Não consegui resistir ao prazer de tê-la me envolvendo com força durante cada orgasmo e, finalmente, terminei essa experiência com uma ejaculação perigosa!","lastmod":"2025-12-14","duration":"01:04:16","url":"/play/18989049.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYjU1MGZmMDM4OTliNThiN2U4MzlkOTJiM2FhYmE0MWEuanBn.cache","vod_id":19141661,"title":"Sou pobre, não tenho namorada, tudo o que tenho é um forte desejo sexual e um apartamento barato. Não posso pagar bordéis e não sou bom em interagir com garotas jovens... então HAWA-367","lastmod":"2026-02-05","duration":"02:12:22","url":"/play/19141661.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MjgvMzlkYzAxOTIzYTg1YmE2MjAzOTM3ZGZkMTc3ZjgzOTQuanBn.cache","vod_id":19031013,"title":"Estou prestes a me casar e ainda sou virgem. Fui seduzida por um aluno e tive relações sexuais sem proteção com a monitora de classe voluptuosa, Fukada Yuri, depois da aula. (Asada Yuri EBOD-753-C)","lastmod":"2025-04-28","duration":"02:24:01","url":"/play/19031013.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzI1MjlhZGFkYjViMjAyNzhjYmM3MTBiMmJmM2YzNWIuanBn.cache","vod_id":19016417,"title":"SIRO3872 [Primeira Cena] Aplicativo AV Online → Cena de Experiência AV 1001 Nádegas super macias e lindas se contraindo e espasmando enquanto são acariciadas!! A vagina molhada de uma garota sensível é penetrada por um pênis grande, e ela geme.","lastmod":"2025-03-24","duration":"01:07:33","url":"/play/19016417.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNTg1OWJjZGJjM2E5OGE1ZmU5ZGY2MGRmZThmZjRmOWMuanBn.cache","vod_id":19135424,"title":"Estilo totalmente cru e selvagem @ Goba. Uma universitária que eu poderia pegar em Shinjuku imediatamente; corpo esguio, boa atitude. (KNAM-076)","lastmod":"2025-12-26","duration":"02:19:24","url":"/play/19135424.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjFmNDg0NjdkZTFlOTlkOWE1ZjA2YjYwYzk4OTg1NjEuanBn.cache","vod_id":18960321,"title":"BBAN-390 Conheci uma garota nas redes sociais com uma conta secreta que gostava de mães. Drogava-a e a vendi para outra pessoa. Fizemos sexo de graça. Uma série de orgasmos lésbicos, embriagadas de prazer até o amanhecer.","lastmod":"2025-12-14","duration":"02:03:09","url":"/play/18960321.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTYxY2U0NjlkMzA2N2E1NWU0YzQxNGJjNTVkMmQ3MzUuanBn.cache","vod_id":18954341,"title":"PRED-117 Ex-repórter local e atual estudante universitária faz sua estreia no cinema adulto! Yuki Ito","lastmod":"2025-12-14","duration":"01:58:39","url":"/play/18954341.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTEvNjc3YTViZjUyYWM0MGFmYTMxZmUyMTk4MTM1MTE4YjIuanBn.cache","vod_id":19168187,"title":"Uma garota de boate com libido descontrolada está obcecada pelo meu pau! Orgia em um harém de campo de treinamento com garotas atléticas - 4 horas do melhor Hunter.","lastmod":"2026-07-14","duration":"04:03:14","url":"/play/19168187.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MjUvNTMzNTBkMmMzZWUwYTExNzVkYzU0N2RiZWVjODEzMzguanBn.cache","vod_id":19039455,"title":"Uma streamer coreana se encontra com uma modelo de hotel para fazer sexo.","lastmod":"2025-06-24","duration":"23:57","url":"/play/19039455.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzdkMTU0YjVjNTMwYzY5NDk3MzBmOTBmYTIxZDE1ZGEuanBn.cache","vod_id":19000039,"title":"Uma jovem bonita foi levada ao banheiro masculino e abusada.","lastmod":"2025-03-23","duration":"34:52","url":"/play/19000039.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjMvMzNkOTllODc2NGQ0ZmZiOGIxODAyY2UzZWJlZDljOWEuanBn.cache","vod_id":19059281,"title":"Hiyori Nosaka usa sua língua para entrelaçar e beijar a língua de um homem de meia-idade coberta de saliva. (Nosaka Hiyori, SONE377)","lastmod":"2025-10-22","duration":"02:51:18","url":"/play/19059281.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZTlmYWM1MmY1ZDA1YTM1YzEzMDc1NTc2MWVmNTZkNjAuanBn.cache","vod_id":19146070,"title":"Mesmo flutuando no ar, não vou soltar! Adoro os movimentos de pistão que vão te engravidar. Uma mãe solteira que foi alvo do amigo do filho e experimentou múltiplos orgasmos simultâneos. NHDTC-068","lastmod":"2026-03-02","duration":"02:09:52","url":"/play/19146070.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMWY1ZDczZmFkZjJlMjI5Zjg1MGQ1ZDM4ZGNmZjYzZDIuanBn.cache","vod_id":18939424,"title":"REAL-705 Estudante do sexo feminino engravida, é estuprada e ejaculada dentro dela 20 vezes consecutivas - Aoi Reina","lastmod":"2025-12-14","duration":"02:00:07","url":"/play/18939424.html"}]},
videoTitle: 'AMBS-057 Homem de meia-idade e estudante morena - 6 meninas engravidadas por sêmen',
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=/`;
}
};
}