300MAAN507 A self-proclaimed "Dick Sommelier" travels the world eating dicks!! As a multilingual girl, she uses her highly trained tongue skills to deeply suck the penis into her throat, performing vacuum oral sex and savoring its taste!! She shakes her full, round, and super bouncy ass while giving us the ultimate face-sitting and cowgirl positions!! A world-famous beauty receives face-shots and ejaculation twice in a row!!
Is the rich woman delicious? My upper lip and tongue and lower lip are so itchy. I don't want people to lick me. Do you want to have sex? Do you want to lick my pussy?","lastmod":"2026-07-11","duration":"","url":"/play/19206659.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNDRjNzc2YjUxMDUwMTVhOGQ5Yjc0ZWQ1MTRhMTNlZWQuanBn.cache","vod_id":19177952,"title":"[4K] Competitive Swimming Swimsuit NTR Because of the high-cut swimsuit of a healing-type beauty with beautiful breasts and legs, I became completely erect. Although I am married, it's still MADV-612","lastmod":"2026-02-02","duration":"2:21:15","url":"/play/19177952.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MTIvODEwZjhiNzlmMjg3MTZhOTJhMjU1Yjk5ZjRlMjZmMGEuanBn.cache","vod_id":19138899,"title":"MIDV-922 The town's renowned female doctor conducts a completely subjective and licentious physical examination of a doctor who cannot become a nurse.","lastmod":"2025-06-12","duration":"2:07:24","url":"/play/19138899.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9zYnp5dHBpbWc0LmNvbTozNTE5L3VwbG9hZC92b2QvMjAyNjAyMjAtMS81M2YxMTRiNDk1ZWE1NmExNDQ1NWMxMjkyNWYzMWZmYi5qcGc=.cache","vod_id":19181651,"title":"Filling the love-drenched cunt with thick licking and an unparalleled cock, Uncle's reverse PtoM sex JUR-482","lastmod":"2026-02-20","duration":"2:23:56","url":"/play/19181651.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTFlY2RjOGZiMzM4M2QzZTIyZmQzZTU2ZGRiYjQ4ZjQuanBn.cache","vod_id":19116732,"title":"MUDR079 From that day on... the difficult awakening of the beautiful girl Kururugi Aoi, who was bound and impregnated in uniform.","lastmod":"2025-03-26","duration":"1:58:55","url":"/play/19116732.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTEvOTNiNmUyMDY4NzI4MTJiOWU1Mzk0OGIzYjcyYjNhMzAuanBn.cache","vod_id":19207941,"title":"He brought his voluptuous wife to a orgy threesome and had a wild time.","lastmod":"2026-07-12","duration":"","url":"/play/19207941.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjUvNzBkM2FkNDk0YWE1YTdkNmUwOTE5MTk2MWFjY2I5MjcuanBn.cache","vod_id":19156286,"title":"Female student having sex with her new wife's child Mai Hanagari XVSR788","lastmod":"2025-09-24","duration":"1:57:57","url":"/play/19156286.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMTVjMzg2OTEzZjA3NzVkNTc0OTkzZTQ2OWQ3MWU0OTUuanBn.cache","vod_id":19080548,"title":"The UFE320 drew out sticky, silky, sensual saliva, which was drunk up in a frenzy... The head and penis were immersed in the thick, pleasurable sensation of the health salon, Chu Chuan Nan.","lastmod":"2025-03-26","duration":"2:27:08","url":"/play/19080548.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTExNjNiNGVlNDYwOTUwOWIwNTE2MmQ0YTAwZjkwMjYuanBn.cache","vod_id":19053104,"title":"This is the first time in my life I've ever had two consecutive vaginal ejaculations!","lastmod":"2025-03-26","duration":"1:01:03","url":"/play/19053104.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODA4N2VkNWFhMzkzYTZkNDQxZDcyMTM0NmI3ZjIxY2YuanBn.cache","vod_id":19117514,"title":"A sexy woman with black stockings and a beautiful buttocks is handcuffed and subjected to the unprotected ravaging of a huge penis...","lastmod":"2025-03-26","duration":"0:21:34","url":"/play/19117514.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTk5OTllYzM5ODgxYWNhMWMxNzc5NzM4YTgzYmNhNzUuanBn.cache","vod_id":19043063,"title":"VEC-364 NTR (Netorare) - My proud, busty wife is being groped and penetrated by my friend - Asaka Hinata","lastmod":"2025-03-26","duration":"1:36:23","url":"/play/19043063.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzMyYmI2NDU5YWJiZDg4OWNhMjU3MjNkYTcyM2FhNjUuanBn.cache","vod_id":19094731,"title":"She followed my instructions word for word, pretending to be a trainer.","lastmod":"2025-03-26","duration":"1:39:08","url":"/play/19094731.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMDdkNGZhNjJjZGU3Y2NlM2RmZDNmNGNiZDY1YzY3OTIuanBn.cache","vod_id":19172204,"title":"The smarter the student, the more erotic they are. To gain credits and satisfy her sexual desires, she secretly had herself penetrated 10 times from morning till night, hiding it from her boyfriend. (Mizuhara Wako, PRED-815)","lastmod":"2026-01-06","duration":"1:59:37","url":"/play/19172204.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MTUvMTc3MmNkMjUyZjM5Zjk1MDdjY2YzMDY2ZGE2NmExN2QuanBn.cache","vod_id":19154690,"title":"MIDV991 First time having sex with penetration","lastmod":"2025-09-14","duration":"2:33:01","url":"/play/19154690.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNmRjYTQ5MWE0NTE4NjAxNTIwOTdjODc5NTViNjNlYTAuanBn.cache","vod_id":19052240,"title":"The magical loli angel was penetrated.","lastmod":"2025-03-26","duration":"0:37:06","url":"/play/19052240.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZGU0YmIwZjM4NjE1NDExYmE1OGYyZGIxNTYyZDJjNzQuanBn.cache","vod_id":19077132,"title":"RKI670 A masochistic girl obsessed with bondage and exhibitionism awakens M-training and explosive sexual desire. The lewd girl becomes a sex urinal.","lastmod":"2025-03-26","duration":"2:30:43","url":"/play/19077132.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjcvODg3MDMwNGJlMTExYWVlYjk3YWY0ZTQ5NjdmNmY5MzYuanBn.cache","vod_id":19161299,"title":"A crazy man with a gorgeous body and instinctive sex, Nina Nishimura CEAD_647","lastmod":"2025-10-26","duration":"2:44:42","url":"/play/19161299.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzUxNWFkOTczZmYyM2IyZjVjY2RlMWY1YmRkZjkwMjUuanBn.cache","vod_id":19032935,"title":"[Young people having group sex] Face reveal, deep throat oral sex, big dick thrusting, white tiger sister being fucked to the point of ecstasy by missionary playing hard on her hole.","lastmod":"2025-03-26","duration":"0:27:12","url":"/play/19032935.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MTEvMGEzM2FjNmQzMjg0MWJiMWQzNTFkYzFlZmQ4MGI4MWYuanBn.cache","vod_id":19153864,"title":"Training a beautiful flight attendant","lastmod":"2025-09-10","duration":"0:22:10","url":"/play/19153864.html"}]},
videoTitle: '300MAAN507 A self-proclaimed "Dick Sommelier" travels the world eating dicks!! As a multilingual girl, she uses her highly trained tongue skills to deeply suck the penis into her throat, performing vacuum oral sex and savoring its taste!! She shakes her full, round, and super bouncy ass while giving us the ultimate face-sitting and cowgirl positions!! A world-famous beauty receives face-shots and ejaculation twice in a row!!',
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=/`;
}
};
}