Seorang sepupu yang pendiam dan memakai kawat gigi menjadi korban pelecehan seksual oleh pasangan seksnya yang memakai kacamata hitam selama siaran langsung.
Seorang gadis muda di Bilibili ingin menjadi selebriti internet. Dia mendengar bahwa siaran langsung pornografi dapat menghasilkan uang lebih cepat daripada Douyin, jadi dia mulai melakukan siaran langsung untuk mendapatkan uang saku. Dia sangat naif dan tidak tahu apa-apa.","lastmod":"2026-07-11","duration":"18:50","url":"/play/19152764.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTQ3ODdkODVhMzExNWNmMzFiOTQyMTYzNDE1YzU5YWEuanBn.cache","vod_id":19096325,"title":"Bocoran eksklusif: Selebriti Yang Chaoyue secara tidak sengaja memperlihatkan payudaranya saat melepas jaketnya selama siaran langsung.","lastmod":"2025-03-19","duration":"01:31","url":"/play/19096325.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MDkvN2JkMTNiNDRmNzc4NzNhY2ExMzdhZjMwMDExZjUxNzIuanBn.cache","vod_id":19099465,"title":"Al Kwon Yuri menyemprotkan air saat siaran langsung.","lastmod":"2025-04-09","duration":"04:16","url":"/play/19099465.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MjgvYWNhYzE5NjEyMjY5ZDlkODU4ODkxMTljMjBlZWM2OGYuanBn.cache","vod_id":19118095,"title":"#1 Seorang wanita cantik berkaki panjang bergantian melakukan berbagai posisi, termasuk posisi berdiri menyamping dan posisi menunggang kuda.","lastmod":"2025-08-28","duration":"09:14","url":"/play/19118095.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZmQwYzAzMmUyMWVkZjViOTU5NTZiNGU3M2VhMjM5NmEuanBn.cache","vod_id":19093156,"title":"Siaran langsung yang polos dan menggoda! Seorang wanita berkulit putih dan cantik, sangat direkomendasikan untuk video masturbasinya yang menggairahkan.","lastmod":"2025-03-19","duration":"01:02","url":"/play/19093156.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzdkZDg1NGNkMjc4M2VlZmY3YzllODhkNTY1MTk4YjUuanBn.cache","vod_id":19018870,"title":"Pendatang baru yang jinak dan patuh di industri film dewasa! Teman bercinta dengan penis besar yang penuh gairah! Mengenakan lingerie seksi dan stoking hitam, posisi doggy style dari sudut pandang orang pertama, bokong besarnya sangat seksi dan erangannya sangat menggairahkan.","lastmod":"2025-03-19","duration":"33:30","url":"/play/19018870.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMWJjOTNhMDkzMDFiNzk2NWMxN2FlZmVmZTI5ZmY2N2UuanBn.cache","vod_id":19141938,"title":"Seorang ibu tunggal, yang berjuang untuk memenuhi kebutuhan hidup, menyiarkan langsung dirinya sedang masturbasi bersama putrinya, dengan keduanya saling memasukkan penis ke dalam vagina masing-masing – mereka masih sangat muda!","lastmod":"2026-03-16","duration":"29:17","url":"/play/19141938.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDM5OWI5NzFlMjY4YTNiZDFmOTE2NmIwZTRiNzdmNTUuanBn.cache","vod_id":19049937,"title":"Seorang gadis seksi dengan tato mawar di dadanya beraksi dengan teman kencannya, menjilat penisnya dan melakukan seks oral, lalu menungganginya dan memasukkan seluruh penisnya, menjilat vaginanya dalam posisi 69, kemudian menggendongnya di pundak dan menusuknya dengan keras.","lastmod":"2025-03-19","duration":"15:15","url":"/play/19049937.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjQ2OTI1OTlkNjNkODlhMjYxMmZhYzMwYzllZTZlYmQuanBn.cache","vod_id":18952542,"title":"Saudara Li, seorang playboy, mengatur pertemuan larut malam dengan seorang wanita muda kelas atas. Dorongan-dorongan kuat dan bertubi-tubinya terus berlanjut dari berbagai sudut.","lastmod":"2025-03-19","duration":"01:07:44","url":"/play/18952542.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTljMDYyOGMwOTg4MzljZDhiZmVmODgwNzBlNzI1MWEuanBn.cache","vod_id":19008705,"title":"Seorang dewi cantik dipermainkan dan didisiplinkan secara sembarangan oleh pacarnya yang kaya raya dari luar negeri, yang berpuncak pada ejakulasi sang pacar di wajahnya!","lastmod":"2025-03-19","duration":"53:04","url":"/play/19008705.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGRiMGQxMmQ2NGI1ZGMzZWU5NDgwZGNmYjdmMzkxZWIuanBn.cache","vod_id":18952051,"title":"Pria berpenis besar berhubungan intim dengan dua gadis seksi secara online untuk melakukan hubungan seks bertiga yang penuh gairah, menjilati penisnya dan menghisap payudara gadis itu sementara mereka bergantian menyetubuhinya dalam berbagai posisi.","lastmod":"2025-03-19","duration":"01:10:54","url":"/play/18952051.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYWMxNzA0Yzk3YmE1OGVhNjg0ODMxYzMyMmRiMmI3OTguanBn.cache","vod_id":18943936,"title":"Pinggang ramping, bokong besar, celana jeans ketat, kepala sekolah seni dengan rambut dicukur, dan pertarungan kekasihnya di sebuah apartemen sewaan.","lastmod":"2025-03-19","duration":"26:03","url":"/play/18943936.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDJmYjE4ZDdmMjQ2MTcxYTY0NWZlMDIwOGJmYjhiMDMuanBn.cache","vod_id":18931572,"title":"Seorang wanita seksi dengan stoking hitam dan sepatu hak tinggi, dengan kaki panjang, menampilkan pertunjukan yang penuh gairah, terlibat dalam berbagai tindakan erotis, termasuk duduk dengan dildo, mengerang dan mendesah, serta menggunakan kaki kursi untuk menusuk vaginanya dan tongkat baseball untuk merangsangnya.","lastmod":"2025-03-19","duration":"01:15:34","url":"/play/18931572.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYTE1MTYzYWFkMzBiODAyNjRmMjk5YTAyOGFiY2NkM2MuanBn.cache","vod_id":19059382,"title":"Seorang wanita muda bertubuh montok dan berpayudara besar sedang berhubungan seks dengan pacarnya di sebuah hotel. Dia menjilat penis pacarnya dan tampak sangat bahagia saat pacarnya menusuknya dari belakang. Dia menunggangi pacarnya, bokong besarnya menggoyangkan payudara putihnya yang besar.","lastmod":"2025-03-19","duration":"15:34","url":"/play/19059382.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNjg0ZWExZTA5ZDYzNTU0ZTI0YWZiY2E4Yzg2YzcwOGUuanBn.cache","vod_id":19147441,"title":"Selebriti internet \"anjing betina\" melakukan siaran langsung sebagai kakak perempuan SM yang tidak mengenakan bra di toko pakaian dalam di pusat perbelanjaan dan memamerkan bentuk tubuhnya yang bagus di sebuah restoran.","lastmod":"2026-05-11","duration":"25:18","url":"/play/19147441.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZGE1MmI0MmJlYjJjYTJlODgyMjUwMGUyYmNiZDRkMTMuanBn.cache","vod_id":18947699,"title":"Perawat papan atas yang bekerja paruh waktu sebagai penyiar langsung (live streamer) dengan vagina yang sangat indah dan menggoda.","lastmod":"2025-03-19","duration":"12:40","url":"/play/18947699.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMjA5ZDNiYjlhNTliNzI5Y2NlOTAyNTE3ZWZiNjkxZjUuanBn.cache","vod_id":19132621,"title":"Gadis seksi berrok mini kulit sedang berhubungan seks dengan pacarnya di sebuah bar karaoke.","lastmod":"2026-02-13","duration":"25:27","url":"/play/19132621.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjkxMDcxNzA5Njc5OWMyZmY0ZTFlYzBjOTNjNjJiNmIuanBn.cache","vod_id":18991686,"title":"[Mira si Pelacur Kecil yang Pemarah] Bermain Peran [Durasi Sedang] Lolita Tanpa Rambut dengan Stoking Hitam dan Seragam Pramugari, Godaan, Masturbasi dengan Alat Peraga di Kemaluan, Diperkosa dan Ditusuk oleh Penis Besar Pria, Seks Oral dan Menelan Sperma!","lastmod":"2025-03-19","duration":"24:31","url":"/play/18991686.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MzAvMjEwNmUyZGNkZDUzYWVkNzFlMjliOGM5NWY5NTBkMzAuanBn.cache","vod_id":19102562,"title":"Wanita dewasa berkaos kaki hitam terlibat dalam siaran langsung yang menggoda dan penuh gairah, berinteraksi dengan pemirsa pria melalui obrolan cabul dan panggilan telepon, dengan tampilan close-up penis besar yang menusuk dan mencapai klimaks.","lastmod":"2025-04-30","duration":"03:17:59","url":"/play/19102562.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvM2IyYWM2Y2U4YzNmYjhkZTQ5ZTRhMzVhNTFiYmE2ZjMuanBn.cache","vod_id":19031129,"title":"348FNTR-004 Seorang mahasiswi di-NTR oleh penis besar. Pacarku yang tercinta, pendiam, dan tulus di-NTR oleh penis besar saat sedang bekerja.","lastmod":"2025-03-19","duration":"02:19:10","url":"/play/19031129.html"}]},
videoTitle: 'Seorang sepupu yang pendiam dan memakai kawat gigi menjadi korban pelecehan seksual oleh pasangan seksnya yang memakai kacamata hitam selama siaran langsung.',
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=/`;
}
};
}