Một cô gái ngoan ngoãn với thân hình tuyệt vời cho phép gã đàn ông xoa ngực và quan hệ tình dục với cô ấy.","lastmod":"2026-07-11","duration":"29:17","url":"/play/19117365.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYmNiYTRjMjNhMjJhYTU2ZmI1MWY3YjhjNzk0OTU1ZjEuanBn.cache","vod_id":18990242,"title":"Nữ thần nổi tiếng và người bạn thân nhất của cô ấy tham gia vào một cuộc gặp gỡ 4 người; một cảnh tượng hiếm có và không thể bỏ lỡ!","lastmod":"2025-03-19","duration":"48:03","url":"/play/18990242.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MjcvNGY5MmUxYjBkZmU5NzM0YTI3YTA4NDYxOGM0ODE4NDMuanBn.cache","vod_id":19113931,"title":"Cô gái tóc ngắn, ngực khủng, cực kỳ dễ thương đang tự sướng #Live1","lastmod":"2025-07-27","duration":"03:49","url":"/play/19113931.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNWFmZTMyOTk2YTM1OGE0Yjc2YzU4NDZiMzk3NzdjNjYuanBn.cache","vod_id":19083596,"title":"Hình mẫu người mẫu, hai người phụ nữ xinh đẹp tuyệt trần đầy quyến rũ.","lastmod":"2025-03-19","duration":"00:00:35","url":"/play/19083596.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOGYwNjdkZmZlMjJjZWU2OTJhMzYwOTlhZjdkOWFkMWIuanBn.cache","vod_id":19001930,"title":"Một người phụ nữ đã kết hôn, thích ăn dương vật, chụp ảnh tự sướng trong lúc ngoại tình, tận hưởng hương vị của dương vật với đôi mắt nhắm nghiền.","lastmod":"2025-03-19","duration":"16:28","url":"/play/19001930.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MjMvMThkYTEzOWQwMmRmNGI3ZjBhYTNiNmQ5MDgwMWY3NjQuanBn.cache","vod_id":19105773,"title":"Người phụ nữ mới cưới, một người phụ nữ có lối sống phóng túng, đã quan hệ tình dục với người đàn ông béo.","lastmod":"2025-05-23","duration":"50:36","url":"/play/19105773.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MjMvM2U1ZTFkMzZjMmQ5NDdjM2Q2MmFkZjE5YWM3Njc2NzcuanBn.cache","vod_id":19113478,"title":"Thợ làm đẹp hàng đầu tại câu lạc bộ SPA với thân hình tuyệt vời, dịch vụ gái gọi tại khách sạn, không dùng bao cao su, xuất tinh bên trong, xuống dưới","lastmod":"2025-07-23","duration":"24:36","url":"/play/19113478.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvN2YyOTFlZDY1NmM3MzIyMzg4N2EyNjE1YjY5MWI1YjAuanBn.cache","vod_id":19088217,"title":"Người phụ nữ đã kết hôn hoàn hảo phải trải qua những cuộc ái ân mãnh liệt, đầy dục vọng, đạt cực khoái nhiều lần và tiết dịch âm đạo liên tục.","lastmod":"2025-03-19","duration":"00:00:34","url":"/play/19088217.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjdmOTNlMGMwZjVmMzMyZWJlYzNjZTY0YmRlZGFlMGIuanBn.cache","vod_id":19016536,"title":"Bom nguyên tử! Người mẫu trẻ đẹp của Thành Đô! [KK của bạn] uốn éo vòng eo nhỏ nhắn tinh tế! _2.","lastmod":"2025-03-19","duration":"02:04:34","url":"/play/19016536.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjIzNTFhZTQxMTAyNWY2ZGQ5ZWE1MmQyMmE2MzgxMTMuanBn.cache","vod_id":19062329,"title":"Nút bịt hậu môn hình đuôi cáo trắng, người đẹp châu Á da trắng, phụ nữ trẻ đã kết hôn, xuất tinh bên trong, mông to gợi cảm.","lastmod":"2025-03-19","duration":"24:11","url":"/play/19062329.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MDQvYTk4OTdhODY1YjVkMWNmZTk3OWI3NzhiNmE0NDE3MjMuanBn.cache","vod_id":19119166,"title":"Gái điếm hàng đầu Đài Loan đeo kính! Lỗ hậu môn hổ trắng! Ngực khủng và mông căng tròn, cực kỳ dâm đãng, đang cọ xát vào dương vật giả.","lastmod":"2025-09-04","duration":"09:13","url":"/play/19119166.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MTEvMTNiM2MzMTA4YzhhMjQ1NWZiNjM2NzFhNzQ0ZmVhYWIuanBn.cache","vod_id":19150447,"title":"Những Yêu Cầu Điên Rồ Của Bà Nội Trợ Làm Bánh Trái Cây XVSR-287","lastmod":"2026-06-11","duration":"12:25","url":"/play/19150447.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMTgvM2NlZjU3M2VjYmQ2NzM0YjI5MjdjMmFkYTY3OWQyOTAuanBn.cache","vod_id":19125267,"title":"Vẻ đẹp tuyệt trần, không lông, ngực trắng, săn chắc và quyến rũ, đạt cực khoái trong quá trình giao hợp.","lastmod":"2025-10-18","duration":"16:10","url":"/play/19125267.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjI2ODBkZWMzMzA1OTQ0MThkMjgxMTkyMDRkY2ZlOWQuanBn.cache","vod_id":18954322,"title":"MVSD-551 Một cô vợ trẻ kiêm thợ làm tóc tại một tiệm làm tóc tại gia đã phải lòng gã hàng xóm nghèo rách mạt, bẩn thỉu với dương vật to lớn.","lastmod":"2025-03-19","duration":"02:00:58","url":"/play/18954322.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvMzg0NTYwMzY0YzJlYTcwMjM5ZmVlNTlhOWQ3MDgzMGYuanBn.cache","vod_id":19149242,"title":"Một người vợ bị cắm sừng, ngoại tình, cặp kè với một người đàn ông giàu có để quan hệ tình dục trong xe hơi, quan hệ tình dục hoang dã, quan hệ tình dục bằng miệng, và được anh ta lấp đầy miệng.","lastmod":"2026-05-29","duration":"16:28","url":"/play/19149242.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYWQ4OWNjZTNkYzU3YTBlNWZmMGM0MGU1YjFhY2YwMTYuanBn.cache","vod_id":19147375,"title":"Người đàn ông xếp thứ ba đã mời một cô gái mặc quần jeans cùng hút thuốc trước khi quan hệ tình dục, bao gồm cả những cảnh quay cận cảnh quan hệ tình dục bằng miệng, dạng chân cô ấy ra và liếm âm hộ, khiến cô ấy đau bụng.","lastmod":"2026-05-10","duration":"32:22","url":"/play/19147375.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODBiNDY4Y2I4NmMxZDk5MjFhZjg5OWIxOGViOTcxYmMuanBn.cache","vod_id":19021244,"title":"Bộ sưu tập \"Hoa hạng Ba\" - những mỹ nhân quyến rũ được các nhà tắm công cộng gọi là \"Hoa hạng Ba\".","lastmod":"2025-03-19","duration":"40:36","url":"/play/19021244.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTM0M2NmODQ4NWUyYzkyNDRjYzgxNWIxZjY3MmI5M2QuanBn.cache","vod_id":19040323,"title":"YMDD-327 Tin đồn: Chuyến công tác của một phụ nữ đã kết hôn. Một cách quyến rũ đàn ông đầy trưởng thành. Vòng ba ngoại cỡ và quần bó sát chứa đầy pheromone! Gửi người yêu dấu của tôi","lastmod":"2025-03-19","duration":"02:02:13","url":"/play/19040323.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWI4MjZjYmZlMzQxYjljYTJjNDhhMzNkODlkMTZiOWEuanBn.cache","vod_id":19007110,"title":"Feifeibebe, một nữ sinh viên đại học xinh đẹp tuyệt trần, tham gia vào một cuộc thác loạn ba người với các anh trai của mình. Cô bị quấn chặt phía trước, bị quan hệ tình dục từ phía sau và bị nhiều người đàn ông cưỡng hiếp cho đến khi âm đạo tiết ra vô số dịch. Khuôn mặt được phơi bày hoàn hảo. Phiên bản độ phân giải cao 960p.","lastmod":"2025-03-19","duration":"17:03","url":"/play/19007110.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZWNmNjBjZDIyY2ZmZmRiMDYzOTkxY2Y0ODJkZTljYmYuanBn.cache","vod_id":18931685,"title":"Thuần hóa cô bạn gái với sự tương phản cực độ! 1","lastmod":"2025-03-19","duration":"02:07","url":"/play/18931685.html"}]},
videoTitle: 'Học giả xuất sắc, quan hệ tình dục trên ghế sofa với một người phụ nữ đã kết hôn tốt bụ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=/`;
}
};
}