300MAAN-366 Ang 5 nangungunang erotikong pamamaraan ni Akemi ay makakaubos ng iyong semilya [1] Isang malaswang katawan na nabuo sa pamamagitan ng pagsasanay sa pagsasayaw [2] Mabilis na erotikong sayaw na umiikot sa balakang [3]
Si Peh-koiFuruki-san ay naging eksklusibong porn maid ng kanyang nakakatakot na otaku na kasintahan","lastmod":"2026-07-11","duration":"05:47","url":"/play/19164870.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/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MzAvNjQxYTVjZmM1NmM2MGJkODhhYjNiMDA2YmQzNDBhOGUuanBn.cache","vod_id":19055240,"title":"Isang video ng voyeurism na pang-de-kalidad na parang mga kilalang tao, nagpapakita ng isang babaeng sumisilip sa isang grooming salon para sa mga lalaki. Ang mga kahanga-hangang kasanayan at matalik na bulong ay nag-iiwan sa mga lalaki na lubos na napukaw ang kanilang sekswal na damdamin. Hindi kilalang aktor na si SMJB005","lastmod":"2025-09-29","duration":"02:39:03","url":"/play/19055240.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYTVmN2JmNzhjZWY0ZDY3NzQyN2RkZDM0NzFiNGRlODkuanBn.cache","vod_id":19161685,"title":"","lastmod":"2026-07-11","duration":"08:00","url":"/play/19161685.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvZWNiZjIyNDcyZTgzMDA2NDQ2M2ZkODRlYWU4ZGE0ZDUuanBn.cache","vod_id":19065274,"title":"Mga Malalaswang Kamag-anak: Mga Orgasm ng Hipag mula sa Malaking Titi ng Kanyang Pawisang Tiyo - Ryoko Izawa JJDA_052","lastmod":"2025-12-14","duration":"02:00:48","url":"/play/19065274.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTdjZmQyOGU1NmI3NjlhZDIyMWU3MzVhOWIyMGZjZTEuanBn.cache","vod_id":18986515,"title":"SOE-299 Celebrity x Adventure Mosaic: Escaped Body Romance - Mika Kayama","lastmod":"2025-12-14","duration":"01:57:18","url":"/play/18986515.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzI2YjNiMjAzZTY2OGYzOTJlM2MwNWVhNGE4YzFmMGQuanBn.cache","vod_id":19016587,"title":"STARS074 Ikuiku Idinidiin ng malaswang babaeng agham (babaeng agham) ang kanyang malaking puwitan kay Masami Ichikawa na nakaupong nakadapa.","lastmod":"2025-03-24","duration":"01:59:35","url":"/play/19016587.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzI5NWVlOTYzZGYwMGM1MTM2NGFkNTQxMGM4ZDdhYmIuanBn.cache","vod_id":18927261,"title":"Ang platform na \"Little Cute\" (dating Kawaii) ay nagtatampok ng isang mahalagang, mature na babaeng streamer na nagngangalang Qimaomao na naniningil ng bayad para sa pagpapakita ng kanyang pigura at pagsasagawa ng labis na mahalay na masturbesyon at penetrasyon sa ari.","lastmod":"2025-12-14","duration":"00:59:48","url":"/play/18927261.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMWVkODE2NDQ0MzQzN2Y5ZWJhYTgyYjI1M2Y0NzIxYjAuanBn.cache","vod_id":19156759,"title":"Isang date showdown kasama si Yuzuha Natsumi! Dinala ko ang isang maswerteng lalaki sa isang hotel sa lungsod, nagsalita ng malalaswa, inalog ang kanyang G-cup na suso, at binigyan si Yuzuriha Karen ng PREMIUM...","lastmod":"2026-05-06","duration":"03:02:23","url":"/play/19156759.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmQ4NWIyMGMxOWJmOGIwZjBhOWMwODUzZWE0YWE5N2YuanBn.cache","vod_id":18990207,"title":"HODV-21442 Hapones na May-asawa: Isang lokal na malaswang tiyahin mula sa kabilang panig ng kapuluan. Gusto mo bang makita ang buhay seks ng asawa ng iyong kapitbahay? (0002) (Incest)","lastmod":"2025-12-14","duration":"03:59:00","url":"/play/18990207.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNmUwZDM0M2IxNjI3N2JhYWM0MGJlMDNkZjZkMTExNTUuanBn.cache","vod_id":19012742,"title":"MDBK079 Naghahanap ng mga donor ng tamud upang labanan ang pagbaba ng bilang ng mga ipinanganak! Naghahanap kami ng mga lalaking donor ng tamud para sa isang programang boluntaryo para sa suporta sa ejaculation ng malalaking suso.","lastmod":"2025-03-24","duration":"02:43:38","url":"/play/19012742.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZTBmYmI4YjU1MjYzNjgyMmExYzE2YTc4NDY2YTgyNTYuanBn.cache","vod_id":19149558,"title":"Twitter Yakyuken: Ang mga babaeng kalye ay naglalaro ng medyo erotikong laro; ang matatalo ay kailangang maghubad ng isang piraso ng damit! Kung makukuha mo ang iyong OFSD-055","lastmod":"2026-03-22","duration":"02:52:26","url":"/play/19149558.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvZjEyYzcxYjQ4ODliYWJlMmM2MTBiMmMzMTc0NmU2NzguanBn.cache","vod_id":19159367,"title":"Gustong makipagtalik sa pinakamalaswang babae sa isang high-class nightclub, nababalitang may \"multo pillow\"! High-class hostess: Cui NPJ","lastmod":"2026-05-22","duration":"02:38:13","url":"/play/19159367.html"}]},
videoTitle: '300MAAN-366 Ang 5 nangungunang erotikong pamamaraan ni Akemi ay makakaubos ng iyong semilya [1] Isang malaswang katawan na nabuo sa pamamagitan ng pagsasanay sa pagsasayaw [2] Mabilis na erotikong sayaw na umiikot sa balakang [3]',
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=/`;
}
};
}