MUDR-353 Cách quyến rũ một cô gái: Sử dụng sự vô đạo đức và khoái lạc để khiến một cô gái mang thai và tẩy não! Sumire Kuramoto","lastmod":"2026-07-11","duration":"01:57:19","url":"/play/19152933.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MTUvYTZlMWJiYTNkMTVhNjQ4MmUzYTQ5NmU0ODIyODY5MmQuanBn.cache","vod_id":19108702,"title":"MUKD-529: Một nữ sinh ngây thơ trong bộ đồng phục bị vu oan tội trộm cắp và đe dọa, bị cưỡng hiếp nhiều lần cho đến khi mang thai và biến thành một \"nhà vệ sinh thịt\" bị lạm dụng tình dục.","lastmod":"2025-06-15","duration":"02:28:46","url":"/play/19108702.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvODdlOGEwOGIwYWExZGUxZmQ4NjFmNjlhZWMxYTgyNDkuanBn.cache","vod_id":19134289,"title":"DPSJ-003-Video Tàn Bạo Bị Rò Rò Về Một Cô Gái Xinh Đẹp Tập 3: Thí Nghiệm Nhục Bạo và Đêm Nhục của Cô Giáo, Cưỡng Bức và Tàn Bạo Cực Khoái","lastmod":"2026-02-13","duration":"18:17","url":"/play/19134289.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGI3ZmQ0OTNmMjM0MTUwNjNkMmNmYzg2ODI5MWI3MTUuanBn.cache","vod_id":19076508,"title":"REXD-542 Cô gái tương lai Speman","lastmod":"2025-03-19","duration":"02:00:27","url":"/play/19076508.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODA1M2Y1YmE0MzFkNzhjODdjZDYxMzRmYTFmZGVhMjguanBn.cache","vod_id":18921982,"title":"Trò chơi VR khiêu dâm với các cô gái xinh đẹp","lastmod":"2025-03-19","duration":"02:21","url":"/play/18921982.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMWFiODFmMWQyYTgxZDg3NWQzZTI1NjRiZDYxMDlhZTEuanBn.cache","vod_id":18941254,"title":"FC2-3205270 [Đồ ngủ★Monashi] Cùng mặc đồ ngủ thêm lần nữa nào! ♥ Một lần nữa thôi! Một cô gái 18 tuổi thực thụ ♥ Đôi mắt to tròn","lastmod":"2025-03-19","duration":"54:07","url":"/play/18941254.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYmM3NmE4N2U4Mzk3MDJjYmQ0OTBmYTYyZjFiMGY2YmIuanBn.cache","vod_id":18930137,"title":"Siêu nổi tiếng 91 cô gái trưởng thành xinh đẹp, giá trị cao [Duoyi] màn dạo đầu chậm rãi, gợi cảm trong bộ đồng phục đen, cực kỳ thích thú khi dương vật trượt vào lỗ nhỏ nhắn, được cọ xát bởi các lớp thịt mềm mại.","lastmod":"2025-03-19","duration":"10:23","url":"/play/18930137.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTM2MjdiNjFkYjk0NDcxNzk5YjRmOTY4OWY0YjBiYzYuanBn.cache","vod_id":19063526,"title":"393OTIM-271 [Cô gái xinh đẹp mặc đồng phục thủy thủ có thai] Ochi●Po nịnh hót tục tĩu Yuuna","lastmod":"2025-03-19","duration":"01:20:01","url":"/play/19063526.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDczOWJmNjczZWY0MzlkN2UwYWJiMDY1OWFlMTExMmUuanBn.cache","vod_id":18957465,"title":"IBW-931 Cưỡng bức quan hệ tình dục trong nhà vệ sinh công cộng, nhắm vào các cô gái da rám nắng trong kỳ nghỉ hè.","lastmod":"2025-03-19","duration":"02:14:41","url":"/play/18957465.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZGE5M2Q4YTMxYjIzNGYzZjA5ZjE2YjgwODk1N2MzNjAuanBn.cache","vod_id":19132792,"title":"Quan hệ tình dục với cô gái trộm cắp mắc chứng tiểu không tự chủ SSIS-840","lastmod":"2026-02-13","duration":"14:10","url":"/play/19132792.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDRkMGZkZDRhN2RlOGRiY2I3MWI3YjI0MWJiNWU5MmUuanBn.cache","vod_id":18946379,"title":"Yui Hatano - CD1 Một dương vật cứng như đá, đầy dục vọng bị mút mạnh từ đầu đến gốc, hút ra nhiều tinh dịch đến nỗi tinh hoàn trở nên mềm nhũn!! 21 cô gái Shakuhachi có miệng ướt át hơn cả âm đạo. 240 phút.","lastmod":"2025-03-19","duration":"02:01:25","url":"/play/18946379.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzkyNzhjZDgzMDhmNzMxZGQxYzhlMTUxZGUxZDY0MzIuanBn.cache","vod_id":18921863,"title":"Một cô gái say rượu bị một tên biến thái dụ dỗ bên ngoài quán bar và đưa về nhà, nơi hắn liếm láp da thịt cô và cưỡng hiếp cô một cách dã man.","lastmod":"2025-03-19","duration":"14:24","url":"/play/18921863.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjcvOWU0ZDExMDA2MzI2ZDRiNTI3NDk2Yjg1MjdiMjI0ZGQuanBn.cache","vod_id":19122269,"title":"Non Kohana - RBK-056: Ghi chép về vài ngày tình yêu của một người đàn ông trung niên dành cho một cô gái xinh đẹp mà ông đã che chở từ thuở nhỏ.","lastmod":"2025-09-27","duration":"01:58:59","url":"/play/19122269.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzU3NWJjODc5OGVkMGI4YmIyMjc4YWVkNTA2NGM5OWEuanBn.cache","vod_id":18939827,"title":"IZM-016 Một cô gái nghiệp dư muốn bị bắt nạt. Arisa, 25 tuổi, làm việc tại công ty tư vấn xuất tinh của ông Nakata. Một cô gái lẳng lơ với dịch âm đạo chảy ra.","lastmod":"2025-03-19","duration":"02:08:09","url":"/play/18939827.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjdjYTE0MjFkZDA0YzU1MmZjNTJkOGE4M2Q1OGU1MjYuanBn.cache","vod_id":19087232,"title":"467SHINKI-162 [Camera giấu kín tại công viên giải trí] [Cô gái xinh đẹp mê tình dục] [Quan hệ tình dục bằng miệng giải trí] [Quan hệ tình dục nguyên thủy 4 người] [Xuất tinh]","lastmod":"2025-03-19","duration":"01:28:38","url":"/play/19087232.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTczY2JlZjQxYWEyNGVlYjAxNzRlOWY3MzI5ZDY2ZTIuanBn.cache","vod_id":19025750,"title":"HEYZO 3374 NTR Cô giáo xinh đẹp ~Tuyển tập sắc đẹp Tập 28~ Mai Shirakawa","lastmod":"2025-03-19","duration":"56:15","url":"/play/19025750.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTA0ZWEwYmQxNDRjYzQ4MGEyMzQ3ZmM5MzE3YmE5MTUuanBn.cache","vod_id":19034393,"title":"Dehua đề xuất một buổi \"quan hệ tay ba\" với các cô gái tuổi teen.","lastmod":"2025-03-19","duration":"18:11","url":"/play/19034393.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWMwNDYzYzcyZDg3NTBkZjBmODFjOTA3ODVmYjU1Y2IuanBn.cache","vod_id":18960973,"title":"n0968_kumi_higashiyama_bz Một cô gái xinh đẹp bước xuống Higashiyama Kumi","lastmod":"2025-03-19","duration":"01:51:08","url":"/play/18960973.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNGEwOGMzMGJlMWI5ZTU2NmY5OGU1OGQ5NDMyMDdmYjguanBn.cache","vod_id":19047910,"title":"10musume 110424_01 Nghiệp dư, không trang điểm~ Một cô gái xinh đẹp với vòng một cỡ E ngay cả khi không trang điểm~","lastmod":"2025-03-19","duration":"01:01:44","url":"/play/19047910.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjY4NmQzYWFkM2ZkODc2YTdlYmE0Y2M4NmM3ZjEzZmMuanBn.cache","vod_id":18965337,"title":"KSJK-018 Cô gái ngoan đạo NTR","lastmod":"2025-03-19","duration":"01:52:17","url":"/play/18965337.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDlhZjZkY2I3OTlkZjUyMjE0NGFjOWQ1MjgyMmE3NGUuanBn.cache","vod_id":19033054,"title":"Âm đạo nhỏ nhắn, hồng hào và mềm mại của một cô gái trẻ, không lông, ngây thơ trong suốt 22 phút.","lastmod":"2025-03-19","duration":"22:52","url":"/play/19033054.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYmRlMjEyODg1OTQ5NzI1NDA1MmEwYmEzNjQ3ZTg1NWYuanBn.cache","vod_id":18930745,"title":"MSD-080_Giáo viên...Tôi vẫn muốn cô gái trẻ Xiaoyun khao khát tình dục trang web chính thức","lastmod":"2025-03-19","duration":"31:57","url":"/play/18930745.html"}]},
videoTitle: 'REXD-542 Cô gái tương lai Speman',
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=/`;
}
};
}