Keinginan Guru Kesehatan Hibiki untuk Hubungan Seksual Pria yang Tak Tertandingi Ōtsuki Hibiki Massulum - Suku Delusi","lastmod":"2026-07-11","duration":"","url":"/play/19206918.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZWFlODYzOWEyYWU4ZmM4OGI0YzFkMmNkNzA2ZGRmYmMuanBn.cache","vod_id":19117334,"title":"MIUM388 Mesum seperti permata!!! Pengalaman pertamaku adalah di kelas lima!!! Dia benci celana dalam dan tidak pernah memakainya!!! Dia masturbasi setiap kali punya waktu luang!!! Masalahnya, pengalamannya sejauh ini cukup mengerikan (sangat mengejutkan)!!! Dan... tidak pernah berakhir!!! Gadis ini benar-benar memiliki daftar cerita seksi yang tak ada habisnya!!! Pastikan untuk melihat konten merah muda asli ini dari awal hingga akhir! Lihat cerita utamanya...!!! Hingga pagi ini, 39 kunjungan ke bar di sekitar Stasiun Shin-Okubo.","lastmod":"2025-03-26","duration":"1:48:04","url":"/play/19117334.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjlmOWJhNDAzZjA3MGZkODlhNjdhNjNjMzM5YTYyZjguanBn.cache","vod_id":19049161,"title":"259LUXU-1256 TV Mewah 1234 Seorang wanita cantik yang sudah menikah, menikmati pernikahan bahagia selama 5 tahun, tidak lagi dapat menekan hasrat birahi yang membuncah di dalam dirinya dan memutuskan untuk membintangi film AV! Perintahnya adalah \"intens...\" dan dia mencapai orgasme selama adegan seks yang intens, sampai-sampai jendela pun berembun!","lastmod":"2025-03-26","duration":"1:03:49","url":"/play/19049161.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMTI4ZTE0ZGY1NzI2N2Q1ZGU4OTViN2FlMzgyOTlmMzUuanBn.cache","vod_id":19180007,"title":"Seorang wanita muda dan cantik dengan payudara besar dan pacarnya diam-diam tinggal bersama tanpa sepengetahuan orang tua mereka, dan video seks mereka bocor ke internet.","lastmod":"2026-02-12","duration":"0:12:00","url":"/play/19180007.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjQvNmU5YzgwMjg2MzZiY2IwZDE2ZWU5ZTYwYTYxMmJlM2YuanBn.cache","vod_id":19204846,"title":"Koleksi langka dan eksklusif foto-foto eksplisit dari tahun 1990-an, yang menampilkan kehidupan kaum elit kaya raya. Benar-benar klasik.","lastmod":"2026-06-23","duration":"0:19:30","url":"/play/19204846.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjlkMDg0NTM5MDFkYzVjMDljMDE0MGY3NjRlYjMxMGUuanBn.cache","vod_id":19061520,"title":"[Resolusi Tinggi, Tanpa Sensor] Gadis misterius yang memiliki hubungan intim dengan pria penggemar mobil!! Kami akan merilis video rahasia saat dia melakukan seks oral di sebuah hotel.","lastmod":"2025-03-26","duration":"0:23:34","url":"/play/19061520.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZGQxYzZiM2Q4YWIwNmM1NjIwOGU5NGVhMmQ5ZmI0YWUuanBn.cache","vod_id":19117585,"title":"LUXU1125 TV Mewah 1124 Wanita cantik itu muncul kembali. Tubuhnya lebih sensitif karena minyak, payudaranya bergetar, dan dia berulang kali bercinta untuk mencari kenikmatan lebih lanjut saat penis besar menusuk rahimnya. Anda harus menontonnya!","lastmod":"2025-03-26","duration":"1:08:13","url":"/play/19117585.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMWNiZjVlM2Y2Y2JiOGJlYTdmNzZiNzM5NjU3NjI1OTcuanBn.cache","vod_id":19071019,"title":"OKK009 Basah, berkilauan, dan pas badan, pakaian renang atletik suci Miyazawa Chiharu. Nikmati sosok gadis Lolita imut ini dalam pakaian renang atletiknya! AV ini dimulai dengan adegan rahasia gadis itu berganti pakaian, termasuk close-up payudara kecil hingga besar, alat kelamin yang dicukur, alat kelamin berbulu, ketiak berbulu, dan adegan fetish lainnya, permainan sabun lotion, seks berkelompok sambil mengenakan pakaian renang atletik dan ejakulasi primal, semuanya sambil mengenakan pakaian lengkap.","lastmod":"2025-03-26","duration":"1:33:23","url":"/play/19071019.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMTY5M2RiOTMxN2YxYWZhZTdhOTcxNWVhZTEzMTgzYjguanBn.cache","vod_id":19117665,"title":"MEYD512 Beauty Pictorial: Sebulan Pantang Seks, Pertemuan Seksual yang Dipicu Alam Liar - Edisi Spesial - Pensiunnya Honda Misaki.","lastmod":"2025-03-26","duration":"3:51:40","url":"/play/19117665.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MTkvMzIwMDE2MTY1MWNmMDIwM2Q2ZTQwYjE3NTE5NzAzYjYuanBn.cache","vod_id":19204287,"title":"C-2872 Perjalanan Sehari ke Pemandian Air Panas, Perjalanan Mesum #042 Gogos","lastmod":"2026-06-18","duration":"1:59:53","url":"/play/19204287.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjIvYWNmMTIzOWYwY2FjOTIyNjgxMGVjYTFjMzcwMjcxNGMuanBn.cache","vod_id":19155735,"title":"Seorang wanita yang sangat cantik dengan payudara besar dan karisma luar biasa jarang terlihat melakukan sesi penetrasi ganda. Dia terlihat meremas payudaranya melalui pakaiannya dengan ekspresi yang sangat cabul, mengisap penis dan menjilat testis sambil menopang punggung bawahnya untuk penetrasi dari belakang.","lastmod":"2025-09-21","duration":"1:08:20","url":"/play/19155735.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDMyOWI0NDNiZWI3ODE5NjQyOTBkYTYxMmI5MWU0YjMuanBn.cache","vod_id":19031576,"title":"Madou Media - LAX - 0059 Gadis Kampus","lastmod":"2025-03-26","duration":"0:33:09","url":"/play/19031576.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDViMjdhZDFmOWE4ODRiMTFmYWZiM2QwMjk0MDZhZDMuanBn.cache","vod_id":19078199,"title":"NAMH-012: 12 foto wanita cantik berpayudara besar dan vagina yang berdenyut - ejakulasi pertamanya di depan kamera.","lastmod":"2025-03-26","duration":"2:06:30","url":"/play/19078199.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYWVjNTkwOWU1OWEzNzVjNTJmNDFkN2VjYmYwNDI2NjMuanBn.cache","vod_id":19197002,"title":"Untuk ejakulasi mentah \"Kurum Sakura\" yang telah lama ditunggu-tunggu!! Seks lesbian dengan pria dan wanita dengan penis besar dilarang. Sakura berlama-lama. Kurumi Sakura, Tachibana Iroha, Teman Selebriti","lastmod":"2026-05-05","duration":"1:59:39","url":"/play/19197002.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MjIvNTIyOWMwYjg5MzJlNmJhMGQ5YjI2Y2UwOWY1ODRmZGYuanBn.cache","vod_id":19145191,"title":"MGT216 Jemput di Sudut Jalan! vol.118 Jemput di Pantai 2022","lastmod":"2025-07-21","duration":"4:04:46","url":"/play/19145191.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MjIvMDc3MThmYjkxYzlkMDQ3M2M5Y2Q3YTA5MWJjZDVjOTQuanBn.cache","vod_id":19140227,"title":"KTRA718 berhubungan seks dengan wanita-wanita cantik bertubuh seksi yang menyukai payudara besar selama 24 jam nonstop.","lastmod":"2025-06-22","duration":"4:05:07","url":"/play/19140227.html"}]},
videoTitle: 'Perjalanan seorang pria tua yang mengagumi seorang gadis; Hall of Fame; Sangat cantik; Seks berbahaya 08 HONB-461',
language: 'id',
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('Tautan berhasil disalin!');
}).catch(() => {
// 降级到旧方法
document.execCommand('copy');
alert('Tautan berhasil disalin!');
});
} else {
// 降级到旧方法
document.execCommand('copy');
alert('Tautan berhasil disalin!');
}
}
},
// 切换布局
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=/`;
}
};
}