Lần đầu tiên cởi bỏ mặt nạ, lần đầu tiên quay phim, đầy rẫy lý do ngoại tình, 10 người phụ nữ trưởng thành xinh đẹp, không dùng bao cao su, xuất tinh ~Tuyển chọn từ một trang web phát video trực tuyến nổi tiếng~ Edo-EDO","lastmod":"2026-07-11","duration":"03:59:58","url":"/play/19166624.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MDcvMjA4ZDFjMTEyYzZjYjgzNWU3ODViMjYwNDkxMmJhNWQuanBn.cache","vod_id":19028270,"title":"Nữ thần ngực khủng Yo●Tu●e●, người vừa được gỡ lệnh cấm, lần đầu tiên quan hệ tình dục trước ống kính. Hẹn gặp lại ngày mai, MIDV-249-C tương lai.","lastmod":"2025-04-07","duration":"02:37:11","url":"/play/19028270.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTFkYWIzZDkzNTYyMDEwNWRkMWM0ZTVmMWUzNDQ4YmIuanBn.cache","vod_id":19006028,"title":"[HD tiếng Trung] Quan hệ tình dục thâm nhập và xuyên thấu, chồng ngoại tình, vợ bị cưỡng hiếp tập thể.","lastmod":"2025-03-24","duration":"02:05:16","url":"/play/19006028.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOWFlMDdlZWMxZTQwMmUwZTkxY2FlOThjMDc1NzVhNGEuanBn.cache","vod_id":18992932,"title":"KBI-014 Cô giáo năng động Natsume Sayuri, 37 tuổi, Ngoại tình của người phụ nữ đã kết hôn tại suối nước nóng 1","lastmod":"2025-12-14","duration":"02:59:59","url":"/play/18992932.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOGZmMzM3ZDg1YzljMDA0ZmY5MTg4NDMwZmQwMDYyZGUuanBn.cache","vod_id":19013049,"title":"KBI026 có mối quan hệ bất chính kéo dài vô tận với một nữ y tá xinh đẹp, dẫn đến việc thụ tinh trong hai ngày liên tiếp. Anh ta cũng quan hệ tình dục với Kanzaki Mai 20 lần liên tiếp (loạn luân).","lastmod":"2025-03-24","duration":"03:04:18","url":"/play/19013049.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTJkMjFmOTFlNzU3NDE5Yzc1YTMyNmIwM2I5YmVhNmMuanBn.cache","vod_id":18948185,"title":"HND-090 Này? Cùng nhau \"làm chuyện ấy\" ở trường nhé, Nanase Otoha!","lastmod":"2025-03-22","duration":"01:57:32","url":"/play/18948185.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMTQvZDMyMjZlZDU3Mzk1MzRmMTg2NGQzZmNkZjBkNmJhM2EuanBn.cache","vod_id":19062519,"title":"Mông Nhỏ Chưa Sử Dụng, Lòng Thương Xót, Xuất Tinh, Thụt Rửa Hậu Môn, Xịt Xịt & Xâm Nhập Kép để Mở Rộng và Khiến Nàng La Lên Trời! Vẻ Đẹp Hậu Môn Haruka Ikeuchi Haruka FSBK_001","lastmod":"2025-12-14","duration":"02:19:05","url":"/play/19062519.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTE5MGMwNzdhNTcyYjVjM2E4MWM4ZjAwMjk3MDlmMjYuanBn.cache","vod_id":18972534,"title":"FANH-156 Luka-chan, một cô gái lẳng lơ 20 tuổi sinh ra ở Okinawa. Một nữ sinh viên đại học da nâu tự nhiên, thân hình đầy đặn, đang quan hệ tình dục bằng cách cọ xát niêm mạc. Một nữ sinh năm hai da ngăm đen mặc đồng phục có tinh dịch trắng sữa bên trong âm đạo. Quan hệ tay ba với xuất tinh bên trong.","lastmod":"2025-03-23","duration":"01:55:07","url":"/play/18972534.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTZlYjNkMmM5YjdlMWQ0ZTFiYWFjNjZlZTc3YWUzYWIuanBn.cache","vod_id":18963340,"title":"91 Hookup Guru CDN8089 Căn hộ riêng: Một nữ tiếp viên hàng không xinh đẹp, vừa tan ca, đã bị tấn công dã man trên giường mà chưa kịp thay đồng phục. Họ quan hệ tình dục mãnh liệt, khuôn mặt cô hoàn toàn trần trụi, và hắn ta xuất tinh vào bên trong cô.","lastmod":"2025-03-22","duration":"00:28:23","url":"/play/18963340.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MDcvN2FhNGZkZDUwNGNjNjcyMmMzOTA3NzU3Nzg0NmUyZWQuanBn.cache","vod_id":19041816,"title":"Carib-081723-001-FHD-180 phút thâm nhập liên tục ~ Cảm giác tê tê không thể cưỡng lại! Xuất tinh liên tục vào âm đạo nổi tiếng khao khát khoái lạc! ~Phần 1~ Rion","lastmod":"2025-07-06","duration":"01:33:40","url":"/play/19041816.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MjIvN2VhZmJhMDU1Y2MyNzM2Y2FjODNiODYxNDZlNzVmYTUuanBn.cache","vod_id":19034657,"title":"EBWH011 Phòng Homecoming Comiket NTR Khách sạn tình yêu Cho thuê đóng vai Mặc trang phục cô gái thỏ ngược, Bị bạn tấn công và ngoại tình, và xuất tinh","lastmod":"2025-05-22","duration":"02:26:09","url":"/play/19034657.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMGU0YTE1NTdiZGIyZDc4ZmE2OWJkYmY4ZDEyNjRhOTguanBn.cache","vod_id":19027156,"title":"[Cấp độ 3] \"Vợ yêu của tôi không có nhà\"","lastmod":"2025-03-30","duration":"01:09:21","url":"/play/19027156.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvY2RhYzA4ODc0NWI2ZTRjNTdjYTM1YjI3N2VmMGE5MzYuanBn.cache","vod_id":19143849,"title":"Chuyến đi cắm trại ba ngày hai đêm; cuộc họp làng; vợ bị nhiều người đàn ông lớn tuổi xâm hại tình dục; NSFS-426","lastmod":"2026-02-17","duration":"02:19:43","url":"/play/19143849.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjE1ZTRmMTQzOWEyYzg4NTA2OTczMzRiMjJhZGU5YjguanBn.cache","vod_id":18989884,"title":"BIJN-170 Thân thể kích thích của một phụ nữ đã ly hôn, người đẹp cao ráo, mảnh mai, làm việc văn phòng, trải nghiệm cực khoái mãnh liệt trong khi quan hệ tình dục - Umizu Saki","lastmod":"2025-03-23","duration":"01:51:44","url":"/play/18989884.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2E2NmVjNzUyMjY3OTY3MTFmNDllNjYzMjk2Y2UyN2YuanBn.cache","vod_id":18988095,"title":"OKB-077 Cô Gái Mập Mụ Mông To Mặc Quần Bó Hoa Tuyệt Vời Aoi Rena Một cô bé loli dễ thương và một cô gái mũm mĩm mặc quần bó sát và đồ tập thể dục, với những cảnh quay cận cảnh cực kỳ chi tiết cho thấy quần lót, vùng kín ướt đẫm mồ hôi và thậm chí cả lỗ chân lông! Thêm vào đó là cảnh quan hệ tình dục qua đường hậu môn, tiểu tiện lên quần áo, xuất tinh lên quần bó sát, xuất tinh trực tiếp và nhiều hơn nữa - một bộ phim AV hoàn chỉnh dành cho những người yêu thích quần bó sát.","lastmod":"2025-03-23","duration":"01:32:42","url":"/play/18988095.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2QyNGM1ZjA3ZTViMWYzNDMyZjEyNTJlOWI4NDZhYzEuanBn.cache","vod_id":18924350,"title":"Nữ hoàng gợi cảm ngoài trời, 'Hoa hậu Yezi,' đã ân ái nồng nhiệt với người yêu cho đến khi anh ta đạt cực khoái, thậm chí còn cởi bỏ mặt nạ và quan hệ tình dục không an toàn. Phiên bản độ phân giải cao 720P.","lastmod":"2025-12-14","duration":"00:27:06","url":"/play/18924350.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MTQvZDZiMTU4ZjZlZTYzNWUzMDdjNTUzODk2NmQ5NzJmYzguanBn.cache","vod_id":19038166,"title":"MIDV551 Cô giáo ngực khủng, không hề hay biết chuyện gì sắp xảy ra, đã bị cưỡng hiếp tập thể và bị bắn tinh dịch 17 lần trong nhà vệ sinh.","lastmod":"2025-06-14","duration":"01:59:53","url":"/play/19038166.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTM1MjY2ZDUyMTJiMjBkODJkZmI4Zjc1YWE4ZDBlY2IuanBn.cache","vod_id":18970424,"title":"TPIN-054 Khi ở nhà một mình... một người anh trai và một người em gái, cả hai đều còn trinh, thành tâm cầu xin người chị gái: \"Cho em quan hệ tình dục với anh!!\"","lastmod":"2025-12-14","duration":"01:55:21","url":"/play/18970424.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmJjMTBkNzhjNmQxNDUzZjZiZWRkMDM1NjE0YWM1YTMuanBn.cache","vod_id":19005231,"title":"JUQ-323-C Trong năm ngày chồng tôi đi vắng, tôi bị yêu cầu phải kiêng cữ tình dục cho đến đêm tân hôn, trong khi bố chồng tôi, một người ham muốn tình dục mãnh liệt, đã \"huấn luyện\" tôi về thể xác và tinh thần. Tôi không muốn làm vậy.","lastmod":"2025-03-23","duration":"01:57:28","url":"/play/19005231.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTY3ZmZhNzg0NTUyNDUyYjNjM2Q0NDc4Nzg1ZGY5MjMuanBn.cache","vod_id":18968844,"title":"FC2PPV 3245878 Một người vợ Nga xinh đẹp đang mang thai và cần tiền để nuôi con, vì vậy tôi đã đến nhà cô ấy và để cô ấy bế tôi trước mặt chồng cô ấy. [Giảm giá xuống còn 4_7]","lastmod":"2025-03-23","duration":"01:21:03","url":"/play/18968844.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MDgvNWNiNGJiNmE1NTVmNWE5NDc2MjQ3ZmViNDEyOTliYzEuanBn.cache","vod_id":19041992,"title":"Huấn luyện một con chó cái 95 tuổi tham gia vào một buổi quan hệ tình dục ba người bao gồm kẹp núm vú, thâm nhập từ phía trước và phía sau, và bóp cổ để đạt cực khoái.","lastmod":"2025-07-07","duration":"36:25","url":"/play/19041992.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvY2Q2MGRjNTMwNzNhNzBjNzY1NTNjMTA1ZTQxOWRiYzUuanBn.cache","vod_id":19064929,"title":"Một người phụ nữ đã kết hôn có được chìa khóa dự phòng, và căn hộ riêng của cô ấy, nơi cô ấy quan hệ tình dục với một nam sinh viên cho đến khi tốt nghiệp. (Mukai Ai JUQ-618)","lastmod":"2025-12-14","duration":"02:30:54","url":"/play/19064929.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MDUvNDUzNmY5N2QyODhjY2QxYWE5ZDlmZTIzNDZmZmNhMDcuanBn.cache","vod_id":19050182,"title":"CLUB864 cấm đụng chạm, nhưng khi bạn nhìn thấy dương vật to, bạn có thể bí mật lựa chọn quan hệ tình dục nguyên thủy và xuất tinh liên tục tại một tiệm massage dành cho nam giới mang thai và phụ nữ đã kết hôn.","lastmod":"2025-09-04","duration":"03:56:06","url":"/play/19050182.html"}]},
videoTitle: 'Vụ ngoại tình của PTA: Tôi, người bị bỏ rơi ở nhà, đã tìm thấy một mái ấm mới. ROE-436',
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=/`;
}
};
}