~Một góc phố ở Hàn Quốc~ \"Muốn thử massage miễn phí không?\" Khi tôi tán tỉnh một cô gái Hàn Quốc xinh đẹp, cô ấy lại bất ngờ gợi cảm... một kẻ biến thái ngầm. (Isuu MBM)","lastmod":"2026-07-11","duration":"","url":"/play/19267649.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvODY2MzY0Nzc4OTM0MThiYWFhNzAzMTc4ODZjZTFjNWUuanBn.cache","vod_id":19260236,"title":"Người mới Mao Mio, 33 tuổi, được miêu tả là \"thuần khiết, gợi cảm và xinh đẹp\". Cuối cùng tôi cũng đã gặp được một người phụ nữ đã kết hôn thực sự. (Mio Mao, Goro Ryuike)","lastmod":"2026-05-23","duration":"2:34:15","url":"/play/19260236.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDJkMDY4NWNjZWFkYTRiMTQ3ODc0MTMyYjVlOGZiZjAuanBn.cache","vod_id":19048569,"title":"CAWD-061 Cô ấy có khuôn mặt trẻ trung nhưng lại vô cùng quyến rũ! Tôi tham gia đóng phim AV vì muốn trải nghiệm những cảnh sex thô bạo, hỗn loạn như trong phim hoạt hình khiêu dâm.","lastmod":"2025-03-29","duration":"2:48:17","url":"/play/19048569.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGU2NzJiYTBiOTU1M2NjOTc3Njc1ZWY0MjU0N2YxNWIuanBn.cache","vod_id":19035481,"title":"UNTB-210 Hai chị dâu bất ngờ xuất hiện vô cùng quyến rũ.","lastmod":"2025-03-28","duration":"3:07:06","url":"/play/19035481.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNjUyNjAwNzMyZGFjMDk1MGM1ZmUxNTAwY2RkYWM4ZWIuanBn.cache","vod_id":19089682,"title":"Mẹ kế xinh đẹp, chín chắn của tôi đã tặng tôi món quà này nhân dịp tốt nghiệp!","lastmod":"2025-03-29","duration":"2:00:56","url":"/play/19089682.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzYyMjZmMDIzYTBmZWFjNmY2YzIzOWZjNmU3NWY2ZjUuanBn.cache","vod_id":19140415,"title":"Trải nghiệm spa massage gợi cảm đầu tiên của Umina","lastmod":"2025-03-29","duration":"0:08:05","url":"/play/19140415.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYTQyNGFjNWM3MWE3ZDVkMWFlNmVkNDliOWNhYTkyNTAuanBn.cache","vod_id":19256398,"title":"Ứng dụng tẩy não khiêu dâm: Fujii Rila, Minami Tsukihime, Nanatsu Renmi ROCKET","lastmod":"2026-04-30","duration":"2:00:35","url":"/play/19256398.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDZiOTgzNzgzNDhlYzA0Yjk0YmFjODM1MmFlZDM3YmMuanBn.cache","vod_id":19153631,"title":"VENX-271 Một người con trai bị ám ảnh bởi bộ ngực lớn lại bị thu hút bởi dương vật trưởng thành của mẹ kế.","lastmod":"2025-03-30","duration":"1:42:06","url":"/play/19153631.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMTIxYTgyMzBhNTI4YzZiZDk5ZDg3N2Q4MmQwMTQyYzMuanBn.cache","vod_id":19147824,"title":"Một cô gái tóc vàng, vẻ ngoài ngây thơ, sinh vào những năm 2000, đang khỏa thân một mình ở nhà một cách quyến rũ. Cô ấy xoa bóp bộ ngực trắng mịn, dang rộng hai chân và tạo dáng với vòng ba nhô cao một cách gợi cảm ở cự ly gần.","lastmod":"2025-03-30","duration":"0:34:26","url":"/play/19147824.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvODc4ZDU1ZmRlZmY2ZjVmMDMzZmY5MzIxNzU5OTQ2ZDAuanBn.cache","vod_id":19245243,"title":"Ngày Valentine Hồng - Hôm nay mình là một nữ sinh dễ thương với mái tóc tết bím.","lastmod":"2026-02-17","duration":"0:15:25","url":"/play/19245243.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGU5M2MxNTJhYzA5OWExYzc0OTg1NDAwMmNkMmFmYWEuanBn.cache","vod_id":19061776,"title":"326URA-003 [Tự chụp] Kanan (24 tuổi) trông giống Mochi trong phim E.T.! Và con nhỏ ngực khủng này đúng là thiên tài, haha. Cô ta đăng ảnh tự sướng khiêu dâm lên mạng, nên nếu bạn nhắn tin cho cô ta, bạn sẽ bị bắt quả tang ngay lập tức, haha. Nhìn vẻ ngoài bình thường thì chẳng ai đoán được cô ta là gái hư, nhưng cô ta dễ đạt cực khoái và không ngại bị quan hệ tình dục hay quay phim, haha.","lastmod":"2025-03-29","duration":"1:09:26","url":"/play/19061776.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYTA4NDNmNjNmZGJiMWY0NWEwZjIyMGYyOWNhYmYyZDIuanBn.cache","vod_id":19243257,"title":"Quan hệ tình dục bằng miệng, quan hệ tình dục bằng miệng và quan hệ tình dục kiểu doggy với một cô gái tóc vàng xinh đẹp với bộ ngực tự nhiên to [Hansel Grettel].","lastmod":"2026-02-05","duration":"0:14:14","url":"/play/19243257.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MTgvZWIyNjAwZjYwOTNlMmY5ZGM1YzIzZjI3YzUzOWU4ODMuanBn.cache","vod_id":19197956,"title":"[Bài học tán tỉnh] Một cô gái nước ngoài xinh đẹp trở về sẽ chỉ cho bạn cách đúng để tán tỉnh các cô gái tóc vàng ngoại quốc!","lastmod":"2025-04-18","duration":"","url":"/play/19197956.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTI0NzBlMDBhM2E5NTcwODMxYjYyMTQ4MzExZTZhNGMuanBn.cache","vod_id":19121797,"title":"Họ đã mời một người phụ nữ xinh đẹp đến biểu diễn những màn trình diễn gợi cảm trên livestream!","lastmod":"2025-03-29","duration":"1:37:01","url":"/play/19121797.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MTEvNTVlMDgyNjk4NGFiZWVmMmJhNTQ2OGUwMGU4ZWEzYWYuanBn.cache","vod_id":19263122,"title":"WebCutieAdriaRae đã bắt được Kimmy và loại cô ấy chỉ bằng một cú chạm. [WebYoung]","lastmod":"2026-06-10","duration":"0:07:56","url":"/play/19263122.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMTcvMDlhNzBhMjY5MTdiOGJiZDdjYjcwOTMxNjkyNWVmOGQuanBn.cache","vod_id":19226721,"title":"Một nữ sinh viên thể thao xinh đẹp của trường đại học sử dụng thân hình săn chắc và kỹ năng gợi cảm của mình để khiến bạn xuất tinh và giành giải thưởng! Một loạt các nữ diễn viên vô danh liên tục xuất hiện trong tinh dịch. SKMJ560","lastmod":"2025-10-16","duration":"3:34:13","url":"/play/19226721.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzg0M2Y2Y2I5NWQ1ZjQ5ZDNkYTVlZDBjMzA3NTdiMzguanBn.cache","vod_id":19030646,"title":"RBD-221 Ayase Tiara, một người mẹ kế nô lệ ngập tràn dịch tiết tình dục, một người vợ trẻ.","lastmod":"2025-03-28","duration":"1:55:37","url":"/play/19030646.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzU5ODM2YTlmZTgzNzhmODI4MGJkYTFmMjVlM2JlZTQuanBn.cache","vod_id":19188471,"title":"Niềm vui của massage gợi cảm.","lastmod":"2025-03-30","duration":"0:20:56","url":"/play/19188471.html"}]},
videoTitle: 'Mẹ dâm đãng - Bà mẹ kế tóc vàng nóng bỏng và ngực khủng Alix Lynx bắt gặp con trai riêng đang xem phim khiêu dâm [Mẹ dâm đãng]',
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=/`;
}
};
}