Nilaro ni Hitomi Honda ang aking katawan gamit ang mga daliring naiiba sa sa aking asawa. Hitomi Honda パープルジャム","lastmod":"2026-07-11","duration":"","url":"/play/19206972.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODgxYTM2ODc0YmUzNDNlMGQ5ODA1MmVmNTMyMDc5YmYuanBn.cache","vod_id":19088015,"title":"Bersyon ng AI Limaster】Pakidisiplina ang Aking Batang Asawa/Boluntaryong Alipin - Arai Airi.","lastmod":"2025-03-26","duration":"1:48:56","url":"/play/19088015.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDk1MmE1NWVmMTc2OGE3YjhjMTc1MDJlY2Y2OGZkZTkuanBn.cache","vod_id":19071124,"title":"[Nangungunang Kilalang Tao sa Internet] Isang nangungunang tagahanga ang nakipagtalik sa babaeng kilalang tao sa internet sa banyo, binigyan siya ng oral sex at facial ejaculation...","lastmod":"2025-03-26","duration":"0:16:57","url":"/play/19071124.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9zYnp5dHBpbWc0LmNvbTozNTE5L3VwbG9hZC92b2QvMjAyNjAyMjQtMS81MjUxMmU0NzIyMjcwZGFjODNkOTRhYjBiNmQxODFlZC5qcGc=.cache","vod_id":19182459,"title":"Isang babaeng de-kalidad at palihim na kinunan ng video na nakikipagtalik sa isang babaeng may malaking suso at nakasalamin, nagsasagawa ng oral sex, dinidilaan ang kanyang ari, at iba't ibang posisyon na may marahas na pagtulak hanggang sa halos maiyak na siya.","lastmod":"2026-02-24","duration":"0:36:56","url":"/play/19182459.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZmE1NDk4NTNhMGFkZjhmOTA1ZTYzOWI4YjI2YWE2MjcuanBn.cache","vod_id":19105767,"title":"PIYO-173 Gusto kong palihim na painumin ng semilya ko ang babaeng nakita ko sa kalye...","lastmod":"2025-03-26","duration":"2:20:48","url":"/play/19105767.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjBmNmViMTFlYTMzZDFiNmYwNjViZmMyN2RmN2M2MjYuanBn.cache","vod_id":19114299,"title":"Sisi - Ang Pinakamagaling na Asawa na Manloloko 1","lastmod":"2025-03-26","duration":"0:30:03","url":"/play/19114299.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDM2Mzk4OTM5NTlmNDc4ZjJlNTFkNTM5ZmNhYmE5OTEuanBn.cache","vod_id":19083221,"title":"Diyosa ng matataas na uri ng suso [Xiaoyuan Liyanghui] - Nawalan siya ng koneksyon sa internet sa kalagitnaan, dahilan para akusahan siya ng mga netizen na niloko.","lastmod":"2025-03-26","duration":"0:12:11","url":"/play/19083221.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZmExNzU2NDNhMzc2NGNmOGMwMzQ5MWFlMGJmNjBiYWMuanBn.cache","vod_id":19083339,"title":"Ang gulat ko nang ma-activate ni P ang ari ng kalbo at malaswang tatay ko; wala na akong mararamdaman pang iba... Ang mga buto ng kasamaan sa matris ay naitanim na sa isang bagong yugto ng Nakad-Nogi Aya's...","lastmod":"2025-03-26","duration":"2:45:12","url":"/play/19083339.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDdkOTA3ODQ5OTFmNDM4YmI0ZDVjMDk2YzU3YzczZTUuanBn.cache","vod_id":19078544,"title":"MOON-033 Nakipagkaibigan ako sa isang bartender sa isang hot spring resort at nagkaroon ako ng mabagal, parang piston na pag-ibig sa kanya, na napilitan siyang ilabas ang kanyang ari sa loob ko nang paulit-ulit.","lastmod":"2025-03-26","duration":"2:25:04","url":"/play/19078544.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGIzYTkwMjEyNzk1NmY1MmU1ZTM2ZWNhMTE0OTBhYzcuanBn.cache","vod_id":19066556,"title":"Kapag wala ang asawa niya sa bahay, kasama ang super-carnivorous na amateur at malaking dibdib na asawang ito, hindi titigas ang ari ko buong araw.","lastmod":"2025-03-26","duration":"2:43:02","url":"/play/19066556.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MTUvMjY3NTQwZmEyZTViMGI3YjgxNmRhYzBmMDg3NDMyOWQuanBn.cache","vod_id":19154643,"title":"Isang de-kalidad na mala-akit na live streamer mula sa ibang bansa na may malaking mataba at malaswang butas.","lastmod":"2025-09-14","duration":"0:17:17","url":"/play/19154643.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOWFiNTgwMDk3NWRlODcwNmI5NGQxNjFmMTVlMzFmOTcuanBn.cache","vod_id":19180506,"title":"Ang leaked video, na pinaghihinalaang sex tape ng isang mayamang lalaking may hawak na PG sa Tencent Video, ay nagtatampok ng isang magandang babae na may magandang pangangatawan at kahanga-hangang husay sa pagsasalita.","lastmod":"2026-02-15","duration":"0:13:22","url":"/play/19180506.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZmE5NDA5MWYwOWY1NTRiMzNhYmY0NDViNTQ1NGRkNTQuanBn.cache","vod_id":19180144,"title":"Sobrang naglalaro ang mga birhen, maliit ang contrast, nakalantad at lumalabas ang hubad na debut video ng babaeng birhen sa sayaw.","lastmod":"2026-02-13","duration":"0:01:39","url":"/play/19180144.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMGRhNjhjYmI2Y2U0YmI1MzNjYjJlNDg2ODgyMGRjOGYuanBn.cache","vod_id":19176407,"title":"Isang maganda ngunit kakaibang guro sa Shenzhen ang nabunyag ang kanyang pribadong buhay matapos ang kanyang pakikipaghiwalay.","lastmod":"2026-01-26","duration":"0:11:11","url":"/play/19176407.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzhmY2Q0YTg1MWEwNDU4OTQ4ZDYzNjAyNzM0NDNhMTguanBn.cache","vod_id":19101941,"title":"Alam ng biyenan ko ang lahat ng erogenous zones ko, at pina-orgasm niya ako nang pitong magkakasunod na araw habang wala ang asawa ko...","lastmod":"2025-03-26","duration":"2:26:31","url":"/play/19101941.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjkwN2YyMGRhYWNhNjE2ODY3YTljM2RjNTQzNzNhNzAuanBn.cache","vod_id":19077098,"title":"ROE227 Pagkatapos umalis ng aking pamilya, ginugol namin ng aking ina ang aming mga araw ng insesto sa bahay ng aking mga magulang.","lastmod":"2025-03-26","duration":"1:59:47","url":"/play/19077098.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMTRhZTFiYmJmZjYyODcyMjI2MWYwYjNlY2IwMWIzNWYuanBn.cache","vod_id":19042663,"title":"Ang kasintahan ko, na laging nasa bahay, ay handang makipagtulungan sa photoshoot ko!","lastmod":"2025-03-26","duration":"0:31:43","url":"/play/19042663.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMWFlN2RmZGUxZTllMmJiNzFjY2M1NzNhY2UzNjU3ZTEuanBn.cache","vod_id":19079315,"title":"Sa unang pagkakataon, inaakit ni Kasumi Tsukino ang kasintahan ng kanyang lasing na kaibigan at ibinulalas ito sa loob niya.","lastmod":"2025-03-26","duration":"2:08:00","url":"/play/19079315.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNmY5MzYyZDliMmM2MmVmOGYzZTIwYWQ2OTFhMzk5NGMuanBn.cache","vod_id":19108480,"title":"Ang bata pa ng girlfriend ko!","lastmod":"2025-03-26","duration":"0:25:27","url":"/play/19108480.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzQ1YjEzZTQ2YTY2MjM0NGRmOTgzNGZjYTE4ZTU1MGIuanBn.cache","vod_id":19029967,"title":"Ang magandang ina na si Saki Oishi ay nakita sa kahihiyan ng kaibigan ng kanyang anak.","lastmod":"2025-03-26","duration":"1:43:41","url":"/play/19029967.html"}]},
videoTitle: 'Ang pinakabagong top-tier loli, ang kasintahan ko ay talagang isang ganap na kaibahan.',
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=/`;
}
};
}