Khi tôi ngủ qua đêm ở nhà bạn gái, em gái tôi say xỉn và trở nên vô cùng hăng hái, gần như là một kẻ cuồng hôn… Cuối cùng chúng tôi chảy nước dãi trước mặt cô ấy. (IPZZ-728)
Tôi đang tán tỉnh bạn gái của đồng nghiệp, một người mẫu nữ trưởng thành, cô ấy đang tham gia ngành công nghiệp giải trí người lớn. Ahhh, cảm giác thật tuyệt! Anh không thể kiềm chế được bản thân và xuất tinh vào âm đạo của tôi! Nghe tiếng rên rỉ của cô ấy, cảm giác thật tuyệt!","lastmod":"2026-07-11","duration":"43:55","url":"/play/19154229.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MTEvODM5ZGNkMjFlZDM4NmFkMmUxNjg4MjZlMmI2NTk4YTkuanBn.cache","vod_id":19148786,"title":"[4K] Tôi gọi gái mại dâm, nhưng hóa ra lại là chị gái của chồng tôi!? Cô chị gái vô cùng dâm đãng đã dùng kỹ năng tuyệt vời của mình để giúp tôi đạt cực khoái nhiều lần thông qua quan hệ tình dục bằng miệng và thâm nhập. Himekawa Yuuna, Video kinh điển.","lastmod":"2026-06-10","duration":"02:11:50","url":"/play/19148786.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDM1NzE5NDE1OGNkZDI1MjYxMzAwZWM4ZjA4ZDBjNzcuanBn.cache","vod_id":18999228,"title":"Top 10 của 1Pondo trong nửa đầu năm (Phiên bản đặc biệt) - Xếp hạng từ 1 đến 5","lastmod":"2025-03-28","duration":"01:58:40","url":"/play/18999228.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNDAwYTFjMmViNWY1NTA4NjQ1OGY4OGJiMDAwYzc1NTcuanBn.cache","vod_id":19137880,"title":"Haihai Friends 10 Amateur Haihai Friends, Quay phim cá nhân, Bạn tình, Tại nhà, Nghiệp dư, Cô gái xinh đẹp, Chị gái, Nữ sinh viên đại học, Video nghiệp dư đầu tiên Hoihoi - Delusion Tribe","lastmod":"2026-04-18","duration":"05:17:08","url":"/play/19137880.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTJmNDE4MzhlNTU5Njc5MWM5MzQyNjc4MjExMDFlYzEuanBn.cache","vod_id":18999023,"title":"Chị gái tôi hồi cấp ba đã thương hại tôi, một kẻ thất bại.","lastmod":"2025-03-28","duration":"01:56:25","url":"/play/18999023.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzQ0YTMzYThlMGI3ZmZjNmY0ODZkNWI1ZjhiYThhYTEuanBn.cache","vod_id":19060753,"title":"Serina, biểu tượng phong cách hip-hop, đã trở lại! Cô ấy đã che giấu tinh trùng của đàn ông hai lần liên tiếp.","lastmod":"2025-03-29","duration":"01:10:05","url":"/play/19060753.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzg0YTExZjllNTY2YjVjNmZkMDE5Mjg0NWI4NTE5ZGEuanBn.cache","vod_id":18968067,"title":"Em gái tôi mê mẩn anh ấy!","lastmod":"2025-03-28","duration":"21:50","url":"/play/18968067.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZmQ3ZDdkYThhY2E2OTA4ZjNhNzM2Nzg4YjdmZDA3MWMuanBn.cache","vod_id":19131696,"title":"Đây là bạn gái của bạn tôi, một con nhỏ tai tiếng từ trường Cao đẳng Kỹ thuật Shangrao. Trong thời gian chúng tôi yêu nhau, cô ta liên tục cặp kè với những người đàn ông lớn tuổi hơn bên ngoài trường, và thậm chí còn bị cáo buộc phá thai hai lần. Cuối cùng chúng tôi đã bắt quả tang cô ta với một số người.","lastmod":"2026-03-19","duration":"02:16","url":"/play/19131696.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjY0N2EzN2M4OGY0NzRhN2MxOWRlZDdhMTAwNjNmYjAuanBn.cache","vod_id":19036711,"title":"Đây là một chương trình đặc biệt kéo dài 5 giờ, trong đó một người phụ nữ xinh đẹp, ngực đầy đặn cùng một đứa con sẽ đợi bên ngoài sau bữa tiệc và sau đó bị xâm hại tình dục.","lastmod":"2025-03-29","duration":"05:00:22","url":"/play/19036711.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNjM0ZmIzM2Q5NzkzNmUxZWFhYjdiZTE5NjJjMTA3MGYuanBn.cache","vod_id":19059120,"title":"200GANA2272 Một tay chơi lão luyện bị quay phim lén lút khi đang quan hệ tình dục với một cô gái trong phòng. 156 Một người đẹp mảnh mai và quyến rũ bị bắt quả tang đang ân ái nồng nhiệt với bạn trai! Anh ta tiết lộ khuynh hướng khổ dâm mà anh ta không thể nói với bạn gái, và bị trói tay và bị chế nhạo một cách tàn nhẫn! Trong khi quan hệ tình dục, cô ấy nói, \"Cảm giác còn tuyệt hơn cả với bạn trai của tôi...!\" Chúng tôi đã nhận được những bình luận sau!!","lastmod":"2025-03-29","duration":"01:11:22","url":"/play/19059120.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMDUvMjhlMDI2MmYyNWU5NmVkMDBkNjE2ODU5ODcyM2IyZjkuanBn.cache","vod_id":19104501,"title":"Một cô gái trẻ xinh đẹp đang tự sướng và xuất tinh trong khi quan hệ tình dục, cô ấy sắp lên đỉnh! Cô ấy không thể chịu đựng được nữa, cô ấy sắp xuất tinh rồi!","lastmod":"2025-11-04","duration":"10:35","url":"/play/19104501.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMmEwMjRlM2E2ZDY2NjQ4MjlkMzE2M2ZjMGJmOWY5MzUuanBn.cache","vod_id":18995002,"title":"[Độ phân giải cao, không kiểm duyệt] Cô gái bí ẩn có quan hệ thân mật với anh chàng bán xe!! Chúng tôi sẽ tung video bí mật ghi lại cảnh cô ấy thực hiện hành vi quan hệ tình dục bằng miệng trong khách sạn.","lastmod":"2025-03-28","duration":"23:22","url":"/play/18995002.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZWFhMWMyM2VhOWE2NzY0YTU1YTA4MDg5ODAwMjY1ODguanBn.cache","vod_id":18967582,"title":"Sữa của người chị gái tò mò","lastmod":"2025-03-28","duration":"20:45","url":"/play/18967582.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYWQ1MjMxMjFiZDYwZTc0MmY5MmM0NDRmNGQyNTE2MWIuanBn.cache","vod_id":19137091,"title":"Cai'er, cô em gái hay gây rắc rối - thử thách của dục vọng","lastmod":"2026-04-15","duration":"01:08:35","url":"/play/19137091.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjU0YzQyNjU1N2NiOThmZjAwOGVlMzVjMDFiOTljYWUuanBn.cache","vod_id":19007947,"title":"[Không che] [Ngực cỡ F] Thân hình tuyệt vời! Cảnh quay một người đẹp ngực khủng bị cắm sừng. Lần đầu tiên trải nghiệm nỗi đau bị bạn trai bỏ rơi - liếm - CD2","lastmod":"2025-03-28","duration":"11:33","url":"/play/19007947.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvY2M1ZDQ0MmQyMGMxZDFmODc2ODk3ZTMwODI5ZmU5OGIuanBn.cache","vod_id":18997132,"title":"PKPD-111 Qua đêm tại nhà cô gái","lastmod":"2025-03-28","duration":"02:18:29","url":"/play/18997132.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjFhNGFjODc1YjdmMjQ4Y2FhYzMwNDM1ZTE0YTk5MDEuanBn.cache","vod_id":18978536,"title":"PPPD-802 PHỤ ĐỀ TIẾNG TRUNG: Meguro Megumi, một cô gái lẳng lơ và dâm đãng, cướp bạn trai của bạn thân (loạn luân).","lastmod":"2025-03-28","duration":"02:00:08","url":"/play/18978536.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjMvYWM5OTQ1MDBlMWUyNTk2OTZkZGM2MmU5NmU3OGY2ZjQuanBn.cache","vod_id":19151170,"title":"Cô vợ hàng xóm xinh đẹp say xỉn và mở nhầm cửa. \"Tôi đã trở lại!\" Monami Takarada, Planet Plus","lastmod":"2026-06-22","duration":"01:55:19","url":"/play/19151170.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMTFiMzk3ZWMxZTQxM2EyNzAxZWQ4MTFlZTAzMmUzODIuanBn.cache","vod_id":19005946,"title":"Loạt phim mới nhất của Doll Sister - Tập 1 khu rừng","lastmod":"2025-03-28","duration":"39:23","url":"/play/19005946.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjQvODlkZDdiMjEwZjJjOGZjY2M3Y2ZkYjdkMzE5OTc5OWQuanBn.cache","vod_id":19102335,"title":"Cô gái mảnh mai mặc quần short denim","lastmod":"2025-10-23","duration":"46:57","url":"/play/19102335.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDExMjRlNzljOTA5NDdkYWI4ZjIyYThmNzJkYTkwZTguanBn.cache","vod_id":19034690,"title":"\"Tôi đã là một bà già rồi, như thế này có ổn không?\" Một huấn luyện viên ngực đầy đặn nhẹ nhàng hướng dẫn chúng tôi cách cải thiện chứng xuất tinh sớm thông qua quan hệ tình dục. (Toàn bộ cảnh quay chân thực.)","lastmod":"2025-03-29","duration":"03:59:12","url":"/play/19034690.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYmM1YmE1Y2Q1NjRjNjRmNjcwNDY2YzQ1NzFmNmU4MTkuanBn.cache","vod_id":19030613,"title":"Chương trình hướng dẫn ngoại khóa đặc biệt từ Xi Yu, một giáo viên giáo dục đặc biệt dày dạn kinh nghiệm, sở hữu vòng một đầy đặn, thuộc kiểu \"hổ trắng\".","lastmod":"2025-03-29","duration":"47:59","url":"/play/19030613.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNzliZWI4ZGQ2NTg3NDE4Y2Y5MjYzMjYyN2Q0NTAxYjIuanBn.cache","vod_id":19116482,"title":"Mẹ tôi thật dại dột khi bắt đầu mối quan hệ với người bạn thân nhất của tôi. JULIA MEYD-826","lastmod":"2026-01-05","duration":"01:59:35","url":"/play/19116482.html"}]},
videoTitle: 'Khi tôi ngủ qua đêm ở nhà bạn gái, em gái tôi say xỉn và trở nên vô cùng hăng hái, gần như là một kẻ cuồng hôn… Cuối cùng chúng tôi chảy nước dãi trước mặt cô ấy. (IPZZ-728)',
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=/`;
}
};
}