HEYZO 3330 Aku akan melakukan apa saja untuk mendapatkan pekerjaan! ~Aku bahkan akan masturbasi!!~——Rina Kashino","lastmod":"2026-07-11","duration":"59:19","url":"/play/19164240.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjk5YTE0NzRhOTRlYzkwMWVkM2Y4ODkyNTZmOTlkYTcuanBn.cache","vod_id":19008908,"title":"Sosok yang sangat kontras dalam kecantikannya - Vivian, yang menyukai stoking - pulang ke rumah mengenakan kaus, stoking hitam, dan stoking berpotongan terbuka untuk menghilangkan stres kerja.","lastmod":"2025-03-24","duration":"22:36","url":"/play/19008908.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvODVlOTg2YmIxNTEwZmIxZWNkNjMzNTM4ODkxZmI0YjUuanBn.cache","vod_id":19158684,"title":"Saat lembur, di kantor tempat hanya saya dan bos perempuan saya yang sudah menikah dan berbokong besar itu bekerja, dia menggoda saya sambil mengenakan stoking hitam dan hanya pakaian dalam. (Bagian terakhir adalah rangkaian karakter yang tidak masuk akal dan tidak dapat diterjemahkan secara langsung.)","lastmod":"2026-05-18","duration":"02:40:04","url":"/play/19158684.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MTUvMjE0ZTRkOWFiNzNjMzJmZmRhMWJmNzkyMzY1N2FkODYuanBn.cache","vod_id":19038429,"title":"Seorang resepsionis tinggi dan langsing yang bekerja di Marunouchi (MIFD464) ingin dihukum, jadi dia langsung menjalani wawancara dan diterima untuk debut AV-nya.","lastmod":"2025-06-15","duration":"02:49:59","url":"/play/19038429.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjgyYmU3OTZkMGUzNmM1ODRjMGMyNWYwYWIwNmU4M2UuanBn.cache","vod_id":19005589,"title":"MIDV-534-C: Pada hari kedua bekerja, dia dipaksa mengenakan bikini kecil dan mengalami penghinaan serta pemerkosaan di tempat kerja...","lastmod":"2025-03-24","duration":"02:29:50","url":"/play/19005589.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZmI1ZWYxMGQ1YjAxOTdlZjI3ODU2YjlhNTg4NDI1N2UuanBn.cache","vod_id":19149393,"title":"[Laporan] Penis saya tampaknya merupakan alat yang terkenal. Mengembangkan 10 penis dan alat masturbasi selama istirahat kerja. Departemen Sumber Daya Manusia. Yoda Hikage. SDJS-357","lastmod":"2026-03-21","duration":"02:34:01","url":"/play/19149393.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODUxNDNmMjU2ZmZlNTc5MjhjNjQzYzI3MWFmOTk2MDMuanBn.cache","vod_id":19006039,"title":"Angelababy dan rekan-rekannya melakukan hubungan seks tanpa sensor di sebuah hotel.","lastmod":"2025-03-24","duration":"08:37","url":"/play/19006039.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvOWQ5NGVkMzNiMzIyMTBhYTkyYTJkOTA4NmNlODljM2IuanBn.cache","vod_id":19066021,"title":"Ketika saya pergi ke salon kecantikan untuk wawancara kerja, orang di seberang sana adalah terapis pijat yang tidak tahu malu dan cabul. Seorang CEO wanita cantik dibuat gila oleh pijatan cabul. (Nikaido Rei EBWH_136)","lastmod":"2025-12-14","duration":"02:42:10","url":"/play/19066021.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDFhMjlkYjhjZGY4YWIyMTg5NzdlMDMxOTM0NjYyMjIuanBn.cache","vod_id":18981458,"title":"[Versi Tanpa Sensor] JUC-810 Istri Baru Rekan Kerja Saya, Hirono Imai","lastmod":"2025-12-14","duration":"01:58:41","url":"/play/18981458.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTUvMGNjOTJmYjA0OTQ3MWQ0ZDNlNzJmYjVkM2M3MGUwOTQuanBn.cache","vod_id":19134262,"title":"Ai Iyama, seorang wanita berusia tiga puluhan yang bekerja di kantor, setiap hari mengalami pelecehan dan serangan seksual dari atasannya, yang berujung pada orgasme… Dia tidak bisa melupakan hal ini. (Ai Iyama KIR-074)","lastmod":"2025-12-19","duration":"01:48:38","url":"/play/19134262.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjAvODE1MDM3MjZlMzZjMDcxYzFjMjhiMDNlMmUzMThhYzguanBn.cache","vod_id":19053420,"title":"[Kata-kata kasar #Subjektif] Bau badan, mencium barang-barang buatan tangan. Ayase Himawari, Ryonan Kana, Minazuki Hikari EVIS567","lastmod":"2025-09-19","duration":"02:01:35","url":"/play/19053420.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODk1NmQ1ZTk1NGJhNDAwYjg0NTQ2MjkyNTg0Y2VlYjIuanBn.cache","vod_id":18989605,"title":"[Kue Buah] Kerasukan! Rekan kerjaku yang berpayudara besar diperkosa oleh manajer toko.","lastmod":"2025-03-23","duration":"15:29","url":"/play/18989605.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjVmZjI0MzZiNzMzOWQzYWZjMjkxMzU5ZGRlMGM4NmQuanBn.cache","vod_id":19010529,"title":"DVDMS520 Survei jalanan yang menampilkan cermin ajaib eksklusif wanita pekerja cantik! Dua rekan kerja mencoba seks untuk pertama kalinya di ruangan tertutup! 4. Pria dan wanita yang bekerja di sini kehilangan akal sehat setelah menggesekkan klitoris mereka bersama, memasukkan penis mereka, dan menyerah pada hasrat mereka, meskipun mereka sedang bekerja! ? Ejakulasi spesial pertama saya yang sesungguhnya dalam hidup saya…","lastmod":"2025-03-24","duration":"04:00:14","url":"/play/19010529.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzczNzlkYWMwM2JkYzEzYzQzYTZmZDk4YWQyNDNhMWIuanBn.cache","vod_id":18977646,"title":"FC2PPV 3497626 [Penawaran Waktu Terbatas] Seorang gadis muda yang bekerja di jaringan kedai kopi terkenal di dunia ❤️ Seorang gadis dengan senyum dan suara yang manis, dan sangat sensitif.","lastmod":"2025-03-23","duration":"01:11:58","url":"/play/18977646.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MDcvYzA3ZDMxZDMwNjJkYzY5NGJkZWJiZTQwZjA2ZTZhNTMuanBn.cache","vod_id":19045678,"title":"NACR923 Pekerja seks komersial dilarang keras melakukan hubungan seks! Jadi, jika Anda memiliki pelanggan yang Anda sukai, rayulah dia dan lakukan hubungan seks dengannya di luar jam kerja.","lastmod":"2025-08-06","duration":"01:58:50","url":"/play/19045678.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjEvNzljODdlYzIzZGEwYjcyNDdlZmQ1OGNiMDhhYjY0ODEuanBn.cache","vod_id":19058811,"title":"Jika kau tak bisa mengerjakan pekerjaanmu dengan baik, maka layani aku dengan baik! Bosku, yang menggoda dengan stoking hitam, akan membiarkanmu melihatnya sepuasmu dan menikmati kejantanannya! Aktor tak dikenal SW976","lastmod":"2025-10-20","duration":"03:41:14","url":"/play/19058811.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNWJlNDUzMjk4NTYxOGIxYmNlZTBlMTU2NjEyZTZlMTAuanBn.cache","vod_id":18994048,"title":"SIRO-3830 [Syuting Pertama] Aplikasi AV Online → Pengalaman Syuting AV 973 Seorang mahasiswi yang mencari pekerjaan terjun ke dunia AV untuk mendapatkan uang kuliah! Piston berkecepatan tinggi membuat payudaranya yang besar bergetar, berteriak, melengkungkan punggungnya, dan menggeliat kesakitan, akhirnya diakhiri dengan ejakulasi di wajahnya. Dia terpesona oleh penis aktor tersebut, wajahnya menunjukkan ekspresi kosong. 1","lastmod":"2025-03-23","duration":"01:00:21","url":"/play/18994048.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDMzZDY5NmNlYWJjZGM0MTBiNWU2YzVkNzQ3OThmOWEuanBn.cache","vod_id":18989430,"title":"230OREBMS-072 Elena, seorang gadis amatir yang melamar pekerjaan ini, tertarik dengan uang saku yang ditawarkan.","lastmod":"2025-12-14","duration":"01:13:37","url":"/play/18989430.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDE3ZWU5ZTEyYjVmNjAxNmFjMjdhYjg5OTliMmI0NjMuanBn.cache","vod_id":18972528,"title":"Produk Langka dan Berkualitas Tinggi yang Diperoleh dengan Harga Mahal: 2 Video Asli Berkualitas Tinggi dari Studio Dewasa Terkemuka China [Water's Edge] - Menampilkan Model Wanita Telanjang Bernilai Tinggi dengan Adegan Telanjang Sepenuhnya, Pembekapan Mulut, Perbudakan, Cambuk, Sentuhan Vagina, dan Hubungan Seksual yang Dahsyat (Versi Asli, Tanpa Air)","lastmod":"2025-03-23","duration":"00:30:50","url":"/play/18972528.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMmZhZTQyODNiMTcyNzY3NWQ3NTRmYTlkZDU3MDg5YjEuanBn.cache","vod_id":18976055,"title":"[Subtitle Bahasa Mandarin] PPPE-119 Karen Yuzuriha, seorang gadis dengan ukuran payudara H yang depresi karena terus bertengkar dengan pacarnya sambil bekerja paruh waktu, diperkosa secara brutal dan diejakulasi di dalam dirinya.","lastmod":"2025-12-14","duration":"01:59:36","url":"/play/18976055.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MTUvNjlkOGU0ZTU5NWU3Y2Q4NGMxMjM2ZGM1OWQ3ZGViYTMuanBn.cache","vod_id":19038471,"title":"MKMP518 Saya dipecat karena utang saudara saya, dan sekarang saya bekerja di toko swalayan... Saya kelelahan secara mental, dan ketika seorang pria mengajak saya, saya dengan mudah menyerah pada rayuannya.","lastmod":"2025-06-15","duration":"02:06:44","url":"/play/19038471.html"}]},
videoTitle: 'Dia dipaksa untuk membiarkan alat kelaminnya dijilat oleh seorang rekan kerja di studio!',
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=/`;
}
};
}