Pakcik, mari dan cium saya secara French kiss! Seorang pelajar sekolah tulen dan seorang lelaki pertengahan umur berciuman dengan penuh ghairah, air liur mengalir deras, sehingga mereka berada dalam keghairahan. Hayasaka Hime SONE_320
Seorang gadis cantik sekolah tulen menyembunyikan lubang lucah di bawah Hanfunya, bersetubuh dengan liar dan mani di dalam lalu berhadapan dengan pari-pari itu","lastmod":"2026-07-11","duration":"","url":"/play/19244970.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYTRjYjE5NDBlZGE3ZjA5M2JlOGZmNGU3YmYwYzI5ODUuanBn.cache","vod_id":19220373,"title":"Seorang gadis yang suci, manis, dan comel terpikat; faraj merah jambunya yang lembut diseksa dengan ganas dan dimancutkan mani di dalamnya.","lastmod":"2026-03-05","duration":"1:14:47","url":"/play/19220373.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzhiMjQzNzY2YTkwYWQxNjcwNjM2ZTk0ZDVmYzY3YTQuanBn.cache","vod_id":19055955,"title":"(Lesbian Jepun) Dua wanita cantik mencium, membelai, dan melancap secara Perancis.","lastmod":"2025-03-28","duration":"","url":"/play/19055955.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzg1ODA3NWQ0ZWJmMzMyODYxMzMyYzQyMGFlNDI0ODAuanBn.cache","vod_id":19097999,"title":"IPX-248 Bahagian kedua daripada 4 babak seks yang menakjubkan yang menampilkan seorang gadis muda yang cantik dan polos (jumlah 5 babak)! Kami akan menunjukkan kepada anda sebilangan besar babak seks Karen! Karen Feng","lastmod":"2025-03-29","duration":"03:40:27","url":"/play/19097999.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTUvY2YzM2FiMWZjYTE3OTVjYmEzNDRhNzA1OGYxYTFjZWEuanBn.cache","vod_id":19210828,"title":"Mulut Kimber dipenuhi dengan air mani semasa pertemuannya yang penuh ghairah, memancarkan daya tarikan yang tidak dapat ditolak.","lastmod":"2025-12-22","duration":"0:13:16","url":"/play/19210828.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvOGZiMTU1YjFkNzRjZDg1ZjQwZmM2ZmU0ZjJhMzMxYWMuanBn.cache","vod_id":19239927,"title":"Seorang pelajar kolej yang suci dan polos yang lahir pada tahun 2000-an dengan payudara besar dan punggung yang lincah telah disetubuhi secara kejam! Dia memancutkan air mani putih di dalam dirinya, mengerang, dan mencapai klimaks.","lastmod":"2026-06-10","duration":"0:42:16","url":"/play/19239927.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDFiMzk0Nzg2YTIwNzFhMDFjODg1NzY0YmVjNTM1ODEuanBn.cache","vod_id":19051794,"title":"[China Pavilion] Seorang wanita cantik berpakaian seragam dan berstokin hitam telah melakukan sesi seks oral 69 yang penuh ghairah dengan seorang lelaki, di mana wanita itu ditembusi dalam pelbagai posisi dan disetubuhi olehnya.","lastmod":"2025-03-28","duration":"","url":"/play/19051794.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNmVjYWY5NTRkOTMwOGFkOWM3ZjYwODMxMDA4ODExYzQuanBn.cache","vod_id":19085024,"title":"Rakaman yang baru bocor menunjukkan penggodam secara rahsia merakam pasangan warga emas yang, seperti pengantin baru, masih bercinta dengan penuh semangat (1).","lastmod":"2025-03-29","duration":"00:32:25","url":"/play/19085024.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTdjMTY4ZTk0MGVmOGQ5ZWFhZTY0ZTNiNmVkNTMyZTYuanBn.cache","vod_id":19070962,"title":"DOCP-037 - Seorang pelajar kolej wanita yang kecewa dari sebuah universiti berprestij menggoda rakan sekelasnya yang pemalu.","lastmod":"2025-03-28","duration":"02:17:09","url":"/play/19070962.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMjczYTk2ZTE3MGJkNTJlMGI1NTU5NWEwZjBiZGMzYWIuanBn.cache","vod_id":19215112,"title":"Saya terdengar erangan isteri jiran saya dan bermesraan dengannya pada waktu tengah hari—Kazama Yumi yang menawan pasti akan membuatkan anda menginginkan lebih lagi. JUQ-597","lastmod":"2026-02-02","duration":"1:59:09","url":"/play/19215112.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MDMvNDY3NWUxYjM1NzQ3ZmUxMzE4YzA2MjZjY2U2ZmQ4ZjkuanBn.cache","vod_id":19179118,"title":"JRZE164 Pengalaman Pertama Wanita Berkahwin: Rekod Menembak Pertama yang Bersemangat","lastmod":"2025-06-03","duration":"02:01:11","url":"/play/19179118.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODk3MGU1MDljZGMwZDhhOGFlYmIxMjQ2ZmU1NmY0MzQuanBn.cache","vod_id":19159221,"title":"Gadis kecil yang kelihatan polos dengan wajah muda, punggung yang tegap, dan payudara seperti batu giok itu bergoyang ke sana ke mari, cairannya melekat pada vulvanya yang lembut.","lastmod":"2025-03-29","duration":"29:58","url":"/play/19159221.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMTcvYThjYThlNzY5YWU2MThlZTY1NWQ5OGJjZWExMGY5OWMuanBn.cache","vod_id":19199859,"title":"Bahagian 2 Chen Chen: Kecantikan Lembut dan Tulen Tersembunyi dengan Pinggul Barat yang Besar! Kontras dan Godaan yang Melampau","lastmod":"2025-10-16","duration":"01:42:54","url":"/play/19199859.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYTM2NjgxMWRlNzFkZTAwYmY1ODVjYTQ5Yzc1ZjI4ZGYuanBn.cache","vod_id":19220435,"title":"JDMZ003 Seorang pelajar perempuan yang suci dan tidak bersalah telah didisiplinkan secara kejam oleh seorang senior yang menyamar sebagai guru; bilik darjah itu menjadi bilik seks.","lastmod":"2026-03-06","duration":"0:28:44","url":"/play/19220435.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MDgvYmE4MGQ1OTcxMjI2ODY2MGUyMDc0YjY1YzAzMzFlYmYuanBn.cache","vod_id":19188542,"title":"Dewi majalah SONE740 secara tidak dijangka memasuki industri hiburan dewasa! Penampilan sulung pendatang baru yang memikat dengan payudara yang menakjubkan.","lastmod":"2025-08-07","duration":"03:03:57","url":"/play/19188542.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMmNmZjU2MDI3YzBhZTAwZWRjMTExYTdiYzM2MTYzMjEuanBn.cache","vod_id":19079384,"title":"MIAA-058 Walaupun selepas ejakulasi, wanita itu terus menyerang gegendang telinga, berbisik menggoda tentang memburu lelaki pertengahan umur dan memeluk mereka erat-erat.","lastmod":"2025-03-29","duration":"01:58:45","url":"/play/19079384.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvM2JkNDFkMjAzY2E1MzQzZWJhMjI4OGFiM2Y5NjZhZmMuanBn.cache","vod_id":19211628,"title":"Gambar swafoto ghairah pasangan kolej yang tidak bersalah telah bocor dalam talian, menunjukkan mereka menjilat kemaluan masing-masing dan mencapai pelbagai orgasme!","lastmod":"2025-12-27","duration":"0:09:36","url":"/play/19211628.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMGMyOTAyNDgwZDU0MzRiNjdiNjViY2E0OGEwMmNiNzcuanBn.cache","vod_id":19222099,"title":"Perjanjian seks bersama adik-beradik nakal: Pertemuan secara tidak sengaja dengan zakar besar, penuh dengan ghairah.","lastmod":"2026-03-16","duration":"0:06:55","url":"/play/19222099.html"}]},
videoTitle: 'Pakcik, mari dan cium saya secara French kiss! Seorang pelajar sekolah tulen dan seorang lelaki pertengahan umur berciuman dengan penuh ghairah, air liur mengalir deras, sehingga mereka berada dalam keghairahan. Hayasaka Hime SONE_320',
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=/`;
}
};
}