Original Series - Rare Top-Ranked Female Host of the Year, Late-Night Sex with Tall, Leggy Beauty, Live Streamer, Deep Shouts and Interruptions on Camera, Active Riding
Li Ge Tan Hua 19-year-old Loli Tender Girl Obedient and Submissive, Freely Touching Her Vagina, Watery and Varied, Various Styles of Explosive Sex, Very Lubricated and Comfortable.","lastmod":"2026-07-11","duration":"","url":"/play/19207369.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMWJjYzVjN2Q1YzUyZmRlMGNhZjA0MTJmMjI3OTU3ZjQuanBn.cache","vod_id":19108936,"title":"A sexy college girl with a curvy, sexy figure.","lastmod":"2025-03-26","duration":"0:41:04","url":"/play/19108936.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MjAvNDQ3Zjk5NWE2YmYzM2UzYjJiOGRjZGNmYzc1OWI3MzEuanBn.cache","vod_id":19144779,"title":"Super heavyweight Black Jeanne Goddess, the most daring figure ever, perfect waist-to-hip ratio, beautiful vagina, and long legs.","lastmod":"2025-07-19","duration":"1:15:23","url":"/play/19144779.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjYwNWM5ODY4YTQ5YjQwYTkxZjgxZGE1OGQ4MzI4ZTcuanBn.cache","vod_id":19048807,"title":"326EVA-078 The more shy and innocent a woman seems, the more perverted and filthy she actually is!! This beautiful dark-haired girl we caught in the sea, though reluctant to expose herself in front of the camera, frantically pulled out her penis when we withdrew it. We couldn't bear the way her vagina tightened during each orgasm, and finally we achieved a dangerous internal ejaculation explosion!!","lastmod":"2025-03-26","duration":"1:04:28","url":"/play/19048807.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODQ3YWM0ZDljOGQ5NzEzYjQwN2Y5ZDE3YzM4M2U5ZDEuanBn.cache","vod_id":19119265,"title":"POST468's target this time is a beautiful female tenant! After drinking the alcohol recommended by the staff, she lost consciousness and fell into a deep sleep?! She woke up to find herself with a vibrator inserted into her!!","lastmod":"2025-03-26","duration":"1:47:51","url":"/play/19119265.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNGUyNTQ2MmNlOWJhNjQ4NGMyYTc2OTE1OGExZDRlZjEuanBn.cache","vod_id":19071901,"title":"[Sit on your face] A young couple from Xiamen make money by having sex at home and broadcasting porn. The licking maniac attacks the vulva in various ways. She has fair skin, a beautiful face, and long legs. She is a stunning beauty.","lastmod":"2025-03-26","duration":"0:31:32","url":"/play/19071901.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MjkvNjAwOWViNzg5ZGVmMDBmMWUyMGVhZjViYjhhOTU0NGEuanBn.cache","vod_id":19146185,"title":"A man dressed as a woman secretly filmed 50 beautiful women in a women's restroom, including office workers, internet celebrities, college students, and nurses.","lastmod":"2025-07-28","duration":"0:57:56","url":"/play/19146185.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGJjZDRjMTAxNDY3YTZlNjc3MDQ5ZTFjNGIxNTVjOTEuanBn.cache","vod_id":19076223,"title":"Too much of a top-ranking woman, two women use sex toys for masturbation.","lastmod":"2025-03-26","duration":"1:28:55","url":"/play/19076223.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNjgyMTM2N2M3NTAyY2EzZTIyNWE5MjUxYjJkNjBmMzEuanBn.cache","vod_id":19169589,"title":"A stunningly beautiful young woman was brutally fucked and penetrated in a riding position by a fat older man.","lastmod":"2025-12-24","duration":"0:29:40","url":"/play/19169589.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MjQvNTQ3NzlmOWZkMjQyOWRkMDdhMDEyZDA0YTdiYjA2NmUuanBn.cache","vod_id":19131870,"title":"The beautiful teacher, Miyako Akari, whose body is wet and sticky, has been sucked by all the penises. DASS-052-C","lastmod":"2025-04-24","duration":"1:57:01","url":"/play/19131870.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MTkvNDdiYjg5M2YwOGIwYmIzNjkxYjI3MTI5MjViYTNiNzguanBn.cache","vod_id":19135462,"title":"Superb leaks: Jinan's Lv Jinmeng and several other top-tier beauties leak secrets.","lastmod":"2025-05-19","duration":"0:10:40","url":"/play/19135462.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MjIvN2UwNzE0MGQ0YjkxM2M3YjcyNzhjNTkxNzg1YzhiODAuanBn.cache","vod_id":19145168,"title":"A male pro hookup with a slightly drunk female colleague involved in various positions, with her face fully exposed.","lastmod":"2025-07-21","duration":"0:26:43","url":"/play/19145168.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDIzN2Q3MTE3OTc1YzM5OTExMGNhZDg1NDExOWU2ZjcuanBn.cache","vod_id":19063851,"title":"1Pondo 102619_920 Merlin Model Series","lastmod":"2025-03-26","duration":"1:01:29","url":"/play/19063851.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNjY5NzM5MmVjNmZhNjAyMjk2YWIzM2ZkOWY4NmJiZTkuanBn.cache","vod_id":19080317,"title":"Popular female news anchor Momono Kana, whose mind and body were completely conquered, underwent hypnotic therapy that led to forced incontinence and ejaculation.","lastmod":"2025-03-26","duration":"1:58:35","url":"/play/19080317.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvY2I3N2JkZGQ3YWQ4ODMzZDQ3YTVhYjI3YjAzNDI2ZmUuanBn.cache","vod_id":19102923,"title":"MisAV Lolita, a variety show featuring striptease and game-related content!","lastmod":"2025-03-26","duration":"0:16:23","url":"/play/19102923.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZmRhYWRmY2RiYmI1MDI5MmE4MTBkN2I5MDdkYmFkMGIuanBn.cache","vod_id":19193896,"title":"Peeking through the window at my bespectacled roommate and his young, beautiful girlfriend having sex in a side-entry position, I was afraid of being discovered and didn't dare watch for too long.","lastmod":"2026-04-20","duration":"0:02:56","url":"/play/19193896.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZGM1MDc1ZDBiMDU3YzZjMjYyNDI4OWJiMmYxNTgzMDYuanBn.cache","vod_id":19173074,"title":"The third-ranked fat snow is a top-quality, contrasting goddess with a tight vagina, and various positions for thrusting.","lastmod":"2026-01-10","duration":"0:35:43","url":"/play/19173074.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MDYvMmIxYjY5ZjE5ZWY4NWIzMmIxMzQzMzZkZTA1NjVhMTEuanBn.cache","vod_id":19142143,"title":"Day 1 of the special operation involving riding a female spy in a sexy uniform","lastmod":"2025-07-05","duration":"0:22:29","url":"/play/19142143.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMDdkZjEzMjYyZWU5ODkwZTYxMGRlZDk1NjNlYzlmNGYuanBn.cache","vod_id":19177855,"title":"The once-pure and popular internet celebrity, Beibei, has been exposed for engaging in BDSM activities, including deep throating, oral sex, and large-penis sex, all while appearing in a leaked WeChat group.","lastmod":"2026-02-02","duration":"0:10:27","url":"/play/19177855.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGRjMzZjYmQ4YWFlYzM5MTViZDdlNmI3ZDc3ZDEzNjYuanBn.cache","vod_id":19109278,"title":"A stunningly beautiful woman with a nine-headed figure and long legs! Her clean, hairless vulva! A dildo thrusts into her cunt, causing her to climax and squirt, she actively rides in a cowgirl position, holding onto the wall as she moves up and down.","lastmod":"2025-03-26","duration":"1:38:16","url":"/play/19109278.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzMyZDczNTY0MzVmZTcyNjFlZjFiYTNiY2M2NWQ5NWMuanBn.cache","vod_id":19072140,"title":"[Live Stream Highlights] Your girlfriend was fucked by a big-dicked ladyboy, face shown throughout. A ladyboy hooked up with a pretty girl and ravaged her in various positions.","lastmod":"2025-03-26","duration":"0:33:36","url":"/play/19072140.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNjFkZTNjOGJlZDgxZTk2NDVkYjYyNWUwYjJlNDY0MmMuanBn.cache","vod_id":19054768,"title":"Big-breasted live streamer's wet and seductive look","lastmod":"2025-03-26","duration":"1:53:43","url":"/play/19054768.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZmI0ZTM0N2FiZjY5OWNhYTQ4MmI2Y2E2YTA0OWY0YzAuanBn.cache","vod_id":19196171,"title":"Loli Goddess's Hundred-Man Slay: A sultry, repressed, black-stockinged, glasses-wearing junior girl's unprotected, masochistic, and perfectly exposed face.","lastmod":"2026-05-01","duration":"0:48:11","url":"/play/19196171.html"}]},
videoTitle: 'Original Series - Rare Top-Ranked Female Host of the Year, Late-Night Sex with Tall, Leggy Beauty, Live Streamer, Deep Shouts and Interruptions on Camera, Active Riding',
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=/`;
}
};
}