아파트 근처 거리에서 서 있는 젊은 아내! 1.5달러 픽업? 집에서 공짜 섹스! 흥정 후 콘돔 없이 질내 사정 가능! 시간 때우려고 섹스를 포기한 젊은 남자 헌터","lastmod":"2026-07-11","duration":"04:00:31","url":"/play/19163820.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNDhjODlhZjI1YTcyOWI2ZTdiOGM3OWI3N2FlNWQ2OGYuanBn.cache","vod_id":19140998,"title":"아내 교환, 비밀번호로 보호된 방에서 펼쳐지는 최고 수준의 4인 난교","lastmod":"2026-02-01","duration":"01:25:40","url":"/play/19140998.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzBjMzk5OWNhNGJkYjYzNWM4Y2Y0NjlmNjQwZDZlYmIuanBn.cache","vod_id":18948097,"title":"위 사진은 섹시한 치파오와 검은 스타킹을 신은 날씬하고 섹시한 여성이 성관계를 갖는 모습입니다. 뒤에서 삽입당하는 그녀의 모습이 클로즈업되어 있으며, 가랑이가 트인 스타킹 사이로 엉덩이가 드러나 있습니다.","lastmod":"2025-12-14","duration":"00:42:21","url":"/play/18948097.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjNkNjE0NzAxYzcxYzFkOWQ0NmMyNTVmZjYwMTcyMjEuanBn.cache","vod_id":18924557,"title":"1pon 111419_928 에미리 미우라 - 내 여자친구는 남자의 성기를 원해","lastmod":"2025-12-14","duration":"00:55:43","url":"/play/18924557.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9pYy4xNTUyNTAyMTQudG9wLzIwMjYwMjIyL2p3bk5FSnZNLzEuanBn.cache","vod_id":19144883,"title":"섹스를 하고 싶어서 생각해 봤는데... 제일 쉽게 섹스할 수 있는 여자는 우리 엄마였어! 집에서의 열정적인 욕정, 4시간, 여자 12명 MBMA-113","lastmod":"2026-02-23","duration":"04:00:13","url":"/play/19144883.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MTcvNzRmNzNhMGZiZGEwOGU1NzI0YmY5N2E1NzA5MTQxODUuanBn.cache","vod_id":19052927,"title":"그녀의 질이 너무 좁아서 그는 오래 버틸 수 없었다 (갑자기 사정해버렸다).","lastmod":"2025-09-16","duration":"12:19","url":"/play/19052927.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODQ1MmNkMDEwN2IzYTIzZTlhMjA2NzRlODU5ZjYyMjUuanBn.cache","vod_id":18949560,"title":"서로 깊이 사랑하는 젊은 커플이 호텔에서 보내는 일상적인 성생활 사진을 공유하는데, 여기에는 섬세한 오럴 섹스, 언어적 애무, 여성이 위에 있는 체위 등이 포함된다.","lastmod":"2025-12-14","duration":"00:41:43","url":"/play/18949560.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYTYyNzcyNWI4M2ZiMjQzYjgyMWIxZjViMDVlMjNlMjEuanBn.cache","vod_id":19155019,"title":"라이딩 자세에서 멈추지 않고 사정하는 장면 10개. 이 장면 하나면 당신(그리고 당신의 어린 시절 친구)은 다시는 유흥업소에 갈 수 없게 될 겁니다. 호시노 나츠키 무디즈","lastmod":"2026-04-25","duration":"02:00:04","url":"/play/19155019.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTg5MmU3YTk3MDM0ZTYzMWRmMDFmNDBlZjkzYmQwM2UuanBn.cache","vod_id":18976263,"title":"누구나 알몸으로 배달 음식을 받아오는 유혹을 뿌리칠 수 없는데, 배달원 역시 마찬가지였다. 그는 문 앞에 서서 아내에게 오럴 섹스를 받았고, 남편은 안에서 몰래 그 모습을 촬영했다!","lastmod":"2025-12-14","duration":"00:08:01","url":"/play/18976263.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMDlhZDJkMzlkZTcxYmFjNGNmYjAwNzdiMGEyMzQwMzMuanBn.cache","vod_id":19156969,"title":"숨 막힐 듯 더운 날, 에어컨이 고장난 시골의 젊고 성적으로 좌절감을 느끼던 한 아내는 남편의 것이 아닌 다른 남자의 발기된 성기를 보고 격정적이고 땀에 젖은 성관계를 가졌다. (DASS-581-C)","lastmod":"2026-05-07","duration":"01:56:51","url":"/play/19156969.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MjgvYjg5Y2Y3OGRmZTdkNTA0MDQ0M2QzMGQ2YTZiNzc4YzQuanBn.cache","vod_id":19048877,"title":"흰색 드레스와 짧은 치마를 입은 여성이 남성이 위에 올라타 있는 69 체위로 구강성교를 하도록 자세를 취했고, 여성은 프렌치 키스와 핥기를 하며 애무를 나누었다.","lastmod":"2025-08-27","duration":"22:19","url":"/play/19048877.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MjAvNTVhOGNjZmY3OWQxODBlYmViYjI5MDdhZjJlNjYzZTEuanBn.cache","vod_id":19048108,"title":"PYM508 아마추어 소녀가 파트타임으로 구강성교와 블로우잡을 하며 정액을 삼킵니다.","lastmod":"2025-08-19","duration":"03:28:57","url":"/play/19048108.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2E4MmQyNDVjYzUyMTUwODhhOWY5YjAyYzgzNzJiNWYuanBn.cache","vod_id":19025889,"title":"대만 유명 연예인 커플의 호텔 방에서 성관계를 하는 영상이 해킹되어 유출됐다. 영상에는 여성이 남성 위에 올라탄 자세에서 남성이 빠르게 삽입하는 모습이 담겨 있다.","lastmod":"2025-03-24","duration":"03:47","url":"/play/19025889.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTdkZjc1MWNlOGI3NTU1YTQ5YWE4NTQxYjM0YjJmMDAuanBn.cache","vod_id":18966928,"title":"당신의 04번 섹시한 여자친구는 남자친구와 섹스하는 모습을 생중계하며 얼굴을 드러내고 있습니다. 아름답고 매우 섹시한 그녀는 콘돔 없이 다양한 체위로 남자친구와 섹스를 하고, 정액을 모두 입에 받아 삼키며, 소품을 이용해 질을 자극합니다.","lastmod":"2025-12-14","duration":"00:41:22","url":"/play/18966928.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MTEvNDJkZGU3YTc0MTY0MWNlNWZlNjA0MTM5ZDdmM2M5MWIuanBn.cache","vod_id":19028744,"title":"히메 사키 하나(姬啲花)는 I컵 가슴을 가진 목욕탕 호스티스로, 천국과 같은 분위기 속에서 서비스를 제공하는 매춘부이다. (XVSR-684-C)","lastmod":"2025-04-11","duration":"01:46:16","url":"/play/19028744.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MjAvYjg2YjU2ZDdjYzQwMDIyYzM5YjQzYTIxZTI4OTY0ZWUuanBn.cache","vod_id":19043849,"title":"3D 애니메이션 피슬(원신의 임팩트)은 점액과 놀라운 사정을 동반한 항문 성교에 영향을 미칩니다.","lastmod":"2025-07-19","duration":"03:54","url":"/play/19043849.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYjllMTYyMTI2Y2RmMGFiMDI1ZDFlMDBkNzM1Mzk0OTkuanBn.cache","vod_id":19149430,"title":"\"이건 마을의 음란한 풍습이야.\" 고향으로 돌아간 일주일간의 여름 방학 동안, 나는 마을 이장에게 순결을 바치도록 강요당했고, 수없이 많은 성폭행을 당했다… HMN-797","lastmod":"2026-03-21","duration":"01:58:40","url":"/play/19149430.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjE0MWE2ZTk2Zjk5MGFmMTdkMzVkMTMwYjI3ZWQyMzkuanBn.cache","vod_id":18993291,"title":"[18세 소녀는 옷을 벗으면 키가 180cm에 달한다] 믿을 수 없을 정도로 긴 다리를 가진 그녀는 복면을 쓴 남성에게 잔혹하게 강간당하고, 사진작가는 옆에서 그 장면을 지켜본다. 그녀의 하얗고 아름다운 다리는 더욱 매혹적이다.","lastmod":"2025-12-14","duration":"01:11:34","url":"/play/18993291.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOGNiMWY4MmZhMWM5ZmE3ZTI3MDIzOWZjNzg1YzFmMGEuanBn.cache","vod_id":18937960,"title":"MUDR-077 그날 이후로... 속박과 훈육","lastmod":"2025-03-22","duration":"01:49:18","url":"/play/18937960.html"}]},
videoTitle: 'KU 4인 난투극 2부: 두 남자와 두 여자가 거대한 성기를 이용해 열정적인 구강성교를 벌이고, 남자의 큰 성기는 콘돔 없이 삽입되어 변태들이 보는 앞에서 여자의 질 속으로 직접 사정한다. 심지어 삽입용 장난감까지 사용한다. 2.',
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=/`;
}
};
}