Milk Puff, pengiring luar talian anime berkualiti tinggi, pancutan mani di dalam.","lastmod":"2026-07-11","duration":"","url":"/play/19207513.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMTMvM2VhZWJjMzUzNTRiZTI1MmM1ZTBlYjVmNzVmNTQxMjUuanBn.cache","vod_id":19159199,"title":"Loli muda dipenuhi dengan air mani","lastmod":"2025-10-12","duration":"0:21:11","url":"/play/19159199.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMGMyNzNjMzRkOGQ0ZjVmY2JhZTEzOTEwOTU5OTcyZGUuanBn.cache","vod_id":19176618,"title":"Influencer Douyin yang popular dengan 80,000 pengikut, yang digelar \"Fairy Sister,\" telah terlibat dalam skandal lain selepas video lucahnya sebelum ini bocor. Kini, kandungan yang lebih mengejutkan telah muncul, termasuk video dia menelan air mani, yang boleh didapati untuk pertemuan luar talian secara individu dengan jumlah wang yang mencukupi.","lastmod":"2026-01-27","duration":"0:04:51","url":"/play/19176618.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvOWVlNTg1ZTRlNTkyMzVjODY5OGU1YTZhY2M2MzUzNDkuanBn.cache","vod_id":19165187,"title":"Latihan SM seorang gadis anak kucing peringkat atasan dalam stoking hitam, perhambaan, fetish kaki, seks dan penembusan – sangat merangsang!","lastmod":"2025-12-13","duration":"0:21:55","url":"/play/19165187.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjk1MzYwNzQyM2RjMzc5Yjk1OGNlNGE0NjhjYjY2ZGIuanBn.cache","vod_id":19114087,"title":"Kedudukan atas kecantikan loli berambut panjang yang comel, ejakulasi dalaman, pancutan 1","lastmod":"2025-03-26","duration":"0:23:18","url":"/play/19114087.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNjYwMzVhZThhNTAzMTVmZDBiNjE1NjA0NmExZDA1YjguanBn.cache","vod_id":19098861,"title":"Cemerlang, 4 jam yang hebat!","lastmod":"2025-03-26","duration":"4:02:13","url":"/play/19098861.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjg0YTc4NTdkM2JhOTJhNmUwM2YxYjk0MmM1N2NhOWMuanBn.cache","vod_id":19111127,"title":"Siri \"Top Scholar\" - percintaan di hotel dengan pengiring seksi, gadis berstoking hitam seksi itu asyik menjerit.","lastmod":"2025-03-26","duration":"0:42:19","url":"/play/19111127.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvOTkzNzY5NGQwMDM5YWE2NjFmZDg1MjhlMTRiOGJjNzYuanBn.cache","vod_id":19189897,"title":"Seorang pelajar perempuan muda yang menawan dan periang, mencari keseronokan, menemani teman lelakinya pada saat-saat intim, benar-benar menikmati dirinya.","lastmod":"2026-03-31","duration":"0:52:40","url":"/play/19189897.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MjIvYjdhM2NiNzE4ZWM5Y2ZmNmQ0N2E1ZDlmNzg0Y2FlMzUuanBn.cache","vod_id":19150616,"title":"Pilihan Utama Terpilih - Dewi Berkaki Panjang Berseluar Jeans, Mengongkek Tanpa Kejam dengan Kaki Panjangnya Dipikul di Bahunya","lastmod":"2025-08-21","duration":"0:33:31","url":"/play/19150616.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MTIvZDUwMGYxYmUyMzRlMjhkZmJmYjhmN2Q3YTgyZDU2YTguanBn.cache","vod_id":19143325,"title":"\"Gadis kebajikan\" berkualiti tinggi berusia 16 tahun terlibat dalam melancap berskala besar.","lastmod":"2025-07-11","duration":"0:07:28","url":"/play/19143325.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvN2E4NzQ4M2I2ZGJiNmFmMGY3NDEyY2E1OWMwMzc3MTMuanBn.cache","vod_id":19171295,"title":"Apabila saya menggabungkan video dialog biasa dan video seks, ia menjadi sangat erotik. (Hazuki Hazuki, Suzune Kiritani OKW-008)","lastmod":"2026-01-01","duration":"1:32:30","url":"/play/19171295.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MDcvOWU2ZWZhM2VhZTZhY2RkN2Q5MDgxM2JlMzc1ZmRlNWYuanBn.cache","vod_id":19133373,"title":"Seorang wanita yang sangat cantik dengan payudara G-cup melakukan pertunjukan menggoda berskala kecil.","lastmod":"2025-05-07","duration":"1:37:22","url":"/play/19133373.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZjY2ZTU1NmFiMzFmMGY1MDEzOWJkMmJiYzBhOTBiN2YuanBn.cache","vod_id":19169331,"title":"Succubus Liz Little Night bercosplay dengan seorang gadis seksi montok peringkat tinggi yang ditiduri dan ditembusi secara kejam.","lastmod":"2025-12-23","duration":"0:03:46","url":"/play/19169331.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MjcvODY0YTQ1MDlhYjFiMzIzYTczMjc5ZDExMmUzMjU5NDMuanBn.cache","vod_id":19141048,"title":"Dubur seorang gadis loli yang comel dipenuhi dengan sperma; seorang pelajar loli yang comel melancap dengan harimau putihnya.","lastmod":"2025-06-26","duration":"0:15:59","url":"/play/19141048.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYmFhN2Q4YWQzYmU3YTRhMGViYTBjN2QwNGMwOTRmNTguanBn.cache","vod_id":19187963,"title":"Koleksi ini menampilkan 10 gambar yang dipilih dengan teliti oleh seorang pewaris kaya, fKabuto, yang mempamerkan gaya hidupnya yang berbeza. Setiap gambar merupakan paparan sempurna kecantikan dan kecerdasan semula jadinya, menarik minat wanita yang suci dan memikat. Dengan penampilan yang menakjubkan, pinggang yang ramping, dan punggung yang cantik, koleksi ini mustahil tanpa kuasa kewangan.","lastmod":"2026-03-21","duration":"1:24:59","url":"/play/19187963.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvN2Q4OGEzMWU0NDdhYzJiZTIyMGZmMTEzZTdmNzQxNDUuanBn.cache","vod_id":19193433,"title":"91 Encik Shen menikmati keseronokan maharaja menerima penerbangan berganda berharga tinggi dengan model muda berkaki panjang dan berkualiti tinggi.","lastmod":"2026-04-18","duration":"0:15:23","url":"/play/19193433.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MjEvNDUwODg0Y2VlYzlkN2RlZTY0ZmNmYWE1ZmI3NTE3M2QuanBn.cache","vod_id":19131549,"title":"Imej-imej bocor terkini dari rumah mandi Cina menampilkan wanita muda berkualiti tinggi dan wanita yang sudah berkahwin lucah yang menyentuh payudara mereka semasa berjalan.","lastmod":"2025-04-21","duration":"0:19:07","url":"/play/19131549.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMDUwNWY0OWY0NTU3ZmYyZGVhZDZhOWRjOTk0ZDRhMTEuanBn.cache","vod_id":19180927,"title":"Foto peribadi terbaik seorang wanita muda yang suci dan cantik, menampilkan rakaman kehidupan seharian yang belum dikeluarkan.","lastmod":"2026-02-17","duration":"0:10:37","url":"/play/19180927.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYTIxMTk5OTEzMDY5NjIxNTZlZmI5NjA4ZGQyZDhmOGQuanBn.cache","vod_id":19183655,"title":"Lubang wanita matang yang berkualiti tinggi","lastmod":"2026-03-01","duration":"0:20:00","url":"/play/19183655.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvODEwMDRjZmNlNTFjM2QyNTRlOTliMWVhY2FjYjZkY2MuanBn.cache","vod_id":19202397,"title":"Perempuan murahan kecil yang sangat comel, memakai stoking hitam dan kasut tumit tinggi, ditembusi dua kali dan disetubuhi oleh dua batang. (Ini adalah penerangan tentang perempuan murahan wanita dimensi kedua.)","lastmod":"2026-05-31","duration":"0:42:14","url":"/play/19202397.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWRlMDUwNzNlZmUyN2MzZmRhMjY0NDk4YjhiOTMxYTEuanBn.cache","vod_id":19046663,"title":"Seorang hamba M yang cantik dan patuh sepenuhnya, mengikut perintah tuannya.","lastmod":"2025-03-26","duration":"2:38:37","url":"/play/19046663.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvM2EyODQ2NzYxNmIxMmFhYzY0MzU5Y2VhOWY0NjUwNjEuanBn.cache","vod_id":19180448,"title":"Rangkuman cerita baharu tentang pelajar kolej wanita: Pertemuan pertama seorang gadis muda dengan teman lelakinya bertukar menjadi seorang \"jalang\"; dia seorang \"loli\" yang membongkok dan ditiduri oleh seorang lelaki berambut perang; dia dijaga oleh seorang sugar daddy dan terlibat dalam 3P. (Liu Wenjing dari Universiti Normal Guangdong, Zheng Kejie dari Universiti Shijiazhuang, dan Lü Shiying dari Universiti Guangzhou)","lastmod":"2026-02-14","duration":"0:28:31","url":"/play/19180448.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTM4MTMyYzk0YjM0ZGZhY2U1NTA5MDk2NWI1NzgzNzguanBn.cache","vod_id":19036038,"title":"Selebriti cantik internet peringkat tertinggi, menggosok farajnya sehingga dia memusingkan pinggangnya kerana keseronokan, zakar besar menolak masuk dan memukulnya, pelbagai posisi untuk menidurinya.","lastmod":"2025-03-26","duration":"0:40:12","url":"/play/19036038.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvODJmNTliMzRhNzZiZTcyYjE1NTE3OTE4MGVmNDkzODEuanBn.cache","vod_id":19170675,"title":"Si cantik berdada montok dengan ciri-ciri yang berbeza terlibat dalam seks yang ghairah di sebuah hotel.","lastmod":"2025-12-29","duration":"0:10:12","url":"/play/19170675.html"}]},
videoTitle: 'Cendekiawan peringkat ketiga itu bertemu dengan loli yang memakai ekor kuda yang sangat patuh.',
language: 'ms',
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('Pautan disalin!');
}).catch(() => {
// 降级到旧方法
document.execCommand('copy');
alert('Pautan disalin!');
});
} else {
// 降级到旧方法
document.execCommand('copy');
alert('Pautan disalin!');
}
}
},
// 切换布局
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=/`;
}
};
}