Magtalik sa magkahalong paliguan kasama ang maganda at seksing kapatid na may malaking suso na si Mizuki Rui Mizuki. LOVEま○こ-Paranoia","lastmod":"2026-07-11","duration":"02:05:25","url":"/play/19154426.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGJkNzY1Yzg2NWJiOTJjMWRiYzA5NTQ5NWI4NjFiMTkuanBn.cache","vod_id":19016389,"title":"Isang babaeng parang modelo na may magagandang binti! Nakapiring, dinidilaan ang ari! Nakasuot ng manipis na medyas at mataas na takong, sumakay siya at pumapasok habang hawak ang ari, pumapasok mula sa likuran nang bukas ang pinto, at itinutulak nang malalim para sa matinding estimulasyon.","lastmod":"2025-03-29","duration":"01:21:19","url":"/play/19016389.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMmYxZDQ4MmQ4YzE1YWI2NDZhOWJmNzQ2NDQwZWI0NDQuanBn.cache","vod_id":19008203,"title":"3D na Babaeng Duwende 3","lastmod":"2025-03-28","duration":"33:40","url":"/play/19008203.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGM2ZjkzMzRjYTk1MDUxMWE2ZDVlNzQzMjk2MjU1OTQuanBn.cache","vod_id":18962020,"title":"8. Isang ganap na nakatayong ari dahil sa kanyang malalaking suso, walang awang tinutuyo siya habang nakangiti. Ang nakatatandang kapatid na babae na gumagawa ng mga gawaing bahay, si Minami.","lastmod":"2025-03-28","duration":"02:00:33","url":"/play/18962020.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMzI2ZjNjMWU5Y2U1NWM3YTBmMzBiNTBlNmQzYzRjZTMuanBn.cache","vod_id":19116831,"title":"Isang totoong-buhay na insesto na relasyon sa pagitan ng isang nakababatang kapatid na lalaki at ng kanyang guro sa musika na nakatatandang kapatid na babae; isang insesto na relasyon sa pagitan ng isang nakababatang kapatid na lalaki at ng kanyang magandang nakatatandang kapatid na babae.","lastmod":"2026-01-07","duration":"01:05:52","url":"/play/19116831.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MjIvOTYwY2FlYTZkMzJkZDg2MzA5OTEwNjg0NGY4YzIyZWMuanBn.cache","vod_id":19156799,"title":"Nang makita ang puta na tinawag ng kanyang katrabaho sa labas, naisip niyang halikan ito, ngunit sa huli ay pinigilan niya ang sarili.","lastmod":"2026-07-21","duration":"02:35","url":"/play/19156799.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzA3NjYwODhmM2E4Yjg2MmJhMWM2NjVlMjBiNDEwNWYuanBn.cache","vod_id":19065804,"title":"Isang maybahay na may malaking suso na ginahasa ng kaniyang kasuklam-suklam na ama-amahan, sa kabila ng kaniyang mapanghamak na ekspresyon, ay nagawa pa ring umabot sa sukdulan.","lastmod":"2025-03-29","duration":"02:03:21","url":"/play/19065804.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMmZiZjg5OTQzZTI3ZmZiNTc1Nzk0ZmYzMTgyM2I1ZjcuanBn.cache","vod_id":18974854,"title":"Hiniling ng ate sa kanyang nakababatang kapatid na maglabas ng ilong sa loob ng kwarto. (Mula sa \"Family Fantasy Series\" S15: E6)","lastmod":"2025-03-28","duration":"38:29","url":"/play/18974854.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MTgvNTU1ZTQwMzNjNzhmMmQ5ODg2Yzg4ZjRmNTAzMGUzODUuanBn.cache","vod_id":19079141,"title":"AI - Yang Mi - Iniuwi ng kapatid ang kasintahan, at ang nakatatandang kapatid na babae ang namamahala sa pagsusuri nito.","lastmod":"2025-06-18","duration":"14:24","url":"/play/19079141.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNmQ4NjgwZjkyNTc2ODYxMmM3OWU1MDA0NzU4ZTNmOTYuanBn.cache","vod_id":19121298,"title":"Ang dulo ba ng lubid ay isang magarbong premyo?! O isang laro ng parusa?! Dalawampung sakim na babae ang humarap sa hamon ng loterya na humihila ng lubid at may nakatayang magarbong premyo! FTHTD-146","lastmod":"2026-01-29","duration":"04:15:58","url":"/play/19121298.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMTFmNmYxYzRhMmU3ZWIxYjY0ZTFmNTI2NzY5MzZmNDUuanBn.cache","vod_id":19036425,"title":"[Bagong Kwento ng Incestuous] Kinasasangkutan ito ng pinsan ko, isang guro ng sayaw, na nababalitang isa ring menor de edad na aktres!","lastmod":"2025-03-29","duration":"30:49","url":"/play/19036425.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjEzZmE1M2M2MDEzNzgwNWZmOTVlNjhkMGVhMzJjYTIuanBn.cache","vod_id":19051225,"title":"WANZ882 Uh... Ate!? Napagkamalan kong nobya ko siya kaya agad kong ipinasok ang ari ko sa loob niya. Tuwang-tuwa siya at paulit-ulit na humihiling na mag-ejaculate sa loob niya. Fukada Emi.","lastmod":"2025-03-29","duration":"02:49:17","url":"/play/19051225.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYmU4OTVkNDlmNTE2MzJlOTk5NjU1YmZmNDJmZWI2YTIuanBn.cache","vod_id":18960272,"title":"Isang seksing dalaga sa isang pribadong silid ng KTV","lastmod":"2025-03-28","duration":"43:52","url":"/play/18960272.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjUvYjJhOTE0OTkzYmE1MDk5ZGNkNTM2ODA4ZmE1YjA0NDcuanBn.cache","vod_id":19102459,"title":"Ang baliw kong katalik na babae, na siyang dahilan kung bakit ako adik sa ejaculation, ay binigyan ng erection-enhancing drug at pinilit na mag-ejaculate nang 20 beses. (JULIACJOD_437)","lastmod":"2025-10-24","duration":"01:52:12","url":"/play/19102459.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjIvZTRlY2U4YzE4NDcyNGVlNWE2YWRiM2I2MWM0MjUxMmIuanBn.cache","vod_id":19150860,"title":"Si Sister Lin Xi ang aking sex mentor; napakalakas ng ari ng kapatid ko.","lastmod":"2026-06-21","duration":"26:58","url":"/play/19150860.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjZlNTBlM2Y5OGU3MjFlNjc1NjQwNjFhOTdmNWU3NjUuanBn.cache","vod_id":19001912,"title":"Isang lalaki sa Vietnam ang nakipag-ayos para sa isang live stream kasama ang isang maganda at balingkinitang babae. Hubad silang lahat, namimilipit ang kanilang mga katawan – talagang kaakit-akit at mapang-akit. Huwag palampasin kung gusto mo!","lastmod":"2025-03-28","duration":"56:12","url":"/play/19001912.html"}]},
videoTitle: 'MIDE-547 Ayaw niyang gawin ito, ngunit pumipiglas pa rin siya. Ang malas na nakatatandang kapatid na babae, si Akiyama Shoko.',
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=/`;
}
};
}