FNEO-068 Hãy cùng sinh con! Một cô gái xinh đẹp tin rằng dù yêu người đàn ông khác, việc có con cũng không thành vấn đề. Vì vậy, trước khi ép buộc anh ta cưới mình, cô quyết định khẳng định tình yêu đích thực của mình bằng cách sinh con. —Misuzu Takeuchi
Cô gái người Kurd Ả Rập bị cưỡng hiếp【SayaKarim】","lastmod":"2026-07-11","duration":"04:42","url":"/play/19163453.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNGEyNTFhMzRkYmE5ODFjYjVhOWVlN2U5ODRiYTQxMjQuanBn.cache","vod_id":19000820,"title":"Các trường học đóng cửa trong một thời gian dài, một cô gái lai Nhật Bản - Thái Lan, sau khi học xong, cô ấy đã tự thỏa mãn bản thân và tinh dịch chảy ra.","lastmod":"2025-03-23","duration":"10:49","url":"/play/19000820.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTViM2IzN2E3NDFhOTM3OGU0Y2E4MDY4NDVkM2ZhOGEuanBn.cache","vod_id":18983148,"title":"SVDVD-543 Cô giáo ngực khủng bị một đứa trẻ biến thái bắt nạt!! Sau khi bị tên khốn đó trêu chọc, cô ấy phát điên và cuối cùng quan hệ tình dục với chính con trai mình.","lastmod":"2025-03-23","duration":"02:26:25","url":"/play/18983148.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjY3YjQwODI2Y2Y0NTE4NGEzMjU0YjFhYWJhNGE1YmIuanBn.cache","vod_id":18958568,"title":"345SIMM-799 Satsuki (18 tuổi) _Một cô gái ngực khủng không thể ngừng yêu bạn trai sau một thời gian dài xa cách♪ [Mùa đầu tiên] Cô bạn gái chung thủy","lastmod":"2025-03-22","duration":"01:19:02","url":"/play/18958568.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODdlNzRhMDlmMWQ3MDBiNWVlZTIzNzYyNDI5ZTM1MjQuanBn.cache","vod_id":18934596,"title":"CLUB-546 Cận cảnh nhìn trộm: Tôi muốn nhìn nội y thật gần! 14 cô gái mặc đồng phục tự sướng qua lớp nội y.","lastmod":"2025-12-14","duration":"01:56:45","url":"/play/18934596.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMTgvMDM4NmM0ODg3YTVmYzY0YTAzY2ZhNGFjNjA0OTA3NTcuanBn.cache","vod_id":19063157,"title":"Một kẻ săn tinh dịch đã phun tinh dịch ra từ miệng hắn! (Hazuki Mai 092423_01)","lastmod":"2025-12-13","duration":"16:10","url":"/play/19063157.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNjdjOThiMTM3ZGY2MzEzYmUyOTkwM2RjYzRkYjljOGMuanBn.cache","vod_id":19138137,"title":"\"Làm ơn đừng khóa cửa nhé?\" [Lần đầu chinh phục nhà của một người nghiệp dư!] Shishido Riho không ngừng xoa bóp đầu dương vật của người đàn ông! Trong phim người đàn ông khổ dâm Shishido Riho WAAA-556","lastmod":"2026-01-13","duration":"02:02:32","url":"/play/19138137.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmY4MjE3MWI3ZmMxNTlhYmRkNGE4Njk4NWMyYTc4NzUuanBn.cache","vod_id":18965099,"title":"FC2PPV 3197236 [Quay phim riêng] Nữ sinh viên đại học 21 tuổi, gọn gàng, mảnh mai, xinh đẹp, dâm đãng, hướng nội, xuất tinh nhiều lần.","lastmod":"2025-03-22","duration":"01:03:38","url":"/play/18965099.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODdiNTBjMTQ3ODVmY2VjMjUwNDAxNzhhNWJlMTkyOTguanBn.cache","vod_id":18999001,"title":"Một cô gái 19 tuổi rất trẻ đã bị một người đàn ông đeo mặt nạ cưỡng hiếp dã man.","lastmod":"2025-03-23","duration":"01:03:45","url":"/play/18999001.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTJlNjFlNzdiYWNlMmY5M2E2NzgxNTE2ZGY0MWZiMmMuanBn.cache","vod_id":18945246,"title":"[Phụ đề tiếng Trung] JUY-449 Phần thứ hai của loạt phim độc quyền với sự góp mặt của những người phụ nữ xinh đẹp và trưởng thành mà đàn ông ở độ tuổi bốn mươi yêu thích.","lastmod":"2025-12-14","duration":"02:31:00","url":"/play/18945246.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzE0ZDllZWYzMWNkOGVhMDZmMTkxNWMwNGVhZDI1OGMuanBn.cache","vod_id":18960007,"title":"[Phụ đề tiếng Trung] STARS-736 Cô ấy sẽ cho phép bạn quan hệ tình dục với cô ấy ở hậu trường!? Một thẩm mỹ viện trẻ hóa sẽ mang đến cho bạn nhiều cực khoái thông qua việc kích thích núm vú liên tục và thủ dâm!! Honjo Rin","lastmod":"2025-03-22","duration":"02:19:46","url":"/play/18960007.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjMzN2EyNDA5MjY1NGJlZGZlZmFjMzViODI4NTVmZGUuanBn.cache","vod_id":18989755,"title":"336KNB-095 Bộ sưu tập ảnh khiêu dâm của phụ nữ đã kết hôn trên toàn quốc. Tuyển dụng phụ nữ đã kết hôn trên toàn quốc cho các chuyến công tác. Quay phim góc nhìn thứ nhất và phát hành trực tuyến. Minako, 36 tuổi, đã kết hôn được 9 năm. Mặc dù sống hạnh phúc với chồng, cô vẫn không thỏa mãn và đầy ham muốn tình dục! Thân hình quyến rũ và gợi cảm của cô ấy không thể cưỡng lại, và cơ thể nhạy cảm của cô ấy tràn đầy sự ngọt ngào quyến rũ, mang đến trải nghiệm tuyệt vời nhất!","lastmod":"2025-12-14","duration":"01:09:36","url":"/play/18989755.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMDIvYmIxMDc5YmNjYTI2YTc2NmNjOGE4ZGJiZjdiN2E0YmIuanBn.cache","vod_id":19055623,"title":"Liệu việc tôi quan hệ tình dục với một người phụ nữ lớn tuổi như vậy lần đầu tiên có ổn không? Một trinh nữ thực thụ quyết định đăng ký làm diễn viên phim người lớn. [Diễn viên vô danh OLM124]","lastmod":"2025-10-01","duration":"04:01:38","url":"/play/19055623.html"}]},
videoTitle: 'FNEO-068 Hãy cùng sinh con! Một cô gái xinh đẹp tin rằng dù yêu người đàn ông khác, việc có con cũng không thành vấn đề. Vì vậy, trước khi ép buộc anh ta cưới mình, cô quyết định khẳng định tình yêu đích thực của mình bằng cách sinh con. —Misuzu Takeuchi',
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=/`;
}
};
}