Ảnh tự sướng riêng tư khi quan hệ tình dục của nữ sinh trung học ngực khủng và bạn trai","lastmod":"2026-07-11","duration":"21:28","url":"/play/19166860.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNThhYjc4ZDg4YTI5Mzk3ZTkyNDNlNmUwNmViNjI4MzkuanBn.cache","vod_id":18993468,"title":"MXGS-1107 Một người vợ xinh đẹp, ngây thơ và thanh lịch bị ông chủ của chồng quyến rũ và trở thành nô lệ tình dục của hắn. Kana Abe 1","lastmod":"2025-12-14","duration":"01:47:22","url":"/play/18993468.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDk5MmRiYWI0Mjk0OTZkMThlOTRhMDFhNTFiZDZiMDguanBn.cache","vod_id":18961748,"title":"PPPD-681 Cô nàng huyền thoại ngực khủng trong bồn tắm bong bóng từ Kinjinen, người đã chờ đợi suốt một năm, cuối cùng cũng ra mắt trong ngành phim người lớn!! Rika Komiyama","lastmod":"2025-03-22","duration":"02:00:13","url":"/play/18961748.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTk3OWFiYzFhNTI4Mzk2MzgzMmM4MjMyNjNhODJjNDEuanBn.cache","vod_id":18959584,"title":"Một cô gái trẻ lẳng lơ trong bộ đồ lót và tất đen hở hang được quay phim, âm đạo của cô ta bị một chiếc dùi cui có gai đâm xuyên và tàn phá nhanh chóng, khiến âm đạo cô ta run lên vì khoái cảm.","lastmod":"2025-12-14","duration":"01:14:42","url":"/play/18959584.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MjcvNjQ0NmY0NDNlNjAzMGJlYWUzZDgwYjEzNTJmNGViNWQuanBn.cache","vod_id":19044221,"title":"Người đẹp mặc vớ đen 3D với bộ ngực khủng bị một dương vật khổng lồ cưỡng hiếp dã man.","lastmod":"2025-07-26","duration":"00:00:17","url":"/play/19044221.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTQvNTQ5YjBiMzM4MWFmMDkyZTdiYmZkNDI4ZjhhYjYwZGQuanBn.cache","vod_id":19067440,"title":"Trong khi vợ tôi đi công tác, tôi, bị dì Anzu quyến rũ, đã tích tụ một lượng tinh dịch đặc quánh trong hơn 30 ngày, dẫn đến xuất tinh không kiểm soát được... Azuki Amatsuki JUQ-826","lastmod":"2025-12-14","duration":"02:15:13","url":"/play/19067440.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MjkvMWYyMTZlNThjNzJlZmNkZDc4NjAwMDdhOTk4YzMxNzIuanBn.cache","vod_id":19049020,"title":"MLMM072 Kawanami Rin tuyệt mỹ, một nữ thần với thân hình mảnh mai nhưng vòng một đầy đặn.","lastmod":"2025-08-28","duration":"03:49:15","url":"/play/19049020.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTYwNjc5N2NlYjEyNGYyNDgyYWNjMzY4ZWU1YzE4YjQuanBn.cache","vod_id":19002611,"title":"PPPD-790 Kỹ thuật bán hàng quyến rũ của một nữ nhân viên bán đồ lót cao cấp cỡ G - Mako Oda","lastmod":"2025-03-23","duration":"02:37:53","url":"/play/19002611.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvMTM1MzBmMTkzMWFiMzcxMmM2NDgxOTEyNDUxYWRkOGEuanBn.cache","vod_id":19067380,"title":"Mô hình - Cô bạn gái của hai anh em cuồng dâm quyến rũ cô bạn gái lẳng lơ của hai người anh em và quan hệ tình dục bằng miệng với họ.","lastmod":"2025-12-14","duration":"11:43","url":"/play/19067380.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzY0ZmVjMjFkMTgxZTdjOTBiNzNkYjgxY2JjZGJkNzQuanBn.cache","vod_id":18940968,"title":"Cô gái trẻ lẳng lơ trong chiếc quần tất đen này thích khổ dâm, có ham muốn tình dục rất mạnh, giỏi quan hệ tình dục bằng miệng và thích bị quan hệ tình dục mạnh bạo từ phía sau.","lastmod":"2025-03-22","duration":"00:07:48","url":"/play/18940968.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZWFlNmNlYzQ3OTEzYmE2NzMxODNmNDk5MWU5MjVkOWQuanBn.cache","vod_id":18980586,"title":"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","lastmod":"2025-03-23","duration":"01:21:09","url":"/play/18980586.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTZkNzE0YTgwNTU4YzkxNGQxYzAwMzE3ZGZhMDYxOWIuanBn.cache","vod_id":18994888,"title":"[Mã hóa độ nét cao] 326FCT-052 Một cô gái trẻ thuần khiết, dịu dàng và đầy đam mê, tỏa ra vẻ quyến rũ ngây thơ của trẻ con!! ...Nhưng thực chất cô ấy là một cô gái biến thái với bộ ngực ngoại cỡ.","lastmod":"2025-03-23","duration":"01:27:04","url":"/play/18994888.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmQyNGU2ZmQ1MDI2ODczOTlmNTAxZTNmYmNlNGE3NDguanBn.cache","vod_id":19000207,"title":"Youyou, một phụ nữ xinh đẹp với khuôn mặt ngọt ngào và bộ ngực trắng đầy đặn ở Bắc Kinh, đang tự thỏa mãn, kéo quần jeans xuống để lộ vùng kín và đưa máy rung vào trong chiếc quần tất lưới màu đen một cách quyến rũ.","lastmod":"2025-03-23","duration":"01:58:53","url":"/play/19000207.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTNhNWEwMDExNGUxMjU5NDRiYTdmNzU4N2EzYzI4NDguanBn.cache","vod_id":19014522,"title":"Mirei-chan, [Người đẹp khổ dâm] 20 tuổi của ARA368 [Bộ ngực khủng kỳ diệu], đã trở lại! Lý do cô gia nhập đoàn kịch là \"không đủ tiền sinh hoạt... nên tôi phải cởi quần áo ra...\" Mặc dù nghèo khó, cô ấy lại sở hữu bộ ngực cỡ G, xứng đáng với một phụ nữ giàu có! Chỉ cần một chút kích thích, cô ấy sẽ tiết ra rất nhiều dịch! Cô ấy cực kỳ nhạy cảm; toàn bộ cơ thể cô ấy là một vùng nhạy cảm! Đừng bỏ lỡ cảnh quan hệ tình dục cực khoái của thành viên đoàn kịch với bộ ngực rung lắc dữ dội!","lastmod":"2025-03-24","duration":"01:21:38","url":"/play/19014522.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTFhMGRlZjZhNzJmY2VhYjFhZjg2YjBlM2Y2ZTEwMTYuanBn.cache","vod_id":18996123,"title":"Một nữ MC người Hàn Quốc với vòng ngực lớn dang rộng chân và quyến rũ những người khác trên giường.","lastmod":"2025-12-14","duration":"17:15","url":"/play/18996123.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZWVhMTQ3OWE2MDNjN2Q5MmNjMTY4ZjY0MWY5OGRkNWMuanBn.cache","vod_id":19146905,"title":"Bạo dâm và xuất tinh nghiệp dư [Phiên bản bà nội trợ bốc lửa với bộ ngực khủng đau đớn] Vợ tôi đến massage có bộ ngực khủng như trong truyện tranh, nên tôi đã ru cô ấy ngủ và làm mọi thứ cho cô ấy. RNA-007","lastmod":"2026-03-07","duration":"02:27:54","url":"/play/19146905.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZGIyMGY2NDkxNmFjOGYzZjg3NWQxNDBiYzA4NjEyNWEuanBn.cache","vod_id":18930610,"title":"[Qing Mei Mei], một cô gái đến từ chuyên mục sắc đẹp, đang trình diễn màn tự thỏa mãn, hoàn toàn khỏa thân, tự vuốt ve bản thân, nghịch ngợm với đôi tất đen gợi cảm, xoa bóp, rên rỉ và thở hổn hển. Rất quyến rũ, đừng bỏ lỡ nếu bạn thích.","lastmod":"2025-12-14","duration":"02:36:50","url":"/play/18930610.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MjMvMWQ3N2E0ZjhkMzNmOTliYTEwMGZkNDExMmU3NWRjOGIuanBn.cache","vod_id":19030445,"title":"Cô Miyu, người đang đặt bầu ngực lên vai tôi, là một nghệ sĩ quyến rũ với vòng một cỡ C. (DVAJ-609-C)","lastmod":"2025-04-23","duration":"02:25:28","url":"/play/19030445.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYWVlMjk2MzA5ZTI1NmY5NTBlZThhMzI4Mzk2ZWQ3YWUuanBn.cache","vod_id":18974241,"title":"Người mẫu Xiuren.com - Nữ thần ngực cỡ E Rui Rui: Nội y tím gợi cảm, vớ đen quyến rũ, liếm ngón chân em, chồng ơi, anh dâm dục quá, nước tiểu của anh trong veo, âm đạo của anh hồng hào!","lastmod":"2025-12-14","duration":"00:51:24","url":"/play/18974241.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjI0ZjA0ZmQyMTAwZmJmODhlMTg3MzNjODQ4MmIzMGIuanBn.cache","vod_id":18974292,"title":"498DDH-149 [Ngực khủng và eo thon! Miệng rộng, cực giỏi chuyện ấy! Một thân hình sinh ra để làm tình lần đầu tiên]","lastmod":"2025-03-23","duration":"01:31:33","url":"/play/18974292.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjMvMzFmMzVmNjM0N2YzZTA4YjljZGVhZDRhNjMwODVkOGEuanBn.cache","vod_id":19053834,"title":"Một người phụ nữ ngực khủng không mặc áo ngực vô tình phô bày bộ ngực đầy đặn của mình, quyến rũ bạn vào cuộc yêu. Đôi gò bưởi cỡ G của cô ấy được xoa bóp và vuốt ve cho đến khi cô ấy hoàn toàn say đắm. (Nagahama Mitsuri, IPZZ454)","lastmod":"2025-09-22","duration":"02:03:35","url":"/play/19053834.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MDcvZDhhOTM2MjlmYmM2OTAwMDg0MjJmNTlmZTIzNzU1NjEuanBn.cache","vod_id":19041819,"title":"Cô gái trẻ ngực đầy đặn.","lastmod":"2025-07-06","duration":"19:45","url":"/play/19041819.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjUxOTVjMDVmYmJjNTc5ZmM5MzQ4YzY2YmExNDBiNzguanBn.cache","vod_id":18933660,"title":"Quần lót WANZ-156","lastmod":"2025-12-14","duration":"01:57:46","url":"/play/18933660.html"}]},
videoTitle: 'Khuôn mặt trẻ thơ, vòng một đầy đặn, tất đen, nội y gợi cảm, màn khiêu vũ quyến rũ.',
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=/`;
}
};
}