Chỉ có tôi là người mẫu áo tắm thi đấu. Một cuộc gặp gỡ tình dục riêng tư với JULIA xinh đẹp, ngực khủng, người rất khó nói không. JULIA PREMIUM","lastmod":"2026-07-11","duration":"02:23:39","url":"/play/19166296.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTkzOTIzOGUwOTI0MDIyNTEzMTFjNGIzMGFkOGIyNzUuanBn.cache","vod_id":18923783,"title":"Một nữ streamer xinh đẹp và quyến rũ tính phí rất cao cho việc thủ dâm, khoe vẻ ngoài xinh đẹp, thân hình tuyệt vời và vùng kín hồng hào, không lông. Màn thủ dâm và quan hệ tình dục của cô ấy vô cùng gợi cảm.","lastmod":"2025-12-14","duration":"00:51:47","url":"/play/18923783.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjNlNjRlYWM3YjgwZDQ3MmRlMzhiMmNhYmMxNTg5YWEuanBn.cache","vod_id":18965107,"title":"\"Những bí mật bị rò rỉ chất lượng cao từ ổ cứng đám mây\" - Lộ mặt là chìa khóa! Một nữ tiếp viên hàng không nọ có thân hình và nhan sắc tuyệt vời nhất~ Cô ấy là một nữ thần khi phục vụ hành khách trong giờ làm việc, và là một con điếm khi phục vụ người tình giàu có của mình sau giờ làm việc~ Sự tương phản giữa các cuộc gặp gỡ và phát tán tình dục khác nhau khá nổi bật (3)","lastmod":"2025-12-14","duration":"00:01:08","url":"/play/18965107.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvMmM0OGI0OGFmNGE4YThiN2Q5ZjU2YjYyNmEyODIwNWUuanBn.cache","vod_id":19065764,"title":"Một người phụ nữ mảnh mai, xinh đẹp, là người đàn ông quyến rũ nhất, đã ngủ với hàng ngàn người đàn ông.","lastmod":"2025-12-14","duration":"06:50","url":"/play/19065764.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTMyNDY4YzBhOWY2ZDc4NWEzMmNhZTBiMWI5OTI2YzYuanBn.cache","vod_id":19005218,"title":"JUQ-255-C Người mẫu khỏa thân NTR: Video gây sốc về vụ ngoại tình đáng xấu hổ của sếp và vợ","lastmod":"2025-03-23","duration":"02:03:45","url":"/play/19005218.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzI4OTc5Y2VkMGVjOTQ0NTgwODM1YWMyMjU5NWVkODMuanBn.cache","vod_id":18975440,"title":"Một người phụ nữ trưởng thành trang điểm đậm, thích dùng đồ chơi tình dục hậu môn – cô ấy thật tuyệt vời! Thân hình quyến rũ và khả năng xuất tinh lên người ông chủ lớn của cô ấy!","lastmod":"2025-12-14","duration":"00:18:45","url":"/play/18975440.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODYyY2I0OWQzODFkYzE1MmY4ZTg1NmY5NmU0NjAzYWIuanBn.cache","vod_id":18981197,"title":"FC2PPV 3637644 [2 tác phẩm - xuất tinh lên mặt và xuất tinh] Một cô gái cao ráo, xinh đẹp tuyệt trần và mảnh mai. Hai video: một về quan hệ tình dục thân thiện, video còn lại về cưỡng hiếp.","lastmod":"2025-03-23","duration":"02:06:11","url":"/play/18981197.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTZjMzA0ZTFmMDc5ZDgzMmI0ZTVkZmRlMGE5MjQzODcuanBn.cache","vod_id":18959265,"title":"Một cô gái trẻ nhỏ nhắn, xinh đẹp tham gia vào cuộc \"quan hệ tay ba\", bị kẹp giữa hai người đàn ông để chinh phục một người phụ nữ lẳng lơ bằng màn oral sex hoàn hảo, miệng cô ấy tràn ngập tình yêu.","lastmod":"2025-12-14","duration":"00:29:12","url":"/play/18959265.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTM0Y2FjYzI2YzA1YjEyZjFhZWFiYTk3OTMwZjMwMDcuanBn.cache","vod_id":18955420,"title":"Một người mẫu ngực khủng đã mời một người đàn ông tóc ngắn về nhà. Cô ấy thực hiện màn oral sex, để lộ mặt và làm việc rất nhiệt tình, sau đó thâm nhập anh ta từ phía sau với bộ ngực lớn rung lắc dữ dội.","lastmod":"2025-12-14","duration":"01:06:35","url":"/play/18955420.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNjhkMWQ5ZmM3M2Y5NjkzZTdkNTc0YWZlYzQ3MGJmMWYuanBn.cache","vod_id":19140083,"title":"Gái gọi cao cấp trực tuyến, dịch vụ bảy ngày trong tuần chất lượng hàng đầu, những người đẹp giá trị cao với vòng một và thân hình đầy đặn.","lastmod":"2026-01-24","duration":"42:04","url":"/play/19140083.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTNiMTk0NDM2MTE4YzVjNjYyODhlOTE0MTE1YThkNTcuanBn.cache","vod_id":18965439,"title":"Đưa ngón tay vào miệng, một con điếm chính hiệu, lưỡi và ngón tay, sự cám dỗ tột cùng, thân hình người mẫu, quần áo trong suốt, máy rung được đưa vào lỗ.","lastmod":"2025-12-14","duration":"00:17:09","url":"/play/18965439.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOGU5NzE0MGJiMWIzNWQ3ZmRmOTVhOTk4MmQyOTY2OTUuanBn.cache","vod_id":18946684,"title":"Đoạn video rò rỉ đầu tiên về ảnh tự sướng nhạy cảm của một cặp đôi đã xuất hiện, cho thấy những người phụ nữ xinh đẹp tuyệt trần với vòng một và vùng kín lớn, trắng hồng. Đây là một video 1080P hấp dẫn, không có một khoảnh khắc nhàm chán nào.","lastmod":"2025-12-14","duration":"00:13:41","url":"/play/18946684.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTA2NTE1ZDIzNWQyZjYxNzM5Yzk4ZDJhZDY1ZTJmZWYuanBn.cache","vod_id":19002568,"title":"Một ngôi sao trẻ đang lên, vừa ra mắt năm 2001, với hai bím tóc và thân hình nhỏ nhắn, đang dùng chân kích thích bạn trai trong khi mặc tất hở đáy, cảnh quan hệ thâm nhập sâu từ góc nhìn người thứ nhất, cô ấy chủ động cưỡi lên và xuống trên người bạn trai.","lastmod":"2025-03-23","duration":"23:30","url":"/play/19002568.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmZiNGM1MmMzMGEzNzMyNmZlODAwNmIzNzBiNGE2MmEuanBn.cache","vod_id":19012925,"title":"JUL088 Chương 2 của Cô nội trợ tám đầu từng là người mẫu!! Những nụ hôn nồng cháy và tình dục ướt át từ sâu thẳm đôi mắt. Shiori Sano.","lastmod":"2025-03-24","duration":"02:16:20","url":"/play/19012925.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjVjOGMwY2YyMmJjZmFiMWE5MjAyZjVlMTI4YWRjNjIuanBn.cache","vod_id":18991763,"title":"200GANA-2064 Cực kỳ nhẹ nhàng, cảnh quay đầu tiên. 1358 Một cô gái với thân hình tuyệt vời và khuôn mặt xinh đẹp được tiếp cận khi đang nghỉ ngơi ở Harajuku!? Đôi gò bưởi căng tròn của cô ấy nhấp nhô, và vùng kín của cô ấy tràn ngập dịch tiết. Ma sát mãnh liệt sâu bên trong âm đạo của cô ấy trong tư thế cưỡi ngựa - hoàn toàn không thể bỏ lỡ!!! 1","lastmod":"2025-12-14","duration":"01:07:29","url":"/play/18991763.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmMxZjk5NGZiZGZhOGE2MDNjZjFjNDZmN2JjNjg4ODIuanBn.cache","vod_id":18938383,"title":"Một cô thư ký xinh đẹp như nữ thần, quyến rũ và có vẻ ngoài gợi cảm, chụp ảnh tự sướng trong khi tắm, thực hiện một điệu nhảy khêu gợi khỏa thân để quyến rũ ông chủ. Sau đó, cô bị cưỡng hiếp dữ dội trong một khách sạn, và tự quay phim cảnh mình rên rỉ trong lúc bị làm tình: \"Tôi không thể chịu đựng được nữa, cảm giác thật tuyệt vời!\"","lastmod":"2025-12-14","duration":"00:14:26","url":"/play/18938383.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZWViZDVlY2ZiNDM1MWRkNTQxZmQ0OTFmOGE1NDU1YzEuanBn.cache","vod_id":19145758,"title":"Một bà nội trợ đang cố gắng giữ dáng với vòng ba gợi cảm đã trải qua bài tập ngồi xổm run rẩy với sự thâm nhập hoàn toàn bị cấm! Cô ấy không thể cưỡng lại việc xuất tinh bên trong khi đang ở tư thế ngồi xổm! Không thể thoát khỏi khoái cảm như pít-tông! VEC-737","lastmod":"2026-02-28","duration":"01:58:56","url":"/play/19145758.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYWQwYjg2YzMwNGExYTIyMTEwOWFjM2I1OGM0NTRjYzMuanBn.cache","vod_id":18974924,"title":"Khuôn mặt của cô bạn gái người mẫu đeo kính được hiển thị; bạn trai cô ấy bế cô ấy lên, dang rộng hai chân cô ấy ra và quay cận cảnh âm hộ màu hồng của cô ấy, sau đó thực hiện hành động quan hệ tình dục bằng miệng. Âm hộ hồng hào, mềm mại của cô ấy nhạy cảm đến mức anh ta xuất tinh vào bên trong cô ấy chỉ sau vài nhịp đẩy.","lastmod":"2025-03-23","duration":"00:38:48","url":"/play/18974924.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvMmM4ZWIwYzk0NmY2NzJiMDJmYzIyMjRmYWMyMTg3OGUuanBn.cache","vod_id":19065388,"title":"Một cô gái xinh đẹp đã bị cưỡng hiếp.","lastmod":"2025-12-14","duration":"10:15","url":"/play/19065388.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMjc2ZTg5YzYxMDVmYWJjZGU2ZjMyMGRlMDE1NjY3MGMuanBn.cache","vod_id":19137646,"title":"Một người mẫu nữ quyến rũ phục vụ hai chàng trai trẻ trong màn ân ái ba người đầy đam mê.","lastmod":"2026-01-10","duration":"01:02:05","url":"/play/19137646.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjRkNDU5ZGJlZDY0YzNlYWM2Mjk5M2YzZTdiYzdhMWYuanBn.cache","vod_id":19010524,"title":"Một cô gái 18 tuổi với vòng ngực cỡ G cực kỳ lớn. Đôi gò bưởi hồng nhạy cảm của cô không thể kìm được mà xuất tinh dữ dội, tạo thành một dòng tinh dịch đặc quánh trên bầu ngực cỡ trung bình và hai gò bưởi cỡ G của cô. -cd2","lastmod":"2025-03-24","duration":"08:15","url":"/play/19010524.html"}]},
videoTitle: 'Người mẫu Xingxing có vóc dáng rất đẹp.',
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=/`;
}
};
}