Mataas-kalidad, milyong-dolyar na COS blogger na Onlyfansnagisa Monster Cat Collection 36","lastmod":"2026-07-11","duration":"36:53","url":"/play/19161817.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYjZhNzc4ZTk0YWMwOWZjMDAyODMyMjBiODcwYzI1OTEuanBn.cache","vod_id":19136676,"title":"Pinakabagong Koleksyon ng mga Eksklusibong Benepisyo ni Ellieli - Bahagi 1","lastmod":"2026-01-04","duration":"08:33","url":"/play/19136676.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjAxN2M1NjI3ZjA3MTBmMjA4NzdiMmI0MDBjODQ1YTEuanBn.cache","vod_id":18965428,"title":"\"Pag-hack sa surveillance ✅ Tunay na tagas\" Ilang magagandang babae sa isang urban village ang umupa ng isang bungalow at ginawa itong bahay-aliwan para magbigay ng serbisyo sa fast food. Mayroon silang mga kliyente na iba't ibang edad, at ang kanilang negosyo ay umuunlad dahil sa kanilang kagwapuhan. (4)","lastmod":"2025-03-22","duration":"00:05:41","url":"/play/18965428.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDI5ZGJjYzgzYzg1NWNlYTk1NDdlNzFhYmM3MWY4NDUuanBn.cache","vod_id":18941366,"title":"Walang klase si Fourth Brother sa hapon, kaya hindi man lang siya kumain ng tanghalian. Umorder siya ng isang mesa na puno ng takeout, nag-check in sa isang hotel, at nakipagtalik sa kanyang kasintahan sa sofa habang nakasuot sila ng uniporme.","lastmod":"2025-12-14","duration":"00:13:44","url":"/play/18941366.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzVlMTc4N2I4Yjk5MmE2NTNjODIwZWIxZGExODVkOTYuanBn.cache","vod_id":18951164,"title":"\"Nangungunang Tier ⭐ Mabigat na Obra Maestra → Mga Benepisyo\" Eksklusibo kay 91 Mr. Bai para sa pagsali sa fan club, perpektong mukha na nagpapakita ng pakikipagtalik, iba't ibang pare-parehong magagandang sekswal na magkakaibang maliliit na puta ay labis na malibog, walang watermark na orihinal na likhang sining (1)","lastmod":"2025-12-14","duration":"00:01:16","url":"/play/18951164.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmVjZDg3NzhkMzYyYmNiZmQ5ZWU2ODM2MTk2ZDVlN2QuanBn.cache","vod_id":18945957,"title":"Pinakabagong produksiyong Tsino - 30-Araw na Proyekto sa Pakikipagtalik ng Madou Media: Ibinunyag ni Madou Old Mer ang mga Trahedya at Tunay na Karanasan sa Pakikipagtalik ng mga Lalaking Aktor na AV (Mandarin, Chinese Subtitles, High Definition 1080P Original)","lastmod":"2025-12-14","duration":"00:10:04","url":"/play/18945957.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MjAvYzU5YjE2YTU2Yzk2NDllNjI1YTJmYWU4ZWRhYjFlYTQuanBn.cache","vod_id":19034243,"title":"XK8061 Shanghai Bund Republic of China Cheongsam Serye: Isang maalamat na warlord ng Shanghai na mas pinili ang kagandahan kaysa sa kapangyarihan.","lastmod":"2025-05-20","duration":"33:13","url":"/play/19034243.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDAzODUwMmUxZGFlNzJmZDU0ZDczZDI2NGExMjdjZTEuanBn.cache","vod_id":18955051,"title":"[Mataas na Kalidad ✅ Binili sa Mataas na Presyo] Rare Top-Tier Full Nude Model ng Sun and Moon Club [Ayan] - Exposed Nude Aerobics - Transparent Black Stockings Bodysuit - Dead Water Reservoir, No Water Original File - Black Stockings","lastmod":"2025-12-14","duration":"00:17:04","url":"/play/18955051.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZWM5ZWRhZjliY2UxZTBmNjQ1ZmE1NWZlNDdiZThjNDMuanBn.cache","vod_id":18945296,"title":"Isang kamakailang sikat na bayad na sex video ng magkasintahang Tsino sa Pornhub - tampok ang isang babaeng bida na may katawang puting tigre at isang lalaking bida na may fetish na cross-dressing, na nag-aalok ng iba't ibang pamamaraan kabilang ang pakikipagtalik nang walang proteksyon, pagbubuhat ng binti, at matinding penetrasyon sa high-definition 1080P na orihinal.","lastmod":"2025-12-14","duration":"00:31:33","url":"/play/18945296.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmM1ZWZiNWRlNDM5NGViNTM3NGIyMzdkM2JlNDE2MTAuanBn.cache","vod_id":18951477,"title":"\"Pinakabago ✅ Nangungunang Tanyag sa Internet ✅ Breaking News\" Libu-libo ang Naghahangad ng Palayain Lamang Mga Tagahanga Ang retiradong aktres na AV na Tsino na may magagandang dibdib at puwit ay napakalakas ng bayad na pribadong shoot ni Chen Meihui na nagtatampok ng iba't ibang istilo ng erotikong 3P at internal ejaculation (8)","lastmod":"2025-12-14","duration":"00:21:58","url":"/play/18951477.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjg2YjMyMGFlY2IyYjkxZDUxZWMyOThlODI1ZWI3MGUuanBn.cache","vod_id":18947100,"title":"Pinakabagong mapang-akit na sex tape mula sa Twitter influencer na si \"Youmiao-chan\" - sobrang kaakit-akit na fetish sa paa, perpektong magandang pink na puke, madamdaming penetrasyon at matinding pakikipagtalik, high-definition 720P na bersyon.","lastmod":"2025-12-14","duration":"00:08:47","url":"/play/18947100.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MTAvYTM2ZDgxYjYzNWI1NWFjOGNhZmI5YzEwNzQyMDE2ODguanBn.cache","vod_id":19042274,"title":"Isang matandang lalaki ang nagbayad ng malaking halaga ng pera para umupa ng isang kaakit-akit na dalaga at isang batang babae para sa oral sex at double penetration.","lastmod":"2025-07-09","duration":"18:43","url":"/play/19042274.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMGZjNGFlNTVhMjFhMzM4MmFiN2FmZTAzMTBkOGU5MDEuanBn.cache","vod_id":18993021,"title":"KAWD-998 Pagtuklas sa Babaeng May Karatula: Ang nangungunang kaibig-ibig na babae, si Hikari-chan, sa sikat na unipormeng massage parlor, ay naloko para makapasok sa industriya ng adult entertainment! 1","lastmod":"2025-12-14","duration":"01:58:49","url":"/play/18993021.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMGNjZTM5ZjZhYWMxNmI2NDE5MTVjMjA3Zjc2Y2IxNDMuanBn.cache","vod_id":18987786,"title":"QBD-045 Pagtatalik sa isang babaeng estudyanteng naka-uniporme - Momoka Sakura","lastmod":"2025-03-23","duration":"01:54:48","url":"/play/18987786.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTQwNWEyYjZmNGY1Nzc1YzFkODJkOTkxYzJhMWFlOTEuanBn.cache","vod_id":18962317,"title":"MXDLP-0076 School Uniform Fetish Collection Vol. 2 Ruri Kamiya, Kanon Momojiri, Aoi Kururugi, Momoka Kato, Kanon Kanade","lastmod":"2025-03-22","duration":"02:06:16","url":"/play/18962317.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjM1MzVlMTZjZGY2ZGFmZTgxMzgyMzk2ZmU2OTg3NGYuanBn.cache","vod_id":18995166,"title":"[Lesbian] [Model Sisters 3P] Isinama ang kanyang matalik na kaibigan para sa isang outdoor photoshoot para maubos ang atensyon ng photographer - ang photographer yata ang pinakamaraming nakakakuha ng sex!!","lastmod":"2025-03-23","duration":"27:42","url":"/play/18995166.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzU5OTViZDllY2QxNjkxNjIwODI3YmRhMmZiODhkNzEuanBn.cache","vod_id":18983661,"title":"[Mga Subtitulo ng Tsino] HMN-433 Muling ikinasal ang aking ina sa nang-aabuso sa tren noong ako'y estudyante pa lamang. Mula noon, tinatrato na ako na parang isang masunuring alagang hayop na naka-uniporme araw-araw.","lastmod":"2025-03-23","duration":"02:30:10","url":"/play/18983661.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2Q2YTI0MThlOWVmMTRjMzMxMzFkY2UzZDIyMGI3ZWMuanBn.cache","vod_id":18952828,"title":"⭐Kabataan at walang talo⭐ Isang influencer sa Twitter na may mahabang paa na istilo ng TikTok, si Miss Dong, mga pribadong larawan ng hubad na sayaw, matamis at maalat, iba't ibang uniporme at damit-panloob, nawawala habang sumasayaw (16)","lastmod":"2025-12-14","duration":"00:01:08","url":"/play/18952828.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjJmNjdiOTYyOTA0YjU4OWY0OWUwMzY5ZmVhOWM2ZjEuanBn.cache","vod_id":18966207,"title":"\"Mga Pinakabagong Lumabas na Sikreto\" - Dapat-Mayroon ang mga Mahilig sa Asawa! Mga Pribadong Litrato ng Sikat na Magkasintahang Kilala sa Internet na si Dayu - Pagsasanay at Pakikipagtalik na may Lahat ng Uri ng Hindi Kapani-paniwalang Kasanayan, Baywang na Putik, Matatabang Balakang, Pinakamataas na Putahe (1)","lastmod":"2025-12-14","duration":"00:36:43","url":"/play/18966207.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZTBiYWEwZmVhNGI2ZWIzZjVkZDFmMzczNTU0NTVkOTMuanBn.cache","vod_id":19141169,"title":"Sikat na batang babae sa elementarya na si Xiao Yi, ang SO Bobo Hotel: Maraming sesyon ng pakikipagtalik nang walang proteksyon na may internal ejaculation.","lastmod":"2026-02-02","duration":"01:09:58","url":"/play/19141169.html"}]},
videoTitle: 'Pinakabagong napakainit na premium na pelikula: Dalawang magkapatid na may taas na 177cm na naka-uniporme na magkasamang lumilipad sa Shanghai.',
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=/`;
}
};
}