Fujimori Riho, seorang pekerja seks komersial, diperkosa secara brutal oleh seniornya dan payudaranya yang besar dilecehkan hingga ia kehilangan kendali atas kandung kemihnya.","lastmod":"2026-07-11","duration":"","url":"/play/19244727.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNWJlNGY4ZDc4ZTU1ZGMxOWVjMWQzYmM5N2Y5ODQ0YjUuanBn.cache","vod_id":19100535,"title":"[Subtitle Bahasa Mandarin] STARS-874 [Musim panas adalah tentang pakaian renang! Pesta Bikini SODstar] Bintang-bintang terbaik dalam penampilan paling memikat mereka, alasan mereka untuk menahan diri sirna setelah masa pantang berakhir, cairan tubuh mereka...","lastmod":"2025-03-29","duration":"02:19:50","url":"/play/19100535.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGUzNjBhMzQ3OTY4N2JlZGY0ZWY1ZTBlMDVjOTg2YmMuanBn.cache","vod_id":19098031,"title":"[Tanpa Sensor] MADM-165 Pengalaman pertamaku adalah dengan istriku yang berpayudara besar di sebelah rumah... Keperawananku direbut oleh payudara tetanggaku, dan sebelum aku menyadarinya, aku telah menjadi seorang sadis.","lastmod":"2025-03-29","duration":"02:17:55","url":"/play/19098031.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzdmY2QzZGFlNjhiYWE5YjA4MGM5NzdlY2RiNjMwYmQuanBn.cache","vod_id":19149462,"title":"JUL-969 Perjalanan ke pemandian air panas bersama keluarga. Tergoda oleh saudara tiri perempuan saya selama masa apatis seksualnya. Masih perawan sampai ejakulasi pagi. Nao Jinguji.","lastmod":"2025-03-29","duration":"02:00:07","url":"/play/19149462.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTEvNGJmYzk5NmEwOWYxODA0YmMyMDhhYjUyMDk5Mzg0MGMuanBn.cache","vod_id":19247428,"title":"Payudara Ruru yang besar dan areola yang lebar sangatlah langka! Ini pertama kalinya dia dipenjara, dilatih, dan kemaluannya dipenuhi sperma.","lastmod":"2026-07-20","duration":"","url":"/play/19247428.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmYyZGEwMjgzNzY3ZjcyYjYwNTI4MzQyZWJjMDAxYjQuanBn.cache","vod_id":19035630,"title":"MIDD-879 Jcup Payudara Super Besar Pelatih Hitomi","lastmod":"2025-03-28","duration":"02:00:01","url":"/play/19035630.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYzc0OGM4Y2FlOTJiMzhhM2UxZjA5OWI2YzEzODI5MWEuanBn.cache","vod_id":19227807,"title":"Seorang wanita yang sangat cantik dengan payudara besar dan bokong montok, mengenakan stoking hitam, diperkosa secara brutal di dalam sebuah truk menggunakan alat bantu masturbasi. Teman prianya, seorang cabul, tanpa henti menggaulinya hingga kakinya lemas.","lastmod":"2026-04-09","duration":"0:57:39","url":"/play/19227807.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjQvODRlY2FmM2E1NWU4MjQ0YjExZWMwNzYwYTM3YzEwZjAuanBn.cache","vod_id":19195659,"title":"[Lee Ji-eun] Lupa mengunci pintu kamar mandi! Diintip oleh tetangganya, dia basah kuyup dan masturbasi dengan cara yang menggoda, payudaranya yang besar bergoyang-goyang~","lastmod":"2025-09-23","duration":"29:58","url":"/play/19195659.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYzYxNGZkZjk4MmZmMjI5YjcyNTNjOGJhMzFmY2NmZGIuanBn.cache","vod_id":19232743,"title":"Idola Berpayudara Besar Kelas Atas Sang Idolmaster Digauli dan Diejakulasi Secara Gila-gilaan dalam Versi 4K Full HD","lastmod":"2026-05-03","duration":"0:04:55","url":"/play/19232743.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNzRjOTlhMTQ4ZWVmYmQxZjUxYzA5MTJkNDVmYTA0MDEuanBn.cache","vod_id":19228887,"title":"MMD - Succubus: Seorang succubus peri bertubuh seksi diperkosa secara brutal oleh penis besar dan mengeluarkan sperma di dalam dirinya hingga mencapai klimaks.","lastmod":"2026-04-13","duration":"0:08:12","url":"/play/19228887.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvZmIwNDc1ZTcwMTBjNWJjZmFiZjQ4Y2NlOWExZDVkNGIuanBn.cache","vod_id":19234495,"title":"Erika Ozaki, seorang ibu rumah tangga bertubuh seksi, bergoyang dan menyerah pada rayuan pacarnya di dalam sebuah kandang pelatihan.","lastmod":"2026-05-16","duration":"1:50:03","url":"/play/19234495.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjY2Y2FkNjdhZjllYjFhNTNiOTc5ZDViMGY0NDhlZjAuanBn.cache","vod_id":19055781,"title":"[Paviliun Cina] Mengenakan seragam seksi, dia bermain game sambil menunggu pacarnya. Pacarnya langsung menyetubuhinya dari belakang; bokongnya yang indah sangat menggoda.","lastmod":"2025-03-28","duration":"","url":"/play/19055781.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvNjdjODY4NDA0M2UyMmQxYjI3YjMyZjFlZWFlZWMzZGIuanBn.cache","vod_id":19236376,"title":"Dua saudari bertubuh seksi, penetrasi ganda! Menyusui dan seks intens, ejakulasi ganda!","lastmod":"2026-05-20","duration":"0:36:35","url":"/play/19236376.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvMDgwN2NlOThlYmYyODVhODM0MTQwZTAzYTM5ZDFlM2YuanBn.cache","vod_id":19234346,"title":"Aidra Fox, gadis asing berkualitas tinggi dari SweetSinner, menjalani sesi seks pagi yang liar, payudaranya yang besar bergoyang-goyang dan cairan tubuhnya berceceran ke mana-mana.","lastmod":"2026-05-16","duration":"0:31:42","url":"/play/19234346.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTUvY2YzM2FiMWZjYTE3OTVjYmEzNDRhNzA1OGYxYTFjZWEuanBn.cache","vod_id":19210828,"title":"Mulut Kimber dipenuhi air mani selama pertemuan penuh gairah mereka, memancarkan daya tarik yang tak tertahankan.","lastmod":"2025-12-22","duration":"0:13:16","url":"/play/19210828.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYWE0OTBjNDk4NDBmNDExMjU4MmY5NDgwMDNjZGQyYzUuanBn.cache","vod_id":19220562,"title":"MIAB-580 Mata-mata wanita Akari Shinmura diberi afrodisiak! Payudaranya yang besar bergetar hebat saat ia mengalami orgasme dan kehilangan kesadaran. Setelah wajahnya dilumuri sperma dan ditelan, otaknya rusak, dan ia benar-benar tak sadarkan diri.","lastmod":"2026-03-06","duration":"2:05:15","url":"/play/19220562.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTgxMGVjOTc2MTk1NDE4OGZmYzc1ODBjZDMyM2JkYzEuanBn.cache","vod_id":19105594,"title":"384SHSS-003 [Adegan Pertama] Aplikasi AV Online → Pengalaman AV Adegan 1018 Seorang resepsionis bertubuh seksi yang memutuskan untuk membintangi film AV untuk mencari sensasi. Hanya dengan memasukkan jari ke area kemaluannya yang dicukur, tubuhnya akan bergetar dan bergoyang, mencapai orgasme berulang kali…!","lastmod":"2025-03-29","duration":"","url":"/play/19105594.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjYxOTQ5MTVlMDIzN2QzNGVjMDhmNDdhYWFkZTEyOWQuanBn.cache","vod_id":19041277,"title":"Edisi Spesial Kecantikan Pinjaman Buah: Adik perempuan Zhang Shenglan yang lembut dan imut cukup menggoda, menggunakan berbagai alat bantu untuk masturbasi. Wajahnya yang awet muda dan payudaranya yang besar sangat memikat.","lastmod":"2025-03-28","duration":"00:23:57","url":"/play/19041277.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvN2I2NWYwNmM2MDljODJmY2QwMDUyZmY2ODgxMGY4YzcuanBn.cache","vod_id":19142579,"title":"Si cantik bertubuh seksi papan atas, Xiao You Nai, melancarkan serangan berani dan eksplisit.","lastmod":"2025-03-29","duration":"04:27","url":"/play/19142579.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvOGZiMTU1YjFkNzRjZDg1ZjQwZmM2ZmU0ZjJhMzMxYWMuanBn.cache","vod_id":19239927,"title":"Seorang mahasiswi polos dan lugu kelahiran tahun 2000-an dengan payudara besar dan bokong seksi diperkosa secara brutal! Dia mengeluarkan sperma putih di dalam dirinya, mengerang, dan mencapai orgasme.","lastmod":"2026-06-10","duration":"0:42:16","url":"/play/19239927.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYWNmMTc4ZDI3ZjZiNzhhZTQ2NDMxOGVkYTUwNzRkODAuanBn.cache","vod_id":19072570,"title":"JJPP-126 Sebuah video yang menampilkan seorang pria tampan membawa seorang wanita dewasa ke kamarnya untuk berhubungan seks.","lastmod":"2025-03-28","duration":"02:00:14","url":"/play/19072570.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZGY2MmFlNzk4ODRiMDFhZWI4OTYyOGFlZGQxODQ5YjguanBn.cache","vod_id":19223870,"title":"YUJ-055 Mabuk dan merayu pacar saudaraku! Selama musim panas tahun terakhir kuliahku, aku diam-diam meniduri pacar sahabatku berkali-kali, si jalang berdada besar itu aktif menunggangiku dan memohon agar aku ejakulasi di dalam.","lastmod":"2026-03-25","duration":"2:05:29","url":"/play/19223870.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYjUzMTVlMmU2MTg2ZjkwZjFlMjY2ZTQyMWUxNjc3OTUuanBn.cache","vod_id":19233398,"title":"Saeki Sayari, basah kuyup dan bertubuh seksi mengenakan pakaian renang kompetisi, diam-diam merekam dirinya berganti pakaian sementara ayahnya dengan brutal memperkosa dan mengeluarkan ejakulasi di dalam dirinya!","lastmod":"2026-05-07","duration":"1:33:52","url":"/play/19233398.html"}]},
videoTitle: '[Lina] Godaan Tetangga Wanita Dewasa Berpayudara Besar',
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=/`;
}
};
}