Em yêu nữ thần chân dài, thuần khiết, tương phản, hãy bắn tôi, bắn vào bộ ngực lớn của tôi","lastmod":"2026-07-11","duration":"20:13","url":"/play/19164194.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMjAvYWQzYjcwOWRkMTgyNjBkZWNlYjJmOTI3OTBjMDY4ZTIuanBn.cache","vod_id":19063496,"title":"4 trận đấu, 3 người phụ nữ vô cùng xinh đẹp với đôi chân dài miên man.","lastmod":"2025-12-13","duration":"31:42","url":"/play/19063496.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYzRmODkxODY4NzA5NDQ5NzRkYTQ5NTczMzdhMDAzN2EuanBn.cache","vod_id":19159238,"title":"Cô gái tóc dài, ngực lớn đang bị người đàn ông lớn tuổi hơn cưỡng hiếp cho đến khi cô ta lăn lộn trên giường; đèn pha xe hơi sáng chói đến mức làm mắt bạn hoa lên.","lastmod":"2026-05-21","duration":"23:30","url":"/play/19159238.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMzZmY2EzZjI0ZGQxYWUxMTRhNmY3OTkxZjg5YzY1MTEuanBn.cache","vod_id":19142664,"title":"Loạt phim học giả hạng ba kinh điển: Tôi là Iron Bull, camera giấu kín ghi lại hình ảnh các nữ diễn viên xinh đẹp - Tóc dài đến eo_","lastmod":"2026-02-10","duration":"36:14","url":"/play/19142664.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2UyMGM0MzE4MDgzMTM4MDExOGM3YTEyYTM1ZDNhZjYuanBn.cache","vod_id":18941214,"title":"Chia sẻ quà tặng trên Twitter - Thân hình tuyệt đẹp của một nữ sinh ngoại quốc, eo thon, ngực đẹp, mông săn chắc, chân dài, màn thủ dâm và quan hệ tình dục qua đường âm đạo đầy quyến rũ 1080P","lastmod":"2025-03-22","duration":"00:17:01","url":"/play/18941214.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2UyODFjMDdlNzNjODZmZjI2NjZjMjg0MDhiZWYyMjguanBn.cache","vod_id":18929385,"title":"Một cô gái tóc dài xinh đẹp nằm trên giường thực hiện các hành động quan hệ tình dục bằng miệng, quan hệ tình dục qua âm đạo, thủ dâm và tư thế kiểu chó, với khuôn mặt hoàn toàn lộ ra trong suốt quá trình. Cô ấy nhấp nhô, rên rỉ và xuất tinh.","lastmod":"2025-12-14","duration":"00:31:49","url":"/play/18929385.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOTYwMzVjOTM0YjBmNzdhYjliY2JmY2M1NzQ2MGYyZmIuanBn.cache","vod_id":19155725,"title":"Một chàng trai trẻ đã đưa một cô gái tóc dài quyến rũ mà anh ta quen qua mạng đến khách sạn để có một cuộc gặp gỡ nồng cháy, để lại dấu vết của cuộc ái ân.","lastmod":"2026-04-29","duration":"12:58","url":"/play/19155725.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMzEvYWI1OTljYWFlZTkwNWVjMzdhOTBmZTZhYjRmOWQyMmIuanBn.cache","vod_id":19060497,"title":"AI - Lưu Diệc Phi - Người mẫu xe hơi chân dài gợi cảm, đa giới tính","lastmod":"2025-10-30","duration":"31:27","url":"/play/19060497.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9pYy4xNTUyNTAyMTQudG9wLzIwMjYwMjE2L0dxMkRRbjZtLzEuanBn.cache","vod_id":19144061,"title":"Chuyện tình dục tuổi sáu mươi: Một người phụ nữ sáu mươi tuổi với ham muốn tình dục mạnh mẽ vẫn khao khát được làm vợ của một người phụ nữ. Bà có quan hệ ngoài luồng với một thị trưởng thị trấn đang chuẩn bị tái hôn. RAF-025","lastmod":"2026-02-18","duration":"02:00:39","url":"/play/19144061.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZGRiYzc1ZTUzYzA1YmIxOGZhNDNhOTg0OTcxMDRiYTkuanBn.cache","vod_id":19135550,"title":"Hoàng đế tận hưởng chuyến bay ba người cùng hai chị em xinh đẹp, chân dài - Phần 3","lastmod":"2025-12-28","duration":"02:54:34","url":"/play/19135550.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvZWM3MmQxYjc2MWU2ZTkxM2MyOWYxMDY5ODZlNTg4ZTguanBn.cache","vod_id":19066239,"title":"Làn da trắng hồng, đôi chân dài miên man và vòng một đầy đặn, gợi cảm.","lastmod":"2025-12-14","duration":"38:04","url":"/play/19066239.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2VhZGMxYTNlNDFjOTExZTNkYzM2NGU1MDQ2ODAzNTIuanBn.cache","vod_id":18944322,"title":"Vụ rò rỉ dữ liệu trên ổ cứng đám mây - Một người đàn ông có dương vật rất dài cùng lúc trừng phạt hai nữ sinh viên đại học xinh đẹp và quyến rũ tại nhà, đối xử với họ như những con điếm nhỏ. Hai cô gái trông còn rất trẻ. (Đối thoại tiếng Quan thoại)","lastmod":"2025-12-14","duration":"00:12:26","url":"/play/18944322.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTA5ZDEzNDJiZjVjYTFhMjM1OGJiNTEzOTQ5NzY0ZTcuanBn.cache","vod_id":18969963,"title":"Gia đình chàng trai đang huấn luyện cô bạn gái tóc dài sinh năm 2002 của anh ta; khuôn mặt cô ấy hiện lên rất rõ nét.","lastmod":"2025-12-14","duration":"00:20:57","url":"/play/18969963.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNmQ0NTE2NTY0NjBkYWY2OWU5MGVjMzNjN2E2MjYxY2YuanBn.cache","vod_id":18989965,"title":"Sức hút thường nhật của một nữ phát thanh viên tin tức người Hàn Quốc cao ráo, chân dài!","lastmod":"2025-12-14","duration":"21:16","url":"/play/18989965.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2I2MzM4YWJiNmFlNDNmMjQzYTc4YTRhODgxZDY0ZDEuanBn.cache","vod_id":18951520,"title":"178 Nữ thần - Mạnh Vũ Kỳ -: Đôi chân dài miên man, thân hình quyến rũ uốn éo, chỉ cần nhìn thôi cũng khiến tôi phát điên, tôi thực sự muốn làm tình với cô ấy vài lần, và mút những núm vú hồng hào của cô ấy vài lần!","lastmod":"2025-12-14","duration":"00:07:58","url":"/play/18951520.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOTNiNjlmNzM1ZmRiNWZlNWYyMWEyNmEzODU0ZDEzNjMuanBn.cache","vod_id":19153165,"title":"Một người phụ nữ chân dài, bị chụp ảnh lén, đã bị lừa đến khách sạn. Cô ấy có làn da trắng, khuôn mặt xinh đẹp và vẻ ngoài hoàn hảo.","lastmod":"2026-04-13","duration":"42:53","url":"/play/19153165.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjE3ZTdkYzU0OGZmMjRmYmY2OWEwMjJlYmUzMzAxMGIuanBn.cache","vod_id":18944781,"title":"Một nhà thầu trung niên trả 800 nhân dân tệ cho một phụ nữ trẻ xinh đẹp hành nghề mại dâm chui. Cô gái có đôi chân dài gợi cảm và bị tấn công tình dục ở nhiều tư thế khác nhau trên giường, ghế và sofa. Video bằng tiếng Quan thoại.","lastmod":"2025-12-14","duration":"01:23:10","url":"/play/18944781.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvMGJmY2MzNDFmMDQ5NTk5Yzc0YzQ4ODY1NDJkMThmZDAuanBn.cache","vod_id":19160594,"title":"Những cô gái này chắc chắn là những mỹ nhân đẳng cấp nữ thần, tất cả đều sở hữu vòng một hồng hào đồ sộ và đôi chân dài miên man.","lastmod":"2026-05-29","duration":"01:06:37","url":"/play/19160594.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2Q4ZTVjOGU3ZDVlZjQzNmZiZTg2NTUyN2EzZTA3ODcuanBn.cache","vod_id":19026874,"title":"Cô gái trẻ quyến rũ, chân dài này đang rất ham muốn trên giường, anh yêu, hãy xuất tinh vào trong em đi.","lastmod":"2025-03-28","duration":"17:51","url":"/play/19026874.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjgvMWMyYWJiYWRlMGZjOGY2MjczNDFmMDdhMzJjMGFlM2YuanBn.cache","vod_id":19059978,"title":"Người mẫu chân dài này khá xinh đẹp; mũi cô ấy rất đặc biệt, sống mũi cao trông khá gợi cảm, và đôi mắt thì quyến rũ. Âm đạo mềm mại của cô ấy thực sự kích thích và rất dễ chịu khi quan hệ.","lastmod":"2025-10-27","duration":"39:35","url":"/play/19059978.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzllOWU4MjQ0ZmM0OWI4NzU1MjdjYzQwMjVmMThiYjguanBn.cache","vod_id":18928737,"title":"Đôi chân dài quyến rũ, giày cao gót, tư thế quan hệ từ phía sau, sử dụng trứng rung, vòng ba căng tròn, quan hệ bằng miệng, tư thế cưỡi ngựa, quan hệ từ bên hông, những cú thúc mạnh mẽ, vô cùng hấp dẫn.","lastmod":"2025-12-14","duration":"01:01:16","url":"/play/18928737.html"}]},
videoTitle: 'Đây là bức ảnh! Tóc dài màu cam 1-2',
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=/`;
}
};
}