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/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMWMzMmIwMWQ2MGEzZjhiMTVjOGMyMTQwMzZiNWI1MGUuanBn.cache","vod_id":19026895,"title":"GVG-452 Ang Kaakit-akit na Pangulo ng Komite ng mga Magulang at ang Malikot na Miyembro ng Konseho ng mga Mag-aaral - Hayakawa Serina","lastmod":"2025-03-25","duration":"2:07:27","url":"/play/19026895.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MDkvZjYwYTQ4Y2IyZTM2MGY2MzVmMTE2Y2ZiNmFhZjJlNGEuanBn.cache","vod_id":19203378,"title":"Isang estudyante sa middle school, isang mayaman at arogante na \"diyosa\" na inaalagaan ng isang sugar daddy, ang nabunyag ang kanyang mukha at makeup. Iba't ibang malaswang selfie ng estudyante sa middle school na inaalagaan ng isang sugar daddy ang lumabas.","lastmod":"2026-06-08","duration":"0:24:38","url":"/play/19203378.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MjAvMDRkNDdjZGQ0NmJiZTE5ZWZhYjlmZmVlNzljZDFkMDYuanBn.cache","vod_id":19144829,"title":"Si YUA, isang babaeng namumula ang pisngi, nagco-cosplay bilang isang cute na loli student sa Genshin Impact, nagmasturbate habang nakasuot ng puting costume ng tigre.","lastmod":"2025-07-19","duration":"0:11:40","url":"/play/19144829.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMWM4NzI5NjNmNjVhYzYyYmMwZGMzMTgyODQ0YmJlMGMuanBn.cache","vod_id":19046316,"title":"Baguhan, babaeng estudyante, malalim na lalamunan","lastmod":"2025-03-26","duration":"0:51:42","url":"/play/19046316.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYWU2NjMzYjFiYjIyMWFmMGUxYTA1MmYzNzA3MjgzMDIuanBn.cache","vod_id":19106496,"title":"Isang dalisay, maamo, at magandang kolehiyala ang nagpaupa ng kanyang apartment sa kanyang hindi gaanong kagwapuhang kasintahan; siya ay maingat at maasikaso.","lastmod":"2025-03-26","duration":"0:08:23","url":"/play/19106496.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjkvODg0YTI0YzQwNjA1ZjE5MTcxNmMzNDgzNDBmOGM5MjEuanBn.cache","vod_id":19156922,"title":"\"Bakit... nandito ang panyo ng asawa ko...?\" Nasaksihan ko ang palihim na pakikipagtagpo ng asawa ko sa isang estudyante sa hotel kung saan ako nagtatrabaho bilang tagalinis. (Rio Kuriyama JUQ-674)","lastmod":"2025-09-28","duration":"2:13:12","url":"/play/19156922.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzkyZGZlOTM4ODk4YjliMjgwZDU2NTY2NDAwNmI0M2UuanBn.cache","vod_id":19084928,"title":"Nagtatampok ang AV ng isang espesyal na silid na \"mahiwagang salamin\" para sa pagmamatyag ng mga lalaki at babae, na nagpapakita ng hindi kapani-paniwalang pagtitiis ng mga mag-asawang nasa kolehiyo na naghihiwalay. Mahigpit na sinusubok ang mga aktres at aktor ng AV! (Hamazaki Mao CD1)","lastmod":"2025-03-26","duration":"2:42:08","url":"/play/19084928.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYWIyOWE4ZmRkNDg1NzRjYzMyZmY1ZTQyMjFiNjc4YjIuanBn.cache","vod_id":19176923,"title":"Isang asawang babae, na hindi nasisiyahan sa kanyang asawa, ang nagkaroon ng karelasyon at natuklasan ang mga pamamaraan ng panggagapos at disiplina. Nagpakasasa siya sa isang baluktot na kasiyahan na pinapagana ng mga damdamin ng paglabag at malupit na pagbaluktot ng kapalaran. (GMA-084)","lastmod":"2026-01-28","duration":"1:59:13","url":"/play/19176923.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMjdkMzUwMzZiNzIxNmE2ZGRjODNjMGRjMGZlNzhjZTQuanBn.cache","vod_id":19189281,"title":"Uso ngayon sa mga adult website ang mga amateur na nagsumite ng mga self-shot video. Isang estudyanteng babae na may natural na malalaking suso, tuwid at walang buhok na vulva, nakasuot ng uniporme sa paaralan, sumasali sa mga escort service, at ang kanyang malalaking suso ay umuugoy – masyadong nakakaakit!","lastmod":"2026-03-28","duration":"0:38:35","url":"/play/19189281.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MDEvZjZiYjI0MjljY2VhMjI2Y2QyM2VmNzE0MTVmNjRlNmEuanBn.cache","vod_id":19152166,"title":"Sapilitang pagpasok ng isang estudyante sa kolehiyo na nakasalamin sa kanyang slutty na kasintahan mula sa likuran_LLD","lastmod":"2025-08-31","duration":"0:13:44","url":"/play/19152166.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTNmZTY3YmUyMGZmZDc3NTJkNGUyNWE5ZTY0NzhjMDcuanBn.cache","vod_id":19042940,"title":"XRW-588 Isang busty, mukhang kabataang babaeng estudyante ang nagiging alipin sa anal flesh - Rin Amamiya","lastmod":"2025-03-26","duration":"2:32:47","url":"/play/19042940.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNmE5YzM3YzM2OTQ4ZGQzY2Y4YzNlODNmM2FiMmRmYWEuanBn.cache","vod_id":19035750,"title":"Nakakahiyang pagsasanay ng isang sikat na personalidad sa internet ang ginawang super-S type na baluktot, ginawa siyang maliit na puta - Lenako","lastmod":"2025-03-26","duration":"0:34:23","url":"/play/19035750.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvMGRmYTE3M2QyZDBiMDcwOWIxNjI0ZjZiODQ3YzVhYmMuanBn.cache","vod_id":19202308,"title":"Estudyante sa unibersidad na si Naoko (22) na may gusto sa mas matatandang lalaki (Unang Bituin)","lastmod":"2026-05-30","duration":"1:02:04","url":"/play/19202308.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNDJmYjI2NTU5N2U4ZDVlYjExMjk1NzIwODkzMmQ1YTUuanBn.cache","vod_id":19170652,"title":"Ika-40 Anibersaryo ng Akda ni Naoki Yamamoto: Burn, Sword! (MUDR-325)","lastmod":"2025-12-29","duration":"1:59:56","url":"/play/19170652.html"}]},
videoTitle: 'MD-0073_Perverted Yoga Student, Yoga Mat Sex Teacher Opisyal na Website Qin Kexin',
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=/`;
}
};
}