The usual male and female surveillance of AV classmates will end the surprise negotiation! More than 10 years later, the male and female classmates reunite and pay 100,000 yen to Yoshine Yuri and Nagano Tsukasa in a love hotel.
Can I come to your house? A surprise visit to a male otaku's hut for delivery sex!! A super cute girl with breasts that truly captivate men - Rena Miyashita MOODYZ","lastmod":"2026-07-11","duration":"02:44:19","url":"/play/19154675.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MTMvMGYwMTY3YzIxNDNiOTNjMDYwYTkwYTI5NGMyNTI2NWQuanBn.cache","vod_id":19083644,"title":"91 Top Scholar Chen Student 3","lastmod":"2025-07-12","duration":"05:04","url":"/play/19083644.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZWFhNjc4MGI5YWU4MTc0YTU4YTk2YjYyMzdkMzkxMWQuanBn.cache","vod_id":18959752,"title":"Pink Valentine's Day Anal Plug Loli Fully Automated Semen Collection","lastmod":"2025-03-28","duration":"16:24","url":"/play/18959752.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjVjMGMzYWMxN2M3MWQ0OTYyZWY2OGY3MzgyYThlMjkuanBn.cache","vod_id":18971700,"title":"SIRO-4124 [First Shoot] [Deep Insertion into Vagina...] [Obscene and Voluptuous Body] A college student with a voluptuous body makes her debut. A sexy body that her boyfriend can't resist... Online AV Application → AV Experience Shooting 1250 Kaede, 21 years old, third-year university student","lastmod":"2025-03-28","duration":"58:03","url":"/play/18971700.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMTIvZjE3ZTMzODIyNTdjYzk4YTA3MmZhZWQ1NzFjYTFlYmYuanBn.cache","vod_id":19105902,"title":"[Contemporary Technicians] Male and female technicians providing hotel hookup services are just that promiscuous.","lastmod":"2025-11-11","duration":"28:06","url":"/play/19105902.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWQzNDg2MDQ4NTY5MGI2Y2RiY2NlNmExY2JkYjlhZmQuanBn.cache","vod_id":19010390,"title":"My childhood friend who was raped by a bad classmate while trying to save me...!","lastmod":"2025-03-28","duration":"01:58:08","url":"/play/19010390.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjIvMzY1MGJjMjFlNDE1NDA0MzVhYjAxNzJhMWUxOTgwYmYuanBn.cache","vod_id":19150923,"title":"Linlin, a young and beautiful model with large breasts, took advantage of her classmate's drunkenness to sleep with her boyfriend of 10 years. Her pink nipples were a sight to behold.","lastmod":"2026-06-21","duration":"15:01","url":"/play/19150923.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjgwYmM0NTdlOTQwNzliMDhjNjYxOWNiMGFjOGY0NTcuanBn.cache","vod_id":19026746,"title":"0 “You got an erection from an old lady like me?” I boldly asked an elderly massage therapist at a local hotel!","lastmod":"2025-03-29","duration":"03:21:52","url":"/play/19026746.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDlkNDgyMmQ2ODIwNjhmOGVkZjkwNzg3NmE4YzUzYWQuanBn.cache","vod_id":19017301,"title":"Valentine's Day Special Episode: Body Swap and Physical Intercourse - Qin Kexin","lastmod":"2025-03-29","duration":"35:26","url":"/play/19017301.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYmVhNTRkZWQyZjEwMzc1MDY3YTU4NWEyYTgzMTkxMWIuanBn.cache","vod_id":19041424,"title":"The World - Yuri Yoshino","lastmod":"2025-03-29","duration":"01:30:52","url":"/play/19041424.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODBkYTI5MmRmOThiYjA1MzJkZDBjOGFmN2EwODc4ZWEuanBn.cache","vod_id":18981074,"title":"Menstruation is a magical reunion.","lastmod":"2025-03-28","duration":"01:11:38","url":"/play/18981074.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTAwMDRjOWQxOTcxMjhkNzg0MWNjMDZmYzhmMjc1Y2EuanBn.cache","vod_id":18983600,"title":"VEC-384 A mother, Miyuki Arisaka, who lost her self-esteem due to repeated sexual assault by her son's classmate.","lastmod":"2025-03-28","duration":"01:31:09","url":"/play/18983600.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTQ1ODAyZWE1NDFiYjdmMjczZjFmOTNiNWYwNWQyODguanBn.cache","vod_id":18982289,"title":"My daughter's classmate also raped me.","lastmod":"2025-03-28","duration":"01:58:36","url":"/play/18982289.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MTAvMzgzOWE2MGUwNzlmODI2MjA1ZDNkYzllMzQ5YTY1NzAuanBn.cache","vod_id":19083058,"title":"DVMM217 Unisex Surveillance AV Flight Attendant Takes the Challenge! Lick, Compare, Taste, Find the Cock!","lastmod":"2025-07-09","duration":"04:18:29","url":"/play/19083058.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGNmZWNkMGQ4NDIwNzYyMTgxNDliYjcxOTlmMGYzZmMuanBn.cache","vod_id":18981256,"title":"Ordinary men and women are monitored in AV: tracking incestuous mothers and sons.","lastmod":"2025-03-28","duration":"02:37:42","url":"/play/18981256.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMWEzNzFkMDdhZWQ5Y2Y0ZjQ1NjgwYjJlNmQ1YjdhMzUuanBn.cache","vod_id":18996266,"title":"PRED-182 had an affair with his old classmate, and found endless pleasure in it.","lastmod":"2025-03-28","duration":"01:59:41","url":"/play/18996266.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjU1YjZiMTM4Nzg2ODk4OGE5NDMxZTNhNTc3OTNlNGQuanBn.cache","vod_id":19036455,"title":"The super beautiful SSR-level cosplayers are all male and female with penises as thick as a horse when erect, and they all engage in deep throating and repeated anal sex.","lastmod":"2025-03-29","duration":"02:02:02","url":"/play/19036455.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODJhNzFiYzRiZTJlZjM3MDhhYTgyZGI1YjY4NTk5NGMuanBn.cache","vod_id":18961471,"title":"NNPJ-482 Using SNS to pick up married women: The perpetrator usually wears a 980 yen hoodie, but when he gets an ordinary married woman living in an apartment building to wear a kimono, he can easily have sex with her on a special date. (Hirokawa Mako Rena)","lastmod":"2025-03-28","duration":"01:55:38","url":"/play/18961471.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjFiNzIwNjRiMThhMGVkZmI0Y2QyNzExZjRiYjNiYWEuanBn.cache","vod_id":19029289,"title":"What an amazing little girl! I've found her! \"I have a thing about nipples being longer than average...\" A runaway girl becomes the center of attention simply because of her nipples!","lastmod":"2025-03-29","duration":"02:03:27","url":"/play/19029289.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDUwNGU4MjYwYjEzY2MwODI1MjA1NTdhNjg2ZGFmOGQuanBn.cache","vod_id":18966749,"title":"A surprise raid on a masochistic man's home! A relentless pursuit of breast-fucking sex [We'll squeeze out every last drop!] JULIA","lastmod":"2025-03-28","duration":"02:59:33","url":"/play/18966749.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOTdhNjk2NWJkNWRiYTM4NTIzZGZkMjdjOTA3Yzg2YTUuanBn.cache","vod_id":19120269,"title":"Jiangsu's contrasting personalities lead to a slutty, sexually exploitative, and sexually harassing female student who is forced into prostitution and becomes a plaything for her male classmates.","lastmod":"2026-01-23","duration":"35:26","url":"/play/19120269.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MTAvMWU5MjQ1MmQzZjk5ODc0YmVjOGM3NGM0NjQ0ZTc5MmQuanBn.cache","vod_id":19148437,"title":"Only ejaculation inside the vagina counts as sex. Starring Maya Kikuchi, Yuria Yoshine, Ena Kasuga, and other actresses. Published by Momotaro Eizo.","lastmod":"2026-06-09","duration":"04:04:29","url":"/play/19148437.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNWNiOTQ3MTQ1ZDIzMzgwNGNiNzAzYWVkMDJjNjBiYjUuanBn.cache","vod_id":19056278,"title":"GDHH185 Smooth, primal penetration during air sex! Sex practice with classmates turns into a live performance!! Find an older boyfriend.","lastmod":"2025-03-29","duration":"03:05:58","url":"/play/19056278.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvMTI3Nzg1NDE0OTYwNzJjMmRmMDBhMWQzOGYyMGY3MjMuanBn.cache","vod_id":19146599,"title":"A shocking scene unfolded at the Guangzhou Firefly Comic Con: a man and a woman engaged in a sexual act, drawing a large crowd of onlookers.","lastmod":"2026-05-30","duration":"03:48","url":"/play/19146599.html"}]},
videoTitle: 'The usual male and female surveillance of AV classmates will end the surprise negotiation! More than 10 years later, the male and female classmates reunite and pay 100,000 yen to Yoshine Yuri and Nagano Tsukasa in a love hotel.',
language: 'en',
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('Link copied!');
}).catch(() => {
// 降级到旧方法
document.execCommand('copy');
alert('Link copied!');
});
} else {
// 降级到旧方法
document.execCommand('copy');
alert('Link copied!');
}
}
},
// 切换布局
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=/`;
}
};
}