BBAN-178 Isang magandang batang babae ang naging target ng mga pag-atake sa bakuran ng paaralan. Isang babaeng estudyante ang ginugulo ng isang tomboy.
Amateur Beauty Remote Vibrator Walking 10 - Itim na Pantyhose na Bersyon ng Babae sa Opisina - \"Hindi ko na kaya...##\" Isang babaeng nasa opisina na nakasuot ng itim na pantyhose sa isang babaeng namumula ang mukha","lastmod":"2026-07-11","duration":"04:24:55","url":"/play/19165592.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MTIvYjIzZWI3ZjJjNjc1MjQxYTRkYTBmOGJjYWM3MTY5OGQuanBn.cache","vod_id":19046551,"title":"OLM186 Isang malaswang babae na nasasabik at nababasa kahit na ginigipit ay pinipilit na mag-orgasm ng isang malaswang matandang lalaki sa isang malagkit na sekswal na pagkahibang. d5","lastmod":"2025-08-11","duration":"01:59:01","url":"/play/19046551.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODY0ZGM0ZGVlYjkxYjZlYjI3MmQ0MDAxMTZmZTcxYjkuanBn.cache","vod_id":18939840,"title":"CESD-690 Hibiki Otsuki x Yui Hatano (Lesbian)","lastmod":"2025-12-14","duration":"02:04:03","url":"/play/18939840.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzcxM2M4MzY4MzAwNWU1NjFjMWE0MWM2ZTcxZTBjNjUuanBn.cache","vod_id":18986642,"title":"Ang 723NNG-003, ang ikatlong yugto sa serye ng paaralan, ay nagsasalaysay ng kwento ng isang grupo ng mga cute na babae na mahilig dumila, na nagpapakita ng kanilang pilyong tunay na sarili. Sa pagkakataong ito, ang kwento ay naganap sa isang piling paaralan na puro lalaki lamang.","lastmod":"2025-12-14","duration":"01:04:39","url":"/play/18986642.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDU4ODAwMjNkNzRjMTBmMDFhODU5YTY2M2E1NWZkMmMuanBn.cache","vod_id":18936898,"title":"Ang espesyal na seleksyon ng mga bida sa antas-diyosa ay nagtatampok ng limang babae na, sa halagang 1800 yuan lamang, ay naghubad sa kanilang silid-dormitoryo, ipinapakita ang kanilang malambot at kulay rosas na puki.","lastmod":"2025-12-14","duration":"00:07:23","url":"/play/18936898.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjgyZWYxMDA3N2FlMmUyNTcyY2MwZDEzYmI4MWQyYjIuanBn.cache","vod_id":18984928,"title":"[Mga Subtitle na Tsino] FSDSS-653 Ang inosenteng babaeng estudyante sa kolehiyo na si Shen Mulan ay dumaranas ng walang humpay na panliligalig sa utong sa isang kakila-kilabot na convenience store na pinapatakbo ng isang mapangahas na manager.","lastmod":"2025-12-14","duration":"02:30:28","url":"/play/18984928.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTlmZmJiNTRmZWIyMmUwZTYzM2RmZWNiZGM4ZmU1NDkuanBn.cache","vod_id":18959722,"title":"MUDR-118 Si Hinata-chan, ang mangangaso ng utong na nagtatago sa inidoro, ay naghahangad na maging presidente ng konseho ng mga estudyante. (Koizumi Hinata)","lastmod":"2025-03-22","duration":"02:36:00","url":"/play/18959722.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDczNDY2OWI4NDc2ZDg2NzU2ZWJiNGU4MzIzNzgyZGEuanBn.cache","vod_id":19015112,"title":"12#31 1580pt⇒980pt [Nakaharap palabas] [Dalawang bulalas] Pananaw ng estudyante ng Kansai University ♡ Makinis na balat at istilo","lastmod":"2025-03-24","duration":"01:02:36","url":"/play/19015112.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmI2MWViNjQ1NGUwODdmZmU5OTc1MzQwMmQzY2Y0NTcuanBn.cache","vod_id":18944836,"title":"326EVA-072 Isang magandang babaeng may maitim na buhok na nakasuot ng bikini ang namataan sa isang dalampasigan sa tag-init!! Cole","lastmod":"2025-03-22","duration":"01:06:53","url":"/play/18944836.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MDcvMTMxMzMyMmEyNjI5YjhkOTYyOTExNzBkMjYwMDIxYjEuanBn.cache","vod_id":19028279,"title":"Anim na taon pagkatapos ng kasal ng kanyang kapatid... ang pinakamaganda at pinakamalibog na si Furukawa Iori ay magiging kapatid mo na. STARS-598-C.","lastmod":"2025-04-07","duration":"04:02:14","url":"/play/19028279.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMTQvOTZlODA1MGViZWYxZTEzN2QzMTI4YmE0ODM1MTJiYTIuanBn.cache","vod_id":19062515,"title":"Ako, ang guro sa homeroom, ay sumuko sa masasamang tukso ng mga estudyante, paulit-ulit na nagbubuga sa ilalim ng kanilang mga tali. (Kay Sato? Kato Momoka MGMQ_139)","lastmod":"2025-12-14","duration":"01:53:27","url":"/play/19062515.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzkyYzQyYmUwNjNjNzE0OWZmZmYwZGFjMGFjYWNkZDkuanBn.cache","vod_id":18965025,"title":"GVG-373 Seksing Pangulo ng PTA at Malikot na Miyembro ng Konseho ng Mag-aaral na si Yuna Takase","lastmod":"2025-03-22","duration":"02:15:33","url":"/play/18965025.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjdmODYzOGU4ZGY5MzUzM2I4OGRhZGM4OTVlNDdiMWEuanBn.cache","vod_id":18976146,"title":"315ETQR-498 Ang magandang babae na naka-uniporme sa paaralan ay isang ganap na puta na pagsisilbihan ka gamit ang kanyang maruming titi... Urara Kanon","lastmod":"2025-03-23","duration":"00:57:44","url":"/play/18976146.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTE3ZWYzMGRjNTAxZmY2OGMyYzhiYWMxOWU3OGE5ODcuanBn.cache","vod_id":19014258,"title":"YOCH004C Isang magandang mangkukulam na tila mahirap lapitan... ngunit ang kanyang tunay na kalikasan ay madaling pakisamahan at lubos na baluktot! Nalalawayan ako sa pambihirang titi na matagal ko nang pinapangarap.","lastmod":"2025-03-24","duration":"02:10:25","url":"/play/19014258.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvM2Y1YjQ0MjgxMWQxZWMyM2QwMDViOTgxYWY4ZjNlYzAuanBn.cache","vod_id":19153585,"title":"Limang oras ng espesyal na paggamot para sa pagbuga ng semilya ng mga Asyano para sa walong maingat na piling magagandang babae mula sa buong mundo.","lastmod":"2026-04-16","duration":"05:01:32","url":"/play/19153585.html"}]},
videoTitle: 'BBAN-178 Isang magandang batang babae ang naging target ng mga pag-atake sa bakuran ng paaralan. Isang babaeng estudyante ang ginugulo ng isang tomboy.',
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=/`;
}
};
}