Video yang Direkomendasikan

Pasangan mahasiswa memesan kamar hotel, si gadis berganti pakaian menjadi stoking hitam, pacarnya merobeknya, tanpa kondom, ejakulasi di dalam</script>","lastmod":"2026-07-11","duration":"53:45","url":"/play/19164200.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTk0NDRmNDUxNDFhZjZlOThmZjY2MjE2NWJiOWUzYjUuanBn.cache","vod_id":18969865,"title":"[Subtitle Bahasa Mandarin] PRED-460 Gadis Cuaca Pertama Kali Ejakulasi \"Aku Di Sini\" Lanjutan FUCK Matsumoto Riho's State","lastmod":"2025-03-23","duration":"02:25:00","url":"/play/18969865.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTBiZTAzYmFiNTAwOWM1ZjIzOWUxYTBhOTgwOTRkYjYuanBn.cache","vod_id":18933934,"title":"BAZX-211 Creampie seorang gadis cantik berseragam dengan payudara besar Vol.","lastmod":"2025-12-14","duration":"01:35:17","url":"/play/18933934.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjI2NDg4YWQ3YjlmZDlkZDdkMjI5ZmJjNzYzZmNmYTYuanBn.cache","vod_id":18942305,"title":"[Subtitle Bahasa Mandarin] JJAA-02320s Wanita Lesbian Sejati Mengelola Rumah Pantai yang Khusus Melayani Wanita Menikah Dewasa","lastmod":"2025-03-22","duration":"02:02:42","url":"/play/18942305.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MDUvYWI0MTNjYzc1MzQ5YzZiYWYyOTg4YmI0MjU5Y2YyZmEuanBn.cache","vod_id":19027778,"title":"Keringat dan cairan vagina meluap saat dia berselingkuh dengan pria yang lebih muda di tempat kerja paruh waktunya pada hari yang berbahaya. (Yuki Takeuchi, PRED-443-C)","lastmod":"2025-04-05","duration":"01:59:47","url":"/play/19027778.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvYjM5ZjNkZGRkOTFkMGEzZjdmYzkzZjY0NjZkMjgxODMuanBn.cache","vod_id":19066977,"title":"Saya menjual istri saya yang selingkuh. Penahanan hotel 24 jam [seks oral langsung, penetrasi langsung, ejakulasi langsung]. Silakan gunakan sesuka hati. Aktor tidak dikenal PPPE_262","lastmod":"2025-12-14","duration":"01:59:38","url":"/play/19066977.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODBmYTJiMDUyZjU2YWYxMTliM2QzNzRmN2FlMDk5ZGMuanBn.cache","vod_id":18933901,"title":"[Subtitle Bahasa Mandarin] CLUB-599 Aku membawa bos perempuanku yang mabuk ke hotel dan kami ditangkap.","lastmod":"2025-12-14","duration":"02:38:19","url":"/play/18933901.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2Q4OWNlMDE0MDA0MmJkZmZlN2YzZDQyYzI1ZTBhYjYuanBn.cache","vod_id":19011284,"title":"HAWA176CN melakukan hubungan seks liar dengan seorang pria yang dia temui dalam perjalanan menuju suatu perselingkuhan, seorang pria dengan penis yang sangat besar!","lastmod":"2025-03-24","duration":"02:00:32","url":"/play/19011284.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOGU2NmNkYmZiZjdhNDYyYmM3NzQ2N2VjZWE0NmMzNmQuanBn.cache","vod_id":18934202,"title":"[Subtitle Bahasa Mandarin] DOCP-214 \"Aku di sini, maafkan aku!!\" Seorang pembantu cantik yang ditugaskan untuk memberikan layanan rumah tangga langsung ditusuk di pantatnya yang seksi dan besar begitu tiba di rumah!! Dia menusuknya dengan keras berulang kali...","lastmod":"2025-12-14","duration":"03:59:21","url":"/play/18934202.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2M2NzBiZGQxMWNmOTVmMDZjMDE2OTllYzRjOGM2OTUuanBn.cache","vod_id":18933269,"title":"[Subtitle Bahasa Mandarin] AUKG-466 Menikah dengan Bibi Rina ~ Yuan Riya","lastmod":"2025-12-14","duration":"01:58:31","url":"/play/18933269.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODU5N2I0MThjMzY3ZDExYjRkYThkMmM0NGJiNTdlOGIuanBn.cache","vod_id":18939770,"title":"[Subtitle Bahasa Mandarin] RUKO-038 Hubungan Paksa: Pelatihan Cabul Seorang Wanita Kantoran Bawahan","lastmod":"2025-12-14","duration":"01:59:59","url":"/play/18939770.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTEvOWM2OWZhNDk5YzMyMzZlMzA0MTBhOTZjNmI4YTNiNTAuanBn.cache","vod_id":19167984,"title":"Mahasiswa laki-laki universitas yang membantu mencari apartemen mengalami pelecehan seksual; agen real estat wanita yang sangat erotis; Miyamoto Koyuki; Miyamoto Koyuki; Center Village","lastmod":"2026-07-12","duration":"01:39:48","url":"/play/19167984.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2MxYzA2Y2I4MzAzODNhNmYzMGMwY2VmZTIyNDMzMzcuanBn.cache","vod_id":19012595,"title":"SIS110 Pemerkosaan voyeuristik antar saudari di malam hari (inses).","lastmod":"2025-03-24","duration":"01:50:20","url":"/play/19012595.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjMvMDczYzI2MTE5MTVmZTAxODY5MDMzMDFmNjE2ODNjOTkuanBn.cache","vod_id":19053770,"title":"Bahkan setelah orgasme, penisnya yang sangat ereksi langsung membengkak, berujung pada pesta seks Natal dengan tiga wanita kantor yang sangat mesum dan menyukai seks! Surga harem dengan tiga ejakulasi berturut-turut!! Aktor tak dikenal GGP005","lastmod":"2025-09-22","duration":"01:29:09","url":"/play/19053770.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNzI3YmZlMjg4ZDhhYmY5MTkzNjc5ODgxOWZhZjIxOTkuanBn.cache","vod_id":19155339,"title":"Selama sesi pelatihan pribadi, dia tanpa izin menunggangi seorang wanita berotot dan cantik dalam posisi cowgirl dan melakukan penetrasi sebanyak 15 kali. (CJOD-451-C)","lastmod":"2026-04-27","duration":"02:01:33","url":"/play/19155339.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOWZhNWM3YjBkZjQzNTZiZjQ2ZDk2YjQ4MjRjMjYzOGUuanBn.cache","vod_id":19019712,"title":"JAC012 Tubuh setingkat dewa × Ejakulasi tak terkendali!! Daging liar dan menakjubkan, payudara H-cup yang memukau!!","lastmod":"2025-03-24","duration":"01:29:52","url":"/play/19019712.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDE1MGRhMWIwNWI4ZjRkMzgxZGM4ZDUwYzhlZDYwZDQuanBn.cache","vod_id":18937239,"title":"[Subtitle Bahasa Mandarin] MIAA-164 Teman kencan saya yang sudah punya pacar dan bersekolah di sekolah yang sama","lastmod":"2025-03-22","duration":"01:55:38","url":"/play/18937239.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDE3NGY2OGZkZGFhMTRmM2Y0OWYyMWZiZTVkYTVhYTAuanBn.cache","vod_id":18985831,"title":"[Tanpa Sensor] BLK-172 Kira★Kira GADIS KULIT HITAM PENARI KARISMA Hcup POLE DANCING - Kulit kecokelatan, halus, berkilau, ejakulasi seks primal - Mao Kurata","lastmod":"2025-03-23","duration":"01:56:39","url":"/play/18985831.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmFiYzExNTAyOTkzMWYyMzEyNmI1NTA3OTk4MTMwNDIuanBn.cache","vod_id":18942879,"title":"[Subtitle Bahasa Mandarin] JRZD-929 Film Dokumenter Pertama yang Difilmkan dengan Wanita yang Sudah Menikah - Mai Kato","lastmod":"2025-12-14","duration":"02:12:34","url":"/play/18942879.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjBmODM3ZDkyZjFhZjc3YjY5OWM0MDY4MjVmOTk0MmIuanBn.cache","vod_id":18946120,"title":"[Subtitle Bahasa Mandarin] MDBK-068 Klub Rahasia Eksklusif Anggota, Sang Nyonya Racun","lastmod":"2025-12-14","duration":"02:30:02","url":"/play/18946120.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMDgvMjcxNTdmMzIyN2ZmOGMxYWI5MTgyMWRkNzI2ZDY1NzcuanBn.cache","vod_id":19056574,"title":"[Bahasa Mandarin] VDD190 Resepsionis berada di... (ruang pemerasan)","lastmod":"2025-10-07","duration":"02:14:02","url":"/play/19056574.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNmIxNTQ5MDA5NjYyMTJjYTBlZDI1ZTg5MzM3MjY4ZjUuanBn.cache","vod_id":19011168,"title":"HODV21432 Aku tergoda oleh bisikan yang hanya bisa kudengar, dan mengakhiri keperawananku dengan ejakulasi di dalam Nagase Asami.","lastmod":"2025-03-24","duration":"02:26:53","url":"/play/19011168.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOGRhYmJmMGVkYWZjYjhkZmQ0Yjc5NGVmNDc2MDVjYjUuanBn.cache","vod_id":18932937,"title":"[Subtitle Bahasa Mandarin] ATID-391 membuat marah kakak kelas dan menjadi sasaran perundungan kelompok.","lastmod":"2025-12-14","duration":"02:09:03","url":"/play/18932937.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2M1MTlkYjYwYmY4NThkNDI4NDhlYWQ2ZDBiNzFmMzQuanBn.cache","vod_id":18980607,"title":"[Subtitle Bahasa Mandarin] IPZZ-061 Guru Paruh Baya Cabul Melahap Bibir Lembut Siswanya dalam Ciuman dan Pemerkosaan Seperti Budak - Kana Momonogi","lastmod":"2025-12-14","duration":"02:03:43","url":"/play/18980607.html"}]}, videoTitle: '[Subtitle Bahasa Mandarin] MIAA-158 Splat! Chase! Cumshot and Male Fluid', 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=/`; } }; }
友情链接