Cô gái trẻ ngực khủng hẹn hò với cô gái trẻ ngực khủng tại khách sạn","lastmod":"2026-07-11","duration":"17:48","url":"/play/19166680.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MjQvNjQ2ZTU2OGY1ODlkZjkxZWM0NjA3NGFkZTcyYWFkZDkuanBn.cache","vod_id":19034995,"title":"FPRE049 Cô gái thân thiện và đáng yêu này đến từ câu lạc bộ bóng bàn là một cô gái có thân hình đầy đặn và nhiều lông, cô ấy muốn quan hệ tình dục sau giờ học.","lastmod":"2025-05-24","duration":"02:33:29","url":"/play/19034995.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTk2YzgwZDk4NDBjMDZlNzQ4NGVlMWY5MjlmYWRjNTQuanBn.cache","vod_id":18983301,"title":"Pacopacomama Pacopacomama 082923_902 Cả căng thẳng và ham muốn tình dục đều đạt đến đỉnh điểm, trưởng bộ phận nữ Inoue Ayako","lastmod":"2025-12-14","duration":"00:58:11","url":"/play/18983301.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MDUvNzI4OGNiZTM1MzdjMzM0ZWFjOGQxYzE3NTE2ZmNiOTMuanBn.cache","vod_id":19027758,"title":"Tôi đã xuất tinh nhiều lần vào bên trong người sếp nữ ngực khủng của tôi, Kiritani Mari, trong một chuyến công tác, bằng tư thế cưỡi ngựa. Kiritani Mari MEYD-630-C.","lastmod":"2025-04-05","duration":"01:57:07","url":"/play/19027758.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDAzN2YyZTk3YTA5OWNhMjRlMTZiMmNkNjJlZTI0YTEuanBn.cache","vod_id":19021145,"title":"[Ảnh cá nhân] Chào mọi người! 1","lastmod":"2025-03-24","duration":"23:50","url":"/play/19021145.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MTcvODU1NGExMjg0YjhkNmQzMzQ2ZTJkYTczZDE2YmUxZTEuanBn.cache","vod_id":19052989,"title":"MADV568 [4K] Sếp tôi là một phụ nữ xinh đẹp, quyến rũ, thuộc tầng lớp thượng lưu, nổi tiếng với việc tuyển dụng nhân viên mới để cung cấp dịch vụ tình dục trong công việc mới của cô ấy... Cô ta là một gái điếm mặc bộ đồ bó sát toàn thân trong suốt.","lastmod":"2025-09-16","duration":"01:58:43","url":"/play/19052989.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2Q1NTQxMTczOTMxOGY2YmI2YzE0MWNhM2VkZjBlMzIuanBn.cache","vod_id":18975329,"title":"Vụ việc liên quan đến nhân viên của Southern Power Grid: Một nữ nhân viên có thân hình đầy đặn, quyến rũ của doanh nghiệp nhà nước bị cáo buộc bị quay video khiếm nhã trong quá trình \"huấn luyện\" bởi sếp của mình để được thăng chức. Một người phụ nữ thực sự kỳ lạ và trái ngược!","lastmod":"2025-12-14","duration":"00:23:08","url":"/play/18975329.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYWMzMzY3ZGI2ZmQ3YmJmZDYzYmY0N2EzNDJiMmQzNWEuanBn.cache","vod_id":19024731,"title":"MIFD241C Sau khi cô gái mới cởi bỏ quần áo, cô ấy sở hữu vòng eo hoàn hảo và vòng ngực cỡ G. Cô trợ lý nha khoa lai Nhật Bản dễ thương với vòng ngực lớn ra mắt phim người lớn.","lastmod":"2025-03-24","duration":"02:26:12","url":"/play/19024731.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNGI1ZmNmMDkzMTkyY2M3NWM5OTBlOGZmZmZiNmUyNTkuanBn.cache","vod_id":18973994,"title":"200GANA-1725 Siêu mềm, lần đầu tiên chụp ảnh. 1106 (Nanami Takanami)","lastmod":"2025-12-14","duration":"01:06:47","url":"/play/18973994.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZmM5MmViZDY2Yzg1OTZjOTU2YzJiZDBjMDAyN2NiYjMuanBn.cache","vod_id":19154017,"title":"Một bên mặt cô vùi vào bộ ngực đồ sộ không tay áo, trong khi bên còn lại liên tục bị liếm núm vú. Các nữ diễn viên tham gia bao gồm Umi Oikawa, Nene Tanaka và Minaho Ariga.","lastmod":"2026-04-18","duration":"01:45:52","url":"/play/19154017.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOTdmOWFjYzU0NTNhNGQxNjkyNTJmMWEyZWVmMDcwMjIuanBn.cache","vod_id":19137152,"title":"Chăm sóc sức khỏe vòng một lớn với áo ngực cỡ J-Cup Minori Ozaki ONSG-095","lastmod":"2026-01-07","duration":"02:09:13","url":"/play/19137152.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZmNmYjIyZDMxOTRjYjBkMWRjYmZiM2I4ODAxYzRhZjAuanBn.cache","vod_id":19149916,"title":"Lần đầu tiên quay phim tài liệu về những người vợ ở độ tuổi năm mươi JRZE-277","lastmod":"2026-03-24","duration":"01:58:19","url":"/play/19149916.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOWZhNWM3YjBkZjQzNTZiZjQ2ZDk2YjQ4MjRjMjYzOGUuanBn.cache","vod_id":19019712,"title":"JAC012 Thân hình hoàn hảo × Xuất tinh không kiểm soát!! Thân hình hoang dã và tuyệt vời, vòng một cỡ H quyến rũ!!","lastmod":"2025-03-24","duration":"01:29:52","url":"/play/19019712.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MTEvMTFkOGM4NDBjNDM3MTgzY2RhZDk1ZjkwOGFkMTFhYjUuanBn.cache","vod_id":19028753,"title":"Không thể thỏa mãn ham muốn của mình thông qua các buổi chụp ảnh, khao khát xem phim người lớn của cô trở nên không thể kiểm soát và ham muốn của cô bùng nổ! Miyu Hisasu MOGI-050-C.","lastmod":"2025-04-11","duration":"02:14:42","url":"/play/19028753.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmFiYzExNTAyOTkzMWYyMzEyNmI1NTA3OTk4MTMwNDIuanBn.cache","vod_id":18942879,"title":"[Phụ đề tiếng Trung] JRZD-929 Phim tài liệu đầu tiên thực hiện với phụ nữ đã kết hôn - Mai Kato","lastmod":"2025-12-14","duration":"02:12:34","url":"/play/18942879.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjE2OTY0ZTZjNzBkYWY4ZjEyMWI4OGY4YTgyNTA4YWQuanBn.cache","vod_id":18967214,"title":"[Không kiểm duyệt và đã bẻ khóa] IPX-005 Khách quen cực kỳ đông! Quán bar được đồn đại là nơi bạn có thể quan hệ tình dục thật sự! Tận hưởng trọn vẹn vẻ đẹp của cô nàng ngực khủng! Kana Momogi","lastmod":"2025-03-22","duration":"01:58:35","url":"/play/18967214.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2IwY2I0MGYzMDhjMDA5ZDgwMzRhNDdlNDgwZjgyMzcuanBn.cache","vod_id":18975317,"title":"529STCV-224 [Da trắng × Ngực khủng × Ngoại hình quyến rũ] Một thân hình gợi cảm hoàn hảo, đủ để chinh phục trái tim bất kỳ người đàn ông nào, khiến bạn muốn nhiều hơn nữa! Ngực khủng và những màn quan hệ mãnh liệt sẽ đưa bạn đắm chìm trong trải nghiệm, dẫn đến nhiều cực khoái.","lastmod":"2025-12-14","duration":"01:19:54","url":"/play/18975317.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMzI5NGY1ODJjZjNjMDc3YTBiNjhhM2FmOGJkM2E4NmIuanBn.cache","vod_id":19154275,"title":"Gã đàn ông biến thái quan hệ tình dục không an toàn với một cô gái trẻ xinh đẹp, tóc xoăn, ngực khủng cỡ 36D.","lastmod":"2026-04-20","duration":"52:18","url":"/play/19154275.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9pYy4xNTUyNTAyMTQudG9wLzIwMjYwMjI1L3Y2czRScVVZLzEuanBn.cache","vod_id":19145467,"title":"Âm đạo của tôi có thể dùng làm đồ chơi tình dục! Trong khi bố mẹ tôi đi du lịch, người chị họ ngực bự của bạn tôi đã xâm phạm không gian riêng của tôi trong bốn ngày, tận hưởng việc xâm nhập và quan hệ tình dục. (MIDA-442)","lastmod":"2026-02-26","duration":"01:59:43","url":"/play/19145467.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MDgvNzY2NGU1NmM3NzIwZTgzYzgwNDZlZGFhYWZhOTlhYzEuanBn.cache","vod_id":19051656,"title":"Mất trinh, mang thai, xuất tinh vào bên trong 50 cô gái, sự kiện đặc biệt kéo dài 4 giờ. Diễn viên không rõ danh tính BDSR532","lastmod":"2025-09-07","duration":"04:00:19","url":"/play/19051656.html"}]},
videoTitle: 'KAMEF-028 Sách ảnh cá nhân Chụp ảnh cosplay đặc biệt Ayako (25) Tệp BLACK KAMEKO của Machida Lens.28 Màn trình diễn giờ vàng Ngực lớn',
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=/`;
}
};
}