몸매가 훌륭한 매춘부가 남자가 가슴을 만지고 관계를 갖도록 허락합니다.","lastmod":"2026-07-11","duration":"29:17","url":"/play/19117365.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOGM3YTM3OTI4MTRiOWFjYWU1YTNjODViMjc0ODE1MjkuanBn.cache","vod_id":19143471,"title":"프루트 파이의 결혼식 전날 밤, 가슴 큰 전 여자친구와의 불륜과 광란의 섹스 PPPE-087","lastmod":"2026-03-28","duration":"19:17","url":"/play/19143471.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvN2ZmZmM0MmE1YTUxNTJhMGMzZGQ1ZjA2MzgwNGY4ZGIuanBn.cache","vod_id":18938307,"title":"카리브해-071319-960 반복적인 삽입과 구강성교를 좋아하는 소녀.","lastmod":"2025-03-19","duration":"01:03:59","url":"/play/18938307.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNWMwNjdlMTg1NjljNDE4OTM0OGFiMWZiNDBmZjg0ZDguanBn.cache","vod_id":18965024,"title":"진 씨의 최근 만남 ❤️ 그는 또다시 은행에 다니는 젊은 여직원과 잠자리를 가졌대요.","lastmod":"2025-03-19","duration":"20:41","url":"/play/18965024.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOGYwNjdkZmZlMjJjZWU2OTJhMzYwOTlhZjdkOWFkMWIuanBn.cache","vod_id":19001930,"title":"결혼했지만 남성 성기를 먹는 것을 좋아하는 한 여성이 불륜을 저지르면서 눈을 감고 성기의 맛을 즐기는 셀카를 찍었다.","lastmod":"2025-03-19","duration":"16:28","url":"/play/19001930.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjdmM2U4NDk1ZTg1MGI5OGNjYThmMWJkMjZiNWZkMmYuanBn.cache","vod_id":19092793,"title":"대조적인 암컷 개와의 호텔 섹스","lastmod":"2025-03-19","duration":"01:50","url":"/play/19092793.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvN2YyOTFlZDY1NmM3MzIyMzg4N2EyNjE1YjY5MWI1YjAuanBn.cache","vod_id":19088217,"title":"이상적인 기혼 여성은 격렬하고 정력적인 성관계를 경험하며, 여러 번의 오르가즘과 지속적인 질 분비물을 겪습니다.","lastmod":"2025-03-19","duration":"00:00:34","url":"/play/19088217.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MTUvNzFjMGQxMWRhMjFjZTVhYTYzN2M0NWYwN2FkZDdjN2EuanBn.cache","vod_id":19150798,"title":"근친상간을 촬영한 영상에는 이혼한 나이 많은 사촌 오빠가 어린 소녀와 격렬하게 성관계를 맺어 그녀가 사정할 때까지 괴롭히는 장면이 담겨 있다.","lastmod":"2026-06-14","duration":"48:14","url":"/play/19150798.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjIzNTFhZTQxMTAyNWY2ZGQ5ZWE1MmQyMmE2MzgxMTMuanBn.cache","vod_id":19062329,"title":"흰 여우 꼬리 모양 항문 플러그, 하얀 피부의 아시아 미녀, 젊은 기혼 여성, 질내 사정, 섹시하고 통통한 엉덩이.","lastmod":"2025-03-19","duration":"24:11","url":"/play/19062329.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MTEvMTNiM2MzMTA4YzhhMjQ1NWZiNjM2NzFhNzQ0ZmVhYWIuanBn.cache","vod_id":19150447,"title":"과일 파이를 만드는 주부의 황당한 요구 XVSR-287","lastmod":"2026-06-11","duration":"12:25","url":"/play/19150447.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDU1NmU1YjhhYzU2ZTFhZDUwM2ZmZjMxYzFiNTg0OTcuanBn.cache","vod_id":18967278,"title":"'미제이'라는 별명을 가진 한 중국 소녀가 친구들에게 약물을 투여받고 성폭행을 당하는 끔찍한 사건이 또다시 발생했습니다. 심지어 친구들은 그녀의 성기에 소품까지 부착했습니다!","lastmod":"2025-03-19","duration":"13:16","url":"/play/18967278.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvN2NjOTNiNDZkYTgyZTBjNDU0OWM0ODM3NTQ0ZWU0NzUuanBn.cache","vod_id":18955917,"title":"음탕한 젊은이는 몹시 흥분한 상태였다. 호텔에 도착하자마자 그는 참을성 없이 아름다운 여자를 껴안고 격렬하게 키스하며 69 체위를 하고 서로를 핥았다. 그러고는 미친 듯이 사정했다. 잠시 진정된 후, 아름다운 여자는 먼저 나서서 그와 다시 섹스를 했다. 그가 그녀를 강렬하게 범하는 동안, 여자는 신음하며 음담패설을 내뱉었다!","lastmod":"2025-03-19","duration":"31:37","url":"/play/18955917.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvMzg0NTYwMzY0YzJlYTcwMjM5ZmVlNTlhOWQ3MDgzMGYuanBn.cache","vod_id":19149242,"title":"바람피우고 남편에게 배신당한 아내가 부유한 남자와 차 안에서 격렬한 섹스, 딥 스로트, 오럴 섹스, 그리고 그의 입에 사정하는 등의 행위를 즐긴다.","lastmod":"2026-05-29","duration":"16:28","url":"/play/19149242.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZTlmMWZiY2FlYjI2NDQ1NzI5YzA1MGY1MTAwODc0ZTUuanBn.cache","vod_id":19135702,"title":"#창녀_#음란한_#구강성교_아내가 바람맞은 남편이 아내를 호텔로 데려가서 3인조 섹스를 할 싱글 남자를 찾는다","lastmod":"2026-02-13","duration":"02:19","url":"/play/19135702.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYmUzZDI0NzNmZTIzYjBjNTc1NjBiMjIwYTkwNjU2N2IuanBn.cache","vod_id":18937757,"title":"[배달 음식 가게 주인이 브래지어를 착용하지 않은 채] 가게 문이 열린 틈을 타 몰래 가슴을 드러내고 주무르며 배달원을 유혹한다. 문이 닫히자마자, 그녀는 배달원에게 오럴 섹스를 해주고 그의 큰 성기를 뒤에서 삽입하며 성관계를 갖는다.","lastmod":"2025-03-19","duration":"35:04","url":"/play/18937757.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNWZjYzk2ODY4OWJkY2QxYmEyOGIzMDU1NzhiMjE5Y2UuanBn.cache","vod_id":19000910,"title":"검은 스타킹과 하이힐을 신은 두 명의 섹시한 젊은 여성이 생방송에서 얼굴을 드러내고 모유 수유, 서로의 질을 애무하고 발과 질을 핥는 등의 행위를 하며, 남성 팬들의 지시에 따라 자신들을 애무하고 흥분하며 끊임없이 신음하고 끙끙거렸다.","lastmod":"2025-03-19","duration":"45:34","url":"/play/19000910.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTFlN2RkODMzMjZmNmVhMjYwMjMzZjc4ODJlZTBmZDMuanBn.cache","vod_id":19003200,"title":"그녀는 아름다운 몸매를 뽐내며 젊은 남자에게 열정적으로 봉사했다. 그녀는 순종적이고 복종적이었으며, 69 체위로 그의 큰 성기를 빨아주고, 그가 다양한 방식으로 삽입하고 애무하도록 허락하면서 끊임없이 신음하고 끙끙거렸다.","lastmod":"2025-03-19","duration":"01:11:17","url":"/play/19003200.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvM2E4ZDk4OGMzZmRjNjZjYjM2OGFkNDE4MWE0NTJkOTguanBn.cache","vod_id":18943410,"title":"VRKM-602 [VR] 남자들의 성기를 미치게 만드는 이 아름다운 창녀에게 괴롭힘당하고 싶어!! 15곡 SUPER-cd2","lastmod":"2025-03-19","duration":"40:06","url":"/play/18943410.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MzEvZDE3MzM2NzBhZmRlOWYwNzQzM2Q4Y2JiOWFiMWRiZjAuanBn.cache","vod_id":19118802,"title":"단정하고 젊은 기혼 여성이 세수를 하고 남편과 잠자리를 가진 후, 팬들에게 자신의 얼굴을 보여준다.","lastmod":"2025-08-31","duration":"33:27","url":"/play/19118802.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNzg4MTlmZTc4ODZlODgxYjkyNTY4NTQ2N2QyM2I3OTEuanBn.cache","vod_id":19145888,"title":"서로 다른 외모를 가진 중국 미녀들의 실제 유출 사진 모음과, 다양한 여신들이 거대한 남성 성기에 의해 성행위를 당하는 음란한 장면들이 담겨 있습니다.","lastmod":"2026-04-22","duration":"25:03","url":"/play/19145888.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=/`;
}
};
}