Seorang gadis Sichuan dengan stoking hitam dan pakaian dalam melakukan hubungan seks tanpa kondom dengan suaminya, dan kemudian mereka menggunakan mainan seks setelahnya.
Seorang wanita yang sudah menikah, seorang dosen universitas di Guiyang, ketahuan berselingkuh. Ia pergi ke hotel bersama kekasihnya, tetapi suaminya menelepon untuk mengecek keadaannya. Vaginanya sangat basah, dan ia disetubuhi dengan keras.Seorang wanita yang sudah menikah, seorang dosen universitas di Guiyang, ketahuan berselingkuh.","lastmod":"2026-07-11","duration":"","url":"/play/19267835.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYWViYTRmN2JiMjhjYjE2MDM4ZTRlMzk1NDc5YTdkNjguanBn.cache","vod_id":19166021,"title":"Meskipun bibirku pecah-pecah, aku tak bisa memberi tahu suamiku bahwa aku dihamili oleh ayah mertuaku... ~ Aku, Ayase Kokoro, yang disetubuhi berkali-kali selama perjalanan dua hari satu malam di pemandian air panas.","lastmod":"2025-03-30","duration":"1:56:08","url":"/play/19166021.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNzYzZmM5NmIxOGVmZjNhNzlkNGQ4MzEwY2U4NGFiYjguanBn.cache","vod_id":19079223,"title":"Seorang gadis Sichuan bernama Li X, yang ditemui oleh seorang \"Dewa 91\" saat melakukan perjalanan bisnis ke Guangzhou, adalah seorang resepsionis hotel. Dia menunjukkan wajahnya dan mereka berhubungan seks di kamar hotel.","lastmod":"2025-03-29","duration":"0:36:58","url":"/play/19079223.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNmIzM2MwMDM1MzVhYTQxYWVjZDNjMmI4NjA5NTU3OTAuanBn.cache","vod_id":19043951,"title":"Wanita elegan dengan payudara berukuran F ini, meskipun cantik di luar, sebenarnya adalah seorang karnivora! Dia dengan rakus bercinta dengan seorang pria paruh baya yang mengenakan pakaian erotis! Haruna Kawakita","lastmod":"2025-03-28","duration":"1:53:55","url":"/play/19043951.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTgvODFmNmY0NDFmNmEyYWFhMzk0MjQyM2U3ZTk2MDg4NzAuanBn.cache","vod_id":19269093,"title":"6 adegan cosplay paling intens yang menampilkan wanita cantik berseragam pelaut yang melakukan hubungan seks tanpa peng","lastmod":"2026-07-17","duration":"","url":"/play/19269093.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjgxZTE4YTkwMDZlNDk0OGFmNTM3YzQyMWNjMDg1YWMuanBn.cache","vod_id":19184862,"title":"536VOLA004 [Pihak Ketiga yang Ingin Terjepit di Celana Dalam Tipis] Celana dalam seorang wanita yang dipanggil untuk menjadi model pakaian dalam digosok.","lastmod":"2025-03-30","duration":"1:17:01","url":"/play/19184862.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvYWVlNDQ1YmVmMGY0ZTkwMDUyMjJiYzcyYzQ3OTY2ODYuanBn.cache","vod_id":19232432,"title":"Pijat vagina SPA dengan teknik jari emas menghasilkan orgasme, dan terapis pijat tidak menggunakan kondom.","lastmod":"2025-12-13","duration":"0:42:42","url":"/play/19232432.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDY2MjgzYTIxNjU0NTRjODVkMGQ0MWE3ZmFhNzQxNDguanBn.cache","vod_id":19057741,"title":"Dewi Tujuh Warna \"Sedikit Manisnya\" - Dewi Bernilai Tinggi dengan Stoking Hitam yang Menggoda, Sangat Memikat, Terus-menerus Mengucapkan Kata-Kata Cabul","lastmod":"2025-03-29","duration":"1:45:26","url":"/play/19057741.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDk3Y2Y1N2UyMmQ0MzQ5MjU2ZGNiMDViMDYyYWViZGQuanBn.cache","vod_id":19122084,"title":"Berdiri di belakangnya, dia menyetubuhinya, membuat wanita itu mengerang dan berteriak, \"Ya Tuhan, suamiku, kau besar sekali!\" Dialognya sangat cabul.","lastmod":"2025-03-29","duration":"0:15:21","url":"/play/19122084.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNTZmZDQ4N2NkNWJkYWIyZTBiNTI3NGQyMWJlMDRjNzAuanBn.cache","vod_id":19255660,"title":"Kompilasi foto-foto yang bocor tentang orang-orang biasa yang sedang berhubungan seks, mengungkap sisi tersembunyi dari berbagai dewi dan orang biasa.","lastmod":"2026-04-25","duration":"1:46:45","url":"/play/19255660.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNmU1ZDk4OGI2ZTVhMWE5NmQwZjE3ZTQ3ZWE0MjVkNWQuanBn.cache","vod_id":19137597,"title":"Pertunjukan striptease itu sangat menggoda; siaran langsungnya menampilkan mereka berhubungan seks, dimulai dengan mainan seks!","lastmod":"2025-03-29","duration":"0:35:36","url":"/play/19137597.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZTZjZTIyMjg2MjY4NGJiYTJkODU5YzFjOWNmODA3N2IuanBn.cache","vod_id":19131167,"title":"Seorang istri yang mesum dan bernafsu diam-diam merekam dirinya sendiri saat berhubungan seks dengan pria lain untuk menyenangkan suaminya.","lastmod":"2025-03-29","duration":"1:51:42","url":"/play/19131167.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MjIvYWNmYWJiZjFiMGM2NjhhNjM0YWZkN2RiZWZhZjIwNDkuanBn.cache","vod_id":19198791,"title":"Dia memiliki payudara besar dan menikmati hubungan seks tanpa kondom dengan penis besar.","lastmod":"2025-04-22","duration":"","url":"/play/19198791.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYmNjNjIwY2NlYzgxOTI2YWZmY2ViZGY4ZmQzODQwOTIuanBn.cache","vod_id":19132720,"title":"Saya pendatang baru di sini! Mengatakan bahwa Anda bisa ejakulasi saat berhubungan seks di film dewasa adalah kebohongan besar! Itulah mengapa saya memutuskan untuk berpartisipasi dalam acara ini: Saya ingin mengubah hidup saya, yang sebelumnya hanya berfokus pada tenis meja! Tujuan saya adalah...","lastmod":"2025-03-29","duration":"2:36:15","url":"/play/19132720.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMmI1MDI3MjhkMGQwYWE2OWI3OGE0NmU2NTRiMGRkMGUuanBn.cache","vod_id":19055858,"title":"Gadis muda dan cantik, lahir tahun 1998, adik perempuan seksi, 0404, sering melakukan pertunjukan masturbasi. Paras cantik dan tubuh yang menawan, masturbasi dan penetrasinya sangat menggoda.","lastmod":"2025-03-29","duration":"0:25:02","url":"/play/19055858.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMDUvMDRmMTNmMWJlODZjMWJkNjU2Yjc2ZGNkZGY2YTE1NzIuanBn.cache","vod_id":19229322,"title":"Pasangan itu pindah ke rumah kecil berdinding tipis milik kakak laki-laki suami mereka. Setelah itu, mereka tidak mampu berhubungan seks, dan sebagai gantinya, mereka memanfaatkan penis kakak laki-laki mereka yang berada tepat di depan mereka. Libido mereka lebih tinggi dari biasanya. (Okuda Saki SONE_358)","lastmod":"2025-11-04","duration":"2:09:14","url":"/play/19229322.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzRjNGE4YTFkOWEyZTE2MzQ4Mjk5NjY4MmQzMDkyMDcuanBn.cache","vod_id":19173752,"title":"Siswa SMA berpacaran dan berhubungan seks! 1.","lastmod":"2025-03-30","duration":"0:23:20","url":"/play/19173752.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNjk2ZmJkYTNkMTI1ZDc1MWQ3ODgxNmZlZGQyOWFiOGQuanBn.cache","vod_id":19135725,"title":"Seorang gadis muda yang tidak berpengalaman sedang dipermainkan vaginanya dan kemudian berhubungan seks dengan pacarnya. Kakinya diikat ke kursi, dan dia diperkosa dengan kasar sambil menunggangi vibrator.","lastmod":"2025-03-29","duration":"0:49:22","url":"/play/19135725.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDczNTdkZGRkMWQ5NzkwZWFlNGIzNGM3YzQ1NGM3ODEuanBn.cache","vod_id":19113152,"title":"Saat mereka bersentuhan, saklar pun menyala, dan mereka makan, berciuman, bercinta, dan terus saling mencari, menginap, dan berkencan.","lastmod":"2025-03-29","duration":"2:18:31","url":"/play/19113152.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MDgvN2RjYTA4NDM3MTJkNGJkODRkMWEzOTE0YzljMzVkZWIuanBn.cache","vod_id":19262502,"title":"Aku menemukan seorang gadis penggemar latihan otot di Instagram dengan hasrat seksual yang sangat tinggi dan suka berhubungan seks segera!! Gadis yang memposting \"#Aku ingin menghubungi orang-orang yang menyukai latihan otot\" akan ditampilkan di NPJ.","lastmod":"2026-06-07","duration":"2:04:44","url":"/play/19262502.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZGVjMTYxOGNkN2QwNDRlZmNhMjJiMGIzODczNTAyZTAuanBn.cache","vod_id":19251371,"title":"[Update Eksklusif] Pria mesum ini ingin berhubungan seks sepanjang waktu... Dia bahkan menyisipkannya ke dalam siaran langsung, mengubah cerita unboxing menjadi cerita seks siaran langsung!!","lastmod":"2026-03-28","duration":"0:21:36","url":"/play/19251371.html"}]},
videoTitle: 'Seorang gadis Sichuan dengan stoking hitam dan pakaian dalam melakukan hubungan seks tanpa kondom dengan suaminya, dan kemudian mereka menggunakan mainan seks setelahnya.',
language: 'id',
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('Tautan berhasil disalin!');
}).catch(() => {
// 降级到旧方法
document.execCommand('copy');
alert('Tautan berhasil disalin!');
});
} else {
// 降级到旧方法
document.execCommand('copy');
alert('Tautan berhasil 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=/`;
}
};
}