Một người phụ nữ đã kết hôn, nhưng lại bị ám ảnh bởi việc phơi bày ham muốn của mình… Chỉ cần nghĩ đến việc ai đó nhìn thấy bộ phận sinh dục của mình cũng khiến tử cung cô đau nhức… Miho Yukishiro, Miho Yukishiro APNS-392
REC Train Pervert NTR Cho đến khi tôi yêu một nữ nhân viên văn phòng, tôi đã nhìn thấy khuôn mặt cô ấy trên sân ga. Aya Onami chưa hoàn thành","lastmod":"2026-07-11","duration":"01:58:50","url":"/play/19164624.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNjRkMWU4YzQyOWJiNDIxY2I2MjkzMjcyZjIyYWUwMDAuanBn.cache","vod_id":19143266,"title":"Tôi đâm dương vật của mình vào người vợ ngoại tình, Kanna, và người tình của tôi, Jun, và khiến họ đạt cực khoái trong tử cung của họ. (JUR-555)","lastmod":"2026-02-14","duration":"02:28:04","url":"/play/19143266.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzI2MDFjMDJjNGQ1YzMzMmM3MjgxM2RlOGFmNDQ0YWIuanBn.cache","vod_id":18939157,"title":"[Phụ đề tiếng Trung] OKS-083 Ướt át, bóng bẩy, bó sát: Bộ đồ bơi học sinh thiêng liêng của Shinominami. Hãy thưởng thức vẻ đáng yêu của cô gái này trong bộ đồ bơi học sinh! Bắt đầu với một video quay lén cảnh cô ấy thay đồ, hãy chiêm ngưỡng cận cảnh vòng một nhỏ nhắn, vòng một đầy đặn, vùng kín đã cạo, vùng kín có lông và lông nách, cũng như cảnh tắm bồn với bọt xà phòng, quan hệ tình dục tập thể trong bộ đồ bơi học sinh và xuất tinh mạnh mẽ, tất cả đều diễn ra khi cô ấy vẫn mặc đầy đủ quần áo.","lastmod":"2025-12-14","duration":"01:33:31","url":"/play/18939157.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmUwZjljMGE5ODZhMDI0MjQzMjA3OWE0YTBjNTYxMmIuanBn.cache","vod_id":18951015,"title":"HUNTA-150_A Giữa những nữ nhân viên cấp cao, tôi là người đàn ông duy nhất trong văn phòng làm thêm giờ.","lastmod":"2025-12-14","duration":"03:31:40","url":"/play/18951015.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjk3OTgwNjEyZDM4ZmZhNzNjN2QxY2MxYTNmN2Q4MTIuanBn.cache","vod_id":18953924,"title":"OYC-095 Tất nhiên, nó được quay như một phim AV! Anh bạn đẹp trai của tôi đã đưa một cô gái say xỉn vào phòng tôi.","lastmod":"2025-12-14","duration":"02:08:02","url":"/play/18953924.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2VmNGU3ZDY0NmZkZmU2MmI3OWJkMTU2NDc4YzllODcuanBn.cache","vod_id":18953830,"title":"NPS-360 Ba bà mẹ cùng đóng vai chính trong một phim AV!! Người phụ nữ đã kết hôn đi thu thập tài liệu - chồng không xuất hiện.","lastmod":"2025-03-22","duration":"02:38:38","url":"/play/18953830.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTUwMTA1NDc1NTA2MDZlMzE2NDBmYjQ2MTk2NjM3ODEuanBn.cache","vod_id":19010201,"title":"SDMU953 Matsushita Milku (tên giả, 24 tuổi), một bảo mẫu biến thái có ham muốn chơi đùa với trẻ sơ sinh, đăng ký để ra mắt trong ngành phim người lớn.","lastmod":"2025-03-24","duration":"02:20:15","url":"/play/19010201.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MzAvZDhmMTM5ODI5YTU3YzQ1YWY0N2IzNDMwODc4YmI2NDMuanBn.cache","vod_id":19035784,"title":"IPZZ077 đang chảy nước dãi và ân ái với người phụ nữ xinh đẹp nhất, những nụ hôn nồng cháy và quan hệ tình dục.","lastmod":"2025-05-30","duration":"01:59:46","url":"/play/19035784.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNWYzNmMyN2NkNzMyNmI5ZDVmZjk2YWM2YzM0MWM5M2UuanBn.cache","vod_id":18980383,"title":"PPPE-108 Sau khi bố mẹ tôi tái hôn, tôi phải ở chung phòng với hai người chị gái! Bị kẹp giữa hai người chị dâm đãng, tôi liên tục bị cưỡng hiếp và bị lấp đầy tinh dịch của họ mỗi ngày… Arai Rima, Yokomiya Nanami","lastmod":"2025-12-14","duration":"00:28:17","url":"/play/18980383.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODJlMTZlYjJiYjdjNzZmOWQyMDc4MzhkNzFhZmU0ZTIuanBn.cache","vod_id":18932653,"title":"[Phụ đề tiếng Trung] JUY-949 Xuất tinh không giới hạn với một phụ nữ đã kết hôn có vòng một cỡ G!","lastmod":"2025-12-14","duration":"01:55:15","url":"/play/18932653.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MTAvNGViN2UxOTg2YWI5MGMxZGVkN2FmZmZmYjU0MzhiNTguanBn.cache","vod_id":19037815,"title":"Một cô gái hư hỏng ngực khủng trở thành món đồ chơi hiến tế ở trường học—một cuộc vui chơi hoang dã của làn da đen và xác thịt trụy lạc bị xâm chiếm bởi chất lỏng màu trắng—anime.","lastmod":"2025-06-10","duration":"27:01","url":"/play/19037815.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDE1OGRkNjUzY2QwMDQ4NjQxZWUzY2VlZDBlODEzMGQuanBn.cache","vod_id":18987695,"title":"[Phụ đề tiếng Trung] CAWD-595 Cô bạn thời thơ ấu của tôi, Ichika, sống cạnh nhà, đến dùng nhà vệ sinh của tôi sau khi bình nước nóng nhà tôi bị hỏng. Tôi có thể nhìn thấy làn da đẫm mồ hôi của cô ấy, ngửi thấy mùi dầu gội đầu của cô ấy, và thậm chí còn thoáng thấy bộ ngực nhỏ nhắn của cô ấy.","lastmod":"2025-12-14","duration":"01:55:12","url":"/play/18987695.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjMzZmJjNGQ3MThhOGZhNjNlMDNmYmU4NGRiMTY5NGUuanBn.cache","vod_id":18951211,"title":"KAGP-126 Thủ dâm trong góc: 13 cô gái liên tục cọ xát mặt vào nhau.","lastmod":"2025-12-14","duration":"02:15:22","url":"/play/18951211.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvODY5MDQzY2FkMTk2MmRkZjAyZjY1ZGRhNjI1NjllYjcuanBn.cache","vod_id":19157858,"title":"Vì gia đình yêu quý của mình… cô ấy đã ngủ với những người lạ trong nhiều ngày! Nhiều lần! Cho đến khi cô ấy thụ tinh! Cô ấy rơi vào vũng lầy tinh trùng… làm việc khi đang mang thai liên tục. Matsumoto Ichika Dasu!","lastmod":"2026-05-13","duration":"02:12:15","url":"/play/19157858.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOWE0YzBhMzgxZWUxYjRhOWZiOWFjY2M4NWU4YzJiMTQuanBn.cache","vod_id":19005476,"title":"MIDV-436-C thích được ngâm trong dịch tiết và phun trào! Mát xa bằng dầu có thể kích thích ham muốn tình dục, gây ra những cơn co thắt đột ngột, và mát xa mạnh mẽ vùng ngực và bộ phận sinh dục nhạy cảm.","lastmod":"2025-03-23","duration":"02:32:03","url":"/play/19005476.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZjBhNGJiMzQzODc1Y2QwOWY5MWNjM2VkZWYwNmI0NjUuanBn.cache","vod_id":19146043,"title":"Nỗi xấu hổ ở quán Izakaya: Cô gái đi tìm việc mặc quần tất bị sờ mó và tự xuất tinh đến ướt sũng NHDTC-134","lastmod":"2026-03-02","duration":"03:08:17","url":"/play/19146043.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTQ1MjY0NmNhMGZkOGEwOWIwYjVmMDg4OTdjY2JlNWYuanBn.cache","vod_id":18978459,"title":"BBAN-411 Tôi và một sinh viên mới tốt nghiệp vô liêm sỉ đã lỡ chuyến tàu cuối cùng, và cuối cùng phải ở chung phòng với một người đồng tính nữ. (Tác giả: Yamei Qing Dynasty; Natural Water and Wood)","lastmod":"2025-03-23","duration":"02:30:11","url":"/play/18978459.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvNjYzZjE0MmViOWYwOWIxZTY2NmQ0YTdmM2Y0OWJjZjguanBn.cache","vod_id":19162089,"title":"Ơ, cô đang nói dối à…? Chỉ là một người phụ nữ bình thường… một sự thay đổi đột ngột! Một sự thay đổi lớn! Một sự nở rộ điên cuồng!! Cô không thể tin vào mắt mình đâu, MBM","lastmod":"2026-07-11","duration":"04:00:19","url":"/play/19162089.html"}]},
videoTitle: 'Một người phụ nữ đã kết hôn, nhưng lại bị ám ảnh bởi việc phơi bày ham muốn của mình… Chỉ cần nghĩ đến việc ai đó nhìn thấy bộ phận sinh dục của mình cũng khiến tử cung cô đau nhức… Miho Yukishiro, Miho Yukishiro APNS-392',
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=/`;
}
};
}