【Muku Exclusive Actress】Kuramoto Sumire: Thick Saliva Exchange Kissing and Super Thick Sexual Intercourse Overflowing with Body Fluids Kuramoto Sumire Muku","lastmod":"2026-07-11","duration":"","url":"/play/19206709.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MDIvNzhjNmVhZGM0ZmEwZTBhNDA5MmMxMjJkOGJiMGI1ODQuanBn.cache","vod_id":19137409,"title":"KSBJ276 Abstinence Release Aphrodisiac Techniques Awaken an Overwhelming Orgasm","lastmod":"2025-06-02","duration":"1:59:54","url":"/play/19137409.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWRiZTI4ZDI1Y2I2ZjVmNmIyYWQ5ZDBjN2MxMzQ1MGYuanBn.cache","vod_id":19127585,"title":"Hot Plate Returns: Sichuan Cuisine Meiling - Sweat, Love Fluid, Semen - The Climax of Excitement - Sichuan Cuisine Meiling TPPN-208-C","lastmod":"2025-03-26","duration":"2:01:52","url":"/play/19127585.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzhmY2Q0YTg1MWEwNDU4OTQ4ZDYzNjAyNzM0NDNhMTguanBn.cache","vod_id":19101941,"title":"My father-in-law knew all my erogenous zones, and he made me orgasm for seven consecutive days while my husband was away...","lastmod":"2025-03-26","duration":"2:26:31","url":"/play/19101941.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MTAvMDkwZDE5NDY2M2Y1ZjBhYTc5NTFiNGI1ZTkxYjcyMjYuanBn.cache","vod_id":19142972,"title":"DRPT084 A voluptuous probation officer is sandwiched between two lesbian girls, both nipples being licked until he ejaculates.","lastmod":"2025-07-09","duration":"1:52:00","url":"/play/19142972.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTkxNDBkYzkwZWNjZDVjMGRkYTZiMzNkNGUwNGRjODMuanBn.cache","vod_id":19107255,"title":"Intense sex with famous actress","lastmod":"2025-03-26","duration":"3:32:12","url":"/play/19107255.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MTMvYTgxMjg3YzVkYjhmZDlhNDBhOWIzYWQ5ZjFiYzIxZWYuanBn.cache","vod_id":19143474,"title":"YUJ026's record of a month in the hospital: a little devil in a white coat made me ejaculate again and again without being able to use my hands.","lastmod":"2025-07-12","duration":"1:50:14","url":"/play/19143474.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNjk5MTc3YWYzMDE5Y2ExMzlkN2RlMDhlNzdmYTY4NWIuanBn.cache","vod_id":19043762,"title":"SABA-474 A manga-style otaku college student with huge breasts hidden behind unfashionable glasses. Despite having little sexual experience, Chie, who constantly fantasizes about erotic things, succumbs to the pleasure of penile penetration, moaning and experiencing repeated orgasms during sex.","lastmod":"2025-03-26","duration":"2:19:43","url":"/play/19043762.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzE0YjExMGFmOWZiNjA4NzJhM2RmODBmZGVlY2UxMzIuanBn.cache","vod_id":19034667,"title":"SDMM-108 Nurse Only: This should have been a blushing virgin's first time... but it turned out to be an insatiable AV actor who didn't care about incontinence and spasms, and continued to pump himself to ejaculation with his unstoppable piston-like thrusts! [Magic Mirror 25th Anniversary Commemorative Work] Mamiya Uka, Asahina Hana, Dan Kohana","lastmod":"2025-03-26","duration":"4:03:11","url":"/play/19034667.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZGE4OTFiZjFkYmFkMDFjZGI1YWJiZDE1MzY0ZDlhMTkuanBn.cache","vod_id":19174942,"title":"Super Hard Orgasm DJ Aphrodisiac Snake Wine Overdose Hallucination SEX SEASON18 Saito Amiri BAB-176","lastmod":"2026-01-19","duration":"2:02:58","url":"/play/19174942.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYjAzYTFkMTgwOGQ3ODlkNzk0NDRkYWRmZjcxYjFmMzAuanBn.cache","vod_id":19200972,"title":"I want my nipples and penis to be attacked! A sweet, sadistic slut girl who satisfies the desires of amateur masochistic men!! NACR-731-C","lastmod":"2026-05-24","duration":"2:05:02","url":"/play/19200972.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MzAvZGFiM2YwMjYwNzRlZGJlMDQ2OTAzNmRmY2RkMGIxMjQuanBn.cache","vod_id":19141444,"title":"SCOP876 I always call the M-sensation delivery guy, and he always ejaculates right away, which makes me a laughingstock. I'm going to check it out today.","lastmod":"2025-06-29","duration":"2:08:57","url":"/play/19141444.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvY2JlYjcyMjI3M2QyNzE2MzMzMTExYjJiZDk4NTg2ZTYuanBn.cache","vod_id":19179460,"title":"Group sex leaked: Northeast brothers and friends' real 3P intense sex until orgasm, convulsing expressions, lewd words, screaming, front and back thrusts, perfect face reveal.","lastmod":"2026-02-09","duration":"0:09:36","url":"/play/19179460.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDA1NGQwMmY4YzQ1MWQ1MDJiZmMxMjljOWNiYWQ3MDguanBn.cache","vod_id":19093486,"title":"This lustful woman, craving semen, showed no mercy even as she was about to ejaculate! Top-tier equipment relentlessly pounded the cowgirl, resulting in 84 ejaculations.","lastmod":"2025-03-26","duration":"3:56:26","url":"/play/19093486.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDAxNDdhOTM1NzM2Mjc3MzUxNDllMTBiMWVkZGRhYTEuanBn.cache","vod_id":19072903,"title":"EBOD731 Ami (23 years old), a freelance woman working for a transportation company, has an H-cup bust that's hard to see! She's restrained! She's been played with until she reaches an extraordinary climax! ...","lastmod":"2025-03-26","duration":"2:33:33","url":"/play/19072903.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWQwYjgxNjc4MDllNDgwNTBlZmNiMWJhM2RkNjczYzkuanBn.cache","vod_id":19078723,"title":"PRED246 My sweet cohabitation and nipple-playing sex life with my college student girlfriend, Yamagishi Aika, a corporate executive. (Yamagishi Aika...)","lastmod":"2025-03-26","duration":"2:32:06","url":"/play/19078723.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDlkNTRlNGQzMWU5MmNlZjc2NGJlODE1MmVjYjFmMWUuanBn.cache","vod_id":19118374,"title":"IPX348 Beautiful and lovely older sister's pleasure orgasm 4 times with super large amount of squirting 240 minutes special edition Chika Rin.","lastmod":"2025-03-26","duration":"3:58:14","url":"/play/19118374.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvOTc0ZWRlYjcxOGNiMTYxMjQxZTY0MzNhMGQ5Mjc3YzUuanBn.cache","vod_id":19201053,"title":"Momo-chan, a slutty girl with female orgasms, is penetrated in a masochistic urinal ring, her hole and vulva being violated. (Poisonous Banquet)","lastmod":"2026-05-24","duration":"4:30:39","url":"/play/19201053.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjVhOGUwYzExZmZlN2Y3Mzk0NzRkZGFmZWVhNzU3MzAuanBn.cache","vod_id":19111933,"title":"3D grows into a shape that can give you an orgasm","lastmod":"2025-03-26","duration":"0:22:19","url":"/play/19111933.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjFjYzI4ZGQwZGYxYWE0Zjk5NDg0ODJlNmFhZjZhNTIuanBn.cache","vod_id":19027184,"title":"ABP-818 lets you fully experience G-cup goddess breasts in 3 main scenes. A super erotic, busty masochistic beauty is brought to orgasm by Nagase Mimo.","lastmod":"2025-03-25","duration":"3:42:45","url":"/play/19027184.html"}]},
videoTitle: 'Nipple rubbing, female orgasm, ejaculation, intercourse - Araki Yuai DASS-609-C',
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=/`;
}
};
}