JUQ-573 Một chuyến công tác mà tôi liên tục bị vị chủ tịch kiêu ngạo của một công ty khách hàng xuất tinh vào người. Một người phụ nữ xinh đẹp trong bộ vest, một vẻ đẹp cá nhân.
MUKC-111 Một thần tượng có vẻ ngoài thuần khiết quyến rũ đàn ông bằng vẻ đẹp ma mị của mình và vắt kiệt tinh dịch của họ trong một buổi chụp ảnh sex và xuất tinh bí mật ngoài ống kính. Rei Kuroshima","lastmod":"2026-07-11","duration":"01:58:15","url":"/play/19129323.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDA2YTg3MjU5OTA2NmE2YTk1YmU3MTI1NDIwNTgwZjIuanBn.cache","vod_id":18931396,"title":"Anh ta đã ngủ với một người phụ nữ vô cùng xinh đẹp tại một khách sạn năm sao; cô ấy thực sự rất quyến rũ. Anh ta mỉm cười mãn nguyện trong lúc đạt cực khoái.","lastmod":"2025-03-19","duration":"05:29","url":"/play/18931396.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2E2MzkxMjI5M2ZlMmMzZmVkMjQyNTQyOGEwNWYwZmEuanBn.cache","vod_id":18951477,"title":"Làm đẹp tại nhà","lastmod":"2025-03-19","duration":"00:00:57","url":"/play/18951477.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvM2M0N2ZjYzc3OGNhZDIwODA3YmI1MjExYzQ4YzMzNmYuanBn.cache","vod_id":19116900,"title":"Không thể thiếu cho việc thủ dâm: hai người đẹp song sinh tuyệt trần bước ra từ bồn tắm, cực kỳ quyến rũ, đang thủ dâm và xoa đậu phụ vào nhau.","lastmod":"2026-02-28","duration":"01:08:15","url":"/play/19116900.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOGYwNTMzNTU0OTEwZjE2YmZmMDgyNmUwMzIzYzIxZmEuanBn.cache","vod_id":18965588,"title":"FC2-PPV-2422140-3* Bài học làm đẹp cấp độ thần tượng nhút nhát 3!! Quan hệ tình dục bằng miệng trên ban công, tiếp theo là cực khoái đầu tiên, leo cầu thang dành cho người lớn, xuất tinh nguyên thủy, kèm theo phần thưởng bí mật","lastmod":"2025-03-19","duration":"12:27","url":"/play/18965588.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTM0ZGIyZDk2Y2U3OWE1N2E3MzA0ZTI0ZTlhNzRkYTkuanBn.cache","vod_id":19064757,"title":"Một thanh niên đến từ Hàng Châu, một tên ma cô, gần đây đã thuê hai người phụ nữ xinh đẹp (99kg), ba người đàn ông và hai người phụ nữ khác cho một cuộc thác loạn tình dục tập thể. Căn phòng tràn ngập bầu không khí trụy lạc—thật ngoạn mục!","lastmod":"2025-03-19","duration":"23:08","url":"/play/19064757.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjFlYzE3Mjc2NWVjMmVlMDU0OTQ5ZGZmZGVhOWY3NjcuanBn.cache","vod_id":18986105,"title":"KANO-041 trải qua một đêm ngọt ngào bên cạnh cô bạn gái Ayaka, một người sở hữu cá tính SSS hàng đầu.","lastmod":"2025-03-19","duration":"02:28:28","url":"/play/18986105.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjk2MjczZDNiYTEyZTM1ODMyMDNjNmNiZDVmN2M5ODAuanBn.cache","vod_id":18947321,"title":"[Trên mạng] Một nữ streamer giàu có và xinh đẹp lái chiếc Mercedes-Benz đang quan hệ tình dục với người hâm mộ bên vệ đường trong thành phố của cô ấy, không mặc đồ lót.","lastmod":"2025-03-19","duration":"01:21:29","url":"/play/18947321.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmMwODg5MjhjYzgwMjA5MThhOGRjMTk1ODkzMGMzZjguanBn.cache","vod_id":18947453,"title":"[Trực tuyến] Tiếp nối Sherry Gun, một nữ streamer xuất sắc khác đã hạ gục 3 người đàn ông lực lưỡng chỉ trong một lần!","lastmod":"2025-03-19","duration":"01:13:14","url":"/play/18947453.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTc0ZTUwYjlkNWE3ODVhNDZjOTliNzRmZmI1ZGM5ZDIuanBn.cache","vod_id":18985731,"title":"BDA-197 Tiếng la hét khi quan hệ tình dục qua hậu môn! Mục tiêu khốn nạn của cô giáo xinh đẹp","lastmod":"2025-03-19","duration":"02:16:33","url":"/play/18985731.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTc0ZmRiMDIwMDBhOWFiMTQyNmNlYWFhMmQ0NmMwZGQuanBn.cache","vod_id":19046171,"title":"AJVR-054-cd2 [VR] Một loạt những nụ hôn kiểu Pháp sâu lắng, thân mật trong thực tế ảo ~ những nụ hôn sâu lặp đi lặp lại, cận cảnh tuyệt đẹp của những chiếc lưỡi và núm vú ướt đẫm, màn dạo đầu bằng ngón tay đầy nước bọt, tư thế ngồi đối mặt cận cảnh, tư thế cưỡi ngựa với nước bọt trên tay, tư thế kiểu chó và tư thế truyền giáo với lưỡi thè ra [Cảnh xuất tinh gốc]","lastmod":"2025-03-19","duration":"29:56","url":"/play/19046171.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2MyM2JlMzA0YjA0MjNiNmZiMTcwNmQ4ZTA1NTI0NTAuanBn.cache","vod_id":19012539,"title":"IESP-731 Hinata Hinara, nữ sinh viên bị bắn vào trong 20 lần liên tiếp","lastmod":"2025-03-19","duration":"02:11:09","url":"/play/19012539.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmJmZDk2NTFjYzUwOGQ1YjQ1N2EwZGFmOWM1NmI4NDMuanBn.cache","vod_id":19017346,"title":"NHDTB-833 Kẻ biến thái cho con bú","lastmod":"2025-03-19","duration":"02:17:38","url":"/play/19017346.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMmM3MGJlNDRkNjFmMjBhZGFjNjU3ZTBlOTc3ZGY4YzMuanBn.cache","vod_id":18992850,"title":"Những tiếng rên rỉ và than thở của người phụ nữ xinh đẹp tiếp tục vang lên khi cô bị một dương vật to lớn xâm hại một cách thô bạo trong phòng khách sạn!","lastmod":"2025-03-19","duration":"13:17","url":"/play/18992850.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZDAyYmVlMmE5MzhkYWFjMmI1MzAzMWZjNjQxYmYxN2MuanBn.cache","vod_id":19122305,"title":"Người đàn ông xếp thứ ba đã phải lòng con hổ trắng và xuất tinh trực tiếp vào bên trong cô ta mà không dùng bao cao su.","lastmod":"2026-05-14","duration":"41:15","url":"/play/19122305.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMWQ1NzY0ZWEyYTM4YTg0NWFjNjM5MWJlM2M5YzdmYzcuanBn.cache","vod_id":18975489,"title":"Các nữ diễn viên gợi cảm từ Overwatch đóng vai chính trong bộ phim.","lastmod":"2025-03-19","duration":"10:11","url":"/play/18975489.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZGQ1NzM2NjUwYzdhNmM0ZDJkZmY0YTNlYmUxMWEwNDYuanBn.cache","vod_id":18981716,"title":"Tiến đến gần nữ thần xinh đẹp nhất - Rei Ayanami.","lastmod":"2025-03-19","duration":"46:03","url":"/play/18981716.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzMxN2NiMTVhNTljMTEzYmEyZWE1Njg1NjE5NjRmZTIuanBn.cache","vod_id":18962712,"title":"Một mỹ nhân mới nổi với nhan sắc tựa nữ thần vừa bắt đầu màn trình diễn quyến rũ, vén áo khoe bộ ngực trắng mịn và rung rinh, đôi tất đen gợi cảm của cô cũng rung theo.","lastmod":"2025-03-19","duration":"50:38","url":"/play/18962712.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzRjMzBlZGNiZTg3YWEwZDU0NmE2NWRkMTIyMmI2ZjEuanBn.cache","vod_id":18967149,"title":"BMW-317 Quan hệ tình dục tập thể Xuất tinh ồ ạt TUYỆT NHẤT - Liên tục bơm tinh trùng cho đến khi Brybryu chảy ngược trở lại! Một cô gái lẳng lơ tiếp tục tìm kiếm tinh dịch ngay cả sau khi xuất tinh.","lastmod":"2025-03-19","duration":"03:46:00","url":"/play/18967149.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDA0M2UzMDE0ZGQ2NWI3NGEwOGI3N2I4ZDVlODE1NjQuanBn.cache","vod_id":19064809,"title":"NHDTB-999 [Số lượng có hạn] Bộ sưu tập kỷ niệm 25 năm Natural High - Shameful 2024 - Bộ đĩa đôi mới 8:00","lastmod":"2025-03-19","duration":"04:00:28","url":"/play/19064809.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MDIvYzAyYTg2NzNkMDZkZjNkZTJiNDIzMjk2ZTk4Y2M2YzYuanBn.cache","vod_id":19091977,"title":"NACR-833-C: Dạy giáo dục giới tính cho em trai còn trinh của tôi! Tôi chỉ muốn làm vậy thôi, nhưng hóa ra đó lại là lần đầu tiên cậu ấy được vào trong tôi!?","lastmod":"2025-08-01","duration":"02:03:17","url":"/play/19091977.html"}]},
videoTitle: 'JUQ-573 Một chuyến công tác mà tôi liên tục bị vị chủ tịch kiêu ngạo của một công ty khách hàng xuất tinh vào người. Một người phụ nữ xinh đẹp trong bộ vest, một vẻ đẹp cá nhâ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=/`;
}
};
}