"Yanainai Ondari" karya Menhera Ayuri - Aku Tak Bisa Melepas Headphoneku, Single Kedua - "Orang yang Kucintai Memiliki Bayangan Seorang Wanita" (dengan subtitle bahasa Mandarin)
\"Aku tidak bisa melakukan ini di siang bolong, terlalu memalukan.\" Seorang ibu berusia 50 tahun tidak bisa menahan diri untuk melakukan seks oral selama 4 jam di siang bolong. Mellow Moon (メロウムーン)","lastmod":"2026-07-11","duration":"","url":"/play/19267790.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNWIwMDg4MDIwOWU3NDY4YzhkNDA3NTYzZGMwODJiNTQuanBn.cache","vod_id":19102010,"title":"[Subtitle Bahasa Mandarin] SDAB-153 Pacarku kembali ke Tiongkok dan mulai sekolah menengah pertama.","lastmod":"2025-03-29","duration":"2:19:48","url":"/play/19102010.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjcvMGFlZjJmNjE4ZWU0ZTIxY2Y3OTc2OTA2NmYxMzYzNGYuanBn.cache","vod_id":19265658,"title":"Wanita yang dipasangkan dengannya adalah wanita cantik berambut pendek dan hitam yang bekerja di klub kelas atas di Ginza! Seorang wanita yang bisa menangkap ikan. NPJ","lastmod":"2026-06-26","duration":"2:10:48","url":"/play/19265658.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNDUzOTM2YzIyYTY5MTE2MmM2NGZhNjQzNmZlMzlkYzAuanBn.cache","vod_id":19157529,"title":"[Subtitle Bahasa Mandarin] Darah Venus - Episode 1 yang Berani: Tentakel yang Menggeliat di Bawah Bulan Merah","lastmod":"2025-03-30","duration":"0:19:24","url":"/play/19157529.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MDIvOTU0YjZkNmJlZWZlOTY0NWFiYTdkOTdiOWUwMDgwNTcuanBn.cache","vod_id":19205695,"title":"IQQQ042: Guru yang sudah menikah itu menjadi 10 kali lebih basah selama kelas orgasmenya, tetapi dia tidak bisa mengeluarkan suara.","lastmod":"2025-06-02","duration":"1:33:09","url":"/play/19205695.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MTkvZGFmNmJmODkzMjE2YzkxMmI3YzNjODIyZmJmYmE4NjEuanBn.cache","vod_id":19203841,"title":"Tukang pijat yang ditugaskan kepada saya menyentuh bagian pribadi saya yang sensitif secara berlebihan, membuat kenikmatan itu tak tertahankan bagi saya, dan dia berselingkuh dari saya.","lastmod":"2025-05-19","duration":"2:32:17","url":"/play/19203841.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNGY4MjdkNmVkY2ZjMTllYmMwODhkOTI0MDJhYmMxNWYuanBn.cache","vod_id":19105373,"title":"[Disensor] Seorang wanita yang mabuk dan mudah mencapai orgasme","lastmod":"2025-03-29","duration":"3:14:37","url":"/play/19105373.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYWY4ZGQzYmRhOTQ4MTQ2OTg2YTM0ZmNmMDk5MTU5NTkuanBn.cache","vod_id":19102369,"title":"SSIS-785 Saat dipaksa, penyiar berkaki indah ini tidak bisa menolak, jadi dia berubah menjadi jalang yang memohon, meminta untuk diintimidasi!","lastmod":"2025-03-29","duration":"2:30:41","url":"/play/19102369.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZmMyMTM1ZjYyYTcyYjZiYzIzZWYwZTViNWI4NTY0NjMuanBn.cache","vod_id":19190711,"title":"JJDD002C Ketika seorang anak laki-laki meminta seorang pembantu rumah tangga paruh baya untuk berhubungan seks dengannya, ia tidak dapat menolak. 02 Kebaikan dan kebahagiaan.","lastmod":"2025-03-30","duration":"2:15:34","url":"/play/19190711.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYmQ0OWM3ZDFkZGRhMjhmMGU3ZmJkMTNiNzFkZjFjYTYuanBn.cache","vod_id":19034916,"title":"DLDSS-025 Hei, aku ingin menjilat penis. Aku tidak bisa mengikuti aturannya. Seorang wanita yang tenang dan terkendali namun sangat cantik di tempat kerja. Suzumino","lastmod":"2025-03-28","duration":"1:55:04","url":"/play/19034916.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNmYyMjRhOGQwNzMxMDcyODY1NDAyMzM3NGQ0MDI0ZTkuanBn.cache","vod_id":19056335,"title":"Pertemuan penuh gairah dengan bos wanita saya di kantor [Subtitle Bahasa Mandarin]","lastmod":"2025-03-29","duration":"2:12:51","url":"/play/19056335.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMDNiYmQ4YzM4YjYzNzY4MTRmNDc1ODlmM2Q5MmZmMjMuanBn.cache","vod_id":19239763,"title":"Injuu Holy War XX3 Naraku Sister Version Subtitle Bahasa Mandarin","lastmod":"2026-01-15","duration":"0:28:04","url":"/play/19239763.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZjJkNDgwMGYxNzRiZGRlZDlkNzU4NGIyM2M1ZGJkZDAuanBn.cache","vod_id":19184372,"title":"MIAA-125 Jika kau tak bisa menyelesaikan masalah ini, perlihatkan kemaluanmu padaku. Formula ejakulasi absolut dari mentor mesum! Yatsuno Tsubasa","lastmod":"2025-03-30","duration":"1:57:12","url":"/play/19184372.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjg3MjY5M2FlNWIxMTZlYmVlODVhZmJmYWU3ZGRkZmUuanBn.cache","vod_id":19157841,"title":"[Subtitle Bahasa Mandarin] Kehidupan Sekolah Mesum Berpayudara Besar Volume 2: Targetkan Dia! Akhir dari Harem","lastmod":"2025-03-30","duration":"0:15:48","url":"/play/19157841.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvM2E2MTljMGVhOGI5ZmZjYmYyOTBmMGNjY2M4MDc5ZmEuanBn.cache","vod_id":19082693,"title":"Seorang wanita cantik yang sudah menikah diperkosa oleh bos suaminya dan dijadikan budak seksnya.","lastmod":"2025-03-29","duration":"2:59:31","url":"/play/19082693.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjgvNWE0NDAyMTAwODY0M2UxZWU4ODhkOTAxZjYyOTIyMWEuanBn.cache","vod_id":19265739,"title":"Seorang guru di sebuah sekolah di Shenzhen, yang tidak mampu membayar beberapa pinjaman, terpaksa melakukan tindakan seksual untuk menutupi utangnya, tetapi tetap gagal melunasi sisa hutang. Sebuah video tidak senonoh yang memperlihatkan dirinya dilecehkan secara seksual kemudian bocor di internet.","lastmod":"2026-06-27","duration":"0:01:56","url":"/play/19265739.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvY2JmOWRhOTg2YmFhMzA5NjdiZWE3MTQ0NTA1YmVkNmMuanBn.cache","vod_id":19254873,"title":"\"Aku sudah mencapai klimaks!\" Kebangkitan serviks yang mengalami transformasi radikal yang menentang akal sehat pada seorang wanita cantik – Mao Hotta MOODYZ","lastmod":"2026-04-20","duration":"2:01:20","url":"/play/19254873.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMWI0MjFhMWZkNGUyMDBkYjg1NWQ3YWM2MTliYTQ3ZDIuanBn.cache","vod_id":19250954,"title":"Pornografi memalukan kembali! Seorang wanita yang terbakar hingga tak dapat dikenali lebih memalukan daripada telanjang. Bagian 2: Versi lengkap dari eksperimen ilmiah RCTD-706","lastmod":"2026-03-26","duration":"1:57:10","url":"/play/19250954.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTRhN2U1ZTFjMGUzY2RiMTA5YjVkMWVhZjhhMGE3ODAuanBn.cache","vod_id":19118424,"title":"[3D][Abuja] Si Jalang Kecil Mengamuk ~Gua Masturbasi Penyihir Terbalik~ [Subtitle Yozakura].jpg","lastmod":"2025-03-29","duration":"0:14:29","url":"/play/19118424.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMTFiNWY1MjZmZWYyNWExZDczZDg1Y2NhYTVmYmFmNWEuanBn.cache","vod_id":19118718,"title":"Tak mampu menahan ajakan seksual berulang-ulang dan tak tertandingi dari teman anaknya...!","lastmod":"2025-03-29","duration":"2:28:52","url":"/play/19118718.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWMyMTVjNzRmNzZhMjlmMGU0MTg0Mjg5OTQ5NjU5ZjEuanBn.cache","vod_id":19050716,"title":"Wawancara RD-979 TERBAIK: Seorang wanita yang memasukkan segala sesuatu ke dalam mulutnya, seorang wanita menikah yang dengan sukarela buang air besar, 20 wanita terpilih, 4 jam","lastmod":"2025-03-29","duration":"4:01:26","url":"/play/19050716.html"}]},
videoTitle: '"Yanainai Ondari" karya Menhera Ayuri - Aku Tak Bisa Melepas Headphoneku, Single Kedua - "Orang yang Kucintai Memiliki Bayangan Seorang Wanita" (dengan subtitle bahasa Mandarin)',
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=/`;
}
};
}