[Tối nay anh trai tôi không có nhà] Tôi đã không quan hệ với chị dâu hơn một tháng rồi, nên tôi đã làm tình với cô ấy cho đến khi cô ấy ướt đẫm và liên tục chảy nước.
Vũ Mạnh Mộng và Tô Xương là hai chị em lăng loàn, sống buông thả.","lastmod":"2026-07-11","duration":"","url":"/play/19207103.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWIxNTk3NThmMjc2MTc5ZGIxYmVjZjE0ZmM1ZGY4MmQuanBn.cache","vod_id":19086852,"title":"Một câu chuyện tình ngắn giữa một cô gái bỏ nhà đi và một ông lão. - Nagisa Himawari.","lastmod":"2025-03-26","duration":"2:01:46","url":"/play/19086852.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzRiYjExYzYwZDc5N2Q1ZDM2YzM4M2U0ZTFiNWMwNzEuanBn.cache","vod_id":19125513,"title":"Trong một chuyến đi dã ngoại của trường, tôi đã mời một cô gái ngực khủng đeo kính bình thường đi tắm... Cô ấy ướt sũng, và tôi đã xoa bóp bộ ngực đồ sộ của cô ấy rồi xuất tinh vào bên trong.","lastmod":"2025-03-26","duration":"2:28:55","url":"/play/19125513.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MjEvYTUyMjI5Yjk2ODFjZmNkMWMxNGIwZTlmMzUzYWVjZjkuanBn.cache","vod_id":19150325,"title":"Một video quay cảnh Jiajia, một người có tầm ảnh hưởng nổi tiếng trên mạng xã hội với 4 triệu người theo dõi, bị quay lén trong tình trạng khỏa thân đã lan truyền trên mạng.","lastmod":"2025-08-20","duration":"0:07:01","url":"/play/19150325.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMTYvZTAyZmRiZmZlOWM4MWM0NTA2OWRkN2M2YjZhOTQ3ZWIuanBn.cache","vod_id":19164690,"title":"\"Cô em dâu tốt bụng\" Xuất tinh bên trong: Người phụ nữ nhện ngực bự, mông bự, nhiều lần xuất tinh bên trong","lastmod":"2025-11-15","duration":"0:24:41","url":"/play/19164690.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTliNjViZWUxMzc5MmZlMGExMTk5NGM5MDhiODZjNmEuanBn.cache","vod_id":19029888,"title":"Mami (một dụng cụ thủ dâm dành cho nữ) - Một người phụ nữ lẳng lơ, uống tinh dịch và xuất tinh vào bên trong theo ý muốn, Sakurai Asami","lastmod":"2025-03-26","duration":"2:40:44","url":"/play/19029888.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDI2NGM3NjllMWEzMTE5ODU2OWJmN2NjNzEzODYwYjAuanBn.cache","vod_id":19090864,"title":"[★Anh họ] Một kỷ lục chân thực về việc cưỡng hiếp em họ tôi một cách tàn bạo cho đến khi cô ấy xuất tinh trong hơn một tháng!","lastmod":"2025-03-26","duration":"0:47:08","url":"/play/19090864.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDJiNmM5ZTZkNGIxMjk2MTg2NzRiMDI0NjlhNDBkMjIuanBn.cache","vod_id":19120787,"title":"Một nữ nhân viên mát-xa mới vào nghề, với thân hình đầy đặn và quyến rũ, cung cấp dịch vụ mát-xa, mát-xa ngực và dịch vụ tình dục cho người tình của mình. Cô ta giữ chân anh ta, liên tục thúc vào anh ta, và họ thay đổi tư thế, cuối cùng xuất tinh vào bên trong anh ta...","lastmod":"2025-03-26","duration":"1:03:36","url":"/play/19120787.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGIzYTkwMjEyNzk1NmY1MmU1ZTM2ZWNhMTE0OTBhYzcuanBn.cache","vod_id":19066556,"title":"Khi chồng cô ấy không có nhà, được ở bên người vợ nghiệp dư ngực khủng, thích ăn thịt người này, dương vật của tôi sẽ không cương cứng cả ngày.","lastmod":"2025-03-26","duration":"2:43:02","url":"/play/19066556.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOWFiNTgwMDk3NWRlODcwNmI5NGQxNjFmMTVlMzFmOTcuanBn.cache","vod_id":19180506,"title":"Đoạn video bị rò rỉ, nghi ngờ là băng sex của một người đàn ông giàu có đang lưu trữ nội dung dành cho mọi lứa tuổi trên Tencent Video, có sự xuất hiện của một người phụ nữ xinh đẹp với thân hình quyến rũ và kỹ năng \"oral sex\" ấn tượng.","lastmod":"2026-02-15","duration":"0:13:22","url":"/play/19180506.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDAyNjI1NzM5YTQ3Y2QyMmI1YzJjNTZhZDI3MzBjY2MuanBn.cache","vod_id":19123323,"title":"Gợi ý thủ dâm! Nữ thần vừa bước chân vào ngành công nghiệp phim người lớn và đã đóng cảnh 3 người~ Quan hệ tình dục với cừu băng! Thủ dâm! Phun trào~ ✨✨✨ Cô em gái gợi cảm này đã bước chân vào ngành công nghiệp phim người lớn sau khi tích lũy nợ nần, và đã có một cuộc gặp gỡ nồng cháy với bạn trai trong khách sạn.","lastmod":"2025-03-26","duration":"0:43:53","url":"/play/19123323.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZGU0OGFhMmJlNjU0MDIzZTFhZjM5ZTlkNzhiNGQ2OTQuanBn.cache","vod_id":19063995,"title":"Tôi đã triệu hồi một người phụ nữ xinh đẹp, quyến rũ, người đã khiến tôi xuất tinh cho đến khi cạn kiệt hoàn toàn tinh dịch.","lastmod":"2025-03-26","duration":"2:07:03","url":"/play/19063995.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZmE5NDA5MWYwOWY1NTRiMzNhYmY0NDViNTQ1NGRkNTQuanBn.cache","vod_id":19180144,"title":"Các trinh nữ chơi đùa quá nhiều, sự khác biệt rất nhỏ, video múa khỏa thân lần đầu của một trinh nữ bị lộ và rò rỉ.","lastmod":"2026-02-13","duration":"0:01:39","url":"/play/19180144.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MTkvMWVkNzI5MGI3MzFhMTg4YmI2NGZlZjg3MzE4ZThmZjQuanBn.cache","vod_id":19155051,"title":"Một anh chàng mũm mĩm, xếp thứ ba toàn quốc, đã gặp gỡ một cô gái xinh đẹp, mảnh mai để quan hệ tình dục trong nhà vệ sinh, quan hệ bằng miệng, cưỡi ngựa, tư thế doggy style, giao hợp mãnh liệt và thủ dâm lẫn nhau. Cảnh tượng rất quyến rũ; đừng bỏ lỡ nếu bạn thích.","lastmod":"2025-09-18","duration":"0:36:25","url":"/play/19155051.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTFiMTYzNjk0OGMyZDllNmFjOTM1YjMwNWQ5YWJjNmQuanBn.cache","vod_id":19034301,"title":"PFES-052 Chúng tôi sẽ gửi một con điếm dâm đãng, ngực bự đến để bú liếm dương vật cho đến khi bạn xuất tinh hết. Rino Yuki","lastmod":"2025-03-26","duration":"2:35:38","url":"/play/19034301.html"}]},
videoTitle: '[Tối nay anh trai tôi không có nhà] Tôi đã không quan hệ với chị dâu hơn một tháng rồi, nên tôi đã làm tình với cô ấy cho đến khi cô ấy ướt đẫm và liên tục chảy nước.',
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=/`;
}
};
}