NPJS-068 Tôi muốn quan hệ tình dục với một cô gái cực kỳ nóng bỏng từ Đại sảnh Danh vọng tại một quán bar cao cấp. Sau khi rót cho cô gái siêu gợi cảm này vài ly sâm panh, cuối cùng tôi đã thành công trong việc thu hút cô ấy.
SIRO-5193 [Các vùng nhạy cảm trên toàn thân] Một nữ sinh viên đại học nhút nhát, nhạy cảm xuất hiện! Toàn bộ cơ thể cô ấy là một vùng nhạy cảm, không đùa đâu! Cho dù bạn chạm vào cô ấy ở đâu đi nữa...","lastmod":"2026-07-11","duration":"01:04:08","url":"/play/19152706.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTA4YjM3NzVkMjczMDkzOTE3NDUwNGMyOTIzZDZlZGIuanBn.cache","vod_id":18940980,"title":"CHÍN-071: Một bà mẹ quyến rũ và gợi cảm đến từ quán ăn Yinggu, một video chân thực và trần trụi. Cô ấy đã kết hôn nhưng buộc phải chịu đựng một cuộc hôn nhân không tình dục.","lastmod":"2025-03-19","duration":"01:36:06","url":"/play/18940980.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjA3ZTJlMGExMDNjMDc4M2Y1ODJiOTlkYWQ5OGNhNzcuanBn.cache","vod_id":19054113,"title":"SHYN-195 Mạnh mẽ, gợi cảm, ngầu và dễ thương, nữ chiến binh SOD cuối cùng cũng đã xuất hiện! Nhân viên nữ SOD: Xấu hổ hơn cả việc khỏa thân.","lastmod":"2025-03-19","duration":"01:09:29","url":"/play/19054113.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzk2ZmY3OGJhZGZjZDI1MGQ0MDg0YjYzMWFmZjhjYTEuanBn.cache","vod_id":18996101,"title":"PYM-474 Hành vi biến thái của một cô gái tự thỏa mãn tình dục trong nhà vệ sinh nữ, dẫn đến việc đoạn phim bị rò rỉ.","lastmod":"2025-03-19","duration":"02:50:10","url":"/play/18996101.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMmYwMTFiMjNjOGFhNjNkOTg0ZWQ1NzZmZWY2Y2FmNTguanBn.cache","vod_id":19144539,"title":"OYCVR-093-4K [VR] Thực ra, các cô gái nóng bỏng đều rất dịu dàng! Tình cờ, nhà tôi trở thành nơi tụ tập của các cô gái nóng bỏng - cd1","lastmod":"2026-04-08","duration":"01:07:10","url":"/play/19144539.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzE4MjVkN2VjMTM1MjBiZGRmNmYzNjVmZjFlNzlhNGQuanBn.cache","vod_id":19089976,"title":"Tại sao phụ nữ trưởng thành, đã kết hôn lại quyến rũ đến vậy? (SAN-301) 240 phút","lastmod":"2025-03-19","duration":"04:13:06","url":"/play/19089976.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTJkMTRiYTllN2ZhMmRiOTUzZjU5NTlkMTE1ZjdmNjYuanBn.cache","vod_id":18966317,"title":"FC2-3487330 [Cá nhân] Một cô gái xinh đẹp lỡ chuyến tàu cuối cùng. Một video sex cô ấy quay khi say rượu và bị mất trí nhớ. Sau khi tỉnh dậy... creampie-cd2","lastmod":"2025-03-19","duration":"06:28","url":"/play/18966317.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZjEzZDY2MTdjNWQ5NGVhYmYxM2NhOGIyOGIxN2MwZDYuanBn.cache","vod_id":19140533,"title":"VRKM-788-4K [VR] Dịch vụ Hôn nhân Liếm và Hút - Một người phụ nữ xinh đẹp sẽ dùng chiếc lưỡi gợi cảm của mình để giúp bạn xuất tinh - CD1","lastmod":"2026-03-02","duration":"21:28","url":"/play/19140533.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOGNlZjM2NjJjYWVmYzRkNWI5OGM3YWU0MjJhZmNkN2MuanBn.cache","vod_id":18999482,"title":"Camera giấu kín trong khách sạn 360 độ - Camera giấu kín trong phòng có bồn tắm Jacuzzi: Một anh chàng đeo kính đã lâu không quan hệ tình dục và đang rất khát khao.","lastmod":"2025-03-19","duration":"37:27","url":"/play/18999482.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMTQvNzQ0OWJmMTU2NGFiZDkwZDU3YTAyNDhmZWI4YzRlZjQuanBn.cache","vod_id":19128640,"title":"SSIS-917-C - Một bước đột phá trong ngành! Sự kết hợp giữa rượu và chất kích thích tình dục khiến cô ấy vô cùng hưng phấn và ướt át! Nanami Miho biến thành một người phụ nữ siêu quyến rũ.","lastmod":"2026-02-13","duration":"02:31:46","url":"/play/19128640.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjIwZWZhZmUzYzllOWI5NjlkODhlODk1MjViYjgyMWEuanBn.cache","vod_id":18991259,"title":"Hikari Sena - Khách sạn sôi động - Ngực cỡ H tự nhiên nhưng thân hình mảnh mai!? Một cô gái tựa nữ thần xuất hiện! Quan hệ tình dục liên tục không mặc áo ngực khiến đàn ông phát điên! ~","lastmod":"2025-03-19","duration":"02:24:21","url":"/play/18991259.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzE1YjNkZGE2NWMyMDdhNzAyMmZmMWM1MjI4ZGM5NjAuanBn.cache","vod_id":18996767,"title":"XVSR-420 Một nhà thổ nơi bạn chắc chắn có thể quan hệ tình dục.","lastmod":"2025-03-19","duration":"02:06:34","url":"/play/18996767.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzQwYjUzYWM0NmZiNTljOGM1ODFlYWFjOTJiYzQ5YjIuanBn.cache","vod_id":18979310,"title":"JUNY-108 Sự dồn nén bực bội cuối cùng cũng bùng nổ, và cô ấy bí mật chuyển từ Aomori đến Tokyo mà chồng không hề hay biết! (Người vợ với vòng một cỡ L siêu khủng)","lastmod":"2025-03-19","duration":"02:35:37","url":"/play/18979310.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MTMvZjEzNmIzYjllYjQ4ODFmNmYyNzJjYzU5OWVkYzlkYzkuanBn.cache","vod_id":19100055,"title":"Akari Niimura - MIST-342 Quán Bar Ngực Riêng Tư Cửa hàng này đột nhiên đóng cửa. Một cô gái đang gặp khó khăn về tài chính đã liên lạc với tôi và muốn gặp tôi... nhưng không nói cho cửa hàng biết.","lastmod":"2025-04-13","duration":"02:35:59","url":"/play/19100055.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTgyZGUwZGE4YTc2ZWZkMWFkZmFhYWY2ZDVkZGFmMDQuanBn.cache","vod_id":18924094,"title":"YMDD-164 Cô gái vô gia cư hạnh phúc nhất Nhật Bản, Mio Ichijo.","lastmod":"2025-03-19","duration":"03:22:19","url":"/play/18924094.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjBhZGMwODVkNDQzMWYwZDYyN2IzN2NmMGZlMzdkMjYuanBn.cache","vod_id":19089082,"title":"Sakura Mizuto - MIDE-571 Salon làm đẹp cao cấp dành cho nam giới","lastmod":"2025-03-19","duration":"03:20:21","url":"/play/19089082.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZmY1ODAxYzBjOTBiM2JkYTc5NDZhMDllN2JlZmRhZjAuanBn.cache","vod_id":19066904,"title":"Ảnh chụp lén chất lượng cao của phụ nữ Trung Quốc - những cô gái trẻ gợi cảm, đầy dục vọng đang ngoại tình.","lastmod":"2025-03-19","duration":"30:41","url":"/play/19066904.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDQ2ZDRhODU2ZWNkMGVkNDM4YmZjOTdhOTYzYTMzYTUuanBn.cache","vod_id":18955545,"title":"DORI-102 Paco Shooting No. 102 Rena-chan, một cô gái xinh đẹp, da ngăm đen, bắt đầu làm gái mại dâm để tìm kiếm khoái lạc.","lastmod":"2025-03-19","duration":"01:17:26","url":"/play/18955545.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTljOGU2OWJiOWFiNjJkODk3N2IwMzFiZWQ5ZjRmNTUuanBn.cache","vod_id":19031188,"title":"HUNTC-190 Một ngày cực kỳ tục tĩu và khiêu dâm do một cô gái bất cẩn gây ra vào một ngày bình thường! Tôi vô tình phạm phải một sai lầm kỳ lạ với một cô gái tự nhiên.","lastmod":"2025-03-19","duration":"04:02:03","url":"/play/19031188.html"}]},
videoTitle: 'NPJS-068 Tôi muốn quan hệ tình dục với một cô gái cực kỳ nóng bỏng từ Đại sảnh Danh vọng tại một quán bar cao cấp. Sau khi rót cho cô gái siêu gợi cảm này vài ly sâm panh, cuối cùng tôi đã thành công trong việc thu hút cô ấy.',
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=/`;
}
};
}