- Một cô gái trong trắng và xinh đẹp trong một cảnh sex chân thực. Cô ấy bị kích thích liên tục và sâu sắc bởi những cú thúc mạnh mẽ của dương vật!! Ứng cử viên của Timebook: Feng Kailun
Kaori Shimazu bật khóc và xuất tinh dữ dội! 47 lần cực khoái liên tiếp khiến cô bị són tiểu.","lastmod":"2026-07-11","duration":"","url":"/play/19244903.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2Y4ZDg2NTMxMmVlYTYxNGJhMjBmZDliNGQ4MjY4N2QuanBn.cache","vod_id":19086120,"title":"Caribbeancom 100822-001 Hai lần quan hệ tình dục bằng miệng liên tiếp x hai lần xuất tinh liên tiếp! Màn threesome ngược, thu được gấp đôi lượng tinh dịch! Miyu Morita, Nana Natsume","lastmod":"2025-03-29","duration":"01:01:44","url":"/play/19086120.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTUyZWExOTA0MWFmMTk3NjZmNzFjZTIyOTk3ODk5NTguanBn.cache","vod_id":19072991,"title":"【Tình dục đỉnh cao ❤️ Màu đen tinh tế】Vợ sexy thân hình hoàn hảo 'Henry và vợ anh ấy' phiên bản quốc tế mới nhất Huấn luyện viên bơi lội với dương vật dài 20cm khiến âm đạo của Anna phát điên - với Henry 20cm (1)","lastmod":"2025-03-28","duration":"00:09:58","url":"/play/19072991.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjU0MmE4ZjA2NGE4NjEyM2RkN2IzNTE4NzczNGMyMDkuanBn.cache","vod_id":19059588,"title":"Máy quay giấu kín được sử dụng để ghi lại những lời tán tỉnh và các cuộc gặp gỡ tình dục, sau đó được phát hành dưới dạng video dành cho người lớn.","lastmod":"2025-03-28","duration":"","url":"/play/19059588.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYWNhOWUyYzRhMTQ1MDkyNDNiNzk0YWVjOGFmZTQ0YzIuanBn.cache","vod_id":19096770,"title":"[Phụ đề tiếng Trung] NNPJ-557 'Cô gái' từng xuất hiện trên một chương trình trực tuyến nào đó nay đang đóng phim người lớn.","lastmod":"2025-03-29","duration":"02:26:25","url":"/play/19096770.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMTEvYmMzODRkZTI3OTNmYzk1NjAyZTQxMGZkOGQ1N2YxOGMuanBn.cache","vod_id":19198769,"title":"Những nữ tiếp viên quán bar ngực khủng cung cấp dịch vụ tại nhà; những thân hình quyến rũ trong những vụ ngoại tình tại gia; một bữa tiệc tình dục điên cuồng.","lastmod":"2025-10-10","duration":"12:14","url":"/play/19198769.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTk3MmE2NDIyNjkzMWFkYTFmNzBkNmIyYzk0YTg4NzMuanBn.cache","vod_id":19077396,"title":"[Hẹn hò với gái thật, tôi sẽ mời bạn], cô gái trẻ ngây thơ 28 tuổi, làn da trắng hồng, lông mu dài, không bao giờ mệt mỏi khi vui đùa với người yêu, tiếng rên rỉ nhẹ nhàng và vẻ quyến rũ gợi cảm, sức hút mùa xuân vô bờ bến.","lastmod":"2025-03-29","duration":"01:09:49","url":"/play/19077396.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZWQ4OTA3ZTZjZjFiMTg5YTg2MDU3MDlhZjY3MGQ1M2UuanBn.cache","vod_id":19076351,"title":"Hai cô gái trẻ thanh lịch đeo kính được nhìn thấy đang quan hệ tình dục với nhiều người đàn ông, bao gồm cả một số người đàn ông lớn tuổi hơn, tham gia vào các hành vi tình dục và đạt đến nhiều đỉnh cao khoái cảm cho đến khi tất cả những người đàn ông đều xuất tinh.","lastmod":"2025-03-29","duration":"02:14:07","url":"/play/19076351.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMWIxNmFiODY4MzA5NDVlYzk3Njg3OGYwNDQ4MGNlNWUuanBn.cache","vod_id":19079116,"title":"Một người phụ nữ đã kết hôn cực kỳ quyến rũ đang quan hệ tình dục với anh trai ruột của mình tại nhà, và phát trực tiếp cảnh đó. Cô ấy mặc đồng phục, khuôn mặt hoàn toàn lộ ra, cô ấy đang thực hiện hành động quan hệ tình dục bằng miệng, và anh trai cô ấy đang liếm tinh hoàn và xoa bóp ngực cô ấy. Anh ta cũng sử dụng đồ chơi tình dục và thực hiện đủ loại hành động quan hệ tình dục mãnh liệt.","lastmod":"2025-03-29","duration":"02:07:55","url":"/play/19079116.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZDQxZDFmYWEzZmZhNWNiYjZlODk5MjhkMGM5ZWIyMmQuanBn.cache","vod_id":19211496,"title":"Vợ tôi bị bắt đi! Để người yêu tôi thừa nhận tình yêu của cô ấy, tôi đã dành 3 tiếng đồng hồ ở một mình với một chàng trai trẻ vạm vỡ và xuất tinh vào trong anh ta 16 lần... Ichiki Mahiro JUR-409","lastmod":"2025-12-26","duration":"2:18:53","url":"/play/19211496.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTYxZTFkY2JhOGQ1YjRhMDY2YjE1YTIxNTE3YzY0OGQuanBn.cache","vod_id":19096359,"title":"KAWD-962 \"Tôi không thể quên cảm giác của cuộc giao hợp nguyên thủy...\" Natchan (tên giả), một sinh viên đại học 19 tuổi khao khát một dương vật nguyên thủy, đã trải nghiệm lần thâm nhập đầu tiên trong đời.","lastmod":"2025-03-29","duration":"02:31:19","url":"/play/19096359.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTZiN2Q1ZWU2MjQ2YTBjZWU1MTg4NjFhNmYxOGQyZmMuanBn.cache","vod_id":19045113,"title":"#TB3D WPVR-058 Hãy cùng nhau dạy dỗ cô gái này!","lastmod":"2025-03-28","duration":"00:32:05","url":"/play/19045113.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjc2YWQzYzkzNzkyMThiNGRhNTY5ODhmMmYwNGUyMmMuanBn.cache","vod_id":19060423,"title":"BLK-421 Tôi bất ngờ đụng phải cô bạn thời thơ ấu của mình, một cô gái vô liêm sỉ, đang nằm trên giường trong phòng y tá. Tôi đã trốn học cả ngày.","lastmod":"2025-03-28","duration":"01:59:39","url":"/play/19060423.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOGZhOWM4MmYzYzZlODliNGZjMDNiMmNhZmYwMzdmMDYuanBn.cache","vod_id":19119208,"title":"MFO-077 [Phiên bản giới hạn] Quan hệ tình dục nhanh chóng, dù ở văn phòng, nơi làm việc hay trong giờ nghỉ giải lao, bạn có thể quan hệ bất cứ lúc nào, bất cứ nơi đâu, miễn là cả hai cùng đồng ý. Tập 1","lastmod":"2025-03-29","duration":"02:15:10","url":"/play/19119208.html"}]},
videoTitle: '- Một cô gái trong trắng và xinh đẹp trong một cảnh sex chân thực. Cô ấy bị kích thích liên tục và sâu sắc bởi những cú thúc mạnh mẽ của dương vật!! Ứng cử viên của Timebook: Feng Kailun',
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=/`;
}
};
}