추천 영상

사생활 유출: 수석 학생, 모든 걸 순식간에 배워 - 상하이 동중국사범대학 수석 학생 류루, 순식간에 여자처럼 행동하고 섹스를 즐기는 법을 터득하다","lastmod":"2026-07-11","duration":"0:05:15","url":"/play/19267010.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTc5ODExNzEyM2ZkNTViODE5NTk0ZDZhMWJlYWUwNmYuanBn.cache","vod_id":19040826,"title":"성욕, 마약, 그리고 사정 오르가즘의 추구: 폭행당한 여대생의 아름다운 가슴은 체액으로 흠뻑 젖어 있었고, 그 방으로 끌려온 남자는 음란한 욕망에 사로잡혔다. (그런데 갑자기 전혀 관련 없어 보이는 주제, 하나미치 안나 이야기로 넘어간다.)","lastmod":"2025-03-28","duration":"2:25:40","url":"/play/19040826.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNGJjOWIyZjhiZTc0ZDE4MmQwYTgwMjU2ZDkwYzc2OWYuanBn.cache","vod_id":19114480,"title":"DVDMS-897-C 평범한 사람들의 감시 AV: 가슴 큰 여대생! 남자 화장실에서 수건으로 제 성기를 씻어주시겠어요?","lastmod":"2025-03-29","duration":"2:46:46","url":"/play/19114480.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNGY5Y2MwMTBkYjQ1Nzk0ZjUwZTIyMTU1MDIxMjM3MmYuanBn.cache","vod_id":19177659,"title":"RKI498 신작, 세계 1위 조루남 × 후카다 에이미의 고환 비우기 연속 사정 및 대량 사정 성관계.","lastmod":"2025-03-30","duration":"2:02:13","url":"/play/19177659.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNjBjNDY5ZWVkMzYyZWU2MDk1ZDNjODBkNzdlNGQ1Y2IuanBn.cache","vod_id":19083386,"title":"섹시한 젊은 여성, 강력한 진동기, 전기 마사지기 섹스 비디오","lastmod":"2025-03-29","duration":"2:02:56","url":"/play/19083386.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZWNmM2FjNDRlODIxZjJmN2E1YmQzNzA4MDY0MGYzZjIuanBn.cache","vod_id":19177152,"title":"크리스마스 소녀와의 열정적인 섹스...","lastmod":"2025-03-30","duration":"0:15:24","url":"/play/19177152.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTBhMWMwMGRjMDM3YWExZDRlY2QzMDc0OWQ3ZmE0NmIuanBn.cache","vod_id":19113159,"title":"건강하고 관능적인 몸, 끊임없이 땀을 흘리며 절정에 이르는… 걸쭉한 체액으로 가득 찬 섹스에 완전히 몰입한 모습.","lastmod":"2025-03-29","duration":"2:23:04","url":"/play/19113159.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjUvZTYxODAxNWQzMzE4Njc3MjIwYmI3YTJjOGRiZmRiMWQuanBn.cache","vod_id":19223841,"title":"\"제 뜨거운 파도 서비스를 즐겨주세요.\" 사우나에서 삽입당하는 와중에도 그녀는 침착함을 유지하며 땀을 닦고 고개를 뒤로 젖혀 그 경험을 만끽했다. (무명 여배우 SGKI036)","lastmod":"2025-09-24","duration":"2:02:54","url":"/play/19223841.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDc4MzhmZjVlYjcwZDYyOTE3NDU4MTQ3MWE2NjhiNDMuanBn.cache","vod_id":19032802,"title":"[피치 비디오] 방과 후 성 상담","lastmod":"2025-03-28","duration":"0:27:35","url":"/play/19032802.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODA0MmQxZjg1MWM4ZWQwNGM2ZGI5ZjBhNDA2MDA0NWYuanBn.cache","vod_id":19090816,"title":"부자의 섹스 의자","lastmod":"2025-03-29","duration":"0:30:32","url":"/play/19090816.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWNjMDg5ODdkMzRlMzVjYjNiNjY3MDQwNmFiYWFiYzEuanBn.cache","vod_id":19113107,"title":"동성 간 성관계의 쾌감","lastmod":"2025-03-29","duration":"0:29:26","url":"/play/19113107.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYmI5ODIwM2U4ZmU0MzdlYTNhZDkwOWMzNGQ3OGMxMGQuanBn.cache","vod_id":19042448,"title":"나는 육감적인 여주인과 격렬하고 질내 사정이 일어나는 성관계를 가졌습니다. 그녀는 회사 노예로서 나의 욕망을 충족시켜 주었습니다. (유미 카자마)","lastmod":"2025-03-28","duration":"1:57:36","url":"/play/19042448.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWZjM2FkMGI4N2M5OGJkMzYzY2JmY2U0NTA0MjhhNDIuanBn.cache","vod_id":19096314,"title":"[무삭제] 한 남성과 여성이 고급 욕조실에서 성관계를 갖습니다. 여성은 남성의 자위행위를 도와주고 음란한 신음 소리를 내며 구강성교를 합니다.","lastmod":"2025-03-29","duration":"1:23:34","url":"/play/19096314.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjQxMDEwMThmODFmMGRhM2VkOTkwOWI5NTMyMjkwMGEuanBn.cache","vod_id":19057465,"title":"두 장면이 하나로 합쳐져 있습니다. 첫 번째 장면은 아름답고 매력적인 여성이 성관계를 갖는 장면으로, 프렌치 키스, 애무, 오럴 섹스, 상위 체위, 격렬한 삽입 등의 클로즈업 장면이 포함되어 있습니다. 두 번째 장면은 순수하고 청순한 인상의 여성이 로리타 드레스를 입고 성관계를 갖는 장면으로, 다리를 벌리는 모습, 오럴 섹스, 상위 체위, 격렬한 삽입 등의 클로즈업 장면이 포함되어 있습니다.","lastmod":"2025-03-29","duration":"2:55:06","url":"/play/19057465.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTZhZjYzMjkwYjZiMzU0MDY2ZDY5ZjFhNWRmZWQwNWUuanBn.cache","vod_id":19122351,"title":"[징동픽처스] JDMY-004 친한 친구, 도시 남녀의 성적 관계 시즌 1 에피소드 4.","lastmod":"2025-03-29","duration":"0:15:10","url":"/play/19122351.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOGJhZTIxZWY1YTlhZGU2ZGNhYzUwZjdlZmYyMDVkZGIuanBn.cache","vod_id":19179946,"title":"GDHH191 \"진짜 섹스는 질내 사정이 포함된다고 들었어!\" 남자친구가 생긴 이후로, 진지한 반장은 성욕이 극도로 강해졌다.","lastmod":"2025-03-30","duration":"3:46:01","url":"/play/19179946.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNDM0MzVkZjI4MzgyZTJhZGRkNzYzZGM2MzRlMjZlMzYuanBn.cache","vod_id":19240566,"title":"하드코어 매직 미러: 길거리의 여대생이 초하이컷 수영복으로 남성의 성기를 가린다! 초하이컷 수영복을 입고 펼치는 남녀 대결! 무명 배우 SVMGM-039","lastmod":"2026-01-20","duration":"4:56:30","url":"/play/19240566.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZmQ0YTFiNmVhMzgxMWYwNGRjOWZiZmZkYmU4OThjNDUuanBn.cache","vod_id":19257876,"title":"1인칭 시점: 여린 여대생과 놀고 그녀에게 사정하는 행위","lastmod":"2026-05-09","duration":"0:12:03","url":"/play/19257876.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYmI5YjJhNDFhZGJiY2JkOTcxNGM2NWI0ZGZkYzhiZGYuanBn.cache","vod_id":19239974,"title":"DJJJ-013-유출된 퀸즈 인베이전 오브 헬 13권: 성적 침략의 비극 - 지옥 공격 - 전설적인 블랙 팬서 우먼 - 잔혹한 복수 처형으로 노예가 된 그녀 - CD1","lastmod":"2026-01-16","duration":"1:06:23","url":"/play/19239974.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MDgvODM2NjgwMjFmYTJkMGQ1MTI5ZDM0NTAxNDkzYjUyOWMuanBn.cache","vod_id":19262556,"title":"겉보기엔 순진해 보이는 여대생의 비밀이 폭로되었다. 그녀의 짧은 머리, 긴 다리, 그리고 섹스 비디오가 남자친구에 의해 유출된 것이다. 겉보기엔 순수해 보이지만, 사실은 문란한 여자인 것이다.","lastmod":"2026-06-07","duration":"0:04:44","url":"/play/19262556.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWI5MjQxNmExMDg0OGZiYWFjMzk3NDVlNGYzNDBkYWMuanBn.cache","vod_id":19121681,"title":"성인 비디오에 나오는 남녀 대학생들의 일상에 대한 개괄적인 조사: 누나와 남동생의 24시간 심장 두근거림 가득한 인생 도전! 2!","lastmod":"2025-03-29","duration":"4:00:49","url":"/play/19121681.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MTcvNDIyNmQ2ZDg0YTA2ODBjMzZmZmE4NTU4MDc2NGJlZWIuanBn.cache","vod_id":19197872,"title":"온천 하드코어 채널: 유명 온천 리조트에서의 격렬한 섹스! 코마츠 안즈, YMDD-315-C.","lastmod":"2025-04-17","duration":"","url":"/play/19197872.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZmNiYWI1YWZkOTkxNDI5ZGQwMDRhYTkyOWFhODk2ZjAuanBn.cache","vod_id":19172262,"title":"SDJS268은 퇴근 후 처음으로 성관계를 가졌는데, 호텔에서 아침 내내 질 내에 사정을 했습니다... SOD 소속 여성 직원, 중년, 3년차.","lastmod":"2025-03-30","duration":"2:18:46","url":"/play/19172262.html"}]}, videoTitle: '[징동픽처스] JDMY-004 친한 친구, 도시 남녀의 성적 관계 시즌 1 에피소드 4.', language: 'ko', 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('링크 복사 완료!'); }).catch(() => { // 降级到旧方法 document.execCommand('copy'); alert('링크 복사 완료!'); }); } else { // 降级到旧方法 document.execCommand('copy'); alert('링크 복사 완료!'); } } }, // 切换布局 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=/`; } }; }
友情链接