Cô gái nóng bỏng nhất, Hina, bị làm tình đến mức cực khoái. Núm vú của cô ấy cực kỳ nhạy cảm và cô ấy bị trêu chọc cho đến khi đạt nhiều cực khoái. Cô ấy bị cưỡng hiếp tập thể và bị bắn tinh dịch. Hazuki Hina. Bữa tiệc độc hại.","lastmod":"2026-07-11","duration":"04:13:47","url":"/play/19167000.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDBmMzFiYWQxMDM2MWEwZDJiMjJjMmYyNWIxNmVlZWUuanBn.cache","vod_id":19025941,"title":"XVSR358 Cưỡng bức thụ tinh cho nữ sinh vô tội Wakatsuki Mariya.","lastmod":"2025-03-24","duration":"01:26:09","url":"/play/19025941.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmViY2ViZDZmMjRhZTRmMDlhMzc2YjFlNjU3M2RhYmYuanBn.cache","vod_id":18982997,"title":"Một người phụ nữ xinh đẹp, lịch sự, trưởng thành đang quyến rũ anh trai mình bằng màn trình diễn sex trực tuyến đầy đam mê tại nhà. Cô ấy để lộ mặt suốt buổi, bao gồm cả cảnh quan hệ bằng miệng, dương vật lớn, nhiều tư thế khác nhau, quan hệ không dùng bao cao su và xuất tinh vào âm đạo.","lastmod":"2025-12-14","duration":"00:23:27","url":"/play/18982997.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDI1ZTRkNmJkM2UzMzExNjZmMjAxY2M0NDQ0NjdjYjEuanBn.cache","vod_id":18983733,"title":"[Phụ đề tiếng Trung] EBWH-011 Anime Expo Trở Lại: NTR trong Căn Hộ Chung Cư - Sau khi mặc bộ trang phục phản diện kiểu \"cô gái thỏ\" đến cửa hàng cho thuê đồ cosplay tại một khách sạn dành cho các cặp đôi, tôi bị bạn mình tấn công và phản bội, dẫn đến việc bị xuất tinh vào trong.","lastmod":"2025-12-14","duration":"02:26:09","url":"/play/18983733.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvN2I1ZDFmZDVhY2Q0ZjcwNDIwMTI2MTRjZWNhZDJhYzcuanBn.cache","vod_id":19147791,"title":"MIDV-551-C Cô giáo ngực khủng, ngây thơ này đã trở thành nhà vệ sinh sữa của chúng tôi. Quan hệ tình dục tập thể, xuất tinh bên trong, cưỡng hiếp, cưỡng hiếp tập thể, thâm nhập nhiều lần, 17 lần xuất tinh.","lastmod":"2026-03-11","duration":"01:59:53","url":"/play/19147791.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTQ2YWU3MDA3ZGQ3NDYxYTM3NDBlN2JhYWZmMGZkYTcuanBn.cache","vod_id":18954941,"title":"FC2PPV 3158475 [NTR] [Không che] [Hai lần xuất tinh bên trong] Đã lâu rồi tôi chưa dẫn một cô gái trẻ và bạn trai của mình về nhà.","lastmod":"2025-12-14","duration":"01:12:06","url":"/play/18954941.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjE3MGRlNjRlMGRhYmEzYWVmOTMwOWJmMjQ2YjE4ZmMuanBn.cache","vod_id":18957274,"title":"Thông tin rò rỉ về một câu lạc bộ trao đổi vợ chồng cho thấy những người chồng bị cắm sừng đang tham gia vào các cuộc quan hệ tay ba và tay tư với những người đàn ông khác, với những bức ảnh rõ nét khuôn mặt của họ. (Nội dung dành cho người trên 18 tuổi)","lastmod":"2025-12-14","duration":"00:03:40","url":"/play/18957274.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MzAvMTNjNWZjMDgwNmNiZjE2MjU5MDk2NTA2YTc5NTQ0M2IuanBn.cache","vod_id":19040681,"title":"Kanan, chủ tịch hội sinh viên của MIDA152, người sáng lập câu lạc bộ tắm bồn mới, trở nên cuồng nhiệt trong những bộ trang phục gợi cảm! Dịch vụ xuất tinh không giới hạn.","lastmod":"2025-06-29","duration":"02:28:25","url":"/play/19040681.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MDEvODkzYTk3ZWFmYTQyN2E0MGQxOGM1M2VhNzg4MjgzYmQuanBn.cache","vod_id":19035988,"title":"Cô gái nghiệp dư NoFaceGirl mặc áo khoác Pornhub đã bị xâm hại tình dục và xuất tinh lên người.","lastmod":"2025-06-01","duration":"21:29","url":"/play/19035988.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMmEzOWYwMGJlMjBmOTkwNjZiM2Q0MjBiOWRjYmNhOWMuanBn.cache","vod_id":18926892,"title":"TCD-237_A Một người đàn ông chuyển giới tán tỉnh các cô gái đồng tính trên đường phố! Một cô gái ngực khủng cỡ H và người chị gái lớn tuổi hơn nhưng bị kìm nén về mặt tình dục, họ không ngại bị xâm nhập.","lastmod":"2025-12-14","duration":"01:57:21","url":"/play/18926892.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjE0MGM3ZTYzMjI4NTQ1NjQyZDE2YzU0Y2IxNjM2M2MuanBn.cache","vod_id":18965935,"title":"Một người phụ nữ xinh đẹp trong giày cao gót và tất chân đang bị cha mình cưỡng hiếp, cô ấy rên rỉ không ngừng. \"Bố ơi, con sắp lên đỉnh rồi! Con không chịu nổi nữa! Cưỡng hiếp con đến chết đi! Bố la hét to quá! Cẩn thận cái âm lượng của bố!\" Cuối cùng, ông ta xuất tinh vào trong cô, tinh dịch vương vãi khắp sàn nhà.","lastmod":"2025-03-22","duration":"00:08:53","url":"/play/18965935.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzE0NGRjYzZlZGFhYzlkYTc2YmYwODBkZjczYjEzY2IuanBn.cache","vod_id":19006715,"title":"EUUD-30 Chủ động ghé thăm nhà khán giả! Bạn có muốn quan hệ tình dục với Yuka Mizuno không? ~ Một trải nghiệm xuất tinh bên trong như mơ với người phụ nữ trưởng thành mà bạn ngưỡng mộ~","lastmod":"2025-03-24","duration":"01:34:45","url":"/play/19006715.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MTYvZmU5NDI4ZWVmNGQ5MzYzODg3ZWE0ZjVhODZkYTVmMjkuanBn.cache","vod_id":19033779,"title":"BF686 Người yêu thời thơ ấu của tôi không coi tôi là con gái; anh ấy vô thức dùng bộ trang phục thỏ ngược để quyến rũ tôi. Từ ngày đó trở đi, chúng tôi quan hệ tình dục với anh ấy ở bên trong tôi mỗi ngày.","lastmod":"2025-05-16","duration":"02:20:24","url":"/play/19033779.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODg1MmZkZTlmZTZiMTk5MjgxNjA5YjM1ZWVlOTMwNWMuanBn.cache","vod_id":18979944,"title":"[4K]MCST-007 Người mẹ kế trẻ sa ngã Tôi không thể cưỡng lại sức quyến rũ gợi cảm của mẹ kế và liên tục xuất tinh vào trong cô ấy cho đến khi cô ấy có thai.","lastmod":"2025-03-23","duration":"03:04:00","url":"/play/18979944.html"}]},
videoTitle: 'HND-795 Một mối tình tay ba liên quan đến hai thành viên cấp cao của cùng một câu lạc bộ, ngoại tình và xuất tinh bên trong.',
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=/`;
}
};
}