Ang malalaki at malalaking suso na asawa, na tuwang-tuwa mula sa pagtakbo, ay kumalma kasama ang kalapit na titi! Hunter","lastmod":"2026-07-11","duration":"03:15:51","url":"/play/19164258.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOGFkNmQwNTE0MjMzOTRiMDdjYTJkNjcyODY5YTAyYmYuanBn.cache","vod_id":18954530,"title":"[Mga Lihim ng Magkasintahang Taiwanese, Nabunyag] Nabunyag ng isang hamak ang pribadong relasyon ng isang napakagandang babaeng may tattoo kasama ang kanyang kasintahan.","lastmod":"2025-12-14","duration":"00:13:40","url":"/play/18954530.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTIyNWIyNTEzOGI5NzVhNGMwMWVmMTFiYjU2NDM3OWIuanBn.cache","vod_id":18992669,"title":"Isang matangkad, seksing, at mahahabang binti na dilag ang kinukunan ang sarili niyang nakikipagtalik sa kanyang nobyo sa kanilang kwarto sa dorm. Umungol at sumisigaw siya habang kinakasakal siya nito, \"Aray, ang lalim! Pinapatay mo ako! Hindi! Hindi ko na kaya! Tumigil ka na!\"","lastmod":"2025-12-14","duration":"10:59","url":"/play/18992669.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzc5MTM3MTI5Y2EwZmIwZjBkYmUwN2M2ODNiODFhYmEuanBn.cache","vod_id":18986775,"title":"Napakagandang palabas ng masturbesyon ng babaeng Koreano","lastmod":"2025-03-23","duration":"00:23:34","url":"/play/18986775.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MTkvZTZlNWE4ZDJhMTFjZTFhNDM2OGM4ZTVjN2U2ZjEzYjkuanBn.cache","vod_id":19039094,"title":"BAGR059 Ang utang ng aking ama, kailangan kong bayaran. Ang Alamat ni Nono-chan, ang Pinakamalakas na Batang Babae na Umuunlad.","lastmod":"2025-06-19","duration":"01:45:35","url":"/play/19039094.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOTYzMzBmYjA3ZjUzMjc4NzNiZjhkZjk1YzVhYTY5NmUuanBn.cache","vod_id":19149576,"title":"Pawang magagandang modelo, kahanga-hangang lalaking nakasakay sa mga dayuhang kabayo, maraming taong nakikipagtalik, lalaking nagbibigay ng karangalan sa bansa sa pamamagitan ng pagsakay sa mga dayuhang kabayo sa ibang bansa.","lastmod":"2026-03-22","duration":"05:21:48","url":"/play/19149576.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjgyNjM5ZGYxZTNiYjg3ZDhjNDE3MTI5NTdhNjEyZTAuanBn.cache","vod_id":18964976,"title":"FC2PPV 3199516 Unang paglabas sa paggawa ng pelikula!! Limitado sa 3 araw, 1980 puntos!! Isang magandang babaeng nasa hayskul na nangangarap maging isang TikTok idol ◯k!","lastmod":"2025-03-22","duration":"00:47:41","url":"/play/18964976.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYWY3MDliMTM0NTI1MjUwYTc2ZjAyYjllYTY2MTIwZGIuanBn.cache","vod_id":19163933,"title":"Napakakitid na Banyo at ang Maganda na May Kurba ay Nagtalik nang Dalawang beses nang Magkasunod","lastmod":"2026-07-11","duration":"13:11","url":"/play/19163933.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2VlMTc2ZjBhNTBlZDBkZGI5MzUyYTlmMmIwMGViYzEuanBn.cache","vod_id":18946871,"title":"BF-599 Ang aking malalaki at nakababatang kapatid na babae ay isang hubad na babae, at inaakit niya ako nang walang anumang depensa, kaya gagawin ko ito.","lastmod":"2025-03-22","duration":"02:18:25","url":"/play/18946871.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODdhNTk4MTQ5MjY5YzA3MmVkZjNlOWU1Yzg3MGYwM2YuanBn.cache","vod_id":18964056,"title":"FC2PPV 3197953 [Uncensored] Isang 20-taong-gulang na estudyante ng sining na may magandang potensyal. Siya ay napaka-flexible, kaya napipilitan siyang ibuka ang kanyang mga binti at gumamit ng mga laruan para mabasa siya.","lastmod":"2025-12-14","duration":"00:51:35","url":"/play/18964056.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzUwYjFiM2NhZjgxOGUxZThjYzc4ZTM5NGIwN2YzM2EuanBn.cache","vod_id":18974983,"title":"[Mga Subtitle na Tsino] YMDD-321 Steam Channel [Babaeng Nasa Hot Spring] Isang hubad at mala-akit na babae ang nagsasagawa ng biglaang oral sex sa bathtub. Isang kahanga-hangang paliligo, kasama ang isang plano para sa paglunok ng semilya.","lastmod":"2025-12-14","duration":"02:37:27","url":"/play/18974983.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTUvMGUzZTRhMjE2NDViY2MyYmVkYzM5YmEyYmRjNmQyNTYuanBn.cache","vod_id":19133766,"title":"Ang mga magagandang babae sa Chengdu na nawalan ng trabaho dahil sa pandemya ay bumaling sa live streaming, at ang kanilang mga nilalaman ay nagiging lalong tahasan. Ang mga baguhang nagsimulang mag-stream ngayong buwan ay nagiging napaka-lihim kapag inilalantad ang kanilang mga suso.","lastmod":"2025-12-16","duration":"01:23:47","url":"/play/19133766.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOWM1NTQ0ZTQzMjM4MGZlZmNhYWFlNTQwNDIwNDYyODMuanBn.cache","vod_id":18966293,"title":"\"Extreme Spy Shot ㊙️ Real Leaks\" - Pagkuha ng litrato sa isang masikip na paupahang bahay sa isang urban village, tampok ang isang napakagandang babaeng may maikling buhok na nag-aalok ng mga serbisyong parang gulong, na angkop para sa lahat ng edad - mga tattoo sa construction site.","lastmod":"2025-12-14","duration":"00:01:44","url":"/play/18966293.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTU5ZmFhZjA0NWMyOTIwNTg5ZjIwNjI1MTI5N2U2YTMuanBn.cache","vod_id":18969415,"title":"SuSuLUCKY - Napaka-istilo, kamukha ni Feng Timo, ang linis at ayos ng puke niya, gusto ko talagang dilaan ito hanggang sa mabasa! (2)","lastmod":"2025-12-14","duration":"00:13:15","url":"/play/18969415.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNWI3NWFkYzkxMTM0Y2Y0ZDQzNmFiZWU1ZGJkYzU5NjQuanBn.cache","vod_id":19009535,"title":"Ang JRZD938 ay ang unang dokumentaryong kinunan tungkol sa isang babaeng may-asawa, si Riko Murata.","lastmod":"2025-03-24","duration":"02:06:42","url":"/play/19009535.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MTEvMTEyZDhmYmRjMzYzNmUxNjkwZTA1MTE0YTNhNmZmZGUuanBn.cache","vod_id":19051885,"title":"Isang babaeng nasa init na may matinding kasukdulan! Nagkamali siya sa pag-inom ng aphrodisiac na binili ko, at naging sobrang sensitibo ang kanyang katawan. Sinimulan niyang pagnanasaan ang aking ari at niyakap ako nang mahigpit! (Hindi kilalang aktor na SW983)","lastmod":"2025-09-10","duration":"02:09:41","url":"/play/19051885.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmYxODdlMjQ1YjQxNjllYjg3M2VmNWY1NjYwOGVhNTEuanBn.cache","vod_id":19000794,"title":"RIX-072 Ang Pinakamahusay na Wellness Massage Parlor para sa Magagandang Babaeng May-asawa","lastmod":"2025-03-23","duration":"03:15:42","url":"/play/19000794.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYzcyNmRiNDY2ZWM4ZmEyZWEwOWUyMDUyZGM0MWJiYTkuanBn.cache","vod_id":19162634,"title":"Gustong Mapahanga nang Nakakaakit ang Matangkad na Dilag! Yuina Taki NACR-689-C","lastmod":"2026-07-11","duration":"02:01:32","url":"/play/19162634.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTc2OGRlMDU2OGYwNmJiMWFkYzYxYmE1N2RkYmFjZjEuanBn.cache","vod_id":18931083,"title":"Heavyweight content (Sensenmumu) Unang beses sa isang plataporma para sa pakikipagtalik, pagsubo ng titi at paghagupit ng isang lalaking malaki ang titi sa iba't ibang posisyon.","lastmod":"2025-12-14","duration":"02:01:40","url":"/play/18931083.html"}]},
videoTitle: 'FC2PPV 3148237 [Plano] [Limitadong Pagbebenta] Unang 10 tao: 30,000 → 20,000 [Unang Facial] 18-taong-gulang na purong F-cup na kagandahan—Mika-chan! Pagbubuo ng batang pangangatawan',
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=/`;
}
};
}