Múa nóng bỏng khoe quần lót! Ba cô gái hư hỏng thủ dâm với sự trợ giúp, ánh mắt khiêu khích và quan hệ tình dục cuồng nhiệt","lastmod":"2026-07-11","duration":"","url":"/play/19244577.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMTc4MzZmZGFkMzBmODdjYWZkNzAxYTk1ZDAyOGJlNzAuanBn.cache","vod_id":19214138,"title":"Sự phấn khích trước màn dạo đầu lên đến đỉnh điểm! Cô ấy ngấu nghiến mút dương vật, một màn trình diễn oral sex hoành tráng với 20 lần xuất hiện, cùng những màn thể hiện đầy đam mê của các nữ diễn viên như Hoshikawa Mai, Aota Yuka và Kanzaka Tomoko trong NACX-157.","lastmod":"2026-01-10","duration":"4:01:41","url":"/play/19214138.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNWJhZTJhMmVmMTQzMDI1NGY2ZTQyY2FlOWE3ODYxNWMuanBn.cache","vod_id":19040811,"title":"RKI-489 - Cựu chuyên viên làm đẹp: Cấp dưới và cấp trên thực sự cùng làm việc tại một công ty","lastmod":"2025-03-28","duration":"02:29:34","url":"/play/19040811.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzI1NzJhODAwMTU1MjA5ZTQwYzk0NjZlMzBjM2YxODMuanBn.cache","vod_id":19111103,"title":"\"Gã bán đồ lót\" ở Quảng Đông hành hung dã man nữ người nổi tiếng trên mạng ngực khủng Han Xiaomei.","lastmod":"2025-03-29","duration":"","url":"/play/19111103.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjFjYTUxZmY3MmQzZmYwNTRiODI1ODgwYzE3YWZjYTcuanBn.cache","vod_id":19030309,"title":"JUFD-714 Xuất tinh không giới hạn, Kỹ thuật tuyệt vời! Một câu lạc bộ 3 người ngược chiều, nơi những người phụ nữ đầy dục vọng quấn quýt trong những màn xuất tinh - Yuri Sasahara, Miho Tono","lastmod":"2025-03-28","duration":"02:35:08","url":"/play/19030309.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYWYxOTcyMmRlYzk3NDNkMzJjMTFiYmJkNTc5ZTE5N2YuanBn.cache","vod_id":19126737,"title":"Peach - Tình yêu từ sự nhìn trộm của chủ nhà: Chủ nhà nhìn trộm và xâm hại tình dục nữ cư dân Peach Yiyi.","lastmod":"2025-03-29","duration":"","url":"/play/19126737.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTEvYTBmYWQxMmJmMzQwYzUyOGIzZjgzNDgwODUxMGQ2YWUuanBn.cache","vod_id":19246451,"title":"[Đường phố Quảng Châu] Tên rình mò! Chụp ảnh dưới váy của 50 người phụ nữ xinh đẹp, ghi lại những bộ phận riêng tư quyến rũ của họ.","lastmod":"2026-07-13","duration":"","url":"/play/19246451.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzlhNDIzZTFjYjgyYzQ3YTY3MzU0MDAxNGY2ZmI5ZjUuanBn.cache","vod_id":19116262,"title":"STARS-164 PHỤ ĐỀ TRUNG QUỐC: Cô nàng dâm đãng khổ dâm kép, Xuất tinh không giới hạn cực kỳ sang trọng phiên bản đầy đủ! Đặc biệt!!! Ogura Yuna, Honjo Rin","lastmod":"2025-03-29","duration":"02:19:41","url":"/play/19116262.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjNmODIzNDg5YzU1Mzg1NTIzODQ4YzFkNjZiMjg0Y2YuanBn.cache","vod_id":19055958,"title":"Loạt bài \"Nơi thứ ba\": Tôi đã gặp một cô gái mặc váy xanh.","lastmod":"2025-03-28","duration":"","url":"/play/19055958.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MTIvMjYwZmQzMmIzNmYwZmQyYTEzZDk0MjY0YzFjNzNiOWIuanBn.cache","vod_id":19176460,"title":"761GESY-009 Người đẹp chân dài, da rám nắng Kanon x Người đẹp bốc lửa Leona của Body Party: Một màn quyến rũ đỉnh cao gấp đôi trong bữa tiệc hội hóa trang nhiều người.","lastmod":"2025-05-12","duration":"32:01","url":"/play/19176460.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTU4MjI3ZDNmZTg5Nzg4ZTAyZTU0ODczMzI5NjRkZWYuanBn.cache","vod_id":19108365,"title":"Một cô gái lẳng lơ đeo kính, quan hệ tình dục trong xe hơi vào ban đêm với người tình, mặc quần tất đen và giày cao gót, không mặc đồ lót, anh ta lập tức tiến thẳng đến, cưỡi lên người cô từ phía sau và quan hệ mạnh bạo - video sex không an toàn.","lastmod":"2025-03-29","duration":"","url":"/play/19108365.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTc2NTZmYzkyZGI0ZmM3MWMzNzNhMzVjNTcwZGNjODQuanBn.cache","vod_id":19052924,"title":"[Gian hàng Trung Quốc] Một loạt ảnh chụp lén Hoàng X, người chiến thắng giải Hoa hậu Du lịch được yêu thích nhất, khi đang quay quảng cáo đồ lót.","lastmod":"2025-03-28","duration":"","url":"/play/19052924.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzhkMzk0MTE3NWM5YTk5NDQwZWY3YWFhYzVkZTUxYzEuanBn.cache","vod_id":19090116,"title":"\"Huấn luyện cực độ của bậc thầy BDSM tối thượng ☛ loạt phim gái điếm đeo vòng sinh dục\" gây chấn động toàn bộ internet với màn lộ mặt và trải nghiệm trái ngược của cô gái điếm với nhiều màn tra tấn bộ phận sinh dục và hậu môn khác nhau, với nhiều cách chơi khác nhau, năng lượng cao xuyên suốt, không có khoảnh khắc nhàm chán, không có nước phiên bản gốc (12)","lastmod":"2025-03-29","duration":"00:10:56","url":"/play/19090116.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNGY2Mjg2Y2YyYjNiN2JmMDM5MWEyZjUyMzViZmZjMzguanBn.cache","vod_id":19035970,"title":"[Phụ đề tiếng Trung] MRSS-072 Chuyến du lịch công ty ngoại tình: Vợ sếp ngủ với cấp dưới","lastmod":"2025-03-28","duration":"01:49:57","url":"/play/19035970.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOGExYWUzYmJmN2FlODllOTEzMTc2NzU4ZGRhNmZhZTYuanBn.cache","vod_id":19166826,"title":"Khi GDHH101 chuyển trường, tất cả sinh viên và giáo viên đều nhìn thấy mọi thứ — đồ lót, vòng một hở hang, những bộ đồng phục ngắn cũn cỡn đầy gợi cảm trong khuôn viên trường.","lastmod":"2025-03-29","duration":"03:40:14","url":"/play/19166826.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzQ0ZTc5N2M2Y2Y3NmNhMWQxMDk0NTQ0NjRlODZlNjAuanBn.cache","vod_id":19077876,"title":"[Nữ diễn viên Nhật Bản] -bdyjy1027-KAGH-023 Buổi đánh giá cao thủ dâm 4 giờ Mọi người nhìn vào dương vật Những người vợ khác Khuôn mặt của những người khác gợi tình hơn khi quan hệ tình dục 2015-06-25 Kitahara Natumi Sumida Miku Sawaki Risa Mirai Risa Aoi Haruko Aida Sakura Asai Maika Otsuki Hibiki Nami Khác Tano Yui Kayama Narutoko Yuuki Misa Nữ diễn viên hạng 11 Khác-004","lastmod":"2025-03-29","duration":"01:59:30","url":"/play/19077876.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTMxMzU0ZmY3NjgwZDM2ODQ5NWY2YzZlY2JiYzY5NTcuanBn.cache","vod_id":19169782,"title":"STAR911 Masami Ichikawa đã bị một nhân viên nam cấp dưới tại Tập đoàn SOD dụ dỗ quan hệ tình dục.","lastmod":"2025-03-29","duration":"03:28:04","url":"/play/19169782.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODIyMzg0NGQ3ZDEzMjBjYzY3ZmIzNjEzMTcyOTNmZmMuanBn.cache","vod_id":19043415,"title":"Carib 080819-004 Saya Niyama Mùa hè khỏa thân ~Model Series Resort~","lastmod":"2025-03-28","duration":"01:01:59","url":"/play/19043415.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTU1YjI3Mzc3ZGU5ZDVhNDA1N2MzODA3Y2FkYmU0YzQuanBn.cache","vod_id":19038567,"title":"Bộ phim chuyển giới Trung Quốc này có sự tham gia của một người phụ nữ xinh đẹp, ngực khủng tên là Qiqi, đóng vai một y tá mặc đồng phục, bị một người đàn ông có dương vật to cưỡng hiếp và la hét không ngừng.","lastmod":"2025-03-28","duration":"00:11:25","url":"/play/19038567.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNzE5OWNmY2JkZTJlYjQ4NzlmZWMwN2E4MjMzYzY0NWIuanBn.cache","vod_id":19215947,"title":"[DancingBear] Một bữa tiệc toàn những phụ nữ trưởng thành dâm dục xếp hàng để liếm những dương vật khổng lồ của các vũ công thoát y cơ bắp.","lastmod":"2026-02-05","duration":"0:11:45","url":"/play/19215947.html"}]},
videoTitle: 'Bộ sưu tập SLAP144 Company Series 26: Một bữa tiệc của sự tò mò với vô số những cái nhìn thoáng qua dưới váy và đồ lót lộ ra!',
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=/`;
}
};
}