Khi tôi khoe chiếc quần harem của mình cho cô gái mới chuyển đến căn hộ bên cạnh xem, cô ấy tỏ ra rất thích thú! Sau đó, cô ấy mặc chúng gần như mỗi ngày. (Otoha Misuzu, Minato Namikaze FGAN-151)
Tôi đang tán tỉnh bạn gái của đồng nghiệp, một người mẫu nữ trưởng thành, cô ấy đang tham gia ngành công nghiệp giải trí người lớn. Ahhh, cảm giác thật tuyệt! Anh không thể kiềm chế được bản thân và xuất tinh vào âm đạo của tôi! Nghe tiếng rên rỉ của cô ấy, cảm giác thật tuyệt!","lastmod":"2026-07-11","duration":"43:55","url":"/play/19154229.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMmU3ZGFmMzUwMDZlODNmZjE4ZDVmYjQ4OWVjMTc0NjUuanBn.cache","vod_id":19060427,"title":"Ừ, tôi đến một phòng tập thể dục không dành cho hoạt động tình dục, và người bước ra lại chính là cô nàng xinh đẹp kiêu ngạo ở nhà bên cạnh.","lastmod":"2025-03-29","duration":"01:57:20","url":"/play/19060427.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWJmM2VmNDI4NTY5NDFiZWE0OWRhODhjYTEyYWFmYTguanBn.cache","vod_id":19022157,"title":"Hắn đã phạm tội trộm cắp. Hắn lén lút chơi khăm cô gái đang ngủ trong phòng, đưa dương vật của mình vào cô mà cô không hề hay biết. Hắn đã xuất tinh vào bên trong cô.","lastmod":"2025-03-29","duration":"04:05:13","url":"/play/19022157.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZGYwMjk4MDljNjY2N2FkYzk5ZTM5ODg2N2NhZTdkOTMuanBn.cache","vod_id":19047645,"title":"ONEX044 phát điên khi quan hệ tình dục với một cô gái mặc đồng phục trong trí nhớ của anh ta - Video được đăng tải bởi một nữ lao công trường học khoảng 40 tuổi 01","lastmod":"2025-03-29","duration":"04:00:09","url":"/play/19047645.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvN2QxZDVkODdmZDI3NTUxNzhlZjRmZWZiNzdkYTYzODYuanBn.cache","vod_id":19027010,"title":"0 [Số lượng có hạn] Sáng nay thức dậy, tôi thấy một người phụ nữ xinh đẹp (tôi nghĩ vậy...) mà tôi đưa về tối qua đang ngủ gục trên cánh tay mình. Target!","lastmod":"2025-03-29","duration":"02:06:54","url":"/play/19027010.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMWE5MDkyNDI3OGIwMTA1YTM2OTQxMWFkZjUxNzBhODkuanBn.cache","vod_id":18988083,"title":"Tôi không thể quên trải nghiệm bị người phụ nữ đã kết hôn, Yuka Oshima, mà tôi gặp trong căn nhà hoang hôm đó, xâm hại. (JUL-323)","lastmod":"2025-03-28","duration":"02:31:25","url":"/play/18988083.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTJmNDE4MzhlNTU5Njc5MWM5MzQyNjc4MjExMDFlYzEuanBn.cache","vod_id":18999023,"title":"Chị gái tôi hồi cấp ba đã thương hại tôi, một kẻ thất bại.","lastmod":"2025-03-28","duration":"01:56:25","url":"/play/18999023.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTU0Zjg2NDNjZjcyZmJhZjExMTFlNjI0MWYwYjBkMTkuanBn.cache","vod_id":19053934,"title":"Linh vật nổi tiếng của quán rượu Nhật Bản (izakaya) NNPJ302 cởi bỏ quần áo và để lộ thân phận là một người phụ nữ xinh đẹp tuyệt trần với vòng một cỡ G khủng! Một cô gái dịu dàng có thể đáp ứng mọi điều ước, cô ấy ngay lập tức bắt đầu xuất hiện trong các phim người lớn! (JAPANEXPRESS Tập 80)","lastmod":"2025-03-29","duration":"03:20:09","url":"/play/19053934.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjY2MjUwZjI5YmMwYTFmM2U4MmMxNjU1ZTNjYTFjMjQuanBn.cache","vod_id":18978176,"title":"200GANA-2211 Cực kỳ gợi cảm, Cảnh quay đầu tiên. 1425 Nhắm vào những cô gái sống ở khu nhà cao tầng Shinjuku! Những cô gái cá tính cũng cá tính ở những nơi khác! Vũ điệu đêm của nữ chính ngực khủng ở Kabukicho (0002)","lastmod":"2025-03-28","duration":"01:17:37","url":"/play/18978176.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MTIvNjU1YWEzNDdhZGNlNTEwOTc4MDMxOTYxMzk2ZWY2OTcuanBn.cache","vod_id":19069484,"title":"Trong một chuyến công tác, sếp nữ của tôi đã cho tôi một loại thuốc tăng cường sinh lực. Chúng tôi quan hệ tình dục mỗi ngày. Tôi đã hút cạn tinh dịch của cô ấy trong bảy ngày liên tiếp trước khi tinh hoàn của tôi hoàn toàn cạn kiệt. Mizukawa Sumire HOMA-119-C.","lastmod":"2025-04-12","duration":"02:17:44","url":"/play/19069484.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MjUvYzc4NTI3YTlmYWIyOWU2OWQ0M2Q1ZTM1NmQxNDI3N2IuanBn.cache","vod_id":19080069,"title":"Trong trại huấn luyện, các nữ vận động viên điền kinh đã bị huấn luyện viên vô đạo đức tiêm thuốc kích dục và trải qua những cơn cực khoái do thuốc gây ra, kèm theo mồ hôi đầm đìa.","lastmod":"2025-06-24","duration":"01:56:54","url":"/play/19080069.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMTM3ZTkzZjJmOTBmNmE4YjRjYzM4NjViZDU2NzQzNTYuanBn.cache","vod_id":18966965,"title":"Ham muốn của tôi bỗng bùng cháy dữ dội khi sếp nữ độc thân của tôi bất ngờ thể hiện khía cạnh đáng yêu của cô ấy tại một bữa tiệc. (Minami Kojima)","lastmod":"2025-03-28","duration":"01:59:56","url":"/play/18966965.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjc1NjhiNjg1ODlmZmVlNzI5ZTZkNDNjMmRmYzRjZWEuanBn.cache","vod_id":18967207,"title":"Tôi là một cậu bé bị bắt nạt, và mẹ tôi cũng bị bạn cùng lớp bắt nạt. — Reiko Kobayakawa","lastmod":"2025-03-28","duration":"01:58:43","url":"/play/18967207.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMTAvODM5NDgxYzE5MmM0ODNlNWU5Nzc5NjRmOTE0MWM5YTMuanBn.cache","vod_id":19105377,"title":"Đây là câu chuyện về dì tôi, người đang cố gắng mang thai. Dì ấy đã không cưỡng lại được sự cám dỗ vô thức của vòng ba lớn và quan hệ tình dục với tôi. (Phần cuối, \"星明日菜 MIAB_332,\" dường như không liên quan và có thể đề cập đến một chủ đề khác.)","lastmod":"2025-11-09","duration":"02:10:20","url":"/play/19105377.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMmEwMjRlM2E2ZDY2NjQ4MjlkMzE2M2ZjMGJmOWY5MzUuanBn.cache","vod_id":18995002,"title":"[Độ phân giải cao, không kiểm duyệt] Cô gái bí ẩn có quan hệ thân mật với anh chàng bán xe!! Chúng tôi sẽ tung video bí mật ghi lại cảnh cô ấy thực hiện hành vi quan hệ tình dục bằng miệng trong khách sạn.","lastmod":"2025-03-28","duration":"23:22","url":"/play/18995002.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMTBlNWQyZjdkM2FkYmM4MGRhODFlOWExYTc2Y2M3OTUuanBn.cache","vod_id":19057529,"title":"HSAM002 Em gái tôi, Hikaru, bị sốt sau khi uống thuốc kích dục.","lastmod":"2025-03-29","duration":"58:41","url":"/play/19057529.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNmZjYmNkOGFmMzE5MWIzMGM2NWU4MzhiNGY5NzYyNWYuanBn.cache","vod_id":18967222,"title":"Mẹ tôi bị người bạn cùng lớp từng bắt nạt tôi phản bội. (Ye Ai)","lastmod":"2025-03-28","duration":"01:58:24","url":"/play/18967222.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzRmMjc2Y2Q0Mjk2NWNhYWY2YTc3YmZmYzM5M2ZlZTguanBn.cache","vod_id":18998006,"title":"Lần đầu tiên tôi quan hệ tình dục với một phụ nữ trẻ người Nhật xinh đẹp tên là \"Uehara Masaki\".","lastmod":"2025-03-28","duration":"27:59","url":"/play/18998006.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTVlMTg4NWM3YTJmYjk5NTcwOWE5MWUyMDY1N2E3MGQuanBn.cache","vod_id":18993090,"title":"[ZIZ] My Yayoi-san 2","lastmod":"2025-03-28","duration":"27:51","url":"/play/18993090.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNjQwYWFhOGQxMjZmMTBmMmIyMmIwZTRhNTBlZDgzZjIuanBn.cache","vod_id":18968789,"title":"Trong lúc vợ tôi đi công tác, con gái riêng của vợ tôi đã trêu chọc tôi bằng màn xuất tinh bên trong đầy mồ hôi, mặc dù lúc đó tôi đã ở trong trạng thái \"Tôi đã xuất tinh rồi\". Kudo LaLa","lastmod":"2025-03-28","duration":"02:26:37","url":"/play/18968789.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTI4NmJhNDFmNmUwNDllMmMxNGE3NWQ5Nzk0ZDhiY2MuanBn.cache","vod_id":18963349,"title":"Người phụ nữ này, chủ động hơn bất kỳ người đàn ông nào, đang vắt kiệt sức anh ta. Cô ấy bị quan hệ tình dục nhiều lần mỗi ngày, chủ động liếm dương vật của anh ta, những động tác hông mạnh mẽ, dứt khoát của cô ấy vô cùng hiệu quả, và cô ấy bị quan hệ ở nhiều tư thế khác nhau cho đến khi anh ta xuất tinh vào miệng cô ấy.","lastmod":"2025-03-28","duration":"49:54","url":"/play/18963349.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNzliZWI4ZGQ2NTg3NDE4Y2Y5MjYzMjYyN2Q0NTAxYjIuanBn.cache","vod_id":19116482,"title":"Mẹ tôi thật dại dột khi bắt đầu mối quan hệ với người bạn thân nhất của tôi. JULIA MEYD-826","lastmod":"2026-01-05","duration":"01:59:35","url":"/play/19116482.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjg1YjA0Y2Q1ZWM0YTI4NWFmMTk4ZDljYjhkMTYxNGQuanBn.cache","vod_id":19024201,"title":"Tôi đã phát hiện ra một cô gái quyến rũ! Số 3. Bên dưới bộ đồng phục mịn màng của cô ấy là một bộ ngực đầy đặn, trắng nõn…! Thực tế, nó giống như trong một bộ phim người lớn!","lastmod":"2025-03-29","duration":"01:57:13","url":"/play/19024201.html"}]},
videoTitle: 'Khi tôi khoe chiếc quần harem của mình cho cô gái mới chuyển đến căn hộ bên cạnh xem, cô ấy tỏ ra rất thích thú! Sau đó, cô ấy mặc chúng gần như mỗi ngày. (Otoha Misuzu, Minato Namikaze FGAN-151)',
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=/`;
}
};
}