Ảnh tự sướng nóng bỏng của Simeel và vợ bị rò rỉ. Ảnh tự sướng nóng bỏng tại nhà của người đẹp nổi tiếng và bạn trai. Cô ấy rất quyến rũ.","lastmod":"2026-07-11","duration":"","url":"/play/19267194.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzgxOTMwZDJmMGM4YWI2MmVmZDkyMjdkN2RkYjk3OTIuanBn.cache","vod_id":19158739,"title":"[Một cô gái trẻ đẹp tuyệt trần với khí chất đặc biệt] nhiệt tình giao hợp với một người đàn ông trùm mũ, đi tất đen và giày cao gót, nắm lấy dương vật của anh ta và mút trong khi chủ động cưỡi lên anh ta ở tư thế thâm nhập sâu, rên rỉ và thở hổn hển vì khoái cảm!","lastmod":"2025-03-30","duration":"0:45:14","url":"/play/19158739.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNGFlYzAwZTEwYWRjODVlNjQ3NzJmNGU2ZDk5ODYyMzMuanBn.cache","vod_id":19129326,"title":"Một chàng trai trẻ đã chọn một người phụ nữ xinh đẹp, quyến rũ và cả hai đã có cuộc ái ân nồng cháy trên ghế sofa!","lastmod":"2025-03-29","duration":"0:43:35","url":"/play/19129326.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMWY1ZWE5Mzc1ODNmMTI0ZDAwMjUwMmNhYmQ2MTE3NWMuanBn.cache","vod_id":19028501,"title":"Thân hình người yêu tôi lúc nào cũng tuyệt vời hơn.","lastmod":"2025-03-28","duration":"0:18:17","url":"/play/19028501.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNWM3NmRlZTE0M2ZjZjEzM2Y3NGYyMzNhYzA2ZThkNTYuanBn.cache","vod_id":19132653,"title":"[Cặp đôi sinh viên đại học hẹn hò với đàn ông độc thân] Kiểu 3P cổ điển: Cô bạn gái xinh đẹp trong bộ đồ lót nhỏ xíu – Sao cô ấy lại sẵn lòng dâng hiến bản thân?","lastmod":"2025-03-29","duration":"0:55:38","url":"/play/19132653.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZThhMWZmNGRmNjBjNzY2N2VhMzVjYjM4ZDQ5NDg3OGMuanBn.cache","vod_id":19178927,"title":"Một người phụ nữ gợi cảm, đầy dục vọng để lộ mặt suốt cảnh cô ấy say đắm tận hưởng cuộc tình tay ba với bạn trai. Hai người bạn thân của cô cũng thích thú khi dương vật của bạn trai cô ấy thọc ra thọc vào, thực hiện quan hệ tình dục bằng miệng, sử dụng các dụng cụ hỗ trợ tình dục cỡ lớn và thủ dâm đến cực khoái và xuất tinh. Họ thay phiên nhau bị bạn trai quan hệ...","lastmod":"2025-03-30","duration":"0:18:54","url":"/play/19178927.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvY2Y4MjFjMGFmYzA0NjJkNTQ2YzQ3Mzg3NmM0YzU1MzQuanBn.cache","vod_id":19254030,"title":"Nội dung bị rò rỉ chất lượng cao, cảnh cưỡng bức bắn tôi, lời thoại. Những giao dịch kinh doanh hấp dẫn. Một chàng trai trẻ và một cô gái đồng tính. Chuyến công tác đến khách sạn. Họ đặt phòng và quan hệ tình dục nồng nhiệt. Cả hai rất năng động, lăn lộn trên giường ở nhiều tư thế khác nhau.","lastmod":"2026-04-14","duration":"0:10:23","url":"/play/19254030.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvN2M1MGRlMjA3ZGUyZDBhNTM1YTcyODVlMDczNTFmZDUuanBn.cache","vod_id":19100237,"title":"Nữ thần chân dài hét lên rất to trong buổi chụp ảnh đôi tại phòng sex.","lastmod":"2025-03-29","duration":"0:09:05","url":"/play/19100237.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MDMvZmNlNjRmZmEzZTEwZmVhZGUzOGFmODdmMzM4ZjM5ZTkuanBn.cache","vod_id":19216590,"title":"Một người phụ nữ trưởng thành, chân dài, mảnh mai, ngực lớn, khát khao tình dục đang thực hiện hành vi quan hệ tình dục bằng miệng với bạn trai đang ham muốn của mình.","lastmod":"2025-08-02","duration":"0:16:08","url":"/play/19216590.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MjYvMDZiYzRjYWVmNWY5OTBjMGQ5MTBlNWJhZWVkMzE1YjMuanBn.cache","vod_id":19219347,"title":"Li Ge quan hệ tình dục cuồng nhiệt với tất đen và màn nuốt trọn dương vật to.","lastmod":"2025-08-25","duration":"0:54:24","url":"/play/19219347.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOGE0YTdkY2UyZmZmM2FjNGVmNDlhMDA0NzU5YjFhOTguanBn.cache","vod_id":19081808,"title":"Quan hệ tình dục nồng nhiệt với một ngôi sao mạng lai nổi tiếng, ngực khủng, cỡ G.","lastmod":"2025-03-29","duration":"0:11:10","url":"/play/19081808.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzgyMDFkZjA2ZGIwZWI4NjRlYjA0MGE3N2VkYjVjZjkuanBn.cache","vod_id":19147615,"title":"Một người chị dâu và anh rể vô cùng xinh đẹp đang có một hành vi tình dục loạn luân đầy đam mê. Khuôn mặt của cô ấy hiện rõ suốt đoạn phim, cô ấy mặc quần tất và váy bó sát, trông vô cùng gợi cảm. Đôi gò bưởi lớn của cô ấy lộ ra khi cô ấy được quan hệ tình dục bằng miệng, nuốt sâu và bị anh ta giao cấu cho đến khi xuất tinh vào miệng cô ấy.","lastmod":"2025-03-30","duration":"1:03:57","url":"/play/19147615.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjEwOGQ5NDNlNWZlNGU1YTA2NmIyOTc1NzYwZDZjZjguanBn.cache","vod_id":19185628,"title":"Tương tự như sự cuồng nhiệt trong chuyện chăn gối của một cô gái.","lastmod":"2025-03-30","duration":"0:10:18","url":"/play/19185628.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MjUvNjM5Y2I5ZjcxMmFmODdkM2NkNzFjNTA5NGE4YjJlYTQuanBn.cache","vod_id":19209236,"title":"Gã da đen quan hệ với cô gái đó đã để lộ mặt suốt thời gian diễn ra màn ân ái 4 người đầy đam mê.","lastmod":"2025-06-24","duration":"1:04:52","url":"/play/19209236.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTFmZmQwY2EzNTcyMTYxNDdlZjRmYzM4YTYwYjc2N2EuanBn.cache","vod_id":19157609,"title":"Một cô bé loli mặc tất đen với bím tóc đang quan hệ tình dục nồng nhiệt với bạn trai. Cô ấy đang dùng miệng để kích thích dương vật to của anh ta, sau đó anh ta dùng nó để đâm vào âm đạo hồng hào, dâm đãng của cô ấy. Họ ở nhiều tư thế khác nhau, và cô ấy rên rỉ không ngừng - thật là kích thích! (1)","lastmod":"2025-03-30","duration":"0:14:23","url":"/play/19157609.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvM2IxMmJiNzljNDBjNmNiNjgzMmI0N2YzZDU5ODhiYzQuanBn.cache","vod_id":19131025,"title":"Một nữ thần nổi tiếng trên mạng, cao 166cm, thân hình mảnh mai 43kg, mặc váy bó sát gợi cảm và trải nghiệm tình dục nồng nhiệt nhờ một viên thuốc thần kỳ!","lastmod":"2025-03-29","duration":"0:26:49","url":"/play/19131025.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOGY4OWY1YzA5ZDE0MTMwNDY4ZmZjYzIyMGUxZDA4NjAuanBn.cache","vod_id":19031165,"title":"[Sự cố tụt quần] Một cặp đôi cãi nhau bên ngoài một quán internet ở Đông Quan, và trong cơn giận dữ, một người đã tụt quần giữa nơi công cộng. Video gốc ở phần sau.","lastmod":"2025-03-28","duration":"0:01:00","url":"/play/19031165.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNWVmZDM0MWI1ZDIzZTIyZDE4OWE0M2ViNjc2NTMxZGQuanBn.cache","vod_id":19169920,"title":"#Một nữ streamer trẻ trung và gợi cảm, để lộ hoàn toàn khuôn mặt và nhũ hoa khi đang quan hệ tình dục nồng nhiệt với một chàng trai.","lastmod":"2025-03-30","duration":"0:26:41","url":"/play/19169920.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZGY2OWRmMjY0MTk3ZTEzMGM2NmI0MjE2MjY4MDIwMzguanBn.cache","vod_id":19106463,"title":"Một nhóm các cô gái trẻ sinh vào những năm 2000 đã có một bữa tiệc thác loạn tình dục tập thể tại một quán karaoke!","lastmod":"2025-03-29","duration":"0:04:53","url":"/play/19106463.html"}]},
videoTitle: 'Một cặp đôi trẻ đang yêu nhau ở Quảng Châu đã đặt phòng khách sạn; những nụ hôn nhẹ nhàng của họ lại vô cùng nồng nà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=/`;
}
};
}