Cuộc gặp gỡ tình dục của người đàn ông giàu có với nữ sinh viên","lastmod":"2026-07-11","duration":"23:51","url":"/play/19164655.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDlhNGY3ZWM1YTA5YTJhNWIzZDFiYmY0NDE2OTEzMGUuanBn.cache","vod_id":19012574,"title":"SIRO4057 [Lần quay đầu tiên] [Bà nội trợ vô tính và vô đạo đức là...] [Cô giáo có thân hình đẹp] Một bà nội trợ dịu dàng và xinh đẹp có quan hệ tình dục mãnh liệt với người đàn ông cô vừa mới gặp... Đăng ký đóng phim AV trực tuyến → Trải nghiệm quay phim AV 1162 Ông Okukawa, 32 tuổi, giáo viên tiểu học (loạn luân).","lastmod":"2025-03-24","duration":"01:02:26","url":"/play/19012574.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmMzZDk2MWU0ZDQ3ODBjNGYyOGNhMmY2MjYyZTRkODEuanBn.cache","vod_id":18951949,"title":"IENE-952 Năm người mẹ kế muốn trở thành những người vợ trẻ trung và xinh đẹp, và tôi là người đàn ông duy nhất.","lastmod":"2025-03-22","duration":"02:21:41","url":"/play/18951949.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvMDdkZDE3MDczNzEyY2JkM2Y4YzYwMjllZWRjMzVlMDUuanBn.cache","vod_id":19064922,"title":"Một cô gái xinh đẹp trêu chọc bạn tình của mình trong một cảnh quay POV cá nhân – cảnh sex mà cô hoàn toàn phục tùng một người đàn ông lớn tuổi!! Mizuho-chan, một nữ sinh viên đại học tên là Aoi Mizuho (葵井みずほ) CHC-024","lastmod":"2025-12-14","duration":"01:31:27","url":"/play/19064922.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjM0ODUzNWE2NzQ2OWYwNjk3MDhiZmM2MjgzMTBjYzguanBn.cache","vod_id":18975487,"title":"MDBK-128 Núm vú cực kỳ nhạy cảm của một nữ sinh được kích thích, đạt đến độ nhạy cảm tối đa và mang lại cho cô ấy trải nghiệm tình dục cực khoái tột đỉnh! 2","lastmod":"2025-12-14","duration":"03:14:03","url":"/play/18975487.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMGU3ODQ2ODZkYTA3YmVkMGE0MjAzM2JlMDZlMDE3MjYuanBn.cache","vod_id":18926461,"title":"RCTD-279 Hai cô bạn gái đã trải qua một cuộc chơi vặn núm vú đồng tính nữ.","lastmod":"2025-12-14","duration":"02:00:12","url":"/play/18926461.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTkxZDAwN2FlOWE3M2VkZDEyMzU5MjUxZDZmZDA4MjIuanBn.cache","vod_id":19007827,"title":"JUY846 Quán Bar Tuyệt Vời NTR ~Sau khi được một người bạn mời đến, người vợ đã nghiện quán bar tuyệt vời và bị một lão già dâm đãng ngủ cùng~ Arisaka Miyuki.","lastmod":"2025-03-24","duration":"01:56:37","url":"/play/19007827.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2E3ZGNiOTdhMmE1NWIyMDAxMGMzN2Q1YzVlYTQ1ZjguanBn.cache","vod_id":18940145,"title":"CAWD-008 Cưỡng bức xuất tinh sau khi luyện tập cho đến khi toàn bộ tinh dịch được xuất hết, quấy rối tình dục 3P ngược ở cự ly gần","lastmod":"2025-03-22","duration":"02:32:48","url":"/play/18940145.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTY3NGYwMjQxYzg4YjViYTBkYTZlN2I5MDlkNTI3NDguanBn.cache","vod_id":18996189,"title":"Mẹ của bạn tôi (2018)","lastmod":"2025-12-14","duration":"01:14:00","url":"/play/18996189.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/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2ZiYTRlY2UxYjZlNzkyODBmMTUyY2NmNDlkZWQzYmIuanBn.cache","vod_id":19025786,"title":"Mối quan hệ loạn luân giữa VENU837 và người dì xinh đẹp của anh ta, Oura Manami.","lastmod":"2025-03-24","duration":"01:28:51","url":"/play/19025786.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMjQvODM4YWEwNDA0YjIxNzM5MGI2ODg3MDE2N2JiMmRkNmMuanBn.cache","vod_id":19064153,"title":"Một nữ công nhân khuân vác, Aoi Nanase (19), chịu đựng những tiếng rên rỉ của mình khi bị xâm hại ngay lập tức trong ca làm việc 3 giờ của cô. (Aoi Nanase START_185)","lastmod":"2025-12-14","duration":"02:00:07","url":"/play/19064153.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2NmNTNlNjg4NWRmMDNiZTZlODY4NjA0Nzc2ZTAxY2QuanBn.cache","vod_id":18973371,"title":"[Phụ đề tiếng Trung] MIMK-115 Biển Đen ~Một người chị gái quyến rũ dùng thân hình gợi cảm của mình để dụ dỗ một chàng trai ngây thơ~ Yuria Yoshine","lastmod":"2025-03-23","duration":"01:55:14","url":"/play/18973371.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvZDAzMTUxNzcxYTIzODE2MWQ0MDE2YTNlOGU1YWRiOTMuanBn.cache","vod_id":19158829,"title":"Kỳ nghỉ lãng mạn của một cặp đôi đang yêu nhau tại khách sạn. (Nishino Emi, Monthly Girlfriend)","lastmod":"2026-05-18","duration":"02:13:08","url":"/play/19158829.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOGJlMjY3NzhmNWIwMGJiYmEzOWZjZDg5NGM1NmYyZTguanBn.cache","vod_id":18955238,"title":"[Phụ đề tiếng Trung] Hồ sơ quan sát con người YRH-080 Tập 18","lastmod":"2025-03-22","duration":"03:59:48","url":"/play/18955238.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTVjMGQxM2VlYTJiNjM1ZTdjMjQ2NjE4OTNmMmYwYzMuanBn.cache","vod_id":19017967,"title":"YMDS096 Quan hệ tình dục tại nhà, uống rượu, hôn nồng nhiệt và quan hệ tình dục với Tanaka Nana trong khi cô ấy vẫn mặc quần áo đầy đủ.","lastmod":"2025-03-24","duration":"02:14:39","url":"/play/19017967.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMzEvY2FhNTY4MDQzNDAzZDljMjhkY2E0NGU0YTY0OTQ3MDEuanBn.cache","vod_id":19060508,"title":"Chiếc dương vật giả gợi cảm, nam tính này được thiết kế để mang lại nhiều cực khoái cho nam giới, dẫn đến 12 lần xuất tinh và 5 lần lên đỉnh! (Hyakuna Sarina, Kurokawa Sarina, DASS_511)","lastmod":"2025-10-30","duration":"02:27:51","url":"/play/19060508.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDJmOTZjZDU2Njg0MWViNzJkZDM5NjdiNDliMzNjOWUuanBn.cache","vod_id":19004906,"title":"IPZZ-068-C ≪Tình dục chân thực, nóng bỏng, không cắt ghép≫ Tình dục nồng nàn đan xen x Theo đuổi tình dục bất tận","lastmod":"2025-03-23","duration":"02:07:46","url":"/play/19004906.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/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNThkMzc3NWFlZGQ3NTE2ZjRkN2M2MWM1Mzg2ZWRmN2IuanBn.cache","vod_id":18978744,"title":"MDTM-314 Nữ sinh săn đuổi cha mình: Tình dục nguyên thủy nguy hiểm và xuất tinh, Kanon Kimiiro","lastmod":"2025-03-23","duration":"02:31:05","url":"/play/18978744.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDU1MjlmYTliOTQ4ZDk5ZWRhYTNjNmE0Y2EyZjkxMjMuanBn.cache","vod_id":18966380,"title":"FC2PPV 3215810 là một video gây sốc được quay lén, ghi lại hoạt động tình dục riêng tư của một người phụ nữ da trắng với vòng ngực cỡ F. Mặc dù cô ấy đã đồng ý cho quay phim trước đó, nhưng cô ấy trông có vẻ bối rối.","lastmod":"2025-12-14","duration":"00:52:12","url":"/play/18966380.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNGQ4Nzc3MDA0YzZiZGI0N2I3OTZhNjk1NWNkZmI4MTkuanBn.cache","vod_id":18935825,"title":"[Phụ đề tiếng Trung] HODV-21456 Dạy kèm quá mức: Hướng dẫn đặc biệt về vòng một cỡ I ◆ Matsumoto Nanami","lastmod":"2025-03-22","duration":"02:13:47","url":"/play/18935825.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MDcvZTg1NzBjZDFlYjI5ODNmNDI1ZmYyODJjYTAzZDM0ODYuanBn.cache","vod_id":19041741,"title":"START299 Bạn trai tôi đang kể về người sếp nữ mà anh ấy ngưỡng mộ, và cuối cùng anh ấy lại bị cuốn vào một cuộc tranh cãi đồng tính nữ về việc bị cắm sừng.","lastmod":"2025-07-06","duration":"02:20:38","url":"/play/19041741.html"}]},
videoTitle: '[Phụ đề tiếng Trung] YMDS-120 Một buổi nhậu tại gia đầy yêu thương, những nụ hôn nồng nàn và cảnh thân mật: Ngày Tanaka Nana trở thành bạn gái tôi.',
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=/`;
}
};
}