Hitomi Honda brincou com meu corpo com dedos diferentes dos do meu marido. Hitomi Honda パープルジャム","lastmod":"2026-07-11","duration":"","url":"/play/19206972.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODgxYTM2ODc0YmUzNDNlMGQ5ODA1MmVmNTMyMDc5YmYuanBn.cache","vod_id":19088015,"title":"【Versão AI Limaster】Por favor, discipline minha jovem esposa/escrava voluntária - Arai Airi.","lastmod":"2025-03-26","duration":"1:48:56","url":"/play/19088015.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZmE1NDk4NTNhMGFkZjhmOTA1ZTYzOWI4YjI2YWE2MjcuanBn.cache","vod_id":19105767,"title":"PIYO-173 Quero fazer aquela garota que vi na rua beber meu sêmen em segredo...","lastmod":"2025-03-26","duration":"2:20:48","url":"/play/19105767.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjBmNmViMTFlYTMzZDFiNmYwNjViZmMyN2RmN2M2MjYuanBn.cache","vod_id":19114299,"title":"Sisi - A Esposa Infiel Definitiva 1","lastmod":"2025-03-26","duration":"0:30:03","url":"/play/19114299.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZmExNzU2NDNhMzc2NGNmOGMwMzQ5MWFlMGJmNjBiYWMuanBn.cache","vod_id":19083339,"title":"O choque de ver o pênis do meu pai careca e lascivo sendo ativado pelo P foi demais para mim; nunca mais sentirei nada... As sementes da depravação uterina foram plantadas em uma nova rodada de Nakad-Nogi Aya...","lastmod":"2025-03-26","duration":"2:45:12","url":"/play/19083339.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDdkOTA3ODQ5OTFmNDM4YmI0ZDVjMDk2YzU3YzczZTUuanBn.cache","vod_id":19078544,"title":"MOON-033 Fiz amizade com uma garçonete em um resort de águas termais e tive um caso de amor lento e intenso com ela, forçando-a a ejacular dentro de mim repetidas vezes.","lastmod":"2025-03-26","duration":"2:25:04","url":"/play/19078544.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGIzYTkwMjEyNzk1NmY1MmU1ZTM2ZWNhMTE0OTBhYzcuanBn.cache","vod_id":19066556,"title":"Quando o marido dela não está em casa, ficar com essa esposa amadora supercarnívora e peituda faz com que meu pau não fique duro o dia todo.","lastmod":"2025-03-26","duration":"2:43:02","url":"/play/19066556.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvN2M2ZDcyMDA3Y2NjOThkNzI3OGJlNjZkNGUxYTA0NDIuanBn.cache","vod_id":19118717,"title":"O CLUB568 oferece uma massagem para revitalizar mulheres casadas, 25 vezes, e fotos espontâneas de ejaculações.","lastmod":"2025-03-26","duration":"3:33:07","url":"/play/19118717.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzhmY2Q0YTg1MWEwNDU4OTQ4ZDYzNjAyNzM0NDNhMTguanBn.cache","vod_id":19101941,"title":"Meu sogro conhecia todas as minhas zonas erógenas e me fez ter orgasmos por sete dias consecutivos enquanto meu marido estava fora...","lastmod":"2025-03-26","duration":"2:26:31","url":"/play/19101941.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjkwN2YyMGRhYWNhNjE2ODY3YTljM2RjNTQzNzNhNzAuanBn.cache","vod_id":19077098,"title":"ROE227 Depois que minha família foi embora, minha mãe e eu passamos nossos dias incestuosos na casa dos meus pais.","lastmod":"2025-03-26","duration":"1:59:47","url":"/play/19077098.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMTRhZTFiYmJmZjYyODcyMjI2MWYwYjNlY2IwMWIzNWYuanBn.cache","vod_id":19042663,"title":"Minha namorada, que está sempre em casa, topou participar da minha sessão de fotos!","lastmod":"2025-03-26","duration":"0:31:43","url":"/play/19042663.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDU4NThlNjQ5YzM5OGNiMTFhOTc0MzQ5ODZjMzIwYjYuanBn.cache","vod_id":19129056,"title":"Minha chefe ideal, Hamasaki Mao, MOND-237-C.","lastmod":"2025-03-28","duration":"2:10:15","url":"/play/19129056.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNGZlNmQxYzg3ODA3NGJkMWI1YTJiY2VmYjBlNmI4NDMuanBn.cache","vod_id":19026829,"title":"FINH-034 Caçada amadora na vida real: Uma esposa linda com habilidades sexuais incríveis e ejaculação interminável durante o sexo com um ator de filmes adultos, Vol. 6 Kasumi","lastmod":"2025-03-25","duration":"2:28:51","url":"/play/19026829.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTIzYmNkMmRhNWQ2N2IyODNhZTcxOTAxNWQzNzlhZTMuanBn.cache","vod_id":19034235,"title":"ROYD-102 Irmã de seios grandes e desavisada vive em apartamento apertado de um quarto - Ayase Kokoro","lastmod":"2025-03-26","duration":"1:50:28","url":"/play/19034235.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTQwZDhhZGVhYmFmYmU1YjIwNjQ5MzJkNjAwYTEwYjMuanBn.cache","vod_id":19116513,"title":"Liguei para a VOSS155, um serviço de acompanhantes de mulheres casadas, e quem apareceu? Minha linda ex-professora da turma!!","lastmod":"2025-03-26","duration":"1:38:29","url":"/play/19116513.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTQxODQ3OWE2OGI2MjQ0ZGZjNThiODQwZWY0ZGNiZmUuanBn.cache","vod_id":19080287,"title":"Yuuko, de 36 anos, é uma esposa esbelta que gosta da posição de mulher por cima. Ela recebeu um preservativo na casa de um estudante universitário comum, mas não se contentou com apenas uma noite de sexo com preservativo e acabou permitindo que ele ejaculasse dentro dela duas vezes durante sua estadia.","lastmod":"2025-03-26","duration":"2:11:46","url":"/play/19080287.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvN2QyOTFjMTQzMDdmYjcyZWJiZmNkMjA3YmE3YjBhZDUuanBn.cache","vod_id":19199670,"title":"Você não gosta de mulheres casadas? Ou gosta delas? Está ficando excitado? Uma jovem esposa sedutora, com seu corpo sexy, se delicia com o pênis tão esperado, se contorcendo em seu vibrador.","lastmod":"2026-05-18","duration":"2:58:12","url":"/play/19199670.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTUvZWVhNzU1YzRhNWY4Y2RjZGFiMWMwN2YyMDkwMWYzNzguanBn.cache","vod_id":19168927,"title":"Uma secretária casada, envolvida em relações sexuais no gabinete do presidente, em meio a suor e beijos — uma secretária lasciva e sexualmente excitante. Nanami Tina JUR-466","lastmod":"2025-12-20","duration":"2:01:56","url":"/play/19168927.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTRmYjc3ODc0N2IzOWU4YzI1MzUwZjU1ZjVjNTBjOTcuanBn.cache","vod_id":19111028,"title":"[Cuckolding] Esposa de Nanning se vinga do caso extraconjugal do marido com uma estrangeira; a esposa, sexualmente frustrada, prefere pênis estrangeiros grandes e grossos.","lastmod":"2025-03-26","duration":"0:21:08","url":"/play/19111028.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MjIvYjZhYzI5OTk4YjU0M2FiZjhlMjU0YzZjODg4NWE4ZjkuanBn.cache","vod_id":19140332,"title":"KTB094 ~Diário lésbico de travestismo meu e da minha namorada~ Depois de sujar minhas calças, minha chefe me emprestou a saia dela...","lastmod":"2025-06-22","duration":"2:15:36","url":"/play/19140332.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNWJjNmM0NzcxZGFjYTczOWM4ZTM5ZGRiZTdjY2Q3MWIuanBn.cache","vod_id":19188246,"title":"Secretária casada, suor e beijos tomam conta do escritório do presidente para sexo JUR-601","lastmod":"2026-03-23","duration":"2:20:01","url":"/play/19188246.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTRmMjNmMDNhZWZjZTY4ZjdmMmRhODk4NTczYmRkMzYuanBn.cache","vod_id":19101771,"title":"O estuprador que me estuprou durante meus tempos de estudante já cumpriu sua pena e me estuprou novamente dez anos depois de eu estar casada!","lastmod":"2025-03-26","duration":"2:29:29","url":"/play/19101771.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MDkvZGI4NWZjMjU2Njc4M2NlYmE4YzU1Y2RiN2E5MDViN2MuanBn.cache","vod_id":19153614,"title":"Uma jovem doce e adorável cuida de um homem mais velho, ajudando-o em sua vida sexual; sua rotina diária doce e lasciva. (Ito Haru MUDR304)","lastmod":"2025-09-08","duration":"2:16:51","url":"/play/19153614.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOTVhMjJkZDc4ZjIyZjNhN2RjNjBjNGRmY2RlMmRlMWIuanBn.cache","vod_id":19184003,"title":"O Documentário: Libertando os Instintos para o Sexo Supremo - A Jornada de Prazer Orgásmico de uma Dona de Casa de Rosto Delicado, Bonita, Esbelta e Linda BIJN-282","lastmod":"2026-03-03","duration":"1:57:06","url":"/play/19184003.html"}]},
videoTitle: 'A calcinha fio dental transparente e sem proteção da minha chefe casada me levou à loucura. (Natsu Nishida, ADN-417-C)',
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=/`;
}
};
}