Isang babaeng estudyante sa kolehiyo sa Chengdu, na pinag-usapan ng isang master para magkita, ang nanloko sa kanyang kasintahan sa pamamagitan ng pakikipag-hookup, aktibong pag-uuna, pag-alog ng kanyang puwitan, at paglantad ng kanyang mukha sa buong proseso.","lastmod":"2026-07-11","duration":"","url":"/play/19206949.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOThhZTJhNDQxZjBmOWM2Y2JiMDNmM2ZjMDMzODc3YjYuanBn.cache","vod_id":19125661,"title":"Isang magandang binibini na nakasuot ng baseball cap at mapupulang labi! Maputi ang balat, maliliit na suso! Napakagandang ugali. Ibinuka niya ang kanyang mga binti, ipinakita ang kanyang magagandang paa sa puting medyas at ipinasok ang isang vibrator sa kanyang puke.","lastmod":"2025-03-26","duration":"0:41:03","url":"/play/19125661.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYWZkYTU1YmVmZDkyOTdlMjVjNjhmYTFlYzE2ZTJhMmEuanBn.cache","vod_id":19074725,"title":"300MIUM574 [Ang Demonyo, Walang-Sawang Asawang Reyna] x [Seksi, Kaakit-akit, at Mapang-akit na Pigura ng G-Cup] x [Isang Dobleng Buhay sa Pagitan ng Sarili Niyang Gusali ng Apartment at ng Kanyang Kasintahan] x [Isang Tsismosang Babae na Dinidilaan ang Titi at Nagsasalita nang Malalim! Kahanga-hanga ang kasanayan sa oral sex ng asawang ito! Naglalakbay siya sa pagitan ng kanyang sariling tahanan at tahanan ng kanyang kasintahan, at binigyan siya nito ng imoral na internal ejaculation nang 4 na beses na magkakasunod sa kanyang malaswang ari!! (Ituloy...)","lastmod":"2025-03-26","duration":"1:35:42","url":"/play/19074725.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOGYzZTQxNjY0M2FkYWJkMzgxNzg4ZjZkNmE1YmZjYTAuanBn.cache","vod_id":19169966,"title":"Isang marangal na mukha at maayos na pangangatawan! Isang malinis at seksing babae, nakasuot ng seksing damit, ang nakikibahagi sa malaswang pakikipagtalik! Yukishiro Miho, Yukishiro Miho MIBB-062","lastmod":"2025-12-26","duration":"2:00:46","url":"/play/19169966.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYWViYjlmN2M1NGM2NjgwMjkyMThjMjQ3YTU0ODJiMDYuanBn.cache","vod_id":19195629,"title":"Shen Nana at Zhang Yunxi MD0346 Pangangaso ng Flight Attendant Pagkatapos ng Pag-iwas: Itim na Medyas at Paa ng Jade, Matapang na Kumukuha ng Esensya","lastmod":"2026-04-28","duration":"0:50:35","url":"/play/19195629.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZjkwZWQ0YTQyMmJmNmVhZDJiYmJiNzRhYTRiNjc0Y2IuanBn.cache","vod_id":19197656,"title":"Si Make, isang eksperto sa seks, ay pinapahiya at dinidisiplina ang isang de-kalidad na katulong, isang magandang babae sa paaralan na may kulay rosas na suso at itim na medyas, isang sex toy.","lastmod":"2026-05-08","duration":"0:15:09","url":"/play/19197656.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTA3ZGU1YTQyZjUxYjExZTU1MzkwOTFiOTFmNjI4MzQuanBn.cache","vod_id":19110087,"title":"Pinipiga palabas ang bulalas ng isang malibog na maybahay!","lastmod":"2025-03-26","duration":"2:01:41","url":"/play/19110087.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvY2Q4MGFjMTE0MjY1MmRjZjVhNTczOWQ1MzBjNzc0ZjguanBn.cache","vod_id":19170066,"title":"Hindi napigilan ang sarili sa pagkaakit ng seksing lingerie at matambok na puwitan ng kanyang hipag, ibinulalas niya ito sa loob ng basang ari nito.","lastmod":"2025-12-26","duration":"0:14:18","url":"/play/19170066.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNDQ1MmIyMmI4OGQ2ZTQyMWVkYjI4ZGE3ZmUzMDkwYTkuanBn.cache","vod_id":19169723,"title":"Si Nicole ang personal na katulong ng amo, na nagsisilbi sa kanya sa isang pitik lang ng mga daliri.","lastmod":"2025-12-24","duration":"0:26:00","url":"/play/19169723.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDA2Njg0ZGViZTIxYTAwOGU1ODRlMWNmZDg1MWM4NDkuanBn.cache","vod_id":19030575,"title":"IPX-938 [Gusto mo bang pumunta sa hotel para magpahinga?] Lasing sa welcome party, iniwan ng receptionist ng kumpanya, at ginugol ang buong gabi sa pag-ubos ng kanyang esensya hanggang umaga. Airi Hishima.","lastmod":"2025-03-26","duration":"1:57:39","url":"/play/19030575.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTUvZjUyODQyZTBkZGFlMzUxZDNhY2RkNmYwOTg0N2EyOTUuanBn.cache","vod_id":19168012,"title":"Gusto ko sanang ipatawag ang isang seksing at mature na babae, pero sa halip ay isang tsundere na maliit na loli ang tinawag ko.","lastmod":"2025-12-15","duration":"0:10:42","url":"/play/19168012.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOGE5OGI0YzZhMjAyOWYyMDQ1NGYyOWI2MGQ4ZThkMWEuanBn.cache","vod_id":19186032,"title":"MIDV-562-C Gagawin kong personal na katulong ang spoiled kong nakababatang kapatid na babae sa loob ng tatlong araw... at tuturuan ko siya ng leksyon.","lastmod":"2026-03-12","duration":"2:32:47","url":"/play/19186032.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjExYjI1NzNhZGVkZmI4YjMxZDQwZTQ1OTIxYTM0ZGEuanBn.cache","vod_id":19043022,"title":"VRTM-453 Isang nakababatang kapatid na lalaki, na napukaw ng maamo at malaking puwitan ng kanyang ate sa isang masikip na palda at lubos na teritoryo, ay labis na nabighani! Pinainom niya ito ng mga aphrodisiac, pinakawalan ang kanyang mga scissor kick upang makuha ang kanyang semilya! Mga Espesyal na Tampok: Hibiki Otsuki at Yukine Sakuragi","lastmod":"2025-03-26","duration":"2:01:06","url":"/play/19043022.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjcyZTQ2ZWFlN2MwNzJkNDA4ZGRlMGQ0ZjA3MTBkMTEuanBn.cache","vod_id":19087134,"title":"Napasok ko ang seksing nakababatang kapatid ko sa \"Family Fantasy Series\" S9: E9","lastmod":"2025-03-26","duration":"0:29:55","url":"/play/19087134.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDY1NzA4YTdiNGYzM2M4ZWRmOTg4YzdkODU3MTkyZjUuanBn.cache","vod_id":19068293,"title":"Sexy na kasambahay na nagmamahal sa titi ng kanyang amo 1","lastmod":"2025-03-26","duration":"0:15:50","url":"/play/19068293.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTUwN2RhODhmZjcxOTU4YzRiZjY4OGUyMGMzZjExN2UuanBn.cache","vod_id":19076138,"title":"Kasambahay na si Al Li Yitong na Walang Sensor na Pagpapabinhi","lastmod":"2025-03-26","duration":"0:06:56","url":"/play/19076138.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzNlNTQ5N2UyNDNhZmVhYWRhOWMxOWYzMGU5NjhjMTQuanBn.cache","vod_id":19043929,"title":"PRED-204: Ang bibig ay isang erogenous zone! Isang parang panaginip na karanasan sa oral sex, napakasarap kaya hinabol niya ang ari para dilaan ito sa isang AV!","lastmod":"2025-03-26","duration":"1:59:12","url":"/play/19043929.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjFmZWZlYzMzNjJmMjgwMWNkMDRiNzc1ZThmZWE4MWYuanBn.cache","vod_id":19118694,"title":"Inaakit ni CJOD202 Rinne Touka ang mga kalalakihan sa kanilang lugar gamit ang seksing lingerie na lalong nagpapatingkad sa kanyang malalaking suso.","lastmod":"2025-03-26","duration":"1:57:28","url":"/play/19118694.html"}]},
videoTitle: 'Seksing katulong na naka-puting medyas online, pinipiga ang semilya (Cola sauce).',
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=/`;
}
};
}