Video được đề xuất

Một chàng trai trẻ gầy gò đến một khách sạn và có một khoảng thời gian hoang dã với cô bạn gái xinh đẹp của mình, người có bộ ngực đồ sộ bị anh ta quan hệ tình dục cho đến khi cô ấy la hét và cầu xin sự thương xót.","lastmod":"2026-07-11","duration":"","url":"/play/19245003.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNmJhYjlkMGEyMzI1NDNmNGE0MjY4NjMxZjNiNzg0MjAuanBn.cache","vod_id":19218152,"title":"Một cô gái mới xinh đẹp được mát-xa spa; chồng trẻ của cô ấy đi vắng; người vợ nội trợ ngực khủng bị nữ nhân viên mát-xa cưỡng bức không ngừng cho đến khi cô ấy lên đỉnh.","lastmod":"2026-02-17","duration":"1:35:30","url":"/play/19218152.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzMxZDRkNzBkYzVmZmE5OTgwOTI4ZjgyMDQxNDgzMWEuanBn.cache","vod_id":19041858,"title":"Một cô gái nóng bỏng, ngực khủng trong chiếc quần tất lưới bước vào xe của một người đàn ông và được đưa về nhà để có một màn quan hệ tình dục thô bạo và mãnh liệt. Quan hệ tình dục với một cô gái gợi cảm thật sự kích thích và mãn nhãn. Phiên bản đầy đủ độ phân giải cao 720P.","lastmod":"2025-03-28","duration":"00:13:26","url":"/play/19041858.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYWQ1NzRiOTgxOWM2ZGZlMWJhYTc1YjY4NmE3YzVmZTYuanBn.cache","vod_id":19072881,"title":"Ôm một cô gái xinh đẹp, mảnh mai trong vòng tay, vuốt ve và mút mát cô ấy, cảm giác thật tuyệt vời; đôi chân dài, vòng mông căng tròn, vỗ và vuốt ve dương vật của tôi, thúc mạnh và dồn dập không ngừng, khiến tôi hét lên.","lastmod":"2025-03-28","duration":"00:33:09","url":"/play/19072881.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNmQ1Y2I3OTU1NzQ3Nzk5YmU4MzE0NGE4NGFkMjRjZmMuanBn.cache","vod_id":19169473,"title":"SSNI469 Dịch vụ cực kỳ nhẹ nhàng dành cho cô gái trà ngực khủng Yumi Shion.","lastmod":"2025-03-29","duration":"01:57:49","url":"/play/19169473.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOGQxM2UyZTVjYmM1MTY4NWRiOTA1MDA0YjIzYmNlOWEuanBn.cache","vod_id":19140687,"title":"IPX-418 Tôi đã qua đêm tại nhà của cô đồng nghiệp xinh đẹp Misaki Nanami và bị cô ấy quyến rũ vì cô ấy không mặc áo ngực. Chúng tôi đã có một đêm cuồng nhiệt với chuyện chăn gối, và cô ấy đã xuất tinh vào trong tôi.","lastmod":"2025-03-29","duration":"02:32:47","url":"/play/19140687.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvODNjMmFhODZjNGNlZmQ2MjkyYjc3NGJmMTJmNDdhZjguanBn.cache","vod_id":19234754,"title":"Mối tình nồng cháy của cô chị gái ngực khủng trên bờ biển! Tập 2 đặc biệt về bạn gái một ngày, màn ân ái cuồng nhiệt và xuất tinh.","lastmod":"2026-05-16","duration":"1:16:23","url":"/play/19234754.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjVlMjZjNGMzMjlmYzM2MDkzNmNlZDE0YmVjNjI1NjYuanBn.cache","vod_id":19095855,"title":"[Phụ đề tiếng Trung] VEMA-201 Cô quản lý phòng trọ giải quyết vấn đề bằng vòng một của mình là HCUP Busty Housewife Kimishima Mio","lastmod":"2025-03-29","duration":"01:49:05","url":"/play/19095855.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2MyMWZhMGE0NmQwZWUyYTcyMTJkYmMyNzhmYjI4YmQuanBn.cache","vod_id":19076848,"title":"SDMU-961 Cô nàng ngực bự J○ Kẻ biến thái trên xe buýt ~Bị giáo viên và những kẻ khủng bố trong lớp trêu chọc từ học kỳ 3~ Sato Yuka","lastmod":"2025-03-29","duration":"02:11:46","url":"/play/19076848.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYmZhMDNkMDU1OTcxNmY4MzAwMjAyNWVlZjhlNmEyNzMuanBn.cache","vod_id":19230378,"title":"Cuộc hẹn hò ở phòng tập thể dục! Lisa Ann, một phụ nữ trung niên với bộ ngực lớn, bị cưỡng hiếp dã man, dịch tiết chảy ra ào ạt khi cô thở hổn hển và cầu xin tha thứ!","lastmod":"2026-04-22","duration":"0:10:31","url":"/play/19230378.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMDQvNjY1M2VjNWNjOTJlNDQwOTVlNGMzZWQ1MzljYjUzNjguanBn.cache","vod_id":19197594,"title":"Nữ tiếp viên hàng không ngực khủng cầu xin quan hệ tình dục sau khi tan ca! Người phụ nữ ngực cỡ E bất ngờ bị \"thịt\" từ phía sau một cách dữ dội!","lastmod":"2025-10-03","duration":"06:30","url":"/play/19197594.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNjNhYWJiMzZkYTBiN2YzMDUyNjcyYzQ5YjE1Njc2MTcuanBn.cache","vod_id":19070338,"title":"Cô gái trẻ ngồi trên, toàn thân dính đầy tinh dịch, có thể bị xâm nhập từ phía sau, cặp mông trắng mịn như quả đào của cô bị cưỡng bức theo nhiều cách khác nhau, xuất tinh vào bên trong.","lastmod":"2025-03-28","duration":"00:21:23","url":"/play/19070338.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvODJlNjgyYjEwZTU4Nzc5MDM5YTRmNWI0MjMxYzgwZTIuanBn.cache","vod_id":19206694,"title":"Một bà nội trợ ngực khủng hẹn hò suối nước nóng, với bộ ngực cỡ I đầy đặn! Kazumi 34 tuổi sẽ khơi dậy trí tưởng tượng của bạn, BANK-211","lastmod":"2025-12-13","duration":"2:00:53","url":"/play/19206694.html"}]}, videoTitle: 'LULU-109 Mối quan hệ loạn luân giữa anh chị em ruột: "Chú kinh doanh" - Cô gái ngực khủng Ohara Amu bị anh trai sống ẩn dật, có dương vật to lớn lợi dụng như một món đồ chơi tình dục.', language: 'vi', 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('Đã sao chép liên kết!'); }).catch(() => { // 降级到旧方法 document.execCommand('copy'); alert('Đã sao chép liên kết!'); }); } else { // 降级到旧方法 document.execCommand('copy'); alert('Đã sao chép liên kết!'); } } }, // 切换布局 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=/`; } }; }
友情链接