MNGS-043 Mát-xa Núm Vú Kiểu J: Nói chuyện tục tĩu, Thở hổn hển, Thì thầm gần gũi, Khoái cảm tan chảy từ não bộ, Xuất tinh trong khi núm vú liên tục được kích thích","lastmod":"2026-07-11","duration":"02:44:21","url":"/play/19152742.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MTAvMjBiZGFlZjk0NGQyZjIwYWU2NmM1NjAzODhkZTFhMzcuanBn.cache","vod_id":19099536,"title":"MOPP-099 Một cô nàng dâm đãng thích bị hành hạ sẽ trêu chọc bạn cho đến khi não bạn tan chảy, và bạn không bao giờ được phép xuất tinh—đây là phần thưởng cho sự tra tấn.","lastmod":"2025-04-10","duration":"02:03:40","url":"/play/19099536.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMWZkNTY5Zjk2Y2M2NDY4NWYwNzk0ZjVkNTRkNjFiMmMuanBn.cache","vod_id":19046709,"title":"Al Dilireba đã bị nhiều người cưỡng hiếp tập thể và xuất tinh lên người.","lastmod":"2025-03-19","duration":"13:24","url":"/play/19046709.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYzRiNGFlYmE2YWE5YmUwMzFlNDU0ZTgzZTg4ZmUxZWMuanBn.cache","vod_id":19143921,"title":"FOCS-225-C là một bà nội trợ đổ mồ hôi nhiều, đồng thời cũng là một huấn luyện viên cá nhân năng động về tình dục: bà ta lén lút quan hệ tình dục với các học viên trẻ tại nhà mà chồng không hề hay biết, thậm chí cả trong một \"buổi học xuất tinh\".","lastmod":"2026-04-02","duration":"02:02:01","url":"/play/19143921.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzQ5MjE3OTA1OWQyN2E1YWVlZDA5MzE2YzViYzZiZDkuanBn.cache","vod_id":18945452,"title":"FSDSS-617 Ngưỡng khoái cảm tình dục của cô ấy thấp bất thường. Mặc dù có bạn trai, cô ấy vẫn sẵn sàng quan hệ tình dục và có thể xuất tinh với bất kỳ dương vật nào. Cô ấy có các triệu chứng xuất tinh sớm.","lastmod":"2025-03-19","duration":"01:59:16","url":"/play/18945452.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZGRmZWQxOGMwY2JlYzdkOGJjOTE2MDRkYWM3ZDgxNjguanBn.cache","vod_id":19130978,"title":"DASS-792 Một người mẹ và con trai bị nhốt trong phòng và không thể ra ngoài trừ khi họ xuất tinh 10 lần, trong khi họ muốn quan hệ tình dục với nhau.","lastmod":"2026-02-13","duration":"02:03:52","url":"/play/19130978.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzY0MmE1ZWVhOTFhNGFkMjczYTQ4NWYwNWViNmMyYjQuanBn.cache","vod_id":19038997,"title":"WAAA-363 Một nụ hôn sâu lắng, ướt át! Chảy nước dãi, xuất tinh liên tục, xuất tinh, hôn, toàn bộ quá trình quan hệ tình dục.","lastmod":"2025-03-19","duration":"03:03:42","url":"/play/19038997.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MTIvYzcyYjdlYmMyODY1NzY5MWI0YjhhMzM0ZTlhZTk2MmUuanBn.cache","vod_id":19112021,"title":"MRHP-034-C Khi không thể cưỡng lại được vòng ba quyến rũ của một cô vợ trẻ trong chuyến đi suối nước nóng, tôi đã tấn công cô ta. Hóa ra cô ta là một người vợ lẳng lơ, và tôi đã xuất tinh vào trong cô ta khi chồng cô ta không để ý.","lastmod":"2025-07-12","duration":"01:58:52","url":"/play/19112021.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYWVkODc3Y2I5YzYxNDIxNGNhZTRmYzcyZDA4MzRhYTkuanBn.cache","vod_id":19135974,"title":"URKK-116 Xuất tinh không giới hạn! Một cô gái JK xinh đẹp làm thêm tại một nhà thổ bí mật.","lastmod":"2026-02-13","duration":"02:25:58","url":"/play/19135974.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODMyNTY3NzkwYTlkMTU2ZDE2OTJiNmRkMjRmNmY0MjYuanBn.cache","vod_id":19033989,"title":"326GAR-006 Chơi với con nhỏ trả tiền uống nước!! Những chuyển động hông của cô ta, được mài dũa qua múa cột, gợi cảm đến mức cô ta xuất tinh vào trong người cô ta hai lần liên tiếp!!","lastmod":"2025-03-19","duration":"01:17:31","url":"/play/19033989.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MDYvYjcxMGJiYzZkNWI1YmVlNmUyMzFhZjU5MDk2OWYyNTguanBn.cache","vod_id":19103341,"title":"530DG-250 Cưỡng bức xuất tinh lên một cô gái có thân hình tuyệt đẹp!!","lastmod":"2025-05-06","duration":"01:08:48","url":"/play/19103341.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDZjYWRmYjI4YjJhYzkyNWZjMDUyYzYwMzYwZmRlY2YuanBn.cache","vod_id":18969297,"title":"Luna Tsukino - Một nữ giáo viên có vòng ba ngoại cỡ, rất nghiêm túc trong việc giúp đỡ học sinh cá biệt của mình cải thiện kỹ năng và liên tục thực hiện những động tác thúc đẩy mạnh mẽ như pít-tông, mà không hề hay biết rằng cậu học sinh đang xuất tinh vào bên trong cô!","lastmod":"2025-03-19","duration":"02:34:35","url":"/play/18969297.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMTY0ZjIzYWMyYzU2ODRhM2EwNjk1YTI0NzljN2NlOTcuanBn.cache","vod_id":19140978,"title":"DASS-604-C Một người phụ nữ hành động ngay lập tức khi có rắc rối xảy ra! Cô ấy luôn luôn năng động về mặt tình dục! Cô ấy là một khách hàng dâm đãng và biến thái. Cô ấy đang xuất tinh.","lastmod":"2026-03-06","duration":"01:57:20","url":"/play/19140978.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjRlMmZmMjgxOTQ5OTgxYWJlMWJkNTgyZGY2YTk2MDMuanBn.cache","vod_id":19015611,"title":"ROE-229 \"Em chắc là điều này ổn chứ?\" Người vợ chấp nhận mong muốn bị cắm sừng của chồng và khoe khoang việc xuất tinh qua âm đạo.","lastmod":"2025-03-19","duration":"02:02:18","url":"/play/19015611.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNWM1MjM3MzI2MWQyMGZlYmIyZGUzMjQ3ZDgxOGQ0ZTQuanBn.cache","vod_id":18939448,"title":"MIAA-167 Em gái tôi, Akari Neo, vẫn tiếp tục bú sau khi tôi xuất tinh lên mặt cô ấy xong, và khiến tôi xuất tinh hết lần này đến lần khác bằng màn oral sex van xin của cô ấy.","lastmod":"2025-03-19","duration":"02:28:58","url":"/play/18939448.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjJhMzg3YTY4YTZmODU5OGZhZDkxZGMxNzQ3ZWY1MzUuanBn.cache","vod_id":19046760,"title":"HEYZO 3441 Xuất tinh liên tục mạnh mẽ ~ Thân hình tuyệt đẹp, xuất tinh liên tục ~ – Rion","lastmod":"2025-03-19","duration":"01:01:45","url":"/play/19046760.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMmZlYmRhOTNjMTBhODZlYzgwNjg0YTM0MWU5MmQ0YTQuanBn.cache","vod_id":19056367,"title":"COSX-063 Làn da trắng mịn, vòng một cỡ F và giọng nói anime! Âm thanh chất lượng cao! Sakura, cô nàng cosplay biến thái! Bạn sẽ xuất tinh ngay tại đây!","lastmod":"2025-03-19","duration":"01:08:30","url":"/play/19056367.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMmM1OGZlZTA0ZjJkMTU1YTAxODYxOTBlYjFjN2YyMjguanBn.cache","vod_id":19051925,"title":"MIDV-853 Một nữ chuyên viên thẩm mỹ ngực khủng, lẳng lơ, khiến bạn lên đỉnh hết lần này đến lần khác trong bộ trang phục khiêu gợi.","lastmod":"2025-03-19","duration":"02:26:34","url":"/play/19051925.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MDkvZWE5ZjU0OGE1YWM4NjMxYzM2N2M0YzFkYTJhNjczZjcuanBn.cache","vod_id":19119772,"title":"RKI-659-C Người mẹ kế như thiên thần nhẹ nhàng ôm lấy con trai riêng và dạy cậu về sự xuất tinh. Một người vợ trẻ quyến rũ, được bảo vệ, dù thiếu kinh nghiệm tình dục, vẫn phục vụ con trai mình.","lastmod":"2025-09-09","duration":"02:03:28","url":"/play/19119772.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDljMDc0OTU2NzMyMmRjOTdkMDQ3YTQ1OTllNWE1YzIuanBn.cache","vod_id":18971402,"title":"MIDV-586 Tôi (chị gái tôi) cảm thấy vô cùng xấu hổ vì bạn trai cuồng dâm của chị ấy đến nỗi tôi bị ép phải xuất tinh vào trong người chị ấy...","lastmod":"2025-03-19","duration":"02:14:22","url":"/play/18971402.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzIzZTZhNWVkZmEyMjNjZjA3ZWFiYTBjNDE2ZTU1ZjkuanBn.cache","vod_id":18952333,"title":"Nhiệm vụ FVMD-011!! Nữ chuyên gia hôn hít và nói chuyện dâm dục Sarina Momonaga tiết lộ sở thích tình dục của ba người hâm mộ và điều khiển sự xuất tinh của những người đàn ông cực kỳ ngoan ngoãn này!","lastmod":"2025-03-19","duration":"02:10:38","url":"/play/18952333.html"}]},
videoTitle: 'REAL-920 Deep Throat Irama BEST 240 Minutes Sow Throat Ejaculation',
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=/`;
}
};
}