Cô gái mảnh mai bánh trái cây dễ dàng đẩy bạn gái của con trai xuống vùng kín khi quan hệ tình dục DASS-500","lastmod":"2026-07-11","duration":"23:14","url":"/play/19161510.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzI1ZDAzZDc2ZjIwNzA0ZGM1MDBkYWY4MWMzOGFmMTcuanBn.cache","vod_id":18969103,"title":"PPPD-699 Cô gái nhỏ nhắn này sở hữu vòng một ngoại cỡ đáng kinh ngạc và ham muốn tình dục mãnh liệt. Ngay cả sau khi người đàn ông xuất tinh, cô vẫn tiếp tục chuyển động mạnh mẽ, phun tinh dịch ra ngoài. Rian Asai","lastmod":"2025-12-14","duration":"02:00:28","url":"/play/18969103.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODliNmI5MjlmOGIzYjVkNzQ0ZjNhYmE3NGEzOTliYjcuanBn.cache","vod_id":18989000,"title":"[Bánh trái cây] Bà mẹ kế ngực bự và người chị gái quyến rũ, chàng trai trẻ đã quan hệ với cả ba người! \"Lên\".","lastmod":"2025-03-23","duration":"32:37","url":"/play/18989000.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjZhYWRhYzUwZjJkYjNkMDNlOWU1NzE1MWZjMzdiMDYuanBn.cache","vod_id":19022235,"title":"[Lời bình AV] Chiếc áo len khổng lồ cổ xưa nặng tới một nghìn cân.","lastmod":"2025-03-24","duration":"12:27","url":"/play/19022235.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNGJhZTllZTRhNzc1OTc2MmYyZmE2ZmIxYzlkYjJlMmEuanBn.cache","vod_id":18984006,"title":"300MIUM-556 [Nữ chính xinh đẹp và quyến rũ] x [Nhân vật tinh nghịch chuyên cầm cố quà tặng (lễ vật) của khách] x [Đàn ông chỉ có tiền hoặc chỉ biết đến tiền]","lastmod":"2025-03-23","duration":"01:36:41","url":"/play/18984006.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMDcvN2U4ZWZhMTEwMGYyZTFhNmE0ZjAxMzA4NWY2ZmNlMjIuanBn.cache","vod_id":19061527,"title":"Cùng nhau chơi đùa với những điểm nhạy cảm của đàn ông, đảm bảo sẽ bùng nổ! Những tư thế cực kỳ khiêu dâm, hoàn toàn kiểm soát, kiểu nhện... Các diễn viên bao gồm Misono Kazuka, Himesaki Hana và Alice Oto. MIZD_404","lastmod":"2025-11-06","duration":"03:51:43","url":"/play/19061527.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzJlMmQ5M2U5MDc1Yzk0NDg0MTNmYmZhYTMwYzkxOTIuanBn.cache","vod_id":18990590,"title":"NASH-214 Ngoại tình của một người vợ ngoài 50: Ôi, tôi khao khát được ôm ấp, được một người đàn ông ôm ấp. Những người vợ này, trên 50 tuổi và có mối quan hệ đổ vỡ với chồng, cuối cùng đã đồng ý ngoại tình với những người đàn ông khác ngoài chồng mình. Một bộ phim tài liệu về sáu người vợ ngoài 50 tuổi có quan hệ ngoại tình (loạn luân).","lastmod":"2025-12-14","duration":"02:34:45","url":"/play/18990590.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMjZjZDVkOTQ0Y2Q3NDJlNjVmZTYyNzg2YjIyYWZjNTIuanBn.cache","vod_id":19146757,"title":"Một người phụ nữ với nụ cười ngọt ngào, ngây thơ và những lời lẽ cực kỳ dâm đãng, cùng với bộ ngực lớn quyến rũ khó cưỡng, khiến đàn ông muốn chiếm đoạt những gì thuộc về người khác; không người đàn ông nào có thể thắng… IPZZ-676","lastmod":"2026-03-06","duration":"02:02:47","url":"/play/19146757.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MjQvMWJjMjRhNmMxM2VmY2VkM2FjNDZjYTVkOGYwNTA5ZjEuanBn.cache","vod_id":19030579,"title":"Rinne Momoka, một người phụ nữ cực kỳ lẳng lơ, liên tục điều khiển phanh xe và kiểm soát cực khoái của người đàn ông, đang đếm ngược đến lúc xuất tinh. (EKW-057-C)","lastmod":"2025-04-24","duration":"01:55:28","url":"/play/19030579.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MTcvN2VjMWNmMDkwNGE3MGY1YmNlMGUwMzYzNGY5NTI2ZjIuanBn.cache","vod_id":19043362,"title":"Bình luận về bánh trái cây: Vớ đen và vòng ba gợi cảm ở suối nước nóng - Mười bức ảnh vẫn chưa đủ.","lastmod":"2025-07-16","duration":"13:29","url":"/play/19043362.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZGNmNzg5MjBiOTE3NzM0ZGMxNjEzYzk4NDllZTU1Y2UuanBn.cache","vod_id":18968046,"title":"Người phụ nữ đã kết hôn tưởng tượng về việc gọi một người bán dâm nam, trải nghiệm hết cực khoái này đến cực khoái khác, đánh bại tất cả đàn ông trong quá trình đó. (Đối thoại tiếng Quan thoại)","lastmod":"2025-03-23","duration":"00:07:22","url":"/play/18968046.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZTA0ZmU2YWUxOTkxNTcwZjgxZmEwNTQ3NTJjZmZmYzguanBn.cache","vod_id":19155455,"title":"Hiếp dâm trả thù. Tôi muốn trở thành một người đàn ông xứng đáng với em. ADN-610-C","lastmod":"2026-04-27","duration":"01:58:56","url":"/play/19155455.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjQvMzcwNGM0ZDk5ZWIwYjU0MWNmNTViZjdjNjRkMTQ2ZmUuanBn.cache","vod_id":19059309,"title":"#Một người vợ có đời sống tình dục yếu kém nhưng cực kỳ đoan trang, thích đàn ông có ham muốn tình dục cao, đang bí mật hẹn hò với một người đàn ông trên tài khoản mạng xã hội của mình. (Irida Maya DLDSS_356)","lastmod":"2025-10-23","duration":"02:00:22","url":"/play/19059309.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2Q0ODAyOWY1MTRmOWQ0YmY4NGQ1MzY5Y2VhNWZhYTcuanBn.cache","vod_id":18991506,"title":"300MIUM-432 Lịch sử tình dục cực kỳ mạnh mẽ của người vợ thật gây sốc! Cặp đôi biến thái này đã rất phấn khích trước một màn trình diễn bí ẩn trong buổi hẹn hò: họ cởi bỏ đồ lót của nhau và ném ra vệ đường! Người đàn ông mà tôi tưởng là bạn trai lại chính là bạn tình của tôi! Và anh ta thậm chí còn được chồng tôi chấp thuận! Hãy cùng tìm hiểu kỹ hơn về tình huống tình dục trong tam giác tình yêu bí ẩn này! Cặp đôi biến thái đã phát hiện ra rằng Bai Qifeng (bút danh) 1","lastmod":"2025-03-23","duration":"01:21:29","url":"/play/18991506.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDU1M2ZlNWUxNjE2ZjhhMjU0NWYwYzVjYzdjODlmMWQuanBn.cache","vod_id":18963147,"title":"Bà Chu, 35 tuổi, một người phụ nữ trẻ trung, canh giữ phòng ngủ của mình vào đêm khuya. Không có đàn ông và không có ham muốn tình dục, chỉ có đôi tay và chiếc máy rung của bà. Hãy lắng nghe kỹ sự khát khao của bà qua những tiếng rên rỉ ấy!","lastmod":"2025-12-14","duration":"00:37:15","url":"/play/18963147.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MDEvMDcwNDFjNWYyMDYzNWE1NjAyY2E4MmI4YzFhMTFiZjIuanBn.cache","vod_id":19031699,"title":"[Bình luận AV] Làm thêm giờ tình dục cuối tuần","lastmod":"2025-05-01","duration":"18:23","url":"/play/19031699.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzAyNGU5NmY2YTQwYzgxMjMyZGVmYzMyNDAwN2JkZTcuanBn.cache","vod_id":18938330,"title":"[Phụ đề tiếng Trung] NASH-214 Một người phụ nữ ngoài 50 tuổi đang ngoại tình: À, tôi muốn được ôm, được một người đàn ông ôm.","lastmod":"2025-12-14","duration":"02:34:45","url":"/play/18938330.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMmZhY2RjZjdjZDRlZjQyOWFjMTZjMjZiNzgxZjNhMTcuanBn.cache","vod_id":19006410,"title":"BIJN-148 Một người vợ không chung thủy muốn bị cưỡng hiếp! Cô ta muốn bị xâm hại bởi một người đàn ông khác ngoài chồng mình! Một người phụ nữ trụy lạc và biến thái khao khát sự xâm nhập—Misaki Yui.","lastmod":"2025-03-24","duration":"02:03:39","url":"/play/19006410.html"}]},
videoTitle: 'Bình luận về bánh trái cây: Một người đàn ông đích thực nên chinh phục đàn ông - Cuộc tấn công hướng tới Claire, điều tra viên SHKD-865',
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=/`;
}
};
}