Cô nữ sinh xinh đẹp ngực khủng Qiqi đang nghịch ngợm, tự kích thích vùng kín một cách điên cuồng, phun nước tiểu, tinh dịch trắng, dạng sợi -2","lastmod":"2026-07-11","duration":"35:50","url":"/play/19161307.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MTgvNzVhZmE3ZTJjMmRjMDU5N2VmNzZmN2JmOGQ5NTE5M2YuanBn.cache","vod_id":19038774,"title":"MTALL079 phàn nàn rằng phòng của một sinh viên trường thể thao quá bẩn đến nỗi anh ta không thể xuất tinh liên tục trong 54 lần.","lastmod":"2025-06-18","duration":"02:10:22","url":"/play/19038774.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTQvMmRjNGMzZGQ4YmMzNTQ2NzlkYWQwMjNhYzFjMTYyYzcuanBn.cache","vod_id":19092698,"title":"[4K]MADV-553 Tôi tưởng cô ấy là một nữ sinh gương mẫu với đôi chân đẹp, nhưng cô ấy lại đến gặp tôi trong bộ đồ bơi vi phạm nội quy trường học... và hóa ra tôi đã quan hệ tình dục xuất tinh bên trong nhiều lần với Kanata. Kanata Tommy_2","lastmod":"2025-12-14","duration":"01:51:46","url":"/play/19092698.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDIwMjQ1YWE2ZmNmODA2ZjI0Zjg5YzI2MmMwNWJjYjQuanBn.cache","vod_id":19008675,"title":"Chiếc vòng rung mạnh và dương vật giả NHDTB282 kích thích nữ sinh bị xâm hại và không thể phát ra tiếng động, giúp cô đạt cực khoái.","lastmod":"2025-03-24","duration":"02:09:19","url":"/play/19008675.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmM4ZjRiOWM5YjllNDliMTI4ZjU0MDkwNzA2NDFiZjIuanBn.cache","vod_id":18941469,"title":"XXX-AV 24285 Quay phim bí mật trong khách sạn - Phần 3","lastmod":"2025-12-14","duration":"00:19:10","url":"/play/18941469.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYTcxNzhhZDM2Mzg5NTY0MWZiZjBiNDkwZTc0YzVhMmEuanBn.cache","vod_id":19157275,"title":"Một cô gái 19 tuổi xinh đẹp, vừa là sinh viên đại học, đã hành nghề mại dâm và bị người tình cưỡng hiếp dã man không dùng bao cao su tại một khách sạn tình dục, dẫn đến việc bị xuất tinh hai lần vào bên trong cơ thể.","lastmod":"2026-05-09","duration":"01:27:27","url":"/play/19157275.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvMDAxM2FlZDM5MGJiYTc5MGY1NDRhYzI3NDUxNGM4NWIuanBn.cache","vod_id":19162378,"title":"HEYZO 3274 Hai người bạn thân thiết, cả hai đều có vòng một khủng! Bộ ba ngoài màn ảnh [Phần 2] - T-chan - R-chan","lastmod":"2026-07-11","duration":"47:29","url":"/play/19162378.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTZhOTE3NDZkNDRjMDA2MGQ2OTBlMjhmOGNiNmRjN2MuanBn.cache","vod_id":18944170,"title":"OYC-302_B Cô gái bỏ nhà đi được ướp thuốc kích dục trong 1 đêm 2 ngày cùng chiếc nhẫn - Phần 2","lastmod":"2025-03-22","duration":"02:24:35","url":"/play/18944170.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOGJiY2U2ZGY2MjU2Y2Q5Yjg3Y2VmOTJhNTkzMDQ3YjIuanBn.cache","vod_id":18994449,"title":"Big Zhuang - Hẹn hò với nữ sinh viên đại học cao 170cm, Xiao Tongliya, với những tiếng rên rỉ kích thích và lời thoại rõ ràng.","lastmod":"2025-12-14","duration":"20:18","url":"/play/18994449.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYWNmM2RlYmEzNGFiMjc5ZWNjODJiNDAwMjIzYzE1NzguanBn.cache","vod_id":18944744,"title":"RBD-252_B Người Phụ Nữ Bị Trừng Phạt Bởi Dương Vật 5 Misaki Miyu Phần 2","lastmod":"2025-12-14","duration":"01:53:12","url":"/play/18944744.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTgxZDVkMGJmNGMxM2Q5MjAzZjlmMWJiN2VlZTY4YTUuanBn.cache","vod_id":19017384,"title":"413INSTC326 [Giáo viên nữ trưởng thành] Quay phim các hành vi tình dục cấm kỵ giữa một vận động viên chạy marathon, một giáo viên thể dục và một cặp học sinh. 413INSTC326.","lastmod":"2025-03-24","duration":"51:30","url":"/play/19017384.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzI0NjI1NTVhMWM1OWNlMmUzMGQ5OTg0YzQzMjk4NTAuanBn.cache","vod_id":18946805,"title":"SSIS-022 Yamazaki Mia, một nữ sinh bất đắc dĩ bán thân cho một người đàn ông trung niên để kiếm tiền tiêu vặt.","lastmod":"2025-12-14","duration":"02:00:26","url":"/play/18946805.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmI5YzEyOTgxNDA0YzJmYmQyMmRiMmJjOWY3NTY1NjUuanBn.cache","vod_id":18978548,"title":"[4K]MIDV-540 20 tuổi, nụ cười dễ thương, trông giống Akima Aki. Làn da đẹp và vòng một mềm mại. Núm vú hồng của cô ấy được đánh bóng cẩn thận để trở nên nhạy cảm hơn, và cô ấy đạt cực khoái lần đầu tiên trong 3 cảnh!! Nanase Misaki","lastmod":"2025-03-23","duration":"02:58:52","url":"/play/18978548.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOGIwNGJkMTFiMTQ1OGZkZmNmNGE3MmQ2ZmE3NWJlYzYuanBn.cache","vod_id":19019427,"title":"Quan hệ tình dục riêng tư.","lastmod":"2025-03-24","duration":"01:07:39","url":"/play/19019427.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZGQwYWY0MjBlYzE1ZDU5YjViZDYzMzM5OWRjYzJlOWEuanBn.cache","vod_id":19024380,"title":"MD0123_Bộ sưu tập ra mắt: Siêu mẫu với đôi chân quyến rũ, nữ sinh viên đại học, Ye Fanshu (Trang web chính thức)","lastmod":"2025-03-24","duration":"28:55","url":"/play/19024380.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjU1MWJmNGEzNTdiNjIwOTcwMjA4MWQxY2QwYTU2YjMuanBn.cache","vod_id":18963609,"title":"[Không kiểm duyệt] BF-678 Dù đã có vợ, tôi vẫn không thể cưỡng lại cám dỗ của các học sinh. Sau giờ học, tôi đã xuất tinh vào trong họ tại một khách sạn tình yêu. Hirose Haruna","lastmod":"2025-03-22","duration":"02:26:57","url":"/play/18963609.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDgwNmU2ZThmOTZmNTc3ZjI3YTc0MGZlMDFhOTJhNGIuanBn.cache","vod_id":18986676,"title":"[Phụ đề tiếng Trung] SSIS-891 Là một giáo viên, khi đối mặt với bộ ngực đầy đặn của nữ sinh trưởng thành, tôi đã mất kiểm soát và xuất tinh vào bên trong cô ấy hết lần này đến lần khác. Đối mặt với mặt trời","lastmod":"2025-03-23","duration":"01:59:43","url":"/play/18986676.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODE3MmI0NjcyODNjN2ZmM2Y0MTY5MWQ1YmU0N2JhZWIuanBn.cache","vod_id":19010853,"title":"MIFD089: Sinh viên đại học Misuzu Takaoka, người có sở thích đặc biệt với vòng một lớn, ra mắt trong ngành phim người lớn.","lastmod":"2025-03-24","duration":"02:27:38","url":"/play/19010853.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjFiNjdmN2U1ODY1NTAyY2ViNmM0MjkyZTU5NTEwNDQuanBn.cache","vod_id":18978838,"title":"[Không kiểm duyệt] MNSE-007 [Chỉ phát trực tuyến] Sự cám dỗ của chị dâu tôi quá gợi cảm... Tôi đã quan hệ tình dục với cô ấy lần đầu tiên và xuất tinh vào trong cô ấy.","lastmod":"2025-03-23","duration":"00:57:24","url":"/play/18978838.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MDUvMWEzNTdiYWExMThiZjdkYmUxNjVhMzVkNDY3ODc3Y2YuanBn.cache","vod_id":19050633,"title":"[Tiếng Trung] SONE570 Trải nghiệm đầu tiên của một nữ sinh viên đại học đồng tính với cực khoái nam! Những tưởng tượng của Ruka sau khi phát hiện ra mình hầu như không có kinh nghiệm với đàn ông.","lastmod":"2025-09-04","duration":"02:32:13","url":"/play/19050633.html"}]},
videoTitle: 'MIAD-536_B Câu lạc bộ cửa hàng xà phòng thương mại tư nhân Awahime - Nữ sinh viên - Phần 1',
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=/`;
}
};
}