Quan hệ tình dục bằng miệng với một cô gái xinh đẹp mặc đồng phục, bị một học sinh ướt sũng trong mưa quyến rũ…Usami Rin. Usami Rin Fitch","lastmod":"2026-07-11","duration":"","url":"/play/19207540.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9zYnp5dHBpbWc0LmNvbTozNTE5L3VwbG9hZC92b2QvMjAyNjAyMTktMS9kNTM1MmFmZmE2N2UxZWFiZWQ2NDdjN2JiZjEwMGU5OS5qcGc=.cache","vod_id":19181359,"title":"Tin đồn thật bị phanh phui: Một nữ sinh viên đại học xinh đẹp, thuộc hàng thượng lưu, sở hữu thân hình trơn tru, ngực trắng nõn, tuân theo mọi yêu cầu của \"bố nuôi\" giàu có, tự sướng bằng đồ chơi tình dục, chụp ảnh tự sướng, mặc đồng phục, quyến rũ, và có âm đạo căng tròn, xinh đẹp cùng bộ ngực đầy đặn, săn chắc vô cùng hấp dẫn. Cô ta bị ép đạt cực khoái bằng cách sử dụng đạo cụ và xuất tinh, và cực kỳ dâm đãng.","lastmod":"2026-02-19","duration":"0:06:03","url":"/play/19181359.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOGJmYmI4MTM2ZWVlOTExZjRkNzMxY2MxMTgwNmIyMTYuanBn.cache","vod_id":19041517,"title":"MEYD-539 Tôi cứ tưởng vợ tôi sẽ không ngoại tình... Đêm Nhiệt Đới ~Chương Mới~ Khao khát mãnh liệt của anh trai và vợ dành cho nhau. [NTR] Matsumoto Nanami","lastmod":"2025-03-26","duration":"2:00:02","url":"/play/19041517.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvY2YwM2Q1ZTUzYTdjY2QwNGNmNWI0OTFiNjgyYjY4NDguanBn.cache","vod_id":19071342,"title":"MDTM584 Massage trẻ hóa sau giờ học dành cho cô gái xinh đẹp + Tập 029 Nonohara Nana","lastmod":"2025-03-26","duration":"1:59:33","url":"/play/19071342.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjNkN2E1OTNmZjhmNTU4MzU0YjI5YWEyNTRjMDA0ZTMuanBn.cache","vod_id":19126136,"title":"SDNM203 Ham muốn dâng trào và bộ ngực dâm đãng Harada Chiaki, 38 tuổi, chương cuối ~ Trong cảnh quay cấm kỵ tại tổ ấm tình ái của cặp đôi, cô liên tục bị dương vật đâm vào cổ tử cung mà không dùng bao cao su. Vì quá khoái cảm, cô không thể không để mình bị xâm nhập mà không dùng bao cao su.","lastmod":"2025-03-26","duration":"2:16:23","url":"/play/19126136.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTllNzVkNWIyZTFjYTE3MDYzZDY0MTEwNTg5YzRkYWYuanBn.cache","vod_id":19100755,"title":"Tập đầu tiên của loạt phim khám sức khỏe dành cho một cô gái với chủ đề tình yêu đầu đời!","lastmod":"2025-03-26","duration":"0:12:25","url":"/play/19100755.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDdhNmQ5MjY0YzFiNWZlNzNkOTY3YzQxZmRjYTFmZTcuanBn.cache","vod_id":19029769,"title":"Bị đưa đến một khách sạn tình yêu và bị xuất tinh nhiều lần, bị lợi dụng để thụ thai và huấn luyện Sano Natsu.","lastmod":"2025-03-26","duration":"2:00:06","url":"/play/19029769.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZGYwYjI1NzA4YTZkMzRmODIzZDBhOGE3ZjUyMmQ2YzQuanBn.cache","vod_id":19031381,"title":"Lộ diện khuôn mặt!! Phần tiếp theo!! Những câu hỏi và câu trả lời vô bổ ● Cưỡng hiếp và xuất tinh!! Một mỹ nhân lai ngực khủng, bất tỉnh và không thể tự vệ, say xỉn nằm gục bên vệ đường, bị đẩy vào xe và bị cưỡng ép đưa đến một khách sạn!","lastmod":"2025-03-26","duration":"0:32:17","url":"/play/19031381.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjAvNTA1YzM0YjYxMTZlNmJmNjAzMjVmMmQ3NWFiMWZhNzAuanBn.cache","vod_id":19160120,"title":"Những cô gái xinh đẹp bị cưỡng hiếp nhiều lần bằng nhiều cách khác nhau, những ham muốn ngây thơ của họ bị xâm phạm, và họ bị cưỡng hiếp dã man và bị bắn tinh dịch khắp nơi -3","lastmod":"2025-10-19","duration":"1:41:48","url":"/play/19160120.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvM2U3MmMzNTg3MmI0YjU5YzliOTUwOTU5MjYxYjI1YmEuanBn.cache","vod_id":19077681,"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-26","duration":"4:00:20","url":"/play/19077681.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNTYxNmRjNzZmYTJlNmFiODdkMzYwY2E2MzAwY2FlZmYuanBn.cache","vod_id":19176217,"title":"Một cô gái trẻ xinh đẹp tuyệt trần, với vẻ ngoài trong sáng, trắng trẻo và ngọt ngào, được nhìn thấy trên một bức ảnh khoe vòng ba và vùng kín gợi cảm đến nghẹt thở. Trái ngược với điều đó, hành vi dâm đãng của cô – khao khát được quan hệ tình dục – được phơi bày trong một video bị rò rỉ ghi lại cảnh cô đang thực hiện hành vi quan hệ tình dục bằng miệng với bạn trai của mình.","lastmod":"2026-01-25","duration":"0:09:45","url":"/play/19176217.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjA4MmE5Y2ZlNDBlMjRhZDQxNDdhY2ZlZTJhMmVjMTYuanBn.cache","vod_id":19081232,"title":"Video quay lén cảnh đùi của các cô gái mặc đồng phục - Danh tính diễn viên không rõ.","lastmod":"2025-03-26","duration":"3:46:09","url":"/play/19081232.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MTUvZGY1ODcwMDE1YjI1ZTM4NDhiMGNkYjg5NGY0NTRiNzUuanBn.cache","vod_id":19130847,"title":"Bị ông chủ cuồng chân quấy rối tình dục; quan hệ tình dục trong khách sạn trong chuyến công tác. Rino Sakai CAWD-391-C","lastmod":"2025-04-15","duration":"1:56:50","url":"/play/19130847.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjc4YThkZjdkN2IzNmU3ZDEyN2E3ODBjMTk4M2JkZDcuanBn.cache","vod_id":19086247,"title":"Cô gái mặc đồng phục học sinh trên cầu thang có một nữ diễn viên vô danh thích mặc nội y gợi cảm bên dưới váy.","lastmod":"2025-03-26","duration":"1:40:41","url":"/play/19086247.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZWY4MjQ1ZDUyMDQ0YjVjNWRjNTdjODMwMzRmN2IzZmEuanBn.cache","vod_id":19046996,"title":"Sự cám dỗ của em gái nhà hàng xóm, gái điếm, xuất tinh, phụ nữ ở trên, bóp chặt, ấn mạnh","lastmod":"2025-03-26","duration":"1:40:06","url":"/play/19046996.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNjZiMzliNGM5MjIwZTE3MjUyZTE0NzhjNDJiZDhkZTMuanBn.cache","vod_id":19074175,"title":"DASD610 Một cô gái xinh đẹp trong bộ đồng phục, dù không muốn, đã bị thôi miên và tẩy não, biến cô thành một con điếm hư hỏng.","lastmod":"2025-03-26","duration":"2:13:03","url":"/play/19074175.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjUvNzBkM2FkNDk0YWE1YTdkNmUwOTE5MTk2MWFjY2I5MjcuanBn.cache","vod_id":19156286,"title":"Nữ sinh viên quan hệ tình dục với con riêng của chồng mới cưới Mai Hanagari XVSR788","lastmod":"2025-09-24","duration":"1:57:57","url":"/play/19156286.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjkxZGZhYjNiMjQxOGU2NGQyMzMyZmFkY2NlMTE3ZWUuanBn.cache","vod_id":19072335,"title":"[Người phụ nữ trẻ đã kết hôn ngoại tình] Cô ta để lộ mặt suốt toàn bộ buổi phát trực tiếp cảnh quan hệ tình dục cuồng nhiệt với anh trai mình trong khách sạn. Cô ta thực hiện màn oral sex sâu vào dương vật to lớn của anh ta và để anh ta liếm âm đạo của mình trước mặt những người đàn ông khác. Cô ta cũng quan hệ tình dục không an toàn, rên rỉ và xuất tinh vào bên trong anh ta.","lastmod":"2025-03-26","duration":"0:23:49","url":"/play/19072335.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYWNjMWI4MzE4YjIxNDkzODNjMmFjNWE2NzY4YzE5NjQuanBn.cache","vod_id":19066552,"title":"Lần đầu tiên quan hệ tình dục sau giờ học - Rei Kuruki","lastmod":"2025-03-26","duration":"2:16:24","url":"/play/19066552.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MTYvNmU5MThiNDIxZWMyYmUxODU3MjdlNGJhNTNiYzVjZTguanBn.cache","vod_id":19149709,"title":"MESU130 Tôi là chủ nhà, và tôi dùng tình dục để giải trí cho khách, vì vậy khách sạn của tôi rất nổi tiếng.","lastmod":"2025-08-15","duration":"1:33:29","url":"/play/19149709.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMzMwYmE0OTZmMmY1NGQ4ZTMwMmU2MTkzYjdkMzdlNzQuanBn.cache","vod_id":19170568,"title":"Một người phụ nữ bị chồng bỏ rơi, gào thét và sa vào trụy lạc... thật sự gợi cảm. Một người phụ nữ hy sinh cả cuộc đời mình vì dương vật và âm đạo, trải qua một cơn cực khoái nửa điên cuồng. Ruri Kobato, MOER-011","lastmod":"2025-12-28","duration":"3:00:34","url":"/play/19170568.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNDQ3MWJiYjhjZjMzNzBkNTAzZTQxNTNjYzJiMWJlNzIuanBn.cache","vod_id":19183864,"title":"Khám sức khỏe tiền hôn nhân của Lan Ke Ying_Cô gái khám sức khỏe tiền hôn nhân bị bác sĩ vô lương tâm đe dọa tấn công tình dục_Quan hệ tình dục bằng miệng và hút tinh dịch","lastmod":"2026-03-02","duration":"0:24:17","url":"/play/19183864.html"}]},
videoTitle: 'MUDR248 Từ ngày đó trở đi... một cô gái xinh đẹp trong bộ đồng phục bị trói và huấn luyện để xuất tinh bên trong.',
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=/`;
}
};
}