[Trao đổi khuôn mặt] Lee Chaeryeong, Siêu nữ bị xuất tinh lên người....","lastmod":"2026-07-11","duration":"27:29","url":"/play/19165008.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MDMvNmUxNjM1ZGNlYjNhNzViMjE1N2MwODIxMDdjNDBmZTQuanBn.cache","vod_id":19041247,"title":"Lin Yuxi, một nữ diễn viên trong sáng và ngây thơ đến từ công ty Madou Media, đã tạo ra tác phẩm duy nhất \"Anh trai và em gái nói chuyện về chuối\", rất đáng để sưu tầm.","lastmod":"2025-07-02","duration":"08:23","url":"/play/19041247.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMTMvODI4NGI1MzgzMmM2NDE5NWU4ZTM4Y2Y5N2U2ZjkyMjEuanBn.cache","vod_id":19062413,"title":"Đưa các nữ diễn viên gợi cảm đến một bữa tiệc thác loạn để có tình một đêm: Matsumoto Ichika, Misono Kazuka, Kuramoto Sumire MIH_010","lastmod":"2025-12-13","duration":"01:58:02","url":"/play/19062413.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjNiMjUyMTVlNjU3YWFjZDQ3MTExMjc1MThlNjY4OTMuanBn.cache","vod_id":19014863,"title":"DTT030: Buổi hẹn hò xuất tinh tuyệt vời nhất với người phụ nữ đã kết hôn tuyệt vời nhất. Màn threesome ngoại tình với người vợ ngực khủng, và màn xuất tinh cùng Ichinose Sumire.","lastmod":"2025-03-24","duration":"02:12:49","url":"/play/19014863.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MjQvN2RmZTAyM2Y0ZGQ4ZTY2YjI3NDcxNWIzYzM1ZWRiY2UuanBn.cache","vod_id":19030580,"title":"Nữ diễn viên phim người lớn huyền thoại Keiri Akari, với thân hình hoàn hảo, một mình chinh phục nhiều nam diễn viên, đạt đỉnh điểm với 12 lần xuất tinh liên tiếp bên trong cô. (Arai Airi EBOD-712-C)","lastmod":"2025-04-24","duration":"01:55:17","url":"/play/19030580.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTlhNjQwM2FjNWVkOWIzMGFjMDIxZjAwMzljMGIyMWIuanBn.cache","vod_id":19018213,"title":"[Bình luận AV] Nữ phát thanh viên nổi tiếng Xiaotaozi đã bị tẩy não","lastmod":"2025-03-24","duration":"12:02","url":"/play/19018213.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MTcvMWNjNjAzNzViOTgyNmE2ZTY3YTdiZTFjMzk4YTAyOGIuanBn.cache","vod_id":19047419,"title":"[Độc quyền trên mạng] Nữ thần mạng Nuan'er với 380.000 người theo dõi [Mùa 3] - Nội dung quy mô lớn","lastmod":"2025-08-16","duration":"01:52:53","url":"/play/19047419.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjUwOThkYjJlODdmMDhmODZmZDlmNjEzYWVjMDExNzcuanBn.cache","vod_id":18991561,"title":"300MAAN-423 Một mỹ nhân hạng JD nóng bỏng, khó với tới, đồng thời là ring girl võ thuật, bị cưỡng hiếp dã man! Cô sở hữu thân hình gợi cảm và đôi chân tuyệt đẹp mà ai cũng thèm muốn! Hãy tận hưởng sự rung động quyến rũ của vòng ba nảy nở khi dương vật tốc độ cao đâm vào! Thân hình trắng nõn của cô được bó sát trong trang phục gợi cảm, và cả hai quấn quýt trong một cảnh ái ân nồng cháy, khám phá cơ thể của nhau! 1","lastmod":"2025-12-14","duration":"01:14:24","url":"/play/18991561.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjgvMmI4MGIxMmRlNTYwMDNmZWJhMWI3Yzg0MDY3MDZkYzQuanBn.cache","vod_id":19054810,"title":"[Rò rỉ mới nhất] Nữ thần ngực đầy đặn của weibo oliveemmm","lastmod":"2025-09-27","duration":"32:59","url":"/play/19054810.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMWJlYmYyMjZkNzkxOTVhNzc3NjM4OWRmYjNiZjM2NGIuanBn.cache","vod_id":18957367,"title":"Một đoạn phim được biên tập chuyên nghiệp, hiếm khi được phát trực tiếp, ghi lại cảnh một nữ thần đang hăng say thực hiện hành vi quan hệ tình dục bằng miệng khi nằm trên ghế sofa; âm hộ dày của cô ấy đã bị tàn phá hoàn toàn và chuyển sang màu đen.","lastmod":"2025-12-14","duration":"00:30:26","url":"/play/18957367.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvN2Q3ZjNlMDAyMmVmY2IyYjgzOGNmOTY3MmQ4YTM2OTYuanBn.cache","vod_id":19149294,"title":"Nữ thần trường học thanh niên 1","lastmod":"2026-03-20","duration":"29:37","url":"/play/19149294.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTUvNjlmOGFhMDlhMTcwZGIyY2JlMmU0NjNhNDY4MDM5MDkuanBn.cache","vod_id":19134152,"title":"Nâng cao chất lượng hình ảnh AI siêu HD, cảnh khiêu dâm tàn bạo, 3000 trang web hẹn hò trực tuyến, nữ thần thuần khiết.","lastmod":"2025-12-18","duration":"01:16:32","url":"/play/19134152.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvMGY4NmY2MTI2MzQ2NzViMzA1Mzc3YTQ4N2IwMWIzNGEuanBn.cache","vod_id":19064348,"title":"Vẻ đẹp thần thánh của nữ thần khiến dương vật tôi cương cứng đến tận cùng và như muốn vỡ tung ra khỏi háng chỉ bằng một cái nhìn.","lastmod":"2025-12-14","duration":"02:00:29","url":"/play/19064348.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYWM2ZDlmZjg5ZjI1MWQ1NmRlODQ2M2JmOTBkNjExMDYuanBn.cache","vod_id":19147695,"title":"Chị Em Nữ Thần, Thỏ Bất Khả Chiến Bại, Hai Cô Gái Cùng Nhau e502b5","lastmod":"2026-03-11","duration":"01:02:01","url":"/play/19147695.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvM2I4ZjRhMWM2Yzg1NGU1Yjg3Nzk2OGIwODg5ZjY1OGUuanBn.cache","vod_id":19147936,"title":"Nữ thần đã xuất hiện, một đóa sen trắng thánh thiện, thân hình hoàn hảo, bộ ngực lớn trắng như tuyết.","lastmod":"2026-03-12","duration":"47:14","url":"/play/19147936.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2M5ODQ2YTdlN2VhMzhlYzk4OGQxZjBmM2YwMDRkNzUuanBn.cache","vod_id":18984398,"title":"326SCP-026 [Quay phim riêng × Cosplayer xuất tinh] Một cosplayer siêu nổi tiếng với vòng một cỡ F ấn tượng ra mắt! Âm đạo nhạy cảm của cô nàng tsundere nóng bỏng này.","lastmod":"2025-12-14","duration":"00:59:06","url":"/play/18984398.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MjIvYzQxNDdlNmI0YTRjMjRjYTA2ZGZjODQ4YTQzYTQwYzEuanBn.cache","vod_id":19048370,"title":"Đề xuất hàng đầu: người sáng tạo nội dung xinh đẹp và ngọt ngào nhất, nữ thần đích thực.","lastmod":"2025-08-21","duration":"24:21","url":"/play/19048370.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMDE2ZDJlMzAyZTBhYzY1NTJhMmNkZWVmN2NiYzQ5MzcuanBn.cache","vod_id":19155583,"title":"Nữ thần gái gọi tàn nhẫn, ngọt ngào và xinh đẹp","lastmod":"2026-04-28","duration":"55:33","url":"/play/19155583.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDI5NzE4ZjY5NzczNDY2MmI5ZWUyOWE4ZDRhMDgyMjEuanBn.cache","vod_id":18979535,"title":"PPPD-735 Asami-chan (bí danh), 18 tuổi, là một nữ nhân viên bán hàng siêu dễ thương với vòng một khủng được giấu kín. Cô làm việc tại một cửa hàng giày nổi tiếng ở Yoshisho. ● Khi cô cúi xuống, bộ ngực cỡ H \"khủng\" của cô lộ ra hoàn toàn, và cô ấy mang đến dịch vụ tuyệt vời!","lastmod":"2025-12-14","duration":"01:58:38","url":"/play/18979535.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MDkvZmQwOTQ5MTA3YWU5ZDY5NjVhYmQ2ZDEyMGFjMDM1MjMuanBn.cache","vod_id":19037282,"title":"Nữ thần, chán nản ngồi ở ghế sau, nghịch ngợm vùng kín của mình, khiến cô tiết ra những chất dịch đầy dục vọng bắn tung tóe khắp nơi.","lastmod":"2025-06-09","duration":"16:03","url":"/play/19037282.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNmNjMzI5YTA1YmE3NmM1MzdhNjI2OGZhMjlhOWI2ZGMuanBn.cache","vod_id":18976549,"title":"CESD-432 Nữ diễn viên AV bị cấm 2: Yui Hatano","lastmod":"2025-12-14","duration":"03:20:45","url":"/play/18976549.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNWFjMjg5MGMxY2NlY2VkZTdhZDdjYTRkZDE2MjkwZjUuanBn.cache","vod_id":18953257,"title":"MILK-036 Tuyển tập đặc biệt kỷ niệm một năm thành lập MILK: 10 nữ diễn viên phim người lớn nổi tiếng, 13 lần xuất tinh liên tiếp, 300 phút","lastmod":"2025-03-22","duration":"02:38:31","url":"/play/18953257.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNzhkOTkzZGQ1Mzk5YzJhZjdhOTlmOWU1YzNkZGUyNTUuanBn.cache","vod_id":19156906,"title":"Chương trình Nữ thần săn tìm kho báu của Lan Tương Đình Tập 1: Cuộc tìm lại vé tàu về nhà vĩ đại","lastmod":"2026-05-06","duration":"23:13","url":"/play/19156906.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZDFhMjc3NjAxZTk4ZDg0MjBkY2M4N2MwYTliMDhmNGQuanBn.cache","vod_id":19157168,"title":"Xiao Bao tìm kiếm những nữ thần gái gọi hàng đầu với kiểu tóc giống Nezha.","lastmod":"2026-05-08","duration":"35:12","url":"/play/19157168.html"}]},
videoTitle: 'MKMP-226 Tuyển tập những nữ diễn viên nổi tiếng nhất!! 7 nữ thần hàng đầu đã gây tiếng vang lớn trong ngành công nghiệp phim người lớn.',
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=/`;
}
};
}