[Pagpapalit ng Mukha] Na-ejaculate sina Lee Chaeryeong at Superwoman....","lastmod":"2026-07-11","duration":"27:29","url":"/play/19165008.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9pYy4xNTUyNTAyMTQudG9wLzIwMjYwMjE4L3JMeUxoWUt6LzEuanBn.cache","vod_id":19144235,"title":"Punong-puno ng mga aphrodisiac ang buong araw! Sabay na ejaculation sa bibig at ari! 40 orgasm sa matinding orgy mula umaga hanggang gabi!!! PRED-817","lastmod":"2026-02-19","duration":"02:31:59","url":"/play/19144235.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmQ4YTdlMWUyNTI0ZWZmNGFlY2RjNTE0NDY5YTI3ODguanBn.cache","vod_id":18944444,"title":"300NTK-302 Busty H-cup na babaeng estudyante sa kolehiyo!! Buhay-party ng agad na pagsundo sa mga babae pagkatapos ng isang gabing paglabas.","lastmod":"2025-12-14","duration":"01:08:21","url":"/play/18944444.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjNiMjUyMTVlNjU3YWFjZDQ3MTExMjc1MThlNjY4OTMuanBn.cache","vod_id":19014863,"title":"DTT030: Ang pinakamagandang date sa cumshot kasama ang pinakamagandang babaeng may-asawa. Isang cuckolded 3P na may asawang malaki ang suso, at cumshot kasama si Ichinose Sumire.","lastmod":"2025-03-24","duration":"02:12:49","url":"/play/19014863.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2YxNTE2ODRkNDM5NzE1NzNiNTI4Y2NlNWI3MmQzZmMuanBn.cache","vod_id":18992607,"title":"GEKI-038 \"Nakipagtalik lang ako sa nakababata kong kapatid na lalaki...\" Isang dating kampeon sa paligsahan ng Kanto fighting ang umamin sa kanyang hindi kilalang unang karanasan sa insesto! Ang kanyang sensitibong ari, na hindi pa nakikipagtalik sa sinumang lalaki maliban sa kanyang kapatid na lalaki, ay nakaranas ng kanyang unang magkakasunod na orgasm sa pagpasok ng isang malaking ari at paulit-ulit na parang piston na pagtulak! ...Sakuma Emi 1","lastmod":"2025-12-14","duration":"01:10:03","url":"/play/18992607.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYTA5ODg3NmQyODc1ZWEzMWVmYWRiMTU5YTI4ZTZiN2YuanBn.cache","vod_id":19161942,"title":"[4K] Kompetitibong Swimsuit NTR Ang babaeng nasa tabi ko ay nagsusumikap na suot ang swimsuit na may malalaking suso at buong ereksyon! Kahit kasal na ako Klasikong Video ni Morizawa Kana (Iioka Kanako)","lastmod":"2026-07-11","duration":"02:25:46","url":"/play/19161942.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTQvMzI1YTc5NmNiY2Y2OTcyMDNmM2YwYzEyZDJlYzBlYmQuanBn.cache","vod_id":19065002,"title":"Una niya akong ibinulalas sa loob, pagkatapos ay hinimas gamit ang kanyang mga daliri, at pagkatapos ay kinantot ako hanggang sa ako'y nag-orgasm—baguhan.","lastmod":"2025-12-14","duration":"19:38","url":"/play/19065002.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MDUvOWYyODRhZDQ2ZDVmMzE4ZjE5MTFmNGM0ZTdkYmQ2YjAuanBn.cache","vod_id":19051081,"title":"[Walang Sensor] Pakikipagtalik sa aking hipag na may malaking suso na tumakas mula sa bahay hanggang umaga - Hori Morohoshi 10musume-081022-01","lastmod":"2025-09-04","duration":"43:29","url":"/play/19051081.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjQvMWVlOTIzMDJjZTJjOWMyYmM4ZWNhY2NhZGUzYjg5NzMuanBn.cache","vod_id":19059320,"title":"\"Naaawa ako sa iyo...\" Noong mga mapanganib na araw ng aking pagbubuntis, ako ay pinapabuntis at binubulalas ng aking anak sa ina na ayaw magparaya... Wakamiya Hazuki HZGD_287","lastmod":"2025-10-23","duration":"01:59:58","url":"/play/19059320.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjA3MTZjYWM0MmM3YWQyOTM0OWRiODIyZmU4YTJhZjUuanBn.cache","vod_id":18955298,"title":"Produksyon ng MBM-030 mpo.jp ☆ Isang Koleksyon ng mga Di-Piksyong Dokumentaryo ng mga Amatsura - Mga Babaeng Natural na Malalaki ang Dibdib - 12 Babae, 4 na Oras","lastmod":"2025-12-14","duration":"01:59:22","url":"/play/18955298.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTUxNWNkMzhhYjJiNzc0NjcyNWE3NGRkZGQwNDc1YmQuanBn.cache","vod_id":18978790,"title":"FC2PPV 3572982 [Walang Sensor] [Limitado sa 200] \"Gustung-gusto ko ang hilaw!\" Paulit-ulit na umabot sa orgasm ang kanyang maliit, malambot, at sagradong katawan, halos sumabog ang kanyang sensitibong bulkan!","lastmod":"2025-12-14","duration":"01:05:59","url":"/play/18978790.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNzRkNTk3ZjQzOTMyY2UyZjRiZWMxNDBhMmUwZGRhNGMuanBn.cache","vod_id":19149728,"title":"Tinukso at sinubukan ako ng tuso at erotikong kapatid na babae ng aking kasintahan gamit ang kanyang hubad na bra, at pagkatapos ay napahamak ako sa kanyang maliit na paglalaro ng dibdib ng demonyo. (MIDA-488)","lastmod":"2026-03-23","duration":"02:33:32","url":"/play/19149728.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2UwOWE1ZjM0NjU4M2VmNTc5OWExODczMjEyMmRjNjYuanBn.cache","vod_id":18988400,"title":"HUNTA-695 \"Hoy, anong ginagawa mo?! Nasa loob ko 'yan! Lumabas ka!\" Tinulak ako ng malaswa kong kapatid sa paa sa dingding ng masikip na banyo, dahilan para mabulgar ako sa loob niya nang paulit-ulit...","lastmod":"2025-12-14","duration":"04:00:00","url":"/play/18988400.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MjUvZTgyMTc1MjEyZDdiOWMyNWUyZGI3NmI2ODA1ZDJhZWEuanBn.cache","vod_id":19039570,"title":"EBWH231 Isang babaeng estudyante sa kolehiyo na may malaking suso na nagtatrabaho sa isang chain ng beef rice restaurant ang labis na interesado sa malaking ari ng kanyang manager kaya't hindi niya mapigilang isipin ang tungkol sa seks.","lastmod":"2025-06-24","duration":"01:58:33","url":"/play/19039570.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MTAvZTE1ZDlhOWExNGVmYjJmYzQxMjY1YWVkZjA3NjQ1NTUuanBn.cache","vod_id":19037833,"title":"MIAA865 \"Sama-sama Tayong Sanayin ang Ating Puwet\" - Isang pawisan at malaking coach ang tukso sa iyo na alugin ang iyong mala-puwet na puwet at dalhin ka sa orgasm nang 10 beses.","lastmod":"2025-06-10","duration":"02:28:31","url":"/play/19037833.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDA5ZjUyNmQzNDk1YjdkZWIyNDMyNWQ1NDE4MWJlYTAuanBn.cache","vod_id":18995838,"title":"[STAR-991] Ganap na pinangangasiwaan ng sikat na tindahan ni Shinbashi ang mga bayag habang kakaibang binubuhay muli ang estetika. Nagdulot si Kato Momoka ng isang malakas na bulalas.","lastmod":"2025-03-23","duration":"02:18:14","url":"/play/18995838.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MTQvMjczYzdlOGQ0MTVkMWQyNzZhNTllNWU5YTM4N2Y4MWQuanBn.cache","vod_id":19042765,"title":"CJOB172 Paulit-ulit akong binubulalas ng mga putang iyon na nag-aagawan sa aking titi, paulit-ulit na nagbubulabog.","lastmod":"2025-07-13","duration":"04:00:59","url":"/play/19042765.html"}]},
videoTitle: 'SOE-948 Sensitibong Malalaking Suso na Pakikipagtalik sa Suso na may Ejaculation Kurata Mao',
language: 'fil',
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('Nakopya na ang link!');
}).catch(() => {
// 降级到旧方法
document.execCommand('copy');
alert('Nakopya na ang link!');
});
} else {
// 降级到旧方法
document.execCommand('copy');
alert('Nakopya na ang link!');
}
}
},
// 切换布局
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=/`;
}
};
}