Tunay na Diyosa ng Kagandahan sa Kampus Matalinong Halaman na Mahaba ang Paa Estudyante sa Kolehiyo-3","lastmod":"2026-07-11","duration":"49:55","url":"/play/19161140.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2FlOWNlMDk3YjkyMGMxZTVmNmMyNzBmYmJkMDE1NDAuanBn.cache","vod_id":18958344,"title":"\"Ang Pinakamagandang Babaeng Nagbubunyag ng mga Lihim\" Ang isang mahal sa buhay at materyalistikong flight attendant ng isang airline ay hindi malusog at palihim na kinukunan ng litrato. Sa eroplano, siya ay isang de-kalidad, banayad, at eleganteng diyosa, ngunit sa pribado, siya ay nagiging babaing kabit ng kanyang sugar daddy at sumasali sa lahat ng uri ng walang hanggang pagsasanay (26).","lastmod":"2025-03-22","duration":"00:01:00","url":"/play/18958344.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNmQ4ZWY3MzY3OGExNGM2NDc1OGQwNjAyNDdhZDc3MTQuanBn.cache","vod_id":19027293,"title":"Isang leaked sex video ni Liu Zixi, isang diyosa mula sa Shanghai Academy of Arts, ang lumabas online, tampok ang isang kilalang magkasintahan.","lastmod":"2025-03-31","duration":"03:11","url":"/play/19027293.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTA3NTM0OWI5OTBmNGMxMmRkOGFmZGQwZjg0OTRjYTEuanBn.cache","vod_id":18929596,"title":"Isang maganda at batang babae ang nagpapakita ng kanyang mga suso sa isang mapang-akit na pagpapakita. Hinubad niya ang kanyang bra, hinawakan ang kanyang mga suso, at pinunit ang kanyang medyas – talagang kaakit-akit at nakatutukso. Huwag palampasin ito kung gusto mo!","lastmod":"2025-12-14","duration":"00:36:49","url":"/play/18929596.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvNjhlNWUyM2UxZTE1NWM3NmVhNTU2OTE5MTc1YTQ0YjYuanBn.cache","vod_id":19157876,"title":"Isang maganda at seksing dalaga ang walang humpay na pinaglalaruan ng isang binata na dinidilaan ang kanyang ari, sinisipsip ang kanyang mga suso, pinasigla ang kanyang puwet, at ginamitan ng malalim na lalamunan ang kanyang ari gamit ang isang malaking titi. Pagkatapos ay kinantot siya nito sa iba't ibang posisyon, walang humpay na itinutulak at umuungol nang may malaswang ekspresyon.","lastmod":"2026-05-13","duration":"01:34:14","url":"/play/19157876.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOGQ0MTM1ZjcyZjA0OThiZGIyY2U4ODAzNTVhNTUwNTIuanBn.cache","vod_id":18959901,"title":"Kumikita ng dagdag na pera ang isang batang magkasintahan sa pamamagitan ng livestreaming mula sa bahay; perpektong nalalantad ang mukha ng kasintahan, at mahigpit na nakabuka ang kanyang mga daliri, indikasyon ng pakikipagtalik nang walang proteksyon.","lastmod":"2025-12-14","duration":"00:40:18","url":"/play/18959901.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MDIvYmYyMzk4NGU3MjYyZTVjN2EwMmEwZGMyNzJkZDZlMGMuanBn.cache","vod_id":19041125,"title":"Ang kwento ay tungkol sa isang diyosa na nagngangalang Yan Yu na ginahasa at kinunan ng litrato nang magkasama.","lastmod":"2025-07-01","duration":"20:04","url":"/play/19041125.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNmE1NDA3NGNiMjY0MmZlNjY2OGM3Y2IxYTAzNWFkNDMuanBn.cache","vod_id":19135333,"title":"Isang babaeng mahaba ang paa, balingkinitan, at malaki ang dibdib na nakasuot ng kimono, ang kanyang boses ay mahalay at mapang-akit, gumagawa ng iba't ibang cross-dressing at mapang-akit na mga aktibidad, at gumagamit ng mga props para laruin ang kanyang puke.","lastmod":"2025-12-26","duration":"02:07:33","url":"/play/19135333.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMmI3YzEyNWJhNWM3MTcxNThkZTZmY2MzNzUzYzM4NjEuanBn.cache","vod_id":18954710,"title":"Ang sikat at multi-talented na top star ng club, ang babaeng may mahabang binti at mature [Ah Xin], ay itinampok sa isang serye ng mga pribadong photoshoot, na nagpapakita ng iba't ibang seksing kasuotan, nagpapakita ng kanyang mga suso at ari, at nagsasagawa ng mga mapang-akit na sayaw sa iba't ibang istilo. (5)","lastmod":"2025-03-22","duration":"00:04:13","url":"/play/18954710.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNmM5NDFmM2JhODBhY2ExNzAyMGZmYTY4MDlmMWIwYjcuanBn.cache","vod_id":18977227,"title":"✅Diyosa na may magagandang suso✅Isang seksing diyosa na may kahanga-hangang pigura. Ayaw mo ba siyang kantutin? Isang malaking titi ang sumakop sa isang malibog na puta, siya ay nagkokombulsyon dahil sa pakikipagtalik. Ang masungit na diyosa na ito ay napakawalanghiya sa kama.","lastmod":"2025-03-23","duration":"00:07:24","url":"/play/18977227.html"}]},
videoTitle: 'Isang Mamamamatay-Tao na Naghahangad ng Kaluguran: 3000 Diyosa na May Mataas na Hitsura, Mahahabang Binti, at mga Babaeng May Gulang',
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=/`;
}
};
}