≪Quan hệ tình dục tiết kiệm thời gian trước khi trả phòng≫Tôi đã quyến rũ một nữ nhân viên khách sạn xinh đẹp đã kết hôn đến dọn giường…Cả khách hàng và nhân viên đều là nam giới. (Furukawa Honoka, Nghiệp dư hạng S)","lastmod":"2026-07-11","duration":"02:37:08","url":"/play/19167473.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTUwZjFjYmJlZjEyYTYyMzdiZGE0YjcwYjg1MWM2N2YuanBn.cache","vod_id":18978636,"title":"[Chưa cắt] MIAB-008 Trại huấn luyện cưỡng hiếp tập thể: Một nữ quản lý được yêu mến bị một nhóm thành viên đội tấn công tình dục thô bạo liên tục xuất tinh vào âm đạo, khiến tinh dịch tràn ngập.","lastmod":"2025-12-14","duration":"02:03:34","url":"/play/18978636.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMGZlZTllMDJlNzcyMDlmN2I4MTlkMmZiYzdjMDFlNmMuanBn.cache","vod_id":19153748,"title":"DPSJ-001 - Video rò rỉ tàn bạo về một cô gái xinh đẹp Tập 1: Nữ sinh bị bắt cóc và cưỡng hiếp!! Sự sỉ nhục, trạng thái bán điên loạn, thí nghiệm nhà tù ghê tởm","lastmod":"2026-04-16","duration":"54:45","url":"/play/19153748.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTZiZDY1M2RhMzE4Yjg2ZTVhYjc5NDhjMjNiZTE2ZDkuanBn.cache","vod_id":18944362,"title":"JUFD-988 Tra tấn bằng nụ hôn đồng tính nữ - Huấn luyện hôn núm vú đồng tính nữ tục tĩu của một nữ hoàng đua xe kỳ cựu - Hatsuno","lastmod":"2025-12-14","duration":"02:39:31","url":"/play/18944362.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MTgvMDQyNDYxOTg1NzcyMTk3YTNmMjdjMTEyNTJhM2EyZjEuanBn.cache","vod_id":19034084,"title":"CHERD096 \"Bạn có phiền không nếu lần đầu tiên của tôi là với một người phụ nữ lớn tuổi hơn?\" Lần quan hệ tình dục đầu tiên giữa một người còn trinh và một người phụ nữ đã kết hôn, trưởng thành.","lastmod":"2025-05-18","duration":"02:07:23","url":"/play/19034084.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNDc4ZWZkYTNhMGY5OGVmMzNjODdkMTVlYzM5ZDMyMzMuanBn.cache","vod_id":19138723,"title":"DJJJ-013-Rò Rò Cuộc Xâm Lược Địa Ngục Của Nữ Hoàng Tập 13: Bi Kịch Của Sự Xâm Lược Tình Dục - Người Phụ Nữ Báo Đen Huyền Thoại - Nàng Trở Thành Nô Lệ Trong Một Sự Trả Thù Tàn Bạo - CD3","lastmod":"2026-01-16","duration":"29:11","url":"/play/19138723.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjQ4YjU3NDQ1MTQ0ZmNjNmI2YzdjYTEyYWNmMjU4NmIuanBn.cache","vod_id":18952501,"title":"JUY-691 Nữ tiếp viên đời thực, độc quyền Madonna, Phần 2!! Một người phụ nữ đã kết hôn ở độ tuổi bốn mươi, trải qua nhiều thăng trầm trong cuộc sống, có cuộc sống hoàn toàn bị đảo lộn trong chương trình đặc biệt về màn threesome lần đầu tiên cực kỳ táo bạo này, với sự tham gia của Satsuki Honjo.","lastmod":"2025-12-14","duration":"02:49:51","url":"/play/18952501.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMWE5Y2NkYmNlYzcwN2IxMzhmZjg3MmZmZWU0YmViYmEuanBn.cache","vod_id":18975228,"title":"HMN-345 Bạn gái kiểu mẹ Mizuki Yayoi - Huấn luyện dương vật nhẹ nhàng khuyến khích chị gái, cô ấy sẽ biến bạn trở lại thành đứa trẻ 4 tuổi và dạy bạn cách quan hệ tình dục kiểu \"bánh kem\"","lastmod":"2025-12-14","duration":"02:04:09","url":"/play/18975228.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTAvNTE5ODA3MWYxNGY0YTcyNzMxYTNhMzNiNTc0OWVkYzguanBn.cache","vod_id":19167455,"title":"Màn ân ái mãnh liệt của 8 người phụ nữ đã kết hôn sẽ khiến chồng họ ghen tuông. Diễn viên: Chie Aoi, Alice Mizushima, Reiko Kitagawa, v.v. Phong cách Nagae","lastmod":"2026-07-11","duration":"04:27:42","url":"/play/19167455.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDM2Nzg0NmYyMzdiYjk5YjEwOGY2NjBmOWNkZjBmZmQuanBn.cache","vod_id":18995313,"title":"[Đánh giá HD] JUQ-019 Trong sáu tháng đầu đời, tôi liên tục bị kích thích bởi làn da hở hang của những người phụ nữ đã kết hôn... Kana Mito","lastmod":"2025-12-14","duration":"02:03:30","url":"/play/18995313.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjZmZmM5MjUzOGYxZTMzMzUyY2M5NDgxZTc2ZjllODguanBn.cache","vod_id":18939141,"title":"XKK-024 Loli Boyne Cream Pie Training 1","lastmod":"2025-12-14","duration":"02:01:30","url":"/play/18939141.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTlhZDgxNzhhMTUwZGNhOTg1OWYyMGI3NWQ2ZDllOTYuanBn.cache","vod_id":19007589,"title":"Asuka, người đã quyến rũ một người nông dân đã có vợ.","lastmod":"2025-03-24","duration":"12:34","url":"/play/19007589.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYmQwMGQxNmU3MWE5NjMwMmIxZmQ1NDlhZWI2M2MwNzAuanBn.cache","vod_id":19141284,"title":"Ban đầu tôi dự định đi suối nước nóng một ngày với một nữ đồng nghiệp đã kết hôn mà tôi làm việc bán thời gian cùng, nhưng... cuối cùng tôi lại quan hệ tình dục ngoài trời, và cô ấy thậm chí còn mút núm vú của tôi suốt hai ngày liền. (FJIN-113)","lastmod":"2026-02-03","duration":"02:10:20","url":"/play/19141284.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNGUxYjEzZDA0NGU4MDU3YWViYThjZTMxNWZmYTJiY2UuanBn.cache","vod_id":18960126,"title":"FC2PPV 3182721 ★Quyến rũ và gợi cảm tự nhiên. Đây là cơ hội tuyệt vời để biến cô ấy thành màu sắc của tôi. Không cần phải hỏi, huấn luyện thâm nhập hình chữ S.","lastmod":"2025-03-22","duration":"00:56:39","url":"/play/18960126.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjYvZjY3ZTFiNTg4NDIyYmQ4NDc2NGY0YjgxZmRlNzIzYjguanBn.cache","vod_id":19054058,"title":"MUDR290 Từ ngày đó trở đi... một cô gái xinh đẹp trong bộ đồng phục bị trói và huấn luyện để thực hiện xuất tinh bên trong.","lastmod":"2025-09-25","duration":"02:01:37","url":"/play/19054058.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZWI2YjZiNmE3MWNhMjQ0NDI4ZDJkMDdiYzQyNzc3ODEuanBn.cache","vod_id":19023812,"title":"Đây là lần đầu tiên JRZE164C quay phim tài liệu về phụ nữ đã kết hôn.","lastmod":"2025-03-24","duration":"02:01:11","url":"/play/19023812.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTAwYjI4MGUwMjMyZGY2MzcwMzg5YTg2Y2Y3MWM1NGYuanBn.cache","vod_id":19018448,"title":"SORA203: Huấn luyện chịu đựng sự sỉ nhục ngoài trời dành cho những người nổi tiếng kiêu hãnh.","lastmod":"2025-03-24","duration":"02:13:34","url":"/play/19018448.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MDUvNjlhMjE3MjhjZTM3NDFhYmMyZTA0Zjg0M2E4YzVmNjcuanBn.cache","vod_id":19050769,"title":"Một nữ nhân viên bán hàng dẫn khách hàng đi xem nhà, và khách hàng nói rằng ông ta sẽ bán nhà nếu được quan hệ tình dục với cô ấy. Người phụ nữ đã đồng ý.","lastmod":"2025-09-04","duration":"19:14","url":"/play/19050769.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNWExMjhiMThlZjNiOThiZmI3NzdiYWRiMjNlMzY5YmYuanBn.cache","vod_id":18928292,"title":"APNS-152 Buổi huấn luyện về chứng nghiện tình dục tập thể của các cô gái ở Green Hat Mountain: Những kẻ ngốc xác nhận cảm xúc của mình Tập 02","lastmod":"2025-12-14","duration":"00:20:00","url":"/play/18928292.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjYvNDIwMjZiMzllMGRjM2QxMmJlNTcwNjMwMTE1NTI1MTQuanBn.cache","vod_id":19059668,"title":"Quyết định độc quyền đầu tiên của I_CUP!! Những nụ hôn ngọt ngào, nồng nàn của người phụ nữ đã kết hôn xinh đẹp và cảnh sex trong nội y cao cấp tại thành phố, Takarazuka Monami FPRE_115","lastmod":"2025-10-25","duration":"02:28:31","url":"/play/19059668.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MDgvODM5NmY4MGM0MDk1NmU2OTg4NzI1ODRiNDE2ZmExYmMuanBn.cache","vod_id":19051553,"title":"Một người phụ nữ đã kết hôn, sống khép kín, làm việc trên một chiếc thuyền… Khi cởi bỏ quần áo, cô ấy trở nên tuyệt vời, gợi cảm, quyến rũ và lôi cuốn. (Asakura Yukino 336DTT096)","lastmod":"2025-09-07","duration":"02:09:27","url":"/play/19051553.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZTI0NmI4Nzk2ZjA2ZjdjY2JiOTZmMjgxNGQ1Yzk1MWQuanBn.cache","vod_id":19147758,"title":"Huấn luyện nô lệ và khổ dâm cho đặc vụ: Bị bắt giữ, trói buộc, tiêm thuốc kích dục, bị trói bằng dây thừng, nữ đặc vụ ngực khủng Morinaga Ichiro trở thành nô lệ USBA-085","lastmod":"2026-03-11","duration":"01:35:55","url":"/play/19147758.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmIxYjA1MzVkYTQ2ZmUzN2I5N2UzZmI2ZTQzZGZhOGIuanBn.cache","vod_id":18930326,"title":"ATID-241 Kỷ Nguyên Lãng Mạn Tàn Bạo Tập 2: Đỉnh Điểm Bi Thảm Của Sự Ràng Buộc - Búp Bê - Erina Fujisaki - Tập 4","lastmod":"2025-12-14","duration":"00:20:00","url":"/play/18930326.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzExZGY1NGMzYTdlMTk0YTgyOTNiNWYxNWVmYmUyMTUuanBn.cache","vod_id":19004462,"title":"JUQ-460-C Bóng chuyền của mẹ: Cưỡng hiếp tập thể phụ nữ trung niên; Người phụ nữ đã kết hôn bị người đàn ông bị quấy rối tình dục của hàng xóm nhắm đến... Bị ép buộc tham gia huấn luyện khiêu dâm","lastmod":"2025-03-23","duration":"02:27:33","url":"/play/19004462.html"}]},
videoTitle: 'JUFE-142: Những người thuê nhà đối diện đã bắt một phụ nữ đã có chồng phải trải qua 10 ngày huấn luyện tàn bạo.',
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=/`;
}
};
}