Cốt truyện xoay quanh một nữ nhân viên rửa xe cao ráo, xinh đẹp và thanh lịch tại một tiệm rửa xe ven đường, người vô tình làm xước sơn một chiếc xe. Để bù đắp cho thiệt hại, cô không còn lựa chọn nào khác ngoài việc dâng hiến thân thể mình để đền bù. (Đối thoại tiếng Quan thoại)
Sau khi chơi mạt chược, tôi đã quan hệ tình dục với hai cô gái trẻ thanh lịch đi giày cao gót trên bàn mạt chược và trên ghế sofa. ...","lastmod":"2026-07-11","duration":"01:17:41","url":"/play/19163550.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmE5NTAyYmYxOWZkODcwMDNkNWU2ZGZlNzM2N2UxYzIuanBn.cache","vod_id":18976644,"title":"Những bức ảnh rò rỉ mới đây từ tháng 5 cho thấy một nhiếp ảnh gia chuyên chụp ảnh nhà vệ sinh công cộng người Trung Quốc đã lẻn vào một nhà vệ sinh công cộng gần trường cao đẳng sư phạm để bí mật quay phim những phụ nữ xinh đẹp đang đi tiểu. Trong số đó có ba người phụ nữ rất sành điệu và quyến rũ.","lastmod":"2025-03-23","duration":"00:13:33","url":"/play/18976644.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvZTAyNWE0NDQwOGE5N2M5YjljMmNkYzA0MDQ2OWI3NjcuanBn.cache","vod_id":19164085,"title":"Cô gái bên cạnh tôi rất xinh đẹp và có thân hình quyến rũ, vì vậy tôi đã cố gắng tán tỉnh cô ấy, và cô ấy thậm chí còn quyến rũ hơn cả những gì tôi tưởng tượng…!! 4 giờ Mud Stick Cat - Emaniel","lastmod":"2026-07-11","duration":"04:00:33","url":"/play/19164085.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYTdmNDdhNmVkMThhZTRiNzRhYWMxNjUyYjIyYzJlYzMuanBn.cache","vod_id":19145725,"title":"Một cô hầu gái chân dài, ngực cỡ I, bị ép phải phục vụ ông chủ thấp bé của mình trong tư thế nhục nhã với hai chân dang rộng và ở vị trí thấp (MIAB-586)","lastmod":"2026-02-28","duration":"02:26:04","url":"/play/19145725.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzg2MmFkNjY0MDg5MWU1MmUxNTY4MWJkYTA5MTQ3Y2IuanBn.cache","vod_id":18934860,"title":"Thử thách thu thập tinh dịch HSAM-004! Ba thí sinh nghiệp dư (Misuzu, Setsuna và Miria) kích thích dương vật của mình để giành tiền thưởng!","lastmod":"2025-12-14","duration":"01:26:18","url":"/play/18934860.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvODJmM2RiMmNjZjNjODUyNmYxMzRkZTE0YjNhYWU1ZmUuanBn.cache","vod_id":19158210,"title":"Teamskeet - Cậu con trai riêng có làn da sần sùi của anh ấy đã khiến mẹ kế Vanessa Cage cảm thấy tự tin hơn về cơ thể mình. [Team Skeet]","lastmod":"2026-05-15","duration":"37:41","url":"/play/19158210.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTE1ZDdkZTlkYzAxZGE4OThjNjNhN2FmNWQ3MWU5MjEuanBn.cache","vod_id":18968608,"title":"EBOD-776 Mặc dù ngực của cô em gái nổi loạn của tôi đã phát triển hoàn toàn, nhưng trong ba ngày bố mẹ vắng nhà, chỉ có hai chị em, cô ấy đã liên tục bị anh trai mình, người mà cô ấy ghét cay ghét đắng, lấp đầy tinh dịch. Ibuki Kanon","lastmod":"2025-12-14","duration":"01:58:20","url":"/play/18968608.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTgyMjg0ZmZiODc4MmVkNjRiNjU1NmRiN2UxOTJmOTEuanBn.cache","vod_id":19012576,"title":"SIRO4064 [Cảnh đầu tiên] [Vẻ đẹp trẻ thơ] [Không còn nữa...] Một cô gái quảng cáo quán ramen trông rất trẻ. Nếu bạn muốn đưa dương vật to lớn của mình vào cơ thể mỏng manh của cô ấy... Đăng ký AV trực tuyến → Trải nghiệm AV Cảnh 1194 (Loạn luân)","lastmod":"2025-03-24","duration":"01:03:20","url":"/play/19012576.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MTIvZTVlZWJjMGI2MjJlMGY3NGI1M2I4YjM0NWI2NmJlY2EuanBn.cache","vod_id":19033230,"title":"Yao Yao, một người mẫu xinh đẹp đến từ Bắc Kinh, và bạn trai người Ý điển trai của cô.","lastmod":"2025-05-12","duration":"13:34","url":"/play/19033230.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTUvMzliMzA5NmRlZjllM2ZmM2E0ODFhZWEzNGExNTY5ODcuanBn.cache","vod_id":19134452,"title":"Chúng xông vào và bóp nghẹt cô gái xinh đẹp trong bộ đồng phục thủy thủ màu trắng.","lastmod":"2025-12-20","duration":"31:09","url":"/play/19134452.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTRjNzUxOTY0OTM0OWZkNzlhYzczYjc0M2UzODJiODUuanBn.cache","vod_id":18961295,"title":"Tôi, Quý Cô Hoàn Hảo 1","lastmod":"2025-03-22","duration":"00:18:59","url":"/play/18961295.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZjJhOGI4Yjc3ODdhMzJiMTAwNzk4NTBhNjY3Y2Q5M2UuanBn.cache","vod_id":19136204,"title":"Để ra mắt...để đạt doanh số bán hàng...một thần tượng ngoan ngoãn bị cưỡng hiếp và cưỡng hiếp tập thể. (IPZZ-196)","lastmod":"2026-01-01","duration":"01:54:18","url":"/play/19136204.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDMwODMxYTgyYzAwNGUzYjU0NjU5ZGE1NzA0MmUwMTUuanBn.cache","vod_id":18941312,"title":"Một người đàn ông xăm trổ đã gặp một cư dân mạng tại nhà riêng và quan hệ tình dục với người vợ quyến rũ, trưởng thành và hấp dẫn của anh ta. Cư dân mạng này rất giỏi đến nỗi khiến vợ anh ta run rẩy khắp người nhưng không xuất tinh. Lo lắng làm tổn thương vợ, cuối cùng anh ta đã quan hệ tình dục với cô ấy!","lastmod":"2025-03-22","duration":"00:32:30","url":"/play/18941312.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjkxYTViZTMzODQ0ZGY1OGUxOGJmNzk1YWU1ZTMwOGIuanBn.cache","vod_id":18998964,"title":"Kết quả tìm kiếm trên Baidu cho thấy một nữ tiếp viên hàng không trẻ trung, xinh đẹp và bạn trai của cô đang quan hệ tình dục trước gương và tự quay phim, sau đó dùng máy rung trên giường trong khi cô đang bị bạn trai thâm nhập, vừa la hét: \"Đụ em mạnh hơn nữa đi, đụ con điếm nhỏ của em đi!\"","lastmod":"2025-03-23","duration":"05:10","url":"/play/18998964.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNGRlYzE3OGQzZjliYzQ4ZTEwMTRjZmU5YzVmYTQ4ODYuanBn.cache","vod_id":19135335,"title":"Đôi chân dài, tất chân, thân hình mảnh mai, giọng nói quyến rũ, tương tác tán tỉnh, cận cảnh thủ dâm với đạo cụ.","lastmod":"2025-12-26","duration":"01:29:13","url":"/play/19135335.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNzBhMjMxYzY4YjliNmQ4YjZhYmZhMWY1MTkyNmU2ZDkuanBn.cache","vod_id":19138421,"title":"Vàng ngầm [Góc nhìn chân thực] [Những người đẹp được tạo kiểu tinh tế, những cô gái quyến rũ và trong suốt] URKN-004","lastmod":"2026-01-15","duration":"03:49:27","url":"/play/19138421.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MjkvOGQ5MjFiYjUxZmMwMjg3ZDNkNTBkOWExM2Q5MDE2MzQuanBn.cache","vod_id":19035719,"title":"Lời thoại tục tĩu của con rồng độc.","lastmod":"2025-05-29","duration":"17:57","url":"/play/19035719.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmZmMGU1MGYwODlkNzE1OTgzZmE5MDEzZTMwMGZjNjkuanBn.cache","vod_id":18929286,"title":"Một cô gái trẻ xinh đẹp, tóc ngắn, dùng đạo cụ để tự thỏa mãn trong khi đi giày cao gót và ngồi trên ghế. Một quả trứng rung được đưa vào âm đạo của cô ấy, và cô ấy uốn éo cơ thể một cách quyến rũ. Đừng bỏ lỡ nếu bạn thích!","lastmod":"2025-12-14","duration":"00:56:23","url":"/play/18929286.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMThlODQ4Y2ZiMjI2ZTAyYzhmNWU1YzQwMmYyZWZjZTAuanBn.cache","vod_id":18971706,"title":"Một ngôi sao mạng xinh đẹp với khuôn mặt rạng rỡ, đôi tất đen quyến rũ, đôi chân dài miên man và đôi tay đang xoa ngực; thân hình chuẩn người mẫu với vòng ba đầy đặn và vùng kín gợi cảm.","lastmod":"2025-12-14","duration":"00:59:00","url":"/play/18971706.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTc5MGRkODQ5NWRmZDZmMWIxODExNDlhMTdiZGFlYjEuanBn.cache","vod_id":19000498,"title":"RCTD-289 Body Jack ~Lớp học chiếm hữu~","lastmod":"2025-03-23","duration":"02:36:42","url":"/play/19000498.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MjgvODc0MTQ4YTUzMzA4NTZlMjlhMjJhYzY3MWM4OTRhZWIuanBn.cache","vod_id":19040487,"title":"MBMP104 Tôi đã yêu em, người tuyệt vời nhất. Một người ngoại quốc khiến người ta phải ngắm nhìn hai lần. Một người đẹp tóc vàng với trí nhớ tuyệt vời.","lastmod":"2025-06-27","duration":"03:58:17","url":"/play/19040487.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDI3NmZmNjYyOTUyYmVjNTM1NDg2OWNkZGJkMDEzZjguanBn.cache","vod_id":18946219,"title":"[Phụ đề tiếng Trung] MDTM-566: Một mỹ nhân đẳng cấp thiên hà nhập học, cảm giác thật tuyệt vời, nhưng cô ấy có một nhiệm vụ bí mật","lastmod":"2025-12-14","duration":"01:59:36","url":"/play/18946219.html"}]},
videoTitle: 'Cốt truyện xoay quanh một nữ nhân viên rửa xe cao ráo, xinh đẹp và thanh lịch tại một tiệm rửa xe ven đường, người vô tình làm xước sơn một chiếc xe. Để bù đắp cho thiệt hại, cô không còn lựa chọn nào khác ngoài việc dâng hiến thân thể mình để đền bù. (Đối thoại tiếng Quan thoạ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=/`;
}
};
}