Đời tư của nữ diễn viên AV hoàn toàn được giải phóng! Video sex riêng tư với Aya Ona Aya Ona Aya MAX-A","lastmod":"2026-07-11","duration":"","url":"/play/19206596.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjhhMmMzM2E3ODk5ODJkZDdiMzU2ODRjNzk4NzVhNGEuanBn.cache","vod_id":19125627,"title":"MIDV433C Cô hầu gái quỷ quyệt đã hủy hoại chủ nhân (Tôi). Một người vợ và cô con gái mệt mỏi bị quyến rũ và tấn công tình dục bằng những lời lẽ dâm ô trong một chuyến đi chơi của các cô gái. Mio.","lastmod":"2025-03-26","duration":"2:35:40","url":"/play/19125627.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvYWYxMGExMzUyYWFlNzI4MWFhYjRjMzdiZmYxODRkMTUuanBn.cache","vod_id":19167008,"title":"Tình yêu ngực nở, đàn hồi - Nanagusa Chitose BBTU-103","lastmod":"2025-12-13","duration":"2:00:28","url":"/play/19167008.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMThhYjBjYzhlNjI1NTc5ZTEyNmE0NTE5N2RiZWU1MDYuanBn.cache","vod_id":19101936,"title":"NTR (Netorare: Class Reunion): Cô ấy bị gã bạn trai cũ tồi tệ thời đại học phản bội trước đám cưới. Mặc dù vị hôn phu của cô ấy bày tỏ sự không hài lòng, nhưng anh ta không hề từ chối về mặt thể xác. Mục tiêu!","lastmod":"2025-03-26","duration":"2:00:19","url":"/play/19101936.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYWM0ODhmOTJmYzY2MjBkZGI1OGM4OTU3ODNhZDQ3YmMuanBn.cache","vod_id":19126957,"title":"皇家0172服从度200%贴身性爱女仆李娜娜.","lastmod":"2025-03-26","duration":"0:28:01","url":"/play/19126957.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvY2NmZjQ5NmM5NWJhM2E5NjY2ZTUxNTgwMTFmMWE3NmUuanBn.cache","vod_id":19088745,"title":"2. 50 cảnh quan hệ tình dục ngoài trời liên tiếp.","lastmod":"2025-03-26","duration":"4:01:43","url":"/play/19088745.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MDMvNTEyZmQ3Mjk4Y2FmNTJmZjgyNDkzMzIwOWM2MzQ0NGYuanBn.cache","vod_id":19152332,"title":"Shigure Kōsaka và ông lão có cuộc ái ân mãnh liệt - Đệ tử mạnh nhất của Kenichi, Endless","lastmod":"2025-09-02","duration":"0:14:01","url":"/play/19152332.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTA2YTQ3NTliODRjYjNjZmNlMmJkMjg3NjdhYTNlOWYuanBn.cache","vod_id":19083670,"title":"Đang quay phim! Có một khách sạn tình yêu nằm trong công viên!? Cảnh quan hệ tình dục ngoài trời của một cặp đôi đã bị quay lén - diễn viên không rõ danh tính.","lastmod":"2025-03-26","duration":"3:17:13","url":"/play/19083670.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNjk5MTc3YWYzMDE5Y2ExMzlkN2RlMDhlNzdmYTY4NWIuanBn.cache","vod_id":19043762,"title":"SABA-474 Một nữ sinh viên đại học mê truyện tranh manga với bộ ngực đồ sộ ẩn sau cặp kính lỗi mốt. Mặc dù ít kinh nghiệm tình dục, Chie, người luôn tưởng tượng về những điều khiêu dâm, đã không cưỡng lại được khoái cảm khi được quan hệ tình dục, rên rỉ và đạt cực khoái nhiều lần trong khi giao hợp.","lastmod":"2025-03-26","duration":"2:19:43","url":"/play/19043762.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvM2VhZDgzNGUwYjRkODZkMDY4MWUwZjBjZjllODhjYTkuanBn.cache","vod_id":19111375,"title":"SGA-137 Màn quan hệ tình dục xuất tinh tuyệt vời nhất với nữ tiếp viên quyến rũ nhất. 51 đôi chân đẹp, vòng ba gợi cảm, những người đẹp không lông.","lastmod":"2025-03-26","duration":"1:45:21","url":"/play/19111375.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MDcvZDBlYjRiYjNlNzA1YzE4ODg4NThhMGFhYTJlM2IyNjkuanBn.cache","vod_id":19142426,"title":"BBAN519 Momonaga Sarina, nằm chung giường với một nữ sinh trung học xinh đẹp với vẻ ngoài cực kỳ quyến rũ. Đỉnh cao của tình dục viền ren tuyệt đẹp. Trải nghiệm viền ren đầu tiên của Amami Mei.","lastmod":"2025-07-06","duration":"2:53:45","url":"/play/19142426.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGVlMzU3ZmZkNDJhMDQxNThhMTJiMzQ2YzU3MDllMzYuanBn.cache","vod_id":19115804,"title":"Cô giáo mang tất đen dạy giáo dục giới tính tại nhà 1","lastmod":"2025-03-26","duration":"0:23:58","url":"/play/19115804.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvZWEwNzdjMGU1NGMyYTliZDE3YWFiYzcxN2M0NDhhZWUuanBn.cache","vod_id":19167159,"title":"Suzuno Uto đưa bạn vào một thế giới chưa từng biết đến của khoái cảm tột đỉnh, khơi gợi sự thăng hoa tình dục tột độ. Suzuno Uto IPZZ-175","lastmod":"2025-12-13","duration":"2:14:37","url":"/play/19167159.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTdkMzk5YjcyMmQzMTUwMzhlMWRlNDQ4YjliOWFjMjguanBn.cache","vod_id":19069454,"title":"Quan hệ tình dục nồng nhiệt với bạn của bạn trai tôi trong phòng tắm 1","lastmod":"2025-03-26","duration":"0:14:18","url":"/play/19069454.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzY4MTk3OWRmNTk2MTc1OWNjN2MxYWYzZTYwYmZmYTYuanBn.cache","vod_id":19091723,"title":"Anh ta tấn công dữ dội vào đầu dương vật đang căng cứng, trêu chọc nó mà không cần bất kỳ kích thích nào.","lastmod":"2025-03-26","duration":"2:03:32","url":"/play/19091723.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOTgwNGE0Mzc1YzhkMWM3MjgyYjI0ZDE0YjUwYWM1NmQuanBn.cache","vod_id":19177155,"title":"Baidu Cloud đã rò rỉ đoạn video độc quyền ghi lại cảnh Xiao Bo, một người phụ nữ với vẻ ngoài đầy mâu thuẫn, đang quan hệ tình dục với bạn trai trong khi nói chuyện điện thoại.","lastmod":"2026-01-30","duration":"0:05:36","url":"/play/19177155.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZjA5ZDI5YzExZThmMjM1YmI2NzA0ZjU0MWRmMDU0MmYuanBn.cache","vod_id":19184049,"title":"Ảnh riêng tư bị rò rỉ trên mạng. Lưu Lục, một sinh viên xuất sắc của Đại học Sư phạm Hoa Đông ở Thượng Hải, học được mọi thứ rất nhanh – làm thế nào để trở thành một người phụ nữ lẳng lơ và tận hưởng tình dục ngay lập tức!","lastmod":"2026-03-03","duration":"0:04:59","url":"/play/19184049.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjcvNGU1MDMwMWViZWI0Yjc1YTBkYTliMjdmYzc3ZGQyYTAuanBn.cache","vod_id":19161290,"title":"Câu chuyện về việc tôi quan hệ tình dục với chị gái mình khi cô ấy đến nhà tôi. (Yasui Kaoru, ADN_624)","lastmod":"2025-10-26","duration":"2:06:50","url":"/play/19161290.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzk3YzU0ZjM3YTA5ZWU5ZTQxMmVmZjc1NTY4YmIyMmIuanBn.cache","vod_id":19068694,"title":"Màn ra mắt đầu tiên, một bộ phim không thể bỏ lỡ dành cho người mới!! Nữ diễn viên nhỏ nhắn mạnh dạn để lộ khuôn mặt trong cảnh huấn luyện tình dục và BDSM 1","lastmod":"2025-03-26","duration":"0:24:20","url":"/play/19068694.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMDE4MWIxNmFlMTdmNmU1YWQ4ODg2N2YyNTk4NDg2ODEuanBn.cache","vod_id":19177647,"title":"Những bức ảnh độc quyền bị rò rỉ từ đoạn băng sex của nữ hoàng xinh đẹp Yuanyuan đã xuất hiện. Ngực cô ấy hơi nhỏ, nhưng liệu có thể to hơn một chút không? Chúng hoàn hảo đến mức tuyệt đối!","lastmod":"2026-02-01","duration":"0:05:09","url":"/play/19177647.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMTZiZTE5MWM0MWI0Zjc0N2Q1NDFmMDdhNzQyOGU1ZmUuanBn.cache","vod_id":19124227,"title":"MM047_Flirting Bar_Trang web chính thức dành cho những cuộc \"yêu\" cuồng nhiệt sau khi uống chút rượu.","lastmod":"2025-03-26","duration":"0:32:29","url":"/play/19124227.html"}]},
videoTitle: 'FSDSS753 Tôi nghĩ hôm nay mình sẽ yêu. Tình một đêm, không có phiên dịch, nhưng cuộc ái ân nồng cháy đã diễn ra.',
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=/`;
}
};
}