Vòng hông vượt quá 100cm, siêu ấn tượng!! Nhìn kìa! Hãy xoa nó! Vòng hông của Shiori Tsukada, Mitomami, Kanna Shinozaki và các diễn viên khác. Nhà xuất bản Momotaro Eizo","lastmod":"2026-07-11","duration":"04:00:20","url":"/play/19162872.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2Q5MmFjY2E2MTgyM2U4MDYxOGUyMGU0MjRmNmEyOWEuanBn.cache","vod_id":18981822,"title":"[Phiên bản chưa cắt] PRED-457 Một người chị gái xinh đẹp sẽ kích thích năm giác quan của bạn bằng sự hỗ trợ thủ dâm ẩm ướt, thì thầm và đầy yêu thương. Yuzu Hana Rei","lastmod":"2025-12-14","duration":"02:00:00","url":"/play/18981822.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjhiYmFiNmNhZDk2YTc0MzczZWI0YTI5NDZhYjBmYTQuanBn.cache","vod_id":19003848,"title":"Búp bê SSNI-540 Natural 3D H-Cup Mao Shiro trải nghiệm ba lần cực khoái mãnh liệt trong khi quan hệ! Tính năng đặc biệt: Ngực rung lắc dữ dội.","lastmod":"2025-03-23","duration":"01:59:17","url":"/play/19003848.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmQyNGU2ZmQ1MDI2ODczOTlmNTAxZTNmYmNlNGE3NDguanBn.cache","vod_id":19000207,"title":"Youyou, một phụ nữ xinh đẹp với khuôn mặt ngọt ngào và bộ ngực trắng đầy đặn ở Bắc Kinh, đang tự thỏa mãn, kéo quần jeans xuống để lộ vùng kín và đưa máy rung vào trong chiếc quần tất lưới màu đen một cách quyến rũ.","lastmod":"2025-03-23","duration":"01:58:53","url":"/play/19000207.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMDU1YTE5ZGQ5YmE5MDI3OTk5M2U0N2I4YWQ4MjAzYWEuanBn.cache","vod_id":19157498,"title":"Vợ của người hàng xóm đã quyến rũ tôi bằng vòng mông trần trụi, trong suốt của cô ấy. Dương vật đang cương cứng của tôi lập tức bị vòng mông to lớn của cô ấy xâm nhập, và tinh dịch của tôi liên tục...","lastmod":"2026-05-11","duration":"02:25:10","url":"/play/19157498.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZGIyMGY2NDkxNmFjOGYzZjg3NWQxNDBiYzA4NjEyNWEuanBn.cache","vod_id":18930610,"title":"[Qing Mei Mei], một cô gái đến từ chuyên mục sắc đẹp, đang trình diễn màn tự thỏa mãn, hoàn toàn khỏa thân, tự vuốt ve bản thân, nghịch ngợm với đôi tất đen gợi cảm, xoa bóp, rên rỉ và thở hổn hển. Rất quyến rũ, đừng bỏ lỡ nếu bạn thích.","lastmod":"2025-12-14","duration":"02:36:50","url":"/play/18930610.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOGEzYjg1NzNkZDE5Mzc2MDgyYmRkNzhkOWY0Y2ZmMWEuanBn.cache","vod_id":18949534,"title":"Một cô gái trẻ nổi loạn đến từ Đông Quan, dễ dàng cặp kè với cô ta nếu bạn trả tiền. Cô ta có vòng một phát triển tuyệt đẹp và đang ở độ tuổi đẹp nhất. Người hướng dẫn của cô ta từng bảo cô ta phải tự thỏa mãn!","lastmod":"2025-12-14","duration":"00:07:00","url":"/play/18949534.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYmQzZTc0ZDhhMjAwM2QwNjFkMmU5NWZhMjQ1MmE1ODAuanBn.cache","vod_id":19160825,"title":"Vì không thể cưỡng lại dục vọng sau khi nhìn thấy vòng ba tuyệt đẹp của một phụ nữ trẻ đã có chồng trong chuyến đi suối nước nóng, hắn đã cưỡng bức cô ta, nhưng lại phát hiện ra cô ta cũng đầy ham muốn. Sau đó, hắn giấu kín chuyện này với chồng cô ta. MRHP-032-C","lastmod":"2026-05-30","duration":"02:03:04","url":"/play/19160825.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMTMzNTg5OGM5ZjlkMjI5YzY2ZTQ4NDBmMWUwOWY2NzIuanBn.cache","vod_id":19155179,"title":"Bóng chuyền quấy rối tình dục các bà mẹ! 10 phụ nữ đã kết hôn mặc quần harem cạp cao tham gia... (Sau đó, văn bản đột ngột chuyển sang nội dung không liên quan: \"Diễn viên: Marina Hyakuna, Rin Natsuki, Jun Suehiro, v.v. Kaguya Hime Pt - Delusion Tribe\")","lastmod":"2026-04-26","duration":"02:03:46","url":"/play/19155179.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTMwNmM2ZTYwYWI1YWM2NDM3MjM3NDA1ZmI0YzBkNWMuanBn.cache","vod_id":18989249,"title":"200GANA-2255 Softcore nghiêm túc, Lần đầu quay phim. 1456 Một nữ sinh viên điều dưỡng siêu dễ thương được tìm thấy trong một thành phố bị tàn phá bởi cơn bão! Khi tôi nghe cô ấy kể câu chuyện, cô ấy nói, \"Tôi không có bạn trai, nhưng tôi có bố!\" Cô ấy là một kẻ ăn thịt hiện đại! Tuy nhiên, cô ấy rất chán nản và nói, \"Quan hệ tình dục với bố tôi chẳng hề dễ chịu chút nào!\" Thói quen hàng ngày của cô ấy là xem phim người lớn và thủ dâm, vì vậy khi tôi đề nghị cô ấy \"thử làm phim người lớn\"...! (0002).","lastmod":"2025-03-23","duration":"01:12:16","url":"/play/18989249.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDFlMzIzN2Q3M2E1NDBmNGEzMGQ4ZDE5Y2M2NTI2YWEuanBn.cache","vod_id":18956183,"title":"✿Một bữa tiệc cực khoái✿ Cô gái trẻ đẹp nhất và quyến rũ nhất với âm đạo mềm mại, thơm mùi mật ong ▌Yua▌Một cô hầu gái gợi cảm trong tất trắng tự sướng trong tư thế dạng chân, sử dụng dụng cụ kích thích hậu môn để đạt khoái cảm tột độ và cực khoái với khuôn mặt rạng rỡ, tràn ngập tinh dịch gợi tình 5","lastmod":"2025-03-22","duration":"00:07:58","url":"/play/18956183.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvYzdmOGIyMjY5NTY1YTgxMmEzYmI5MzI1YTIyMTE1NGQuanBn.cache","vod_id":19067248,"title":"Toàn bộ quá trình một nữ sinh viên đại học kiêm người có tầm ảnh hưởng trên mạng xã hội bị giam cầm, trêu chọc và bị đẩy đến bờ vực điên loạn. (Tsukino Esumi, Tsukino Esumi, RBK_098)","lastmod":"2025-12-14","duration":"02:50:45","url":"/play/19067248.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMTAvZjA2Yjc3YWI4NDhhMzE2NTczODc0MzZlZThkMmU0NWUuanBn.cache","vod_id":19057018,"title":"Tư thế chữ S tôn lên tối đa đường cong của vòng một; tiếp theo là tư thế từ phía sau với những cú thúc liên tục sau khi đạt cực khoái; với sự tham gia của HITOMI, Karen Yuzuriha, Mei Satsuki, v.v. PPBD295","lastmod":"2025-10-09","duration":"04:01:00","url":"/play/19057018.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2EzMzIxY2ZkOTRmZDc4MjYyZTZkNDVkY2RjNmEzZDUuanBn.cache","vod_id":19011761,"title":"345SIMM370 [Mông to] J● thân hình đầy đặn đã vượt qua mặc cảm của mình qua trải nghiệm tắm cận cảnh đầu tiên [mũm mĩm] (0002)......","lastmod":"2025-03-24","duration":"57:32","url":"/play/19011761.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYWM2NWQ4MzljOGE5Yzg2NjkzMWM1MzE4MTRlNWRhMjMuanBn.cache","vod_id":18972063,"title":"Cô gái xăm hình hình chuông để lộ mặt trong khi thủ dâm với đạo cụ, đưa sâu vào âm đạo và kéo ra chất dịch màu trắng cho đến khi xuất tinh.","lastmod":"2025-12-14","duration":"00:40:55","url":"/play/18972063.html"}]},
videoTitle: 'Hậu môn, mông, thủ dâm, điên loạn, diễn viên không rõ danh tính, UTA096',
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=/`;
}
};
}