WeChat. Viral. Boyfriend's Phone. Album. Bị Mất. Rò Rò.","lastmod":"2026-07-11","duration":"","url":"/play/19267486.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzg1NjdhNjg4NzhlY2E3OTQ2ZGE3NGFjYWMzNjA4MzQuanBn.cache","vod_id":19180885,"title":"MADM128 Cô vợ xinh đẹp nhà bên có thể được gọi đến như một gái gọi để chăm sóc bạn khi xuất tinh. Y tá đã kết hôn gợi cảm 2 Misaki Kanna.","lastmod":"2025-03-30","duration":"2:15:09","url":"/play/19180885.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MjAvODIxZDE2OTA2YTUwNGIxNGM3MDA0MjRkYmJhOTM4MzIuanBn.cache","vod_id":19214002,"title":"Những video cực kỳ quyến rũ của nữ nghệ sĩ piano nổi tiếng người Hàn Quốc LEEZY bị rò rỉ - Tuyển tập 02","lastmod":"2025-07-19","duration":"0:37:56","url":"/play/19214002.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvM2U5NTZkNDlmZGJhMzAzMjllNDdjNGFlMzFjNDQzNjkuanBn.cache","vod_id":19044665,"title":"Một trang web đã rò rỉ một bộ sưu tập video ghi lại cảnh một cặp đôi sinh viên đại học vô cùng táo bạo, thể hiện nhiều tư thế và kỹ thuật quan hệ tình dục khác nhau. Các video có hình ảnh một người phụ nữ xinh đẹp, ngực hồng đang thực hiện hành vi tình dục trên giường hoặc ghế sofa – không thể nào dâm dục hơn được nữa!","lastmod":"2025-03-28","duration":"0:56:05","url":"/play/19044665.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTRiY2JjOWJlZDc5ZjNlMjM4NDk2OGYxOWEyMTBhYzcuanBn.cache","vod_id":19173057,"title":"#Phát trực tiếp cảnh hổ trắng không lông cưỡng bức cô gái thỏ dâm đãng.","lastmod":"2025-03-30","duration":"2:39:11","url":"/play/19173057.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYWUwY2JhOGNlNjJmZDQwN2RjYzRhMGM5ZWQ1NjJiMzEuanBn.cache","vod_id":19045295,"title":"Một video ghi lại cảnh một nữ sinh người Anh gốc Hoa tốt nghiệp Học viện Nghệ thuật Biểu diễn Hồng Kông quan hệ tình dục với bạn trai của cô đã lan truyền trên mạng.","lastmod":"2025-03-28","duration":"0:09:20","url":"/play/19045295.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMGYyMmJhNGUxYzVhZjM1YmI4MTFmOTIzODQ2NjZlNWUuanBn.cache","vod_id":19255562,"title":"Những bức ảnh riêng tư mới nhất bị rò rỉ của nữ thần mạng Ya Ya khi đang quan hệ tình dục với bạn trai giàu có của cô đã được tung lên mạng, bao gồm cả cảnh quan hệ tình dục bằng miệng và thâm nhập mãnh liệt.","lastmod":"2026-04-24","duration":"0:07:21","url":"/play/19255562.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZGZkYTViNjQ1NTY4YjliNDY5Mzc0NDZjOTZlNWI0MTAuanBn.cache","vod_id":19254175,"title":"Một người đàn ông đeo kính đã bị bắt quả tang ăn cắp tiền của một phụ nữ giàu có, ngực khủng tại một khách sạn. Sau khi xuất tinh, hắn ta cố gắng lấy trộm tiền của cô ta nhưng đã bị phát hiện. Toàn bộ video đã bị rò rỉ.","lastmod":"2026-04-15","duration":"1:08:04","url":"/play/19254175.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTM3YTdlODc3ZDhmMGVmZjlhMGQ3NmNlY2VjMTI2YzQuanBn.cache","vod_id":19141381,"title":"Một ông chủ quán trà sữa ramen nổi tiếng trên Tumblr đã trở nên nổi tiếng sau khi một video bị rò rỉ ghi lại cảnh anh ta và bạn gái thực hiện màn selfie 3P. Video cho thấy ông chủ nhanh chóng thâm nhập vào người phụ nữ từ phía sau, tạo nên một cảnh tượng vô cùng kích thích.","lastmod":"2025-03-29","duration":"0:03:45","url":"/play/19141381.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOGM4Nzk0ZjM3MDEzOWMyNjJhZTM5ODQxZTI0ODliY2EuanBn.cache","vod_id":19072438,"title":"“Tôi không hứng thú với những khách hàng không có tiền,” cô gái quán bar vùng cao nói, vẻ khinh thường khách hàng của mình, nhưng cô ta lại được tiêm thuốc kích dục để kích thích và quan hệ tình dục với họ.","lastmod":"2025-03-29","duration":"2:16:07","url":"/play/19072438.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvN2ZkODNiOGNlNjZhNDZjNzFlM2E5NWE3NDBhZjkxMjcuanBn.cache","vod_id":19242159,"title":"Những bức ảnh gốc mới bị rò rỉ cho thấy một ông già hói đầu đang cưỡng bức một nữ nhân viên mát-xa xinh đẹp tại một câu lạc bộ.","lastmod":"2026-01-30","duration":"0:31:03","url":"/play/19242159.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTIwNjNhNDk2YmRiMDhjMWQ0MDRhZTA3OTBlODgzNGQuanBn.cache","vod_id":19190078,"title":"HAWA167, một cô giao hàng toàn thời gian, và tôi đã ân ái thỏa thích cho đến khi cả hai cùng đạt cực khoái.","lastmod":"2025-03-30","duration":"2:15:48","url":"/play/19190078.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MjAvNDI3MWUxOWMyZTkyNzBmOWQxYTViNzhiMTM5YzMyMTguanBn.cache","vod_id":19269450,"title":"Nội dung PUA bị rò rỉ tiết lộ hai biểu hiện trái ngược nhau; rất được khuyến khích cho những ai thích quan hệ tình dục bằng miệng và xuất tinh lên mặt.","lastmod":"2026-07-19","duration":"","url":"/play/19269450.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzI1MWZkZWEyYzViMjhhMDY3OWI0OTAyMzk3NjZiNTIuanBn.cache","vod_id":19181200,"title":"Một dòng nhựa trắng đục chảy ra từ huyệt SSNI663.","lastmod":"2025-03-30","duration":"1:59:16","url":"/play/19181200.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOTg2MDUxZDg3NjgyOTc1MWEzYTIzNmVlYjU0Zjk5N2YuanBn.cache","vod_id":19256492,"title":"Tinh dịch chảy ra từ âm đạo; quan hệ tình dục với người thân trong gia đình; ngực lớn; mẹ kế; các nữ diễn viên như Kikukawa Maria, Mami Ema và Terashima Shiho; Mạng internet.","lastmod":"2026-05-01","duration":"2:01:07","url":"/play/19256492.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjRlNmU4NTE4YTI5ZThjNjdjNGU1MjViNmFjYjQ2YTIuanBn.cache","vod_id":19173874,"title":"Một video ghi lại cảnh Wang X-li, một cô gái xinh đẹp đang du học tại Thượng Hải, quan hệ tình dục tại nhà với bạn trai người nước ngoài đã bị rò rỉ. Video cho thấy cô gái rất xinh đẹp và có thân hình tuyệt vời. Sau khi quan hệ tình dục, anh ta thậm chí còn xuất tinh lên mặt cô và liếm sạch!","lastmod":"2025-03-30","duration":"0:04:43","url":"/play/19173874.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvZGQzNmE0MzQwZThkMGZkZDVhNjRiYWUxY2QxYmY0NDcuanBn.cache","vod_id":19260579,"title":"Thời gian như ngưng đọng, một thế giới nơi thời gian ngừng lại, một người phụ nữ ngực khủng trong bộ váy trắng đi nghỉ dưỡng suối nước nóng với những cuộc ái ân thầm lặng, Azuki Azumi, Yoshine Yuria, Takarada Mona, Mimaru Kanano - Delusional Tribe","lastmod":"2026-05-25","duration":"2:15:40","url":"/play/19260579.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzJlNmYxMTg3MzQxYTgwYTkwMDY2YjI4ZDE5MzNjNzMuanBn.cache","vod_id":19071592,"title":"Cái dương vật giả trong tủ lạnh của cô nàng \"nữ hoàng đua xe\" chẳng thể nào sánh được với dương vật thật.","lastmod":"2025-03-29","duration":"0:17:12","url":"/play/19071592.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTE2NGFkMWYzM2U3NmY4ZjM4MjFmNGFlMWUyMjgwNTguanBn.cache","vod_id":19130278,"title":"[Bản phát hành gốc] Hai cô nàng tóc đỏ đáng yêu Dolly Dyson và Charlie Dean có khoảng thời gian tuyệt vời trên bãi biển.","lastmod":"2025-03-29","duration":"0:25:19","url":"/play/19130278.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjRmY2JhZmM5ZDk0YzdhMTIxYzdhNjFiNzQ1YmYyYTUuanBn.cache","vod_id":19050216,"title":"Một video ghi lại cảnh một nữ sinh viên xinh đẹp đang quan hệ tình dục trong khi mặc quần tất đen gợi cảm đã bị rò rỉ.","lastmod":"2025-03-29","duration":"0:10:43","url":"/play/19050216.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWViY2IzMDU0MjRjNjFiZDFjMTY5MGJlNjBlNTVmNmUuanBn.cache","vod_id":19191958,"title":"PPPD993 Mát-xa ngực cao cấp và gợi cảm dành cho nam giới với cô gái thỏ ngược - Thường được phục vụ bởi cô gái thỏ ngực khủng ôm sát cơ thể - Yumi Shion.","lastmod":"2025-03-30","duration":"2:31:59","url":"/play/19191958.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMTE1ZWI1ZTZhODE1NjFiOWY2ZjAwYTQ4OWYyNjZlNGQuanBn.cache","vod_id":19146304,"title":"Hãy tận hưởng một ngày tuyệt vời với màn quan hệ tình dục bằng miệng và sự tiếp xúc trực tiếp với một nữ tiếp viên cao cấp.","lastmod":"2025-03-30","duration":"1:57:53","url":"/play/19146304.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTMzNGQzMmQ5NWY2ZjA1YmQ2Yzk4ZjBmMTA3ZTUyMDkuanBn.cache","vod_id":19075958,"title":"Cô gái xinh đẹp nhất trường bị bạn trai ép mất trinh. Cô khóc vì đau đớn, và hắn ta xuất tinh vào trong cô, khiến cô chảy máu.","lastmod":"2025-03-29","duration":"0:52:48","url":"/play/19075958.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNmI1MDMxOGE5NjZlM2JjMjFjMDVkNGQ1NGFkNWQ2OWMuanBn.cache","vod_id":19152852,"title":"Cô gái hàng xóm ngoan ngoãn và dễ thương! Một màn tự sướng đáng yêu, ngây thơ! Âm đạo của cô ấy mở rộng, và chất dịch màu trắng đang chảy ra.","lastmod":"2025-03-30","duration":"0:58:27","url":"/play/19152852.html"}]},
videoTitle: 'Trang phục cô gái thỏ của Xiaoyuan bị rò 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=/`;
}
};
}