Seorang tukang pijat dikirim untuk menyentuh area sensitif, menyebabkan orgasme yang tak tertahankan, dan dia dibawa pergi setelah diajak berhubungan intim. Kuramoto Sumire Dasu!","lastmod":"2026-07-11","duration":"","url":"/play/19267526.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMmI2YTkzMDBjZWRkOWFmM2RhNzcxMzUwNTdjYTQ2ODQuanBn.cache","vod_id":19182099,"title":"Rekaman sudut pandang orang pertama dari seorang gadis cantik berpakaian seksi yang menunggangi penis saya dan menggerakkan pinggulnya dengan liar hingga saya berejakulasi di dalam dirinya.","lastmod":"2025-03-30","duration":"0:14:19","url":"/play/19182099.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMWExY2FlY2VkMmJlZDY5MDMwNjYxMDE1Nzc0OWI1NmUuanBn.cache","vod_id":19257608,"title":"Gambar-gambar Cabul - Benar-benar Tak Tertahankan!! Ejakulasi Tanpa Perlindungan yang Ekstrem dan Klimaks Berlanjut!! Seorang Ibu Rumah Tangga Tukang Pijat di Salon Kecantikan Pria Tipe Layanan Cepat Berejakulasi Tanpa Kondom - Big Mocal","lastmod":"2026-05-08","duration":"4:00:40","url":"/play/19257608.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MzAvNjE5MjYwMTBiMGM4MDJiZDNmYTI2NTkwYzgzODE3NzQuanBn.cache","vod_id":19205320,"title":"IPZZ118 Pijat erotis payudara afrodisiak dari penyembuh jahat membuatku kencing dan mencapai orgasme","lastmod":"2025-05-30","duration":"2:16:12","url":"/play/19205320.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTE5ZTQ1YTM1YzI2MzA2NzUxZDZiZjEwMzU1YzI3NjMuanBn.cache","vod_id":19116571,"title":"Pria muda di panti pijat itu sangat malu dengan rayuan wanita itu sehingga pipinya memerah. Wanita itu memberinya seks oral dan penis yang besar, dan hubungan seks yang penuh gairah dari wanita itu begitu menggairahkan sehingga bahkan pria itu pun terangsang, dengan erangan dan desahan yang terus-menerus.","lastmod":"2025-03-29","duration":"0:17:37","url":"/play/19116571.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MzAvNjlkODQ5MjcyOGFkYjVjNTlmNmU3ZTJkZTQzNTE0MDUuanBn.cache","vod_id":19200234,"title":"Hadiah kejutan untuk pacarku di Festival Qixi: sebuah penis.","lastmod":"2025-04-30","duration":"","url":"/play/19200234.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzA1ZTgxY2Q0M2M5OTk4YmJkZDdiMDZhNjQ0OWY5NjYuanBn.cache","vod_id":19108995,"title":"Seorang wanita dewasa di dekat situ diam-diam difilmkan saat kehilangan keperawanannya karena penis yang sangat besar! 14 kali pengambilan gambar!","lastmod":"2025-03-29","duration":"3:02:29","url":"/play/19108995.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzc1MWE5MmIyMDg3Y2ZjZmIxNjEzNzk4MjU0MTVhNmYuanBn.cache","vod_id":19182367,"title":"Seorang gadis Tionghoa memijat payudaranya; itu sempurna.","lastmod":"2025-03-30","duration":"0:14:42","url":"/play/19182367.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTIvNTc2ZDg5ZjI4YTAzMTgzODQ3ZjljMzMzNTJhNTVhMWMuanBn.cache","vod_id":19268094,"title":"Setelah shift malamku, penisku yang lelah dilihat oleh istri tetanggaku, yang menggunakannya untuk melepaskan hasrat seksualnya. Aku belum tidur sama sekali selama tiga hari terakhir... ADN-695-C","lastmod":"2026-07-11","duration":"","url":"/play/19268094.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZmI5NDFhZTU4ZDFlN2YwNjFhOWRhZWRiYTJiYjhmMjMuanBn.cache","vod_id":19048297,"title":"Dua saudari bertubuh seksi dan berpayudara besar berbagi seorang pria dan menggunakan alat pijat elektrik berukuran ekstra besar.","lastmod":"2025-03-29","duration":"0:24:15","url":"/play/19048297.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MTkvZWY3MmZkYTkyZjliNGM0ZDgzN2Q0NmRlNGU2ZjE5YjkuanBn.cache","vod_id":19264313,"title":"Orgasme sungguhan saat pijat untuk wanita MASSAGE2018 [DuBarry]","lastmod":"2026-06-18","duration":"0:14:44","url":"/play/19264313.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDBhMDAyNjJiMWYyOGQ4OWZkMDMzZTJkOThjOWJlZWUuanBn.cache","vod_id":19188550,"title":"Pijat minyak afrodisiak, voyeur mesum, dan gadis amatir yang mengalami penetrasi. VOL. 4.","lastmod":"2025-03-30","duration":"1:57:43","url":"/play/19188550.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYWNjYzg1M2EwYjdhNGVhNjQyMDMxMjAzNDYzNjhiMTguanBn.cache","vod_id":19184119,"title":"VRTM441 dicampur dengan afrodisiak dan pil tidur! Diikat erat, mengenakan pakaian renang, tidur dengan anak perempuan berbokong besar, dan dikenai hukuman berbasis mainan! 2.","lastmod":"2025-03-30","duration":"1:51:05","url":"/play/19184119.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOGYxMmYwYWNmMjdjMGMxMTQ1M2ExZDE2MjUzMTQyMTIuanBn.cache","vod_id":19247881,"title":"Seorang wanita muda yang sudah menikah di sebuah panti pijat menawarkan pijat minyak dan seks tanpa penetrasi seharga 528 yuan. Itu benar-benar harga yang sangat murah.","lastmod":"2026-03-06","duration":"0:37:37","url":"/play/19247881.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjUvZjI2M2Q3ZmQ0YTI2OTViZGI1ZjdhMjkxYzdiMjRhNzQuanBn.cache","vod_id":19265333,"title":"Tolong, pengasuh bayi yang lembut dan aktif. \"Apakah Anda ingin saya membantu membersihkan penis perawan yang mengalami fimosis ini?\" Karena tidak dapat mengabaikan ereksi tertahan pada penis perawan itu, pengasuh bayi yang lembut itu... (jongkok)","lastmod":"2026-06-24","duration":"5:40:39","url":"/play/19265333.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9mYS5zbDI2MDIwNC50b3AvdXBsb2FkL3ZvZC8yMDI2MDIyNS0xLzJlNTk4NGI4NjNjZmI4NzA3MjYzZjQ3NTQzOGJmNWMyLmpwZw==.cache","vod_id":19246466,"title":"Seorang wanita berambut pirang dipijat dan diperkosa secara brutal oleh seorang pria berotot dengan penis yang sangat besar.","lastmod":"2026-02-25","duration":"0:27:45","url":"/play/19246466.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYWEwODdhMDg4N2JjODY4ZmEwZDc5ZmMzYTMzM2ZiZjcuanBn.cache","vod_id":19140332,"title":"HJMO-626: Seorang wanita cantik berbikini dan seorang pria biasa dengan penis besar bertemu untuk pertama kalinya di pantai Shonan dan mendapatkan \"pijat minyak esensial Sunomata\".","lastmod":"2025-03-29","duration":"4:01:03","url":"/play/19140332.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTgwMDA3YTlkYmUwMjY3ZDY4YmU3NWY1OGEyZTZlOGYuanBn.cache","vod_id":19095741,"title":"Sebuah panti pijat mengaku sebagai cabang yang baru dibuka, menggunakan hubungan seksual untuk \"meredakan\" kesibukan para wanita pekerja. -cd2","lastmod":"2025-03-29","duration":"0:04:12","url":"/play/19095741.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDc0NGNjNDVmZDQ1M2FlMTRiOTExMjk3ZTU3NDcxMWUuanBn.cache","vod_id":19130233,"title":"\"Berhenti bicara!\" Ini terjadi ketika putranya menarik celananya ke bawah saat pijat, memperlihatkan bokongnya...","lastmod":"2025-03-29","duration":"2:01:02","url":"/play/19130233.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZWQ1ZjZiNmZlZTVkNjhlMTJmZGE4ZmNkZTEzZDZkZmQuanBn.cache","vod_id":19111585,"title":"Wanita muda seksi dengan stoking hitam dan seragam menjalani pijat payudara dan penghisapan telur; tekniknya luar biasa, menghasilkan ejakulasi di wajah dan menelan air mani. _x264_aac","lastmod":"2025-03-29","duration":"0:20:37","url":"/play/19111585.html"}]},
videoTitle: 'HMN-130 dibius dengan afrodisiak oleh seorang tukang pijat jahat... Efek luar biasa dari penis dan afrodisiak AIKA',
language: 'id',
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('Tautan berhasil disalin!');
}).catch(() => {
// 降级到旧方法
document.execCommand('copy');
alert('Tautan berhasil disalin!');
});
} else {
// 降级到旧方法
document.execCommand('copy');
alert('Tautan berhasil disalin!');
}
}
},
// 切换布局
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=/`;
}
};
}