Một nữ sinh ngây thơ và dịu dàng tôi gặp trên Momo đã quan hệ tình dục bằng miệng với tôi trước gương, sau đó nuốt tinh dịch của tôi trong khi chúng tôi đang quan hệ và cô ấy đang xem.","lastmod":"2026-07-11","duration":"04:37","url":"/play/19154029.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMzdlNDc2ZjYzNjgwMzJlNzU1YzhlNmFhYWE2OGU4ZDIuanBn.cache","vod_id":19133942,"title":"Bí mật! Tiệm massage dẫn lưu bạch huyết bí ẩn 22 \"Bạn có muốn trải nghiệm dịch vụ bí mật của chúng tôi không?\" UMD-989","lastmod":"2026-03-30","duration":"02:02:02","url":"/play/19133942.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9zYnp5dHBpbWc0LmNvbTozNTE5L3VwbG9hZC92b2QvMjAyNjAyMTgtMS83ZDA3ZjkzODkwNTVhMmYwODM2YjZiNTMxMmU2NDc1MS5qcGc=.cache","vod_id":19125355,"title":"Một nữ sinh trung học còn trinh tiết đã cặp kè với cô nàng xinh đẹp ngây thơ của trường và cô bạn gái hói đầu của cô ấy – một sự tương phản rõ rệt – quan hệ tình dục trong khách sạn mà không dùng bao cao su.","lastmod":"2026-02-18","duration":"14:36","url":"/play/19125355.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMzA3OTg4ZTcxMTFiNDc3ZTBmMTdiZDZhMDRkODkwN2YuanBn.cache","vod_id":19121243,"title":"Một cô giúp việc quyến rũ, ngực nở nang giúp tôi xuất tinh như một dịch vụ bổ sung. (Hazuki Nozomi, DVRT-067)","lastmod":"2026-01-29","duration":"02:15:57","url":"/play/19121243.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNmU1ZWI2NjMwMjFlM2RmODI2MWMzZjRjNTg3NmJhMzMuanBn.cache","vod_id":19055226,"title":"Một cô nàng nóng bỏng theo phong cách anime trải nghiệm quan hệ tình dục bằng miệng với một fan anime 3D...","lastmod":"2025-03-29","duration":"18:05","url":"/play/19055226.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzg1ODlhODE1MTY3ZTI2ZTEyN2I2ZmEwZmUwYmVjZDAuanBn.cache","vod_id":19051367,"title":"Huấn luyện viên cá nhân Sakura Miura của MIDE674 cung cấp dịch vụ massage kích thích tình dục để giảm đau vai thông qua việc kéo giãn ngực, nhắm đến các nữ sinh viên đại học trầm lặng, những người khó cưỡng lại được sức hấp dẫn này.","lastmod":"2025-03-29","duration":"02:39:19","url":"/play/19051367.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvYTI3NzBhZWFiY2JiM2VjZGM0MWNlNDVlNzQ0ZTYwNjEuanBn.cache","vod_id":19108380,"title":"Cuộc thác loạn tại tiệm massage: Ba khách nữ bị các nữ nhân viên massage cưỡng hiếp dã man.","lastmod":"2025-12-13","duration":"54:38","url":"/play/19108380.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9zYnp5dHBpbWc0LmNvbTozNTE5L3VwbG9hZC92b2QvMjAyNjAyMjItMS84NDM5M2NlNTlmOTA3ODFmNTI5NmEwYjk5NmZlMmRhMi5qcGc=.cache","vod_id":19126170,"title":"Tuyển tập những trải nghiệm trái ngược của các giáo viên mẫu giáo, bao gồm quan hệ tình dục tập thể với nhiều người cho đến khi một giáo viên đạt cực khoái và xuất tinh, và một giáo viên khác bị một người lạ xâm hại tình dục không dùng bao cao su cho đến khi cô ấy đạt cực khoái và xuất tinh.","lastmod":"2026-02-22","duration":"38:35","url":"/play/19126170.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTMxYWQ4N2YwNjZmY2JmZDNkM2Y5Nzc2Y2IwM2E2MDUuanBn.cache","vod_id":18972636,"title":"[Xiao Tao Jiang] Cùng nhau tắm trong khách sạn, sau đó quan hệ tình dục bằng miệng và nuốt tinh dịch của một người phụ nữ có vòng ba cong quyến rũ.","lastmod":"2025-03-28","duration":"25:35","url":"/play/18972636.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNDI1ZWYzMzk4N2I2NDk5ZjAwNDhkYzc4MmM5M2Q3MzYuanBn.cache","vod_id":19123625,"title":"Cảnh quan hệ tình dục tập thể bị rò rỉ với lời thoại rõ ràng; đặt phòng khách sạn với bạn bè để quan hệ tay ba với một nữ sếp lớn tuổi; quan hệ tình dục bằng miệng và tư thế nằm trên, cực kỳ khoái cảm.","lastmod":"2026-02-09","duration":"11:37","url":"/play/19123625.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOTkwNzVkYTk1ZjZjZGY0ZmFmOWU1ZDE4NTIzZWVhZTIuanBn.cache","vod_id":19118957,"title":"Tôi rất thích cách cô ấy chủ động quyến rũ và khiêu khích tôi. Mỗi lần tôi xuất tinh vào trong cô ấy, một lúc sau cô ấy lại làm tình bằng miệng cho tôi.","lastmod":"2026-01-17","duration":"06:32","url":"/play/19118957.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzJhMzFiNWZlOWNhN2Y2OGJmOTE0MTNlNzYxMDExZTYuanBn.cache","vod_id":18966489,"title":"Mười ngày liên tiếp phục vụ và xuất tinh. Erika Ozaki","lastmod":"2025-03-28","duration":"01:50:44","url":"/play/18966489.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MDcvZjM4YTk0YThkZGM0ZmE2Yzc4NmIyZTMwNmM5OWZjZDkuanBn.cache","vod_id":19153779,"title":"【Phiên bản lưu vĩnh viễn】Phiên bản đặc biệt Tuyển chọn các nữ diễn viên gợi cảm vào Đại sảnh Danh vọng: 6 người phụ nữ trưởng thành với vẻ ngoài quyến rũ - Shinoda Yu, Hamasaki Mao, Suikawa Yuuri, v.v. Big Mocal","lastmod":"2026-07-11","duration":"04:00:12","url":"/play/19153779.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MDMvMWM3MzIyNGMwMjYxMTM1OTJkMjJmMmI4MjNlZDhiYzguanBn.cache","vod_id":19147120,"title":"Màn cưỡng hiếp tàn bạo, không che chắn và dã man với một cô gái mặc vớ đen quyến rũ - dương vật đang chạm vào cổ tử cung của cô ấy, Daddy! - những cơn cực khoái dữ dội, co giật - quan hệ với cô ấy ở nhiều tư thế khác nhau, thật tuyệt vời!","lastmod":"2026-06-02","duration":"18:17","url":"/play/19147120.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNmU3MmE3MTk0MmFlMWY0ZGFkZGE4ZmZmY2FiMGZjYzYuanBn.cache","vod_id":18965834,"title":"Cuối cùng, dương vật mà tôi hằng mong đợi đã thâm nhập vào âm đạo hồng hào của tôi, mang lại sự phục vụ hoàn hảo.","lastmod":"2025-03-28","duration":"17:44","url":"/play/18965834.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMDQ5YTEzYWVkYWE5NzVkODRhM2M5ODk0ZWUzNjcyNjAuanBn.cache","vod_id":19129185,"title":"Các đoạn băng sex bị rò rỉ của nam sinh viên và nữ sinh viên đại học, trong đó người phụ nữ có những hành vi rất dâm dục và thậm chí cả hành vi quan hệ tình dục bằng miệng, đã bị lộ.","lastmod":"2026-03-07","duration":"14:41","url":"/play/19129185.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvOWZkOGFhMmY4MjgzZmVkYjIwMjJmM2ExMWI5ZDBjY2QuanBn.cache","vod_id":19110788,"title":"Chương trình đặc biệt kéo dài 4 tiếng với sự góp mặt của các mỹ nhân ngực khủng như Ayase Kokoro, Satsuki Mei, Kawaguchi Yozumi, v.v. KTRA_656","lastmod":"2025-12-13","duration":"04:04:04","url":"/play/19110788.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNThlNDJkM2UyYjk4M2Y0YTc1MmFkYzg0MWRlMjc2ZWQuanBn.cache","vod_id":19128711,"title":"Hẹn hò với một phụ nữ ngực khủng để quan hệ tình dục dễ dàng, không dùng bao cao su, xuất tinh vào bên trong cô ấy CEMD-798","lastmod":"2026-03-05","duration":"02:15:30","url":"/play/19128711.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDA4M2U5NmYzMGFhZWFhODA4ODJiMzg4YTMwYzdhNmUuanBn.cache","vod_id":18976842,"title":"SENN-008 Một buổi massage ngực như trong mơ, nơi bạn có thể vuốt ve bộ ngực mềm mại của một nữ y tá ngực khủng và tận hưởng trọn vẹn khoái cảm! (Sumi Kurokawa)","lastmod":"2025-03-28","duration":"49:59","url":"/play/18976842.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDBmNzNiNDYxMzI0ZDA0MGIyZjY5YTBjOGRiZTM5YjAuanBn.cache","vod_id":19028238,"title":"[9 Đào] Thay đổi trang phục nhiều lần và quan hệ tình dục không an toàn!","lastmod":"2025-03-29","duration":"25:59","url":"/play/19028238.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MDQvYWE1ZTkyNGZhYzE0M2U1YTQ1ZWZmMGQ3MmYwYjAzM2UuanBn.cache","vod_id":19153307,"title":"Một video đang lan truyền trên mạng cho thấy một nữ nhân viên mát-xa tại một tiệm mát-xa, để lộ mặt và đang thực hiện mát-xa chân cho nhiều cô gái, kèm theo cả cuộc trò chuyện của họ.","lastmod":"2026-07-03","duration":"21:01","url":"/play/19153307.html"}]},
videoTitle: 'Dịch vụ massage tại nhà với các dịch vụ đặc biệt bao gồm không dùng bao cao su và quan hệ tình dục bằng miệng.',
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=/`;
}
};
}