Suốt 10 năm, tôi trút hết cảm xúc với mẹ và xuất tinh 16 lần liên tiếp. Mizuno Yuka Mizuno Yuka Madonna","lastmod":"2026-07-11","duration":"02:33:03","url":"/play/19161923.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODdmODM5ODY4NTZkZDAzMjk4YTU5ZjgzMzUwNDUzODEuanBn.cache","vod_id":18957800,"title":"LZDM-050 [ASMR Góc nhìn chủ quan của người đồng tính nữ] Ngày hôm đó, tôi đã không cưỡng lại được cám dỗ đồng tính nữ từ các học sinh của mình và đã trao thân cho họ một lần. Kể từ đó, tôi đã làm điều đó hết lần này đến lần khác mỗi khi gặp họ.","lastmod":"2025-12-14","duration":"02:55:50","url":"/play/18957800.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MDUvOGU3OTA5YTkxZjU0YmVkN2YyZDJjY2Q1Y2ZjYTk5ZDAuanBn.cache","vod_id":19049957,"title":"HEZ760 Khi tôi giới thiệu một công việc bán thời gian bí mật cho một bà mẹ mũm mĩm đang đi xe máy về nhà sau khi đi mua sắm, bà ấy đã bị thu hút bởi lời mời vui vẻ đó.","lastmod":"2025-09-04","duration":"04:01:15","url":"/play/19049957.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNmRiOTgxYjhkYmM1ZTc5YWNkOWU2OTRhYTFlOTI5ODMuanBn.cache","vod_id":19015302,"title":"IPX330 Con xin lỗi bố mẹ! Con đã lén quay video người lớn mà không nói với gia đình!!","lastmod":"2025-03-24","duration":"03:08:00","url":"/play/19015302.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDJkZjIyOTg0ZWZkMGIzNzhhODc0YjlkMmJhYjczMzYuanBn.cache","vod_id":19003856,"title":"[milky] Vợ, Mẹ và Người Phụ Nữ Ngực Đầy VOL.1","lastmod":"2025-03-23","duration":"25:00","url":"/play/19003856.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMWE2OTM0YWVmYjViY2JkN2Q1YTUzYjJmYTlhNDBlNTkuanBn.cache","vod_id":19003751,"title":"SPRD-1180 Người mẹ cưỡng hiếp và xuất tinh vào bên trong cơ thể con trai lần đầu tiên. Mari Kikukawa.","lastmod":"2025-03-23","duration":"01:57:46","url":"/play/19003751.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjJlOWVjYmU5YWI2ZDgwNGJlY2U0MWNjOWVjMWVkMDQuanBn.cache","vod_id":18931712,"title":"PIYO-067-A J○ Stroll 3 \"Chú ơi, dạy cháu thế nào là tình dục thực sự\" ~ Một nụ cười ngọt ngào, một thân hình mảnh mai chưa phát triển hoàn toàn, tham gia vào cuộc tình dục biến thái và mãnh liệt với một người chú lớn tuổi hơn cả cha mình, với tần suất gấp ba lần ~ Matsumoto Ichika","lastmod":"2025-12-14","duration":"01:34:25","url":"/play/18931712.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzI2ZDRhNTljYmZkMGE5MjRiZWQwMzhmMWY0MjA2NWEuanBn.cache","vod_id":19004119,"title":"TURA-388 [Hồ sơ điều tra] [Ngoại tình] [8 cuộc gặp gỡ tình dục được quay phim] [Giám sát tại nhà 24 giờ] Điều tra miễn phí về sự không chung thủy của vợ bạn. Nếu kết quả điều tra cho thấy có nghi ngờ, việc bán các video sẽ là phần thưởng của bạn. Tập 3 Cặp đôi Aikawa (bí danh) Vợ siêu dễ thương kiểu thần tượng Cặp đôi Abe (bí danh)","lastmod":"2025-03-23","duration":"01:12:58","url":"/play/19004119.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMmFiODI0OTVjODEzMWZhZjhkZGNiNDIzOTNhODI4ZmIuanBn.cache","vod_id":18985208,"title":"[4K]MADV-552 Ham muốn tình dục quá mức, xuất tinh bên trong là được, cô gái mặc đồng phục P-life được tìm thấy trên SNS, Mai & Sora","lastmod":"2025-03-23","duration":"02:16:47","url":"/play/18985208.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MTYvYTMxOGQyNjQ2YmMwZjE0ZTA0MWQ0OGUxZmJkN2U4NzQuanBn.cache","vod_id":19029499,"title":"Mẹ vợ tôi phát hiện ra chuyện ngoại tình của tôi và đã hành hạ tôi một cách tàn bạo bằng một cuộc tấn công tình dục nửa vời, gần như giết người. (Yumi Kazama JUQ-158-C)","lastmod":"2025-04-16","duration":"02:20:40","url":"/play/19029499.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTgxODc5MTMyYjU2M2JhZDU4NmY2NjU1M2NhMzBlM2MuanBn.cache","vod_id":19016665,"title":"STARS093 Bạn sẽ làm gì nếu gặp gỡ và yêu Masami Ichikawa, người đã giải nghệ khỏi ngành công nghiệp phim người lớn?","lastmod":"2025-03-24","duration":"02:06:46","url":"/play/19016665.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTU4MmI1ZmU1NWZhYWVmNzlmMjE3MTA3N2NhMWE5ZTMuanBn.cache","vod_id":19007021,"title":"GS-249, một nhân viên bảo vệ của công ty, phát hiện một nữ nhân viên văn phòng đang thủ dâm trong lúc tuần tra...","lastmod":"2025-03-24","duration":"01:32:40","url":"/play/19007021.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDllNWVkMmMyOTNlYWRlMGNlNjMyZWQ2MzNhNjczMWUuanBn.cache","vod_id":18955024,"title":"[Nước sốt mới] Trong khi mẹ và em trai đang ngủ~ Tôi tự sướng với đạo cụ múa thoát y~ Khi cảm thấy không thoải mái, tôi lén liếm chúng~ ~! ~~✨✨✨- Tôi không sợ em trai đột nhiên thức giấc-981_(mới)","lastmod":"2025-03-22","duration":"01:04:16","url":"/play/18955024.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTUxNjlhZGUwYjYxZjg3YThjMTNjYWI2NjUwNTkyNTcuanBn.cache","vod_id":18976426,"title":"[Phụ đề tiếng Trung] DDOB-120 Vụ Nổ Tinh Hoàn! Người Mẹ Thô Tục Tự Tử và Tinh Hoàn Nổ - Reiko Kobayakawa","lastmod":"2025-12-14","duration":"01:50:30","url":"/play/18976426.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOWVlOWU3NjNiNjUzZmM3YWY2ODk1MzI5YTcxYWViMjAuanBn.cache","vod_id":18938595,"title":"Một người đàn ông đang đi dạo đêm thì nhìn thấy một người phụ nữ xinh đẹp mặc quần đùi tại một tiệm massage ven đường. Anh ta trả 300 nhân dân tệ để đưa cô ấy vào phòng và quan hệ tình dục với cô ấy. Sau một lần, anh ta muốn quan hệ tình dục với cô ấy lần nữa, nhưng người phụ nữ không chịu nổi và bỏ đi. (Tiếng Trung)","lastmod":"2025-12-14","duration":"00:32:07","url":"/play/18938595.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYzc3MjE2MjBhZjhkODQ5YmM1ZGUwNmExOThjZjQ4NzEuanBn.cache","vod_id":19162402,"title":"Nữ hoàng nóng bỏng, người bị phát hiện có khuynh hướng khổ dâm, đã nhận ra khuynh hướng khổ dâm của chính mình và đạt cực khoái với những lựa chọn mà cô ấy đã chuẩn bị cho bản thân. AIKA K.M.P","lastmod":"2026-07-11","duration":"02:07:55","url":"/play/19162402.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDU5MjA1YzlhZWNmZWJhN2NhMWYxMDZlNTJiYTg3ZWMuanBn.cache","vod_id":18951041,"title":"[Phụ đề tiếng Trung] HUNTA-347 \"Hôm nay là ngày nguy hiểm của tôi, nhưng nếu cô dám, tôi sẽ không đùa đâu!\" Vào ngày nguy hiểm của cô em kế hơi kiêu ngạo, quyến rũ, lôi cuốn và lẳng lơ này, tôi sẽ cho cô ta một trận đòn nhớ đời! Cha tôi tái hôn, và giờ tôi có một cô em kế thông minh, học ở một trường danh tiếng, nhưng lại hơi trơ trẽn và quỷ quyệt! Mặc dù vẻ ngoài thông minh và ngây thơ, cô ấy lại cực kỳ…","lastmod":"2025-12-14","duration":"02:30:08","url":"/play/18951041.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODNjNGMyMmI2YmZlYmYzMDY2YzVhZGRlMmI2YzkwNWUuanBn.cache","vod_id":18994649,"title":"Sau khi uống rượu ở một bữa tiệc công ty, tôi lỡ chuyến xe buýt cuối cùng và phải ngủ lại nhà sếp nữ. Bà ta phát hiện tôi bị xuất tinh sớm và ép tôi quan hệ tình dục với bà ta từ tối thứ Sáu đến sáng thứ Hai.","lastmod":"2025-12-14","duration":"02:26:13","url":"/play/18994649.html"}]},
videoTitle: 'LOL242 Này~ Nếu tớ làm hỏng chuyện này thì sao~? "Cái gì?! Không! Đừng làm thế... Mẹ sẽ phát hiện ra đấy!"',
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=/`;
}
};
}