[Phụ đề tiếng Trung] AARM-174 Phần tiếp theo: Mát-xa khiêu dâm dành cho người trưởng thành - Mát-xa khỏa thân - Tôi bị ép phải chấp nhận một thực đơn bí mật...
Tiệm massage quyến rũ nữ quản lý với giá 2500 nhân dân tệ để nắm quyền kiểm soát","lastmod":"2026-07-11","duration":"38:56","url":"/play/19163264.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZWM4MTFiYWU2NGExZGU4YjdjM2E3M2M0YjM1ZGVhZmUuanBn.cache","vod_id":19004610,"title":"Phim Sibyl 2019 phiên bản Blu-ray có phụ đề tiếng Trung và tiếng Pháp (BD 1080p X264A AACCHSFRAUUMp4)","lastmod":"2025-03-23","duration":"01:40:29","url":"/play/19004610.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjZkNDJjMjQ5Yjk2N2ExYzhkYzExNDc5NTRhOWVlNzUuanBn.cache","vod_id":18968862,"title":"Có khả năng ứng xử tốt trong cả những dịp trang trọng lẫn đời thường, cô ấy rửa bát, làn da trần để lộ một phần âm hộ qua chiếc quần tất đen và cận cảnh vùng kín tuyệt đẹp của mình.","lastmod":"2025-12-14","duration":"00:36:20","url":"/play/18968862.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMTMvYWI4Mzk3ZTk5YWEzYTcyYWM3MWI1NDRjYmFhN2Q2MDYuanBn.cache","vod_id":19057553,"title":"[Tiếng Trung] VENX285 Mẹ vợ tôi gần đây bắt đầu lo lắng về thân hình đầy đặn, trưởng thành của bà, và nhìn thấy bà ấy xấu hổ khiến tôi cương cứng.","lastmod":"2025-10-12","duration":"01:38:42","url":"/play/19057553.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOWMxZmRhMjEzZDhjNTI4YjMwOTAwMGI3NGRmNDAyYjMuanBn.cache","vod_id":18996847,"title":"MMIX-012 Tôi đang xem một video người lớn thì một người phụ nữ xinh đẹp, trưởng thành với ham muốn tình dục cao, người đã không quan hệ tình dục trong sáu tháng, đang giúp tôi thủ dâm. Tôi sắp xuất tinh rồi! Cô ấy đang mút dương vật của tôi, và nó dính đầy dịch tiết trước khi xuất tinh!","lastmod":"2025-12-14","duration":"02:15:29","url":"/play/18996847.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDMzYTI0YzUxZmRlNjVlYTAzOWU0MmQyNGJkNjlkY2EuanBn.cache","vod_id":19025254,"title":"SSNI192 中文字幕 出道10周年企划 明日香云拉的性感潜质在这部催情兽性4连作中被发挥出了120%。","lastmod":"2025-03-24","duration":"02:44:59","url":"/play/19025254.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNmRjOWMwNzhjYmM5YTMwOTBhMjYxNWFmNTViNzNmZDMuanBn.cache","vod_id":19148978,"title":"MomSwap - Một cô gái tóc đỏ quyến rũ đổi con trai với người bạn thân nhất của mình rồi đưa một dương vật đen to lớn vào âm đạo đã trưởng thành của cô ấy. [MomSwap]","lastmod":"2026-03-18","duration":"17:24","url":"/play/19148978.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYWUzZWE0YjczOWY2OTE5ZWQ4NzkxOGIwMzI0NzIyMDQuanBn.cache","vod_id":19009678,"title":"JUL079 Vẻ đẹp trưởng thành độc quyền của Madonna trên MUTEKI!! Cô ấy đang âm thầm chịu đựng đau đớn!!","lastmod":"2025-03-24","duration":"01:58:29","url":"/play/19009678.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2U1MWZkM2QxYmFjZTM0NDI5NjM4MmM2YjYyZjI5MzAuanBn.cache","vod_id":18933976,"title":"[Phụ đề tiếng Trung] CLUB-583 Trong khi xem phim người lớn với âm lượng lớn, người phụ nữ xinh đẹp đã kết hôn sống cạnh nhà...","lastmod":"2025-03-22","duration":"02:30:28","url":"/play/18933976.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTliMzBlZTM5ZTQ2N2M0Y2FjYzAzZTEyYTBhZTcwNWMuanBn.cache","vod_id":18952649,"title":"[Phụ đề tiếng Trung] MXGS-976 Ootsuki Hibiki bị quan hệ tình dục qua đường hậu môn bằng dương vật giả và đồ lót, trải nghiệm khoái cảm tột đỉnh.","lastmod":"2025-12-14","duration":"02:08:49","url":"/play/18952649.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzY4NjBlYzA0N2M4NzEzZjZhNDM5YzI0ZDNjYTYxNmUuanBn.cache","vod_id":19002817,"title":"SCOP-576: Tôi dùng máy rung để kích thích cô gái mới quen cho đến khi cô ấy đạt cực khoái, rồi khéo léo để cô ấy quan hệ tình dục không an toàn với tôi!","lastmod":"2025-03-23","duration":"02:47:58","url":"/play/19002817.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZWMxZmUwZGY4Nzk4MzczNGUxNGI0MjEwMGU5MGVhNDIuanBn.cache","vod_id":18966576,"title":"[Phụ đề tiếng Trung] MIAA-767 Em vẫn yêu anh ngay cả khi anh cởi bỏ chiếc áo khoác trắng. Một nữ y tá quyến rũ đã kết hôn lợi dụng lúc chồng vắng nhà để tận hưởng chuyến đi chơi đêm hai ngày tiết kiệm thời gian trong ca trực đêm của mình.","lastmod":"2025-12-14","duration":"01:58:17","url":"/play/18966576.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZWJiM2IxOThiMzI1YmRkOGZiNmQzZDk0MjU0ZDljMTIuanBn.cache","vod_id":18963388,"title":"[Phụ đề tiếng Trung] VAGU-253 Trường mẫu giáo bánh kem dành cho người lớn, Cô giáo Lingzi cho phép bạn tận hưởng trọn vẹn niềm vui của việc trò chuyện với trẻ nhỏ. Xu Lingzi","lastmod":"2025-12-14","duration":"01:44:20","url":"/play/18963388.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDVkMzhlZDAxOTZhYzFlYjMzZDE5MTU0ZDc4ZjlmMzguanBn.cache","vod_id":19023340,"title":"GDCM001 Sự giải phóng tình dục của nữ sếp trưởng thành: Su Ran","lastmod":"2025-03-24","duration":"49:10","url":"/play/19023340.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzQ0MjAzNmVlNTMyOThjMjRlODg0MzBkNzRiYjFlNjUuanBn.cache","vod_id":19007951,"title":"KSBJ062 Bà Mitake Rin khỏa thân","lastmod":"2025-03-24","duration":"02:11:17","url":"/play/19007951.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzY5NDRhODgxYzhhZjBkN2FjMTc4ODM3NjUwMjk5OWUuanBn.cache","vod_id":18936076,"title":"[Phụ đề tiếng Trung] HUNTA-656 Sự hồi hộp và phấn khích không bao giờ chấm dứt","lastmod":"2025-03-22","duration":"03:09:59","url":"/play/18936076.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTVhNTA4NWYyZTIwYmNlNGY0ZjllMzQyMDU5MDhkMWMuanBn.cache","vod_id":18972186,"title":"HUNTB-615 \"Chưa đủ đâu! Hãy đối xử với tôi như một đứa trẻ, đừng nương tay!\" Khi đang tắm cùng em gái, tôi bị ép phải cưỡng hiếp em ấy như một người lớn.","lastmod":"2025-12-14","duration":"03:51:33","url":"/play/18972186.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOWEyMDNlNmYwODliNWMwM2Q4N2FkZDI3ZGRhODEwYzkuanBn.cache","vod_id":18932834,"title":"HEYZO1905 Anri Tachibana, một mỹ nhân quyến rũ, đang luyện tập trong một căn phòng kín.","lastmod":"2025-12-14","duration":"01:01:12","url":"/play/18932834.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDJiNWE2NjNmYzM3ZjIwNmVlZjg5ZTEyYzMzMGQzZjAuanBn.cache","vod_id":18981762,"title":"ZOZO-106 Sự sỉ nhục! Hợp đồng lao động nam và nữ: Chẩn đoán sức khỏe nữ nhân viên văn phòng khỏa thân ~Phiên bản vẻ đẹp tự nhiên~","lastmod":"2025-12-14","duration":"00:52:21","url":"/play/18981762.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTRiMGMxMzgxZmJkYTY4N2MwODgyN2Y1MmQ3N2RmZTQuanBn.cache","vod_id":18929948,"title":"Một cô gái xinh xắn, mảnh mai trong bộ đồng phục học sinh, đang dùng máy mát xa rung để tự thỏa mãn trong khi được quan hệ tình dục bằng miệng và thâm nhập – vô cùng quyến rũ, đừng bỏ lỡ!","lastmod":"2025-12-14","duration":"00:24:22","url":"/play/18929948.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2ViNjYzMmI2Mjk5MjBiNjlmMWFiNzEwMzE5OWFhNzIuanBn.cache","vod_id":18966147,"title":"[Phụ đề tiếng Trung] MKMP-505 Thiên đường ngực khủng 360 độ!! Cô ấy chỉ yêu mình tôi và khiến tôi lên đỉnh nhiều lần. Giấc mơ về cuộc sống tân hôn đa thê. Yoshinobu Kohana","lastmod":"2025-03-22","duration":"02:11:29","url":"/play/18966147.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzQzMzMyMmVmZGRjYzhmM2M4NmJhMGI1NzdiOTY1ZjYuanBn.cache","vod_id":18988970,"title":"Một cô gái xinh đẹp, tóc ngắn đang tự thỏa mãn bản thân trên ghế sofa trong trạng thái khỏa thân, hông lắc lư và một quả trứng rung đang kích thích cô ấy – cảnh tượng vô cùng quyến rũ!","lastmod":"2025-12-14","duration":"55:03","url":"/play/18988970.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDhiN2U1MTlmNjAwYjkyMWU3MzU2ODllM2QwN2U0ZmYuanBn.cache","vod_id":18972981,"title":"[Phụ đề tiếng Trung] AARM-174 Phần tiếp theo: Mát-xa khiêu dâm dành cho người trưởng thành - Mát-xa khỏa thân - Tôi bị ép phải chấp nhận một thực đơn bí mật...","lastmod":"2025-12-14","duration":"02:06:37","url":"/play/18972981.html"}]},
videoTitle: '[Phụ đề tiếng Trung] AARM-174 Phần tiếp theo: Mát-xa khiêu dâm dành cho người trưởng thành - Mát-xa khỏa thân - Tôi bị ép phải chấp nhận một thực đơn bí mật...',
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=/`;
}
};
}