Mais íntima que parceiras sexuais, mas não como amantes. Uma vez nua, ela se transforma em um monstro sexualmente voraz. Uma mulher com seios fartos, mas com uma grande fenda nos quadris. SQDE-028
Boa garota, quero ir para casa e dormir. Não faça alarde, eu não quero, vou ejacular. Depressa, apague as luzes, querida. Você é tão forte. Você é magra e um pouco tímida. Você nem tirou a roupa antes do cara te dar uma boa surra.Boa garota, quero ir para casa e dormir. Não faça alarde, eu não quero, vou ejacular. Depressa, apague as luzes, querida. Você é tão forte.","lastmod":"2026-07-11","duration":"54:20","url":"/play/19154741.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjkvYWQ3MjU0ZTA2Yjk4OGI4N2I5OGUzZGM5MTI5MjFhOGEuanBn.cache","vod_id":19152232,"title":"Um remake em live-action conta a história de uma garota introvertida que ganha permissão para usar seus genitais; a fanfic vendeu mais de 250.000 cópias! É muito popular entre Aoi Ibuki e MOODYZ.","lastmod":"2026-06-28","duration":"02:00:28","url":"/play/19152232.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvM2U2ODliN2FlZDA0NTM3MTk2NTA4NjJkMDc1M2FiYjEuanBn.cache","vod_id":19107299,"title":"Câmera escondida filmando uma garota sendo paquerada. O subordinado da minha jovem e bonita esposa perdeu o último ônibus voltando de uma festa, me deixando sozinho em nosso pequeno apartamento. Ator desconhecido EYS-117","lastmod":"2025-12-13","duration":"03:58:57","url":"/play/19107299.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTQwYTRmZTNiZjZhZDRmZTNmMzY2YTY5YzVmMDZhMTEuanBn.cache","vod_id":19029463,"title":"Orgasmos vaginais e nos mamilos são intermináveis. Uma universitária que anseia por ser manipulada de forma selvagem. Sêmen espesso.","lastmod":"2025-03-29","duration":"04:01:24","url":"/play/19029463.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTQvNWFlMDMxZmZiYThmM2IyYTAyYWNkNjY5NDY5ZjQzZGYuanBn.cache","vod_id":19155279,"title":"Perdi o último ônibus, cheguei à casa de uma mulher que também estava lá, e me deixei levar pelo encanto de suas roupas íntimas claras e seus seios, sexo sem proteção, OPPAI","lastmod":"2026-07-13","duration":"02:03:19","url":"/play/19155279.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNWZmNDk2OWQzOTQ0YzhlOTg3ZjhkY2VjMzBmOTBiMGIuanBn.cache","vod_id":19032211,"title":"Despertar Sombrio: Um verdadeiro choque negro. Desafie os limites da sua vagina para lutar contra um pênis gigantesco!","lastmod":"2025-03-29","duration":"02:23:30","url":"/play/19032211.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZWQ2MDY5ZGZiODlhZmM3NDdhNTM2ZWZhZTY4Mzg0NGQuanBn.cache","vod_id":19047053,"title":"NASK-110: A melhor elasticidade e textura! 12 mulheres maduras com curvas generosas.","lastmod":"2025-03-29","duration":"04:01:01","url":"/play/19047053.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvN2YyOWVjNjlmY2RmOTQ5MGZlNTExZmQzYThkNWMwOGEuanBn.cache","vod_id":19038893,"title":"A monstra do sexo \"Mochizuki Ayaka\" ensina a atriz novata \"Hamina Alice\" em cada passo do caminho! O prazer lésbico sem fim as enlouquece juntas! Mochizuki Ayaka, Hana ni Arisu.","lastmod":"2025-03-29","duration":"02:50:42","url":"/play/19038893.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTdlY2Y4ZTQ1NDJlMTVlNzM1MzIwZDI3Y2UzMTEzNTguanBn.cache","vod_id":19048210,"title":"ROE211 Fui seduzido pelo corpo radiante da minha madrasta, que aspirava a ser modelo de lingerie... Fiquei dominado pelos seus instintos durante uma semana.","lastmod":"2025-03-29","duration":"02:07:06","url":"/play/19048210.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvM2M0MzZhYmNlNjBkZjhjZTlhM2VkODM3ZjY5Mzk5MjQuanBn.cache","vod_id":18984435,"title":"Salpique uma mulher madura","lastmod":"2025-03-28","duration":"58:51","url":"/play/18984435.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGI5ZGViMGMzMjI3MGRjYWFhY2ZkNDhmYzA1YjhjMTguanBn.cache","vod_id":18980290,"title":"Vou te emprestar uma moça bonita e arrumada, vestida com uniforme.","lastmod":"2025-03-28","duration":"01:00:50","url":"/play/18980290.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MDcvMGYzNzYzNzFjYmNjY2ExOTQ1NWYzYzMyM2JkZjg4NGYuanBn.cache","vod_id":19093971,"title":"A mesma velha vagina e seios fartos, os sons do orgasmo mantiveram minha vizinha, que não conseguiu dormir a noite toda, minha rival sexual. Okuda Saki SONE522","lastmod":"2025-09-06","duration":"01:58:37","url":"/play/19093971.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMjkxNmYwNGMxNzJhN2Q4OWVhODMwODE1OWExZjg5ZDkuanBn.cache","vod_id":19134750,"title":"Uma beleza voluptuosa! Uma mulher alta, forte e casada, com um busto impressionante de tamanho J, com uma figura comparável à de uma nadadora. PAIS-081","lastmod":"2026-04-03","duration":"01:51:23","url":"/play/19134750.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOTQzOGVlN2U5ZDkyY2YzMzEwYTk1NDU3Yjc4NDlkZWIuanBn.cache","vod_id":19136225,"title":"Minha esposa voluptuosa foi treinada para engravidar por uma das minhas bonecas de estimação... e em apenas três dias ela se tornou uma poção de sêmen de porca. (Takarazuka Mei)","lastmod":"2026-04-11","duration":"02:44:03","url":"/play/19136225.html"}]},
videoTitle: 'Mais íntima que parceiras sexuais, mas não como amantes. Uma vez nua, ela se transforma em um monstro sexualmente voraz. Uma mulher com seios fartos, mas com uma grande fenda nos quadris. SQDE-028',
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=/`;
}
};
}