Mendisiplinkan Kebahagiaan Seksual Pelajar Kolej, Penghinaan Tekak Dalam, dan Menolak di Hadapan Cermin","lastmod":"2026-07-11","duration":"10:40","url":"/play/19162762.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjk3NTg0MzkwZjBjOGJhNTQ0OTNkZTJjNzIyZjgyYTguanBn.cache","vod_id":18987397,"title":"[Tidak Ditapis] Pengasuh Terlarang GG-170: Yukari Nakano","lastmod":"2025-12-14","duration":"02:01:19","url":"/play/18987397.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDRjOWZiZmJiYWJmOTljNDNjYzk4Yzg5OTljMDNjMzMuanBn.cache","vod_id":18965156,"title":"HUNTA-090 \"Saya hampir datang!\" Saya bukan fobia kuman, jadi saya mandi setiap kali saya ada masa lapang. Malah, saya sering melancap di bilik mandi!","lastmod":"2025-03-22","duration":"03:08:10","url":"/play/18965156.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2ExNmY0ZWE0MDZjMWI0ZDQ2ODQzNDgyNTcxMGQ2NWMuanBn.cache","vod_id":18946260,"title":"Seorang gadis loli yang sangat muda dan comel memakai skirt pendek dan thong menggunakan alat permainan seks untuk melancap. Susuk tubuhnya yang kecil molek terbuka, mendedahkan batang kaca halus yang memancarkan cecair putih. Ia sangat menggoda; jangan ketinggalan jika anda menyukainya.","lastmod":"2025-12-14","duration":"00:43:16","url":"/play/18946260.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjY1NDQ0MTViZTlhZWU2NTEzMTA1OTJmNjJlOTcyZDEuanBn.cache","vod_id":18975026,"title":"Seorang wanita matang berkaca mata menampakkan dirinya bogel sepenuhnya, melancap, memakai stoking jala hitam dan mempamerkan payudaranya yang montok. Dia kemudian bertukar menjadi bodysuit berwarna daging dengan reben, pengapit puting dan loceng, menyerupai seorang pembantu rumah.","lastmod":"2025-12-14","duration":"00:43:10","url":"/play/18975026.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MTIvMTM2MGFkM2ViZTY4NmQ3MGFhZDJlZjIyNWQyNDQ3YzguanBn.cache","vod_id":19052148,"title":"Membangunkan klinik kanser payudara. (Tsukino Ezui PPPE297)","lastmod":"2025-09-11","duration":"01:58:05","url":"/play/19052148.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYTlhNTRlNDA4ZjkwZjNkNDhiNmJiNDk3ZGI2YjIzZWIuanBn.cache","vod_id":19146127,"title":"Gadis beruniform JK melancap","lastmod":"2026-03-02","duration":"53:14","url":"/play/19146127.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjNhODM2OGE3MDdiZDY0N2Y0YjdjYjYyMGVkZTBmNzUuanBn.cache","vod_id":19008635,"title":"NACR280, anak perempuan berdada besar seorang pelajar kolej kecantikan, meminta bapanya untuk menjadi model bogelnya, tetapi akhirnya teruja dan melakukan hubungan seks dengannya.","lastmod":"2025-03-24","duration":"01:52:42","url":"/play/19008635.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmU1ZmYzMzA5NzdkOTg2NjMwNTQ0NmI0NmI0NjEwZTYuanBn.cache","vod_id":18930613,"title":"Nana yang matang dan memikat, berpakaian stoking hitam dan kasut tumit tinggi, kakinya sangat cantik menggoda, matanya berkaca ketika dia menghisap jari, sangat menggoda. Dia bogel sepenuhnya, menggunakan alat peraga untuk melancap, farajnya dipenuhi dengan kelembapan, erangannya hampir membawanya ke klimaks.","lastmod":"2025-12-14","duration":"00:39:51","url":"/play/18930613.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTc3Y2IwOTAzZmM3YTE3NjAyYjJlZDNjNGFmYjI4MzguanBn.cache","vod_id":18963803,"title":"NHDTB-130 Seorang pembantu kedai diambil alih semasa waktu perniagaan dan didedahkan di ruang tertutup sepenuhnya, mencapai klimaks yang menggila.","lastmod":"2025-03-22","duration":"03:56:48","url":"/play/18963803.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjc3ZTZiM2U2MTVkZWZlYzMwZWMyMGNlZjY0MzgxZmEuanBn.cache","vod_id":18969130,"title":"HUNTB-235 Kawan zaman kanak-kanak saya telah diserang oleh gadis lain dan terlibat dalam tingkah laku lesbian! Kawan zaman kanak-kanak saya, yang saya selalu sukai, telah dicurangi oleh gadis lain! Saya tidak boleh menerimanya!","lastmod":"2025-12-14","duration":"03:14:48","url":"/play/18969130.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvN2Q5ZDU1NDkzMmZiNmMxNjAzYTU1ZDI2OGIxNWFiNzkuanBn.cache","vod_id":18952343,"title":"GAR-402 Saya seorang kanak-kanak yang dibuli dan tidak popular yang dipaksa melancap di dalam bilik darjah.","lastmod":"2025-12-14","duration":"02:14:40","url":"/play/18952343.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmRkMGJkOWFhZTkyMTEyMDZlNzRhN2ZmYTQ1OGNmNTcuanBn.cache","vod_id":18929809,"title":"Seorang gadis cantik dan seksi dengan susuk tubuh langsing melancap, menjilat telur yang bergetar, sambil mengoceh dengan lucah. Sangat menggoda, jangan ketinggalan!","lastmod":"2025-12-14","duration":"00:29:16","url":"/play/18929809.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMWFjMTM3NWRmOThjNDg4MzhlNDNiMjQyMTc1MGJlZGEuanBn.cache","vod_id":19146614,"title":"Pertunjukan melancap kaki berwarna merah jambu dan lembut dewi kecantikan peringkat model","lastmod":"2026-03-05","duration":"01:21:02","url":"/play/19146614.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYTE3NmJjYTczZTI3OTczNDBkMjhhZjQ4YTlmYjkxYzkuanBn.cache","vod_id":19161849,"title":"Melancap kepuasan diri yang ideal bersama kekasih, hari ini juga pergi ke bilik hotel. Sperma selain suami terus pancut ke dalam pertemuan faraj MKMP-538-C","lastmod":"2026-07-11","duration":"02:25:10","url":"/play/19161849.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMWI4YjkwM2IxM2NlNGJmN2QwZTJlYjJiNzVhMmVlYWUuanBn.cache","vod_id":19001521,"title":"[Pai Buah] Cinta Terlarang Antara Adik-beradik 1","lastmod":"2025-03-23","duration":"19:04","url":"/play/19001521.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODkzNDQ0MWI1NDI2MjgwNDdlZWMyN2QxNzI4OGI5NmMuanBn.cache","vod_id":18923650,"title":"Mainan peribadi gadis bernilai tinggi, pertunjukan melancap Qiqi, kepala dimasukkan, air mani putih keluar, tidak tahan dengan getaran telur yang bergetar, sangat menggoda, jangan ketinggalan jika anda menyukainya.","lastmod":"2025-12-14","duration":"00:35:20","url":"/play/18923650.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjNmNGNhZDUwYjVmMjM3ZDNjYTE5MTMzYWQ1NmRlYmUuanBn.cache","vod_id":18966910,"title":"FC2PPV 3237348 [Peribadi] Di rumah, isteri H-cup, yang tidak mempunyai pengalaman seksual dengan sesiapa pun selain suaminya, sedang menidurkan anak perempuannya dan memperlahankan suaranya supaya tidak mengejutkan anak perempuannya.","lastmod":"2025-03-22","duration":"01:02:20","url":"/play/18966910.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmU3YjY1NDZjNmI5NmFlMzUyNDFjNjBlODMzM2VhOWYuanBn.cache","vod_id":19012588,"title":"SIRO4046 [Tembakan Pertama] [Kulit Memutihkan] [Orgasme Berkedut] Malah wanita dengan kulit putih, yang hampir mencapai orgasme, mengeluarkan bunyi yang semakin kuat apabila omboh menjadi lebih kuat... Permohonan Kerja AV Dalam Talian → Pengalaman Menembak AV 1161 (Sumbang mahram)","lastmod":"2025-03-24","duration":"01:02:53","url":"/play/19012588.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYmM2NjA3ZTc1MTBhNDE2NTJjNTc4NWYxMmZlYWI0MTUuanBn.cache","vod_id":18964749,"title":"Seorang lelaki tembam dan kotor dengan potongan bonggol dengan penuh ghairah terlibat dalam sesi melancap wanita muda yang bergetar dan sangat cantik. Lelaki itu, dengan ereksi dan kulup, menggunakan alat mainan melancap.","lastmod":"2025-12-14","duration":"00:54:21","url":"/play/18964749.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOWExMjIzY2E2YTBmYTYzNTJhNTljNjAxNmNhNDZiMjkuanBn.cache","vod_id":18994335,"title":"SGA-137 Seks Pancutan Mani Terbaik dengan Tuan Rumah Terbaik. 51 Kaki Cantik, Punggung Seksi, Wanita Cantik Dicukur.","lastmod":"2025-03-23","duration":"01:45:10","url":"/play/18994335.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDlhYWZjNGI0ZjUxOTRlMWQ3OWYzYzczMGMyNTgyMjguanBn.cache","vod_id":18973683,"title":"✅Seorang gadis kolej yang berwajah segar✅Seorang pelajar teladan dan gadis yang patuh pada pandangan rakan sekelas dan guru—bagi saya, dia hanyalah seekor betina kecil yang berkembang sepenuhnya. Tubuh mudanya sungguh memabukkan.","lastmod":"2025-12-14","duration":"00:09:00","url":"/play/18973683.html"}]},
videoTitle: 'Diari Melancap Kakak yang Dicukur - Sumbang mahram yang Dilarang Antara Adik-beradik Semasa Percutian Musim Panas - Tsukino Aya SUJI-294',
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=/`;
}
};
}