Dịch vụ ăn uống của chị gái - Thân hình nhỏ nhắn, vòng một đầy đặn! Chơi đùa với cô em gái hư hỏng đã phải lòng anh trai mình! Arisu Kanau, Nhà xuất bản Momotaro Eizou","lastmod":"2026-07-11","duration":"02:17:56","url":"/play/19162906.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNmJhZWNhNjI2NjM3YzQ5MjFkZDBiMTQxNzc2NTU3YjIuanBn.cache","vod_id":18959917,"title":"FC2PPV 3172364 [Không kiểm duyệt] Nữ sinh viên đại học ngực cỡ I run rẩy mỗi khi bị thâm nhập; bộ ngực mềm mại như kẹo dẻo đung đưa khiến cô ấy hưng phấn và xuất tinh bên trong.","lastmod":"2025-03-22","duration":"00:55:05","url":"/play/18959917.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTgxZmMwODBmZGFlZWU3YWUwYTkwZDZhOTNiNTZkMjcuanBn.cache","vod_id":18927981,"title":"Nền tảng dễ thương này (trước đây là Kawaii) có một cô gái xinh đẹp tên là Yan Meimei thường xuyên phát trực tiếp, khoe thân hình quyến rũ và màn tự thỏa mãn đầy đam mê. Màn trình diễn của cô ấy vô cùng cuốn hút.","lastmod":"2025-12-14","duration":"01:18:06","url":"/play/18927981.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MDcvZDRhYmZhZjY0MDBkODNkNzU5NmQ2ZGUwMGE1MGE5YjkuanBn.cache","vod_id":19166851,"title":"Cô nữ sinh trung học ngực đầy đặn, thân hình gợi cảm và vô cùng dễ thương với vóc dáng hoàn hảo.","lastmod":"2026-07-11","duration":"26:16","url":"/play/19166851.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmIzNzYwNTRlYjhhMzc3ZWNlYzhjOTljZWI2ZWUyMzQuanBn.cache","vod_id":19025098,"title":"Cô gái mảnh mai ~ đang thực hiện hành động quan hệ tình dục bằng miệng trong khi tự vuốt ve âm đạo ~ dương vật đang đâm vào cô ấy mạnh đến nỗi giường kêu cót két.","lastmod":"2025-03-24","duration":"38:00","url":"/play/19025098.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTcyOWJlYzY1ZTExMDU0NzE1Y2ZiM2UyN2Q1NmIxZGEuanBn.cache","vod_id":18980279,"title":"Cô gái tự xưng là \"bố của bạn sói\" rất xinh đẹp và quyến rũ trong bộ đồ lót gợi cảm, tất lưới, giày cao gót và thân hình tuyệt vời. Cô ấy xòe rộng vùng kín màu hồng gợi cảm của mình cho bạn sói xem cận cảnh và rên rỉ khi tự kích thích vùng kín bằng hai ngón tay.","lastmod":"2025-03-23","duration":"00:58:06","url":"/play/18980279.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMTg3NGY1NTRiNTVmYjhkOWYzOTU3NDExYTU2OTgyYzcuanBn.cache","vod_id":19153498,"title":"Hình ảnh quay lén hoạt động mại dâm, các người mẫu nữ cao cấp với thân hình quyến rũ bị bắt quả tang vào ban đêm.","lastmod":"2026-04-15","duration":"01:24:35","url":"/play/19153498.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYmFlODk4Y2Y2YTIxMjM4NGUyNTJmMDNjNTI2NmY0NGUuanBn.cache","vod_id":19135339,"title":"Lulu, một sinh viên năm nhất, có bộ ngực rất lớn và tròn trịa cùng thân hình gợi cảm.","lastmod":"2025-12-26","duration":"02:16:38","url":"/play/19135339.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzUwZWM0MGZiYWNlYzQ2MjU0Mjc4ODRjZDI4Zjk5YTMuanBn.cache","vod_id":18965086,"title":"Nguồn tư liệu cực kỳ hiếm, đỉnh cao! Những video quý giá thời kỳ đầu của nữ thần sắc đẹp học đường [Yimeng] khi bước chân vào ngành công nghiệp giải trí người lớn! ✨✨✨--Sự tương phản giữa nhan sắc, vóc dáng và quy mô các video của cô ấy vô cùng nổi bật! _20220519_231400","lastmod":"2025-03-22","duration":"00:48:27","url":"/play/18965086.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvZDM1N2JhNjcyZDI4MWE3N2U3YzJjNjRiNjFjNWYyN2YuanBn.cache","vod_id":19164024,"title":"Massage toàn thân thon gọn, co thắt cơ thể, tiểu không tự chủ, cực khoái, kích thích tình dục, massage dầu, Nishimiya Yume, nghiệp dư hạng S","lastmod":"2026-07-11","duration":"01:56:10","url":"/play/19164024.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvNjlhODMwNmExMWUyOWQxYjU4NDQ1ZTEwMjRlOGJhMzQuanBn.cache","vod_id":19067198,"title":"Xiaobao, người có tầm ảnh hưởng hàng đầu trên nền tảng M, tìm kiếm những người nổi tiếng trên mạng sở hữu gương mặt xinh đẹp, thân hình chuẩn S và vòng ba quyến rũ, gợi cảm.","lastmod":"2025-12-14","duration":"44:20","url":"/play/19067198.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDhlYjRlOTA3OWVhYmMwZjg2Y2IyMmMzMThiYTAwNzguanBn.cache","vod_id":18967713,"title":"✿Nữ thần tương phản hàng đầu✿ Chuyên gia thể hình bùng nổ với thân hình tương phản ▌Hera▌Tập thể hình khỏa thân đôi, hít xà và ngồi xổm - Bùng nổ hormone! Vẻ đẹp tuyệt vời với sự tương phản như vậy (25)","lastmod":"2025-12-14","duration":"00:02:13","url":"/play/18967713.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNGFiNjE4NWVhMTZhYmVjMjljMWUwOGU2ZGRlYzdkNDIuanBn.cache","vod_id":19139532,"title":"Một thân hình quyến rũ với vòng ngực cỡ L thức tỉnh khát khao; một vẻ đẹp cao quý, như Đức Mẹ Maria, trải nghiệm cực khoái mãnh liệt, co giật đầu tiên với tư thế cong vẹo kỳ dị trên lưng. Kimura Ai-chan. Kimura Ai-chan. SONE-828","lastmod":"2026-01-21","duration":"02:34:05","url":"/play/19139532.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNmMyOGJkZjRkNmU5Y2Y1YzZjNTc3NWIzYzBjYmYxNzYuanBn.cache","vod_id":19156167,"title":"Xiao Chentou lại sắp xếp để quan hệ tình dục với một cô gái xinh đẹp, mảnh mai, chân dài.","lastmod":"2026-05-02","duration":"31:02","url":"/play/19156167.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjUvYzA3YWE4OTA2M2EzN2JkMWZiZjNkMWViNWZmOWY0MmEuanBn.cache","vod_id":19059554,"title":"Trung tâm huấn luyện nhà vệ sinh thịt ~Những người phụ nữ xinh đẹp với thân hình tuyệt vời~ Hyakuta Emi 1pondo_123123_001 Mizukawa Sumire 123123_001","lastmod":"2025-10-24","duration":"53:37","url":"/play/19059554.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvODJiMzQ1M2JkODkzOTgwMTViOTgzMGIyZjU1MGJiNjguanBn.cache","vod_id":19152484,"title":"Khách sạn Prince Tanhua \"cưa đổ\" một người phụ nữ xinh đẹp tuyệt trần với chiếc khăn choàng.","lastmod":"2026-04-09","duration":"39:22","url":"/play/19152484.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMWY1Y2ExMDZjNjBlYWNhNTM0YmVjZjc1YTkyZWM0OTAuanBn.cache","vod_id":18957639,"title":"Một cô gái xinh đẹp, ngực khủng với mông và âm đạo dính liền nhau, một cô gái có thân hình tuyệt vời đang dùng một dụng cụ siêu to và dài để thâm nhập kép vào âm hộ hồng hào và hậu môn mềm mại của mình, tiểu tiện không ngừng.","lastmod":"2025-03-22","duration":"00:06:01","url":"/play/18957639.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZGQ1MDMzMjcxMTY1OGMzYjEyOWZmZDFiNTRkZmMyYTcuanBn.cache","vod_id":18957334,"title":"Một buổi chụp ảnh riêng đặc biệt với sự góp mặt của người nổi tiếng trên mạng xinh đẹp và trẻ trung [Sakura Hime], nổi tiếng trên Twitter và TikTok, với nhiều cosplayer uốn éo và nhảy múa khỏa thân (5)","lastmod":"2025-12-14","duration":"00:01:06","url":"/play/18957334.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNmI0MzhmZjk2MWY1ZDM4NjczMTRiOWNmNzAwZGM1ZjcuanBn.cache","vod_id":18983157,"title":"200GANA-2273 Đoạn phim quay lén ghi lại cảnh những kẻ chuyên tán tỉnh đưa một cô gái về phòng để quan hệ tình dục. 159 Một người đẹp mảnh mai, lạnh lùng bị đưa về phòng để quan hệ tình dục.","lastmod":"2025-12-14","duration":"01:03:09","url":"/play/18983157.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2QwNzM4Y2Q3YzQ1NzFiZWEzM2U2ODQyZWZiZjBmNDYuanBn.cache","vod_id":19008369,"title":"Dịch vụ chăm sóc ngực căng tròn, đầy đặn của MIDE495! Mát xa ngực với nụ cười, chà xát ngực nhẹ nhàng, vệ sinh kín đáo vùng kín, tiếp viên nhà tắm JULIA.","lastmod":"2025-03-24","duration":"01:57:26","url":"/play/19008369.html"}]},
videoTitle: '300MAAN-514 Vòng ngực trên 100cm, cỡ I và thân hình mảnh mai! Ngực căng tròn, đầy đặn ở phần dưới.',
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=/`;
}
};
}