Master of the Shop: Brother Horn Searches for Flowers and Explores the Secrets of Macau's Golden Pool Bathing and Beautiful Breasts: A One-Stop Service of Spa Massage, Oil Massage, Sex, and Blowjobs.","lastmod":"2026-07-11","duration":"","url":"/play/19207035.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzAwZWFmNzg0ODYwNDFiZmJkMzI2MDk1OTczMDQxZjAuanBn.cache","vod_id":19104890,"title":"A beautiful female live streamer invited her fans to her home for a live-streamed sexual encounter!","lastmod":"2025-03-26","duration":"1:06:39","url":"/play/19104890.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9zYnp5dHBpbWc0LmNvbTozNTE5L3VwbG9hZC92b2QvMjAyNjAyMjUtMS9hZjU3OTk1OGVmYmViN2RkZWRmYzg1ZDM1ZjcyMzgzYi5qcGc=.cache","vod_id":19182693,"title":"A man hooks up with a married woman at a hotel; the contrast is striking.","lastmod":"2026-02-25","duration":"0:14:39","url":"/play/19182693.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDliYzE1MjQ5YzIxZTNhMTY0Y2VjY2M1Yzk1ZjU3ZjEuanBn.cache","vod_id":19068744,"title":"Mr. D's hookup and training of a sexy female dog 1","lastmod":"2025-03-26","duration":"0:22:26","url":"/play/19068744.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOGRlODk4ZGY2NmI2Yzg1NWEzZDhkY2ExMzZlYzMwMWIuanBn.cache","vod_id":19126856,"title":"XVSR358 Forced Insemination of Innocent Female Student Wakatsuki Mariya.","lastmod":"2025-03-26","duration":"1:26:12","url":"/play/19126856.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOWMzNWFiYTJiNzU0ZTg3ZWY4OTFlMzFhODBjZGRhNDkuanBn.cache","vod_id":19177915,"title":"Lu Mengfan, a student at East China Jiaotong University in Nanchang, Jiangxi Province, led an extremely immoral private life. Her boyfriend discovered she had been having casual sex during their relationship and exposed her private photos.","lastmod":"2026-02-02","duration":"0:10:17","url":"/play/19177915.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNzM0ZTU2OTA0MWRmOGUwY2U0Zjk4OTVkNDhlNDQ4NTAuanBn.cache","vod_id":19174687,"title":"A high school student from Baihu was hooked up with online by a handsome guy using various techniques to chat and hook up with him. They went to a hotel, where he received oral sex and a large penis, followed by a full-on doggy style session where he was repeatedly fucked until he screamed and cried out. He was fucked three times in a row.","lastmod":"2026-01-18","duration":"0:14:43","url":"/play/19174687.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYzMzODMxOGE5YjcyM2ExZDgyMzkwNjFlYzlmY2IxZjYuanBn.cache","vod_id":19202409,"title":"Thirsty single men and women meet up for a 4P passionate sex session with full-face exposure, oral sex, big dick licking, nipple slicking, naked sex, a battle of multiple positions, intense fucking and thrusting.","lastmod":"2026-05-31","duration":"1:00:22","url":"/play/19202409.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTZiYjBmYWQyODdkYzQxNzViYWQwMGFmOWVlMTE4ZTAuanBn.cache","vod_id":19126069,"title":"Live streamers are using all sorts of tricks to gain traffic, even going so far as to have sex on a Ferris wheel at an amusement park.","lastmod":"2025-03-26","duration":"0:22:42","url":"/play/19126069.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvZjAzZDI1Zjk3NDkyYTYwYjM1YjcyZjE3ZWQ3NTZjZWIuanBn.cache","vod_id":19200576,"title":"Couples enjoying a Bali sex trip, drone footage of balcony sex, single man's passionate caresses, recommended for thirsty wives.","lastmod":"2026-05-22","duration":"0:19:58","url":"/play/19200576.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTEvOWRlZWNjNmQxOWU2ODYzZDdjMDY4NjI4NWRkNzA0MWMuanBn.cache","vod_id":19208690,"title":"While her mother was cleaning, the younger sister had passionate sex, a scene of lewdness. (Mandarin dialogue)","lastmod":"2026-07-16","duration":"","url":"/play/19208690.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDk0MTdlOTUzMGRmOTM0YjA3ZTY2NTc1ZDZlZWM0MjYuanBn.cache","vod_id":19043915,"title":"EIKI-085 A video that will make parents cry. A beloved daughter is slept with by her tutor and makes \"ah ah\" sounds... A pure female student has semen ejaculated on her tongue & internal ejaculation during perverted sex. Yui Miho.","lastmod":"2025-03-26","duration":"2:02:55","url":"/play/19043915.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODAzMDVjNmM4MGVlZjJhMjQ3YjcwYzI0OGZjOTI4MjIuanBn.cache","vod_id":19110392,"title":"College student couples having passionate sex in various positions at a movie theater near the university town; moaning and climaxing.","lastmod":"2025-03-26","duration":"0:19:07","url":"/play/19110392.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjUyNzUxNmQyNTRjZGE0MjBiMzJiMzI0Nzg1OTgwYzkuanBn.cache","vod_id":19067718,"title":"Two young girls served an uncle and nephew in a passionate 4P sex show, licking each other's penises and testicles, looking very slutty. After serving the young man, they then served the older man, moaning and groaning.","lastmod":"2025-03-26","duration":"0:27:30","url":"/play/19067718.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMDc5YjM5NzBmZGUyMTY0M2Q3Y2UxNWMxZTk2Y2I4MjAuanBn.cache","vod_id":19173532,"title":"A 20-year-old female student's perfect face, snow-white skin, unprotected sex, loud and noisy moaning.","lastmod":"2026-01-12","duration":"0:06:41","url":"/play/19173532.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvMmRhYTMxMmYyNTFmZDgxZDQ0ZDA4MDVjYmQ1MGYxOWQuanBn.cache","vod_id":19200592,"title":"Love my little bread, teenage loli elementary school girl_Big dick, no condom, wild fucking","lastmod":"2026-05-22","duration":"1:29:35","url":"/play/19200592.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZWQxZTBhNzRjZjE2MDljNDk3ZTYxYWYyYzg1ZTVlMTEuanBn.cache","vod_id":19191437,"title":"Latest leak - The purest and most beautiful girl in history, with her pink and tender body, instantly transforms into a slutty bitch on the bed.","lastmod":"2026-04-07","duration":"0:26:15","url":"/play/19191437.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTdkMjVlOTJiZTY3YTZhOTlmOTIyNzE4NTU2NTA5NmUuanBn.cache","vod_id":19114288,"title":"Hooking up with a pretty girl, oral sex, licking, riding and fucking 1","lastmod":"2025-03-26","duration":"1:20:31","url":"/play/19114288.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MTAvMzdiZjFlYTY1OTQzM2M2Nzk1MWM1MTFkZmNiN2VhNWIuanBn.cache","vod_id":19148571,"title":"Top-quality pure and sweet beauty","lastmod":"2025-08-09","duration":"0:05:26","url":"/play/19148571.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZmViNmZhNzNlODhlMzdiODAwODU3OWZlYjBlZGY3ZmEuanBn.cache","vod_id":19035471,"title":"Oshio Neko, black stockings, beautiful legs, innocent schoolgirl in uniform, hotel room, passionate sex.","lastmod":"2025-03-26","duration":"0:21:31","url":"/play/19035471.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjgxMDgzZjM2ZjNlMjc1NDM5ZWNkMGZmOWM4ZDQ4MjIuanBn.cache","vod_id":19106026,"title":"The first post of the new year features a super S-class quality mixed-race junior college girl who is having a midnight hookup, completely showing her face and exuding seductive charm.","lastmod":"2025-03-26","duration":"0:04:44","url":"/play/19106026.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MDgvYmQ3OTAxMjcxMzM4YTllY2E4NTAxNmIxNDI4ZDhhYmYuanBn.cache","vod_id":19130146,"title":"After playing mahjong, I had sex with two elegant young women in high heels on the mahjong table and sofa, then had anal sex with them.","lastmod":"2025-04-08","duration":"1:17:52","url":"/play/19130146.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTEvNzU0MzQ1MWJiMzg5NjQ4ZWJiYWI3ZTEwY2E1NjEwODEuanBn.cache","vod_id":19208725,"title":"The aunt, a cute schoolgirl with double braids, teases the new assistant, teaching him footjob, oral sex, and ejaculation into his mouth.","lastmod":"2026-07-16","duration":"","url":"/play/19208725.html"}]},
videoTitle: 'Hooking up with an innocent-looking girl - sex!',
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=/`;
}
};
}