SSNI-573 Mục tiêu là Mako, một nữ sinh mặc đồng phục. Một tập phim đặc biệt đáng xấu hổ về quấy rối tình dục tập thể. Bị vấy bẩn bởi tình yêu bệnh hoạn của một giáo viên trung niên.
Chuyến đi suối nước nóng nghịch ngợm cùng hai nữ sinh xinh đẹp","lastmod":"2026-07-11","duration":"03:05:15","url":"/play/19165098.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2IwNjQ3NWNhODBmZGI5Y2U2NjNkZjBhN2YxMTIxZDUuanBn.cache","vod_id":18991977,"title":"326EVA-029 [Bể Spa] Hai người bạn thân là một cặp đôi siêu khiêu dâm, lần đầu tiên cùng chia sẻ một dương vật! Cô ấy nghiêm túc và đoan trang, nhưng đồ lót của cô ấy là một chiếc quần lọt khe. Vẻ đẹp nhút nhát, ngây thơ này đạt cực khoái run rẩy thông qua dương vật được chia sẻ! Một cuộc thác loạn khiêu dâm, họ cùng nhau thực hiện, thậm chí còn dùng miệng để làm sạch bản thân, phô trương hành vi tục tĩu của họ! ? 1","lastmod":"2025-03-23","duration":"01:07:55","url":"/play/18991977.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzg0MmRlMzJlN2FlNGJmZDE4NmVmM2VlYTg1MjRjYTIuanBn.cache","vod_id":18963101,"title":"JUFD-886 Một cô gái đồng tính ngực khủng bị gia sư riêng ép buộc vào những thú vui cấm kỵ… Miyu Saito, Orimi Tsubaki","lastmod":"2025-03-22","duration":"02:27:17","url":"/play/18963101.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjBjN2UwZjBlYTBjNzUwZjMwMWVhN2FlM2UzMWUzODMuanBn.cache","vod_id":18978441,"title":"[Phụ đề tiếng Trung] NACR-671 Một cặp vợ chồng xinh đẹp âm mưu quyến rũ chàng sinh viên đại học nhà hàng xóm! Cặp đôi biến thái này bí mật quay phim toàn bộ sự việc và tận hưởng nó! ? Mizukawa Kaede","lastmod":"2025-12-14","duration":"01:56:33","url":"/play/18978441.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMWMxOGNkNjNiMGY4YzQ0NDBkYjk5YjU0YzAzYWFjZGIuanBn.cache","vod_id":18940809,"title":"Một nữ sinh cao ráo, trong sáng chụp ảnh tự sướng trong khi tắm, đôi gò bưởi nhỏ nhắn, hồng hào và hơi nhô ra, còn trinh nguyên.","lastmod":"2025-12-14","duration":"00:09:48","url":"/play/18940809.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNGVmODQyZDg3YWY5ZTA0NmU3MTM4NjkyYWEwYWMyZTEuanBn.cache","vod_id":19157368,"title":"Một nữ sinh viên đại học, bị ép phải trả nợ cho người cha mất tích, bị nhốt trong một căn nhà đổ nát và bị một nhóm đàn ông cực kỳ đẹp trai cưỡng hiếp không ngừng trong ba ngày ba đêm. (Sau đó, văn bản đột ngột chuyển sang một chủ đề dường như không liên quan: Momono Kana, một nữ võ sĩ nghiệp dư hạng S.)","lastmod":"2026-05-10","duration":"02:04:18","url":"/play/19157368.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzA3MzI3MGM1NDUxOWU2MzJjNGU0MmRkNGU1YzljNjkuanBn.cache","vod_id":18962694,"title":"[Không kiểm duyệt] SSIS-651 Tôi bị ép phải đi công tác cùng ông chủ trung niên của mình, dù tôi cực kỳ ghét ông ta... Tôi ướt đẫm mồ hôi và dịch cơ thể, và đã cưỡng hiếp ông ta suốt đêm.","lastmod":"2025-03-22","duration":"02:28:10","url":"/play/18962694.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDQ3NzM5OWJhZGNjNTRlNDcwZWZhYjFjYzQxYWUzNzYuanBn.cache","vod_id":18993986,"title":"SIRO-3918 [Lần quay đầu tiên] [Người đẹp ngực khủng] [Hành vi dâm đãng của cô gái nhút nhát] Một nữ sinh viên đại học trẻ trung, sạch sẽ và gọn gàng. Công việc bán thời gian đầu tiên đầy vụng về của cô. Một ứng viên nghiệp dư, lần đầu tiên tham gia đóng phim người lớn. 901","lastmod":"2025-12-14","duration":"01:08:46","url":"/play/18993986.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvN2I3ZTE5NTcwOWM1ZGYzNDJkYmNmYzYyN2I5YjNiM2IuanBn.cache","vod_id":19135640,"title":"Không hề xấu hổ! Hoàn toàn không ý thức về bộ ngực lớn của mình! Cô em gái kế đột nhiên xuất hiện và vô tình khoe bộ ngực lớn tự nhiên của mình trong cuộc sống thường nhật, khiến vùng kín của tôi ngứa ngáy. Nữ diễn viên vô danh HUNTC-380","lastmod":"2025-12-28","duration":"02:56:35","url":"/play/19135640.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2VjYmNjYjM3Nzk4NTAyY2FjNWIxYTE1ZTc3MTBlNDMuanBn.cache","vod_id":18965768,"title":"[Không kiểm duyệt] MIFD-223 Diễn viên AV mới quyến rũ và ngọt ngào ~ Một sinh viên đại học siêu gợi cảm ra mắt trong làng phim AV!! Domoto Kaze","lastmod":"2025-03-22","duration":"01:59:47","url":"/play/18965768.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZGU1YWFmY2UyZTdkNDM3ZjZlZDI0NzU0YWE0N2U1NjcuanBn.cache","vod_id":18934309,"title":"Ngôn ngữ Caribe 120311-877 Chuyến tàu quấy rối tình dục Asakura Kotomi","lastmod":"2025-12-14","duration":"01:03:51","url":"/play/18934309.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZDAwNTI1ZjdlY2QzZDEzNWFiZmFjNzExM2JmMTU2YmMuanBn.cache","vod_id":19155510,"title":"Trải nghiệm đầu tiên của người đàn ông da đen với BBP: Một dương vật khổng lồ của người da đen khiến một nữ sinh mặc đồng phục ngã. ATID-618-C","lastmod":"2026-04-28","duration":"01:52:30","url":"/play/19155510.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMmVjNmNkYjNkY2YyMmY0YzY1NDFiOTg4NzQ5Njg0MWMuanBn.cache","vod_id":18935404,"title":"FC2PPV-1178390 (số seri) có sự góp mặt của Mari-chan, một nữ sinh viên đại học 18 tuổi với vòng một ấn tượng, mặc đồng phục học sinh, và toàn thân chứa đầy tinh dịch.","lastmod":"2025-12-14","duration":"00:42:46","url":"/play/18935404.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2QyODZiZWEyNzQzZGY1NGM3YzE1MGQwNTRjMGYxOTEuanBn.cache","vod_id":19010629,"title":"IPX387: Một cô gái xinh đẹp, cuồng dâm, yêu thích đàn ông lớn tuổi, quyến rũ những người đàn ông trung niên đến mức xuất tinh bằng những màn trêu chọc, liếm láp gần như suýt nữa khiến họ đạt cực khoái và những cuộc ái ân mãnh liệt. (Aizawa Minami)","lastmod":"2025-03-24","duration":"02:30:43","url":"/play/19010629.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MjcvYmY3ODkxMTRhOWE1YTM4MWY2MDhlZTcwYTlhNWQzOGIuanBn.cache","vod_id":19035416,"title":"Momo, một nữ giáo viên đã kết hôn (HMN392), được hai học sinh yêu mến sâu sắc và đã có quan hệ tình dục với họ nhiều lần trong lớp học sau giờ học.","lastmod":"2025-05-27","duration":"02:13:48","url":"/play/19035416.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTUvNjdiMDBmZTdlZjY3NTY1MmE5MTNkNjZhZDNjZDUyMWYuanBn.cache","vod_id":19134412,"title":"Một nữ sinh viên đại học mảnh mai, ngực đầy đặn, gợi cảm bị ép buộc đóng phim AV của chính mình—Kana Sasaki, Hina Torikura, Mei Uesaka HNTRZ-021","lastmod":"2025-12-20","duration":"01:58:22","url":"/play/19134412.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYWU4ZThhNDdiZWVkYjg4MjA4MDgzYTczNjRlNmI4ODQuanBn.cache","vod_id":19000871,"title":"Một buổi quan hệ tình dục đầy đam mê","lastmod":"2025-03-23","duration":"51:47","url":"/play/19000871.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTE1NzMyNjA4YjYxMTNiYzZlZTA5ODQxNzVlZGE3ZWEuanBn.cache","vod_id":19023221,"title":"HOKS147C Một cặp vợ chồng trung niên khoảng năm mươi tuổi. Người vợ khoảng năm mươi tuổi. Họ sống chung với nhau.","lastmod":"2025-03-24","duration":"01:52:37","url":"/play/19023221.html"}]},
videoTitle: 'SSNI-573 Mục tiêu là Mako, một nữ sinh mặc đồng phục. Một tập phim đặc biệt đáng xấu hổ về quấy rối tình dục tập thể. Bị vấy bẩn bởi tình yêu bệnh hoạn của một giáo viên trung niên.',
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=/`;
}
};
}