Pakcik menjalin hubungan dengan seorang rakan sekerja wanita yang baik di sebuah hotel, dia bertukar menjadi pakaian seragam pramugari dan mereka melakukan hubungan seks dalam pelbagai posisi.","lastmod":"2026-07-11","duration":"","url":"/play/19206850.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MzAvMDFhYjMzNTc5MzFjM2U5MzVkYzhiNTIxOTIyMmY2NmEuanBn.cache","vod_id":19151763,"title":"Lesbian, yuri, loli harimau putih, 69, saling menjilat dan mengerang","lastmod":"2025-08-29","duration":"0:11:26","url":"/play/19151763.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTQyNTg1NmFiODIxZGI0YmIzMzQzNGM0MTRiN2IzNDAuanBn.cache","vod_id":19050708,"title":"BBAN-264 Rumah Hamba ~Rakan Seperjuangan Wanita Tuan dan Hamba~","lastmod":"2025-03-26","duration":"2:59:13","url":"/play/19050708.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYjUxMWIyNDAyYmEwNjg0MjY1ZmI1MDYwYzE4MzQ3NTQuanBn.cache","vod_id":19189456,"title":"Twitter telah membocorkan gambar pasangan lesbian dan lesbian berprofil tinggi yang sedang berciuman, tetapi mereka kehilangan zakar di tengahnya, membuatkan penonton terpegun.","lastmod":"2026-03-29","duration":"0:07:08","url":"/play/19189456.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYmNjZGFiNzYyYzkyYTdhY2Y0NWYyYjcyOWJlMTNkN2QuanBn.cache","vod_id":19038050,"title":"91CM-204 Memberi Dadah dan Merogol Rakan Sekelas Wanita yang Tidak Bersalah - Bai Xue","lastmod":"2025-03-26","duration":"0:43:58","url":"/play/19038050.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvNDU1NGM0ZmI5MWI3ZGJkODhhOWM5NThjMjQ3MmFmMDUuanBn.cache","vod_id":19166747,"title":"Aktiviti seksual lesbian pertama Hayama Sayuri adalah dengan Kanno Shizuka (BF-738).","lastmod":"2025-12-13","duration":"2:19:23","url":"/play/19166747.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOGQwNzJmMmQyNjYzZTQ0YTc3ZDc1YzcxYzUyOTU4ZDYuanBn.cache","vod_id":19093002,"title":"Seorang gadis yang aktif di kelab dan fokus memberi urutan kepada wanita. Seorang lesbian seksi - perlahan-lahan menikmati badan yang berotot.","lastmod":"2025-03-26","duration":"2:46:18","url":"/play/19093002.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjUvYmNmY2Q1ZjFlOGM4NmQxNDM3YmM5ZTVhNjMzOTIyYmMuanBn.cache","vod_id":19160839,"title":"Pembantu peribadi dewi itu dihukum oleh tuannya kerana leka semasa membersihkan; dia dirogol dengan ganas, diejakulasi di muka, dan dipaksa makan air mani dan minum air kencing.","lastmod":"2025-10-24","duration":"0:22:41","url":"/play/19160839.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMDIvMjg5NTVlYWRjZTFjODY5OTljOGE5OWM5MmExODY0NTkuanBn.cache","vod_id":19157422,"title":"Kaedah terbaik untuk melatih hamba lesbian adalah dengan terus merangsang bahagian sulitnya langkah demi langkah untuk menjadikannya lebih sensitif.","lastmod":"2025-10-01","duration":"1:09:04","url":"/play/19157422.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzE1MDEwNmRlMmM1ZjNkODE0OThjOWIxZmE5ODhjYjQuanBn.cache","vod_id":19110185,"title":"Lesbian gempal yang melakukan hubungan seks kini sah di sisi undang-undang!","lastmod":"2025-03-26","duration":"2:14:03","url":"/play/19110185.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNWExOWM1NDA2NjMzNjQyZTIwZWM5NWM1ZDkxYzI0MDcuanBn.cache","vod_id":19077558,"title":"NVH029 Latihan perhambaan transgender untuk lesbian ~ Guru wanita menghukum pelajar untuk aktiviti kokurikulum ~ Miu Arioka #Kanon Takanashi","lastmod":"2025-03-26","duration":"2:47:46","url":"/play/19077558.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvN2RlZmNkYmI5ODA1ZmVmZGI0NTc1YmM5ZGFhYWMyNjEuanBn.cache","vod_id":19034633,"title":"NHDTB-681 Gangguan Lesbian Rumah Mandi Awam Siri 2: Projek Lesbian Bersiri Menggunakan Gadis-gadis yang Patuh dan Tidak Bersalah (Maeno Nana, Ito Airu, Tenma Yui, Sano Natsu)","lastmod":"2025-03-26","duration":"3:07:10","url":"/play/19034633.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjIvYzNkMDVjM2U5NjMwY2MyZWE1ZDE5ZjNiZjMyYzdhMjAuanBn.cache","vod_id":19204635,"title":"Zhang Li, seorang guru wanita di Universiti Linyi, ialah seorang guru yang bermaruah dan baik pada siang hari, tetapi seorang perempuan jalang yang lucah pada waktu malam. Video seks lucahnya, yang melibatkan seekor anjing betina memakan zakar, telah bocor.","lastmod":"2026-06-21","duration":"0:03:16","url":"/play/19204635.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZmNiOTY1ZmIxNGE5NGIzZTA5MTlmNzEyYmEyMjdlNjMuanBn.cache","vod_id":19072822,"title":"SGA129CN dan tuan rumah terbaik melakukan seks pancutan air mani terbaik. 43. Seorang gadis Jepun kacukan yang cantik yang kembali dari luar negara.","lastmod":"2025-03-26","duration":"1:55:23","url":"/play/19072822.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODJiNGMzN2Y2MDMwMzA3YmNlMWI4NWYxYWQwNDcxMzMuanBn.cache","vod_id":19086726,"title":"Kawan Ibu PTA Lesbian - Isteri Bernafsu Menyasarkan Isteri Berpayudara Besar, Berambut Montok - Momoi Shizuka, Matsumoto Minami.","lastmod":"2025-03-26","duration":"1:59:41","url":"/play/19086726.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvOGM2NGU3MTNiM2QxMDlmMGUxNTM0MmVkZmFmZTYxM2QuanBn.cache","vod_id":19199176,"title":"Seorang gadis sekolah menengah PUA, seorang influencer media sosial dari Ningbo, Zhejiang, sedang dilatih oleh Jin Zhao untuk menjadi seorang yang tunduk, mengubah seorang pelajar sekolah menengah yang naif menjadi seorang yang tunduk, secara aktif menjilat duburnya sambil ditembusi dan menghisap jari-jari tuannya yang dipenuhi air mani.","lastmod":"2026-05-15","duration":"0:46:14","url":"/play/19199176.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjAvODI3YjJhNTAzMzVhOWJiOGFiODExYTdiMzc2YTlmOTcuanBn.cache","vod_id":19155376,"title":"Aoi Hoshi, Liberalisasi Lesbian, Saya \"Suka\", Bukan Sekadar Saya Berada dalam Permainan yang Buruk, Miyana Hatsuki, Arimura Nozomi, IESP750","lastmod":"2025-09-19","duration":"2:16:29","url":"/play/19155376.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvY2RjNzUxYWRkODdlNWQxYWMzMGMwZGRmNzZjNDI3OWUuanBn.cache","vod_id":19052924,"title":"Tandas daging eksklusif Master","lastmod":"2025-03-26","duration":"0:17:20","url":"/play/19052924.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjQyMzJlZGJjYjA2NmViMGJlNGM3MTE1ZWE1ZWM2OGIuanBn.cache","vod_id":19031995,"title":"Madou Media - Guo Tongtong telah menjalinkan hubungan romantis dengan orang yang dicintainya sejak sekian lama dalam perjalanan perniagaan.","lastmod":"2025-03-26","duration":"0:29:47","url":"/play/19031995.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MDIvZGUxY2IxNGQzZWMwMTNjNTdhZWY1MmMxZTliZTgyNTIuanBn.cache","vod_id":19202646,"title":"Tembikai masak yang dijamin, Universiti Teknologi Xi'an Zhao Wenxuan, jalang kecil kanan, mula menstrim langsung untuk melayani tuannya, dialog lucah, seks oral, tekak dalam, penembusan dubur, air mani putih, 80,000 penonton.","lastmod":"2026-06-01","duration":"1:13:10","url":"/play/19202646.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDc0ZTE0ZWNkZjk0MDg5NDM2NzY2ZGEzZjBhYWFlZjkuanBn.cache","vod_id":19092347,"title":"Lovejoy x Kana Hana, satu sesi penggambaran solo yang menampilkan kakak sulung, mempamerkan pakaian renang kompetitif lesbian yang suci. Wanita itu sendiri memegang kamera, merakam gadis comel itu dalam pakaian renangnya.","lastmod":"2025-03-26","duration":"1:34:24","url":"/play/19092347.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMzRhMjA3NjIxYzBmMGJlMzgwMmE1ZGUwMjRiNDY1NDQuanBn.cache","vod_id":19036915,"title":"HAVD-990 Lesbian Berciuman Selepas Sekolah: Guru Wanita dan Pelajar Wanita Baharu","lastmod":"2025-03-26","duration":"2:30:07","url":"/play/19036915.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvODNhNGVkYmM4MGU1YjIxN2U0YWNlZWMzODY3NjIwYWMuanBn.cache","vod_id":19183515,"title":"Jurugambar POV wanita Mika dan pelakon lesbian #5 Hatachan dan Yui Hata PKPD-391","lastmod":"2026-02-28","duration":"2:19:22","url":"/play/19183515.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOTQyNWFjMmY1M2NhNDAzMzE0MDZjNDlhNjVjZDQ5YjQuanBn.cache","vod_id":19045803,"title":"Larangan lesbian ditarik balik","lastmod":"2025-03-26","duration":"2:25:40","url":"/play/19045803.html"}]},
videoTitle: 'BBAN-264 Rumah Hamba ~Rakan Seperjuangan Wanita Tuan dan Hamba~',
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=/`;
}
};
}