[Kamera Tersembunyi Terbongkar] Wanita Cantik Kampus Terkemuka Universiti Normal Zhejiang Telah Ditipu Teman Lelakinya! Rakan Sebiliknya yang Tersembunyi di Sebelah Rumah Merakam Keseluruhan Proses Dia Diserang Secara Seksual!
Seorang pemuda kurus pergi ke sebuah hotel dan berseronok dengan teman wanitanya yang cantik, yang payudara besarnya diseksa sehingga teman wanitanya menjerit dan merayu belas kasihan.","lastmod":"2026-07-11","duration":"","url":"/play/19245003.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNmJhYjlkMGEyMzI1NDNmNGE0MjY4NjMxZjNiNzg0MjAuanBn.cache","vod_id":19218152,"title":"Seorang pendatang baru yang menakjubkan mendapat urutan SPA; suaminya yang muda berada di luar bandar; suri rumah yang berdada besar itu disetubuhi tanpa henti oleh tukang urut itu sehingga dia mencapai klimaks.","lastmod":"2026-02-17","duration":"1:35:30","url":"/play/19218152.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvODA3MTFiMWVkODE5YTA0YzUwMjkyNDk0ZDgwM2U2OGQuanBn.cache","vod_id":19221138,"title":"Seorang wanita yang sangat cantik, kemaluannya terbuka luas, membiarkan seorang lelaki tegap menidurinya dan memancutkan air mani di dalamnya, mengerang dan mencapai klimaks berulang kali.","lastmod":"2026-03-09","duration":"0:42:04","url":"/play/19221138.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MjQvZDc5YjRmYzVmZTdlMjY3OWM5MDJhZTg1M2RhZTg4ZGIuanBn.cache","vod_id":19174117,"title":"Tuan rumah mandian tingkat atas Fujiko Mio mengeluarkan pancutan air mani tanpa larangan! Permainan puting dibawa ke tahap ekstrem EBOD-931-C","lastmod":"2025-04-24","duration":"02:25:00","url":"/play/19174117.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOGJkMzgxMmExZDg2ZDgxY2U2YzBkMTFlYWY2MTNmMmQuanBn.cache","vod_id":19107095,"title":"[Pai Buah] Seorang gadis cantik sekolah dengan personaliti yang berbeza, comel dan menawan.","lastmod":"2025-03-29","duration":"","url":"/play/19107095.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjk0MzRiODE2NmIwMzU5Njg2OWM5NDFkZWY3YmM3YTQuanBn.cache","vod_id":19150069,"title":"300MIUM440 Isteri hilang kawalan air mani akibat menjilat kaki dan ditembusi tiga kali berturut-turut! \"Satu perbuatan persetubuhan tidak dianggap zina!\" Isteri langsing tanpa konsep kesucian ini adalah salah seorang daripada segelintir isteri di China yang seluruh badannya diliputi kelentit! Menjilat kaki, menjilat leher, menjilat ketiak → kawalan air mani \"Apabila saya dijilat, saya tidak dapat mengawal diri saya... tetapi saya juga suka menjilat.\" Isteri yang suka dijilat juga suka menjilat.","lastmod":"2025-03-29","duration":"01:32:55","url":"/play/19150069.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvZDc5OTQ3YjI4MmUyMjUyNTZlNDc2NDg3ZGEzNjlkYTEuanBn.cache","vod_id":19240078,"title":"Kubo Shiori, seorang gadis sekolah tulen, tertakluk kepada latihan lucah dan seks oral; zakar yang besar dimasukkan dengan liar ke dalam lubangnya yang lembut dan memancut ke dalam.","lastmod":"2026-06-11","duration":"0:10:14","url":"/play/19240078.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTQxMjg0MDk5MGI0ZDc2MzE5ZWMxODgyYWVlOTU1NDMuanBn.cache","vod_id":19088253,"title":"Seorang gadis sekolah yang manis dan jelita, comel dan patuh tetapi sangat menggoda, dia menunjukkan wajahnya sepanjang siaran langsung, berinteraksi dengan penonton lelaki, bergurau, dan menggunakan bahasa yang tidak senonoh. Dia menggunakan prop untuk penembusan dan menghasilkan cecair faraj yang banyak.","lastmod":"2025-03-29","duration":"01:28:09","url":"/play/19088253.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvM2EwMGI2YWEwNTJhZjVmMWE0OTJkMjEyNzNjNzgxYTcuanBn.cache","vod_id":19220302,"title":"Anak tiri itu mengambil peluang untuk meniduri faraj Leana Lovings yang menakjubkan dengan kuat, dan zakarnya yang besar itu terpancut untuk mengimbangi hari ular di seluruh negara!","lastmod":"2026-03-05","duration":"0:23:53","url":"/play/19220302.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzMxNTFiYzk2ZjE2OWQ2NzY1NzcwNGQ1ZTY4NmRlNWEuanBn.cache","vod_id":19114893,"title":"Seorang wanita muda yang sangat cantik dengan payudara 36F telah tiba!","lastmod":"2025-03-29","duration":"","url":"/play/19114893.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNjc0NzRlNTM5MTQ5ZWJmZWIwN2Q1MjFkMjExOWU2YjcuanBn.cache","vod_id":19218185,"title":"Mengintip pertemuan ghairah pasangan pelajar kolej di sebuah hotel, termasuk video mereka ditiduri secara kejam dan dipancutkan air mani di dalam.","lastmod":"2026-02-17","duration":"0:35:05","url":"/play/19218185.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDJhOTJhMDI1NmRjNWY4OWZhOGYxZWU5NGQ1YjljYzQuanBn.cache","vod_id":19094565,"title":"HOMA-093 Saya mengajar adik perempuan teman wanita saya (seorang wanita yang bersih dan berkebolehan), tetapi dia sebenarnya seorang perempuan jalang. Apabila dia tidak memberi perhatian, saya merogolnya secara rahsia.","lastmod":"2025-03-29","duration":"02:01:03","url":"/play/19094565.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNmUyMTE4YWMxOWZlZWJjOTg0MDFlMjRkMzU4NGNkYjUuanBn.cache","vod_id":19082180,"title":"Seorang wanita yang sangat cantik dengan stoking hitam dan kasut tumit tinggi, dengan payudara yang besar, ditunjukkan wajahnya sambil dipermainkan oleh dua lelaki. Dia menerima seks oral dan diberikan zakar yang besar, mengikut arahan rakan-rakan lelakinya. Dia berada di atas dengan penuh ghairah, dengan seorang lelaki yang lebih muda menguli payudaranya dan menembusinya dari belakang.","lastmod":"2025-03-29","duration":"00:25:41","url":"/play/19082180.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2VhMGZhYzVhNzI5ZWQzMDBlYzVlMjc5MDlhNGJiMDcuanBn.cache","vod_id":19079940,"title":"28 Januari 2023 - Foto bocor terkini dari sebuah hotel perniagaan, diambil di atas katil bulat yang seksi ❤️ Seorang lelaki kurus dan teman wanitanya yang memakai stoking hitam seksi terlibat dalam pertemuan ghairah, dirakam dengan zakar besar di dalam farajnya.","lastmod":"2025-03-29","duration":"00:38:08","url":"/play/19079940.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNmE1MGJkYmMzYzgzZjVkYTJlMTg3YzY1YjMyODNjNjAuanBn.cache","vod_id":19234029,"title":"DY02-EP1 Li Zhixuan ditembusi dua kali oleh seorang tukang urut sehingga dia mencapai klimaks dan mengalami pengalaman fizikal yang tidak dapat dilupakan dan indah.","lastmod":"2026-05-11","duration":"0:20:36","url":"/play/19234029.html"}]},
videoTitle: '[Kamera Tersembunyi Terbongkar] Wanita Cantik Kampus Terkemuka Universiti Normal Zhejiang Telah Ditipu Teman Lelakinya! Rakan Sebiliknya yang Tersembunyi di Sebelah Rumah Merakam Keseluruhan Proses Dia Diserang Secara Seksual!',
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=/`;
}
};
}