Seorang wanita yang sudah berkahwin, dahaga, dan langsing, yang dibebani hutang, dipaksa melakukan hubungan seks dengan seorang pelacur lelaki oleh pemiutangnya.
Pelajar kolej dan kaunselor menempah bilik hotel; kaunselor memikat gadis semasa bermain PUBG dan menjawab panggilan telefon.","lastmod":"2026-07-11","duration":"38:34","url":"/play/19164203.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDExZjFkMWFmMWI0ZDgzZDBlZTA4MGY5ZWRkZmRiMzguanBn.cache","vod_id":18960214,"title":"[Sarikata Bahasa Cina] CARI-004 Kami menemui seorang suri rumah yang montok di jalanan dan memikatnya ke pejabat kami dengan alasan temu duga kerja. Kami membuatnya mabuk dan kemudian melakukan hubungan seks dengannya!","lastmod":"2025-03-22","duration":"02:05:48","url":"/play/18960214.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMGM0NjM1MjVkNDg5OTc4YmVjZjVhN2Q4MjFiNDllZDIuanBn.cache","vod_id":18950414,"title":"[Sarikata Cina] YSN-497 Isteri saya yang menggiurkan dan dahaga tidak sempat mengelap cecair prostatnya","lastmod":"2025-12-14","duration":"01:38:42","url":"/play/18950414.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MDUvYWE5MDliZmNiOTNlMWRhNGNiODg3YmYyNGNlMDk2NDQuanBn.cache","vod_id":19045466,"title":"Seorang wanita sundal yang sudah berkahwin dan memakai kasut tumit tinggi telah berlaku curang terhadap suaminya di sebuah hotel; dia telah diserang dengan kejam sebelum dia sempat menanggalkan semua pakaiannya.","lastmod":"2025-08-04","duration":"10:09","url":"/play/19045466.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMzA5ZjE2ZTAyOGEyODUwNjc3ODViOGU4ZTA0YWFmOTUuanBn.cache","vod_id":19155507,"title":"Rakan sekerja syarikat bergilir-gilir merakam seluar dalam secara rahsia, menguntit, memaksa seks oral, menggunakan afrodisiak, dan merogol satu sama lain selama seminggu. CLUB-862-C","lastmod":"2026-04-28","duration":"01:56:34","url":"/play/19155507.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYTEzOTg1MzFjNTFhMGI2MTBlMDZhYzIyMTJhYTJjMWEuanBn.cache","vod_id":19141359,"title":"Seorang wanita yang sudah berkahwin, dahaga, dan langsing, yang dibebani hutang, dipaksa melakukan hubungan seks dengan seorang pelacur lelaki oleh pemiutangnya.","lastmod":"2026-02-03","duration":"57:47","url":"/play/19141359.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9hLjE1NTEyMTAudG9wLzIwMjUxMjA3L0pzbDN5VXd4LzEuanBn.cache","vod_id":19065085,"title":"Seorang suri rumah yang teruk dalam menolak, didorong oleh rasa putus asa oleh urutan ekstrem ahli fisioterapi, menjadi tidak dapat menahan zakar. (Miike Koharu, Kudo Yuri, Ikuta Yuri AKDL-340)","lastmod":"2025-12-14","duration":"02:38:46","url":"/play/19065085.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYmI1YTQ3ZDU5YjQwODQxNGIwOTYyOGMwOTA5MGQzMGEuanBn.cache","vod_id":19163373,"title":"Eksklusif Madonna: Kerja Perhambaan Pertama Mariko Sada!! Seorang Wanita Berkahwin Lemas dalam Tali Rami - Mariko Sada Madonna","lastmod":"2026-07-11","duration":"02:00:07","url":"/play/19163373.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjEvNWJkZTQ1MWE3ZGJmZWZiNDc5NmI3NTNhNWE3NDI5Y2IuanBn.cache","vod_id":19058860,"title":"DW003 Pembebasan Seksual Ibu Tempatan: Rekod Remaja Wanita Berkahwin #ROXIE","lastmod":"2025-10-20","duration":"37:16","url":"/play/19058860.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYWQwYzg3M2RmZWQwMmVmMzY2OTg4MjRkNWUxNzIzNDQuanBn.cache","vod_id":19143338,"title":"Gadis yang kelihatan polos ini sebenarnya agak mahir bermain PUBG!","lastmod":"2026-02-14","duration":"05:42","url":"/play/19143338.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA3MTEvMzM3N2QwMWI0MjA2ZmEwZjZkNDcxZDIzZmUxNzc0MzUuanBn.cache","vod_id":19167869,"title":"Terpikat dengan kata-kata manis, dia terlibat dalam seks di dalam sarang seorang wanita yang sudah berkahwin… (Mary Tachibana, Madonna)","lastmod":"2026-07-12","duration":"02:23:41","url":"/play/19167869.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYTBiMzUxNGFmY2JmYTUzNTUyYWIyNGI4OGU5Y2U2ZmIuanBn.cache","vod_id":19153648,"title":"Kali pertama dewi koma yang sempurna mabuk dan menggoda, menggoda pasangan seksnya, melakukan hubungan seks tanpa kondom, bermain PUBG, dan melakukan hubungan seks 3 kali.","lastmod":"2026-04-16","duration":"01:06:42","url":"/play/19153648.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MTQvMjkyODVhZTAyMDkzMTE4M2FhMjI2MTRmYjg1NDAyMWQuanBn.cache","vod_id":19038201,"title":"MIDV655 \"Bubble Bath Starts\" menceritakan kisah seorang suri rumah yang bosan, berpeluh, dan montok di kawasan luar bandar yang secara rahsia menjalankan perniagaan, menggunakan putingnya yang tegang untuk melayan pelanggan.","lastmod":"2025-06-14","duration":"02:31:54","url":"/play/19038201.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOGJiZWEwOTc3OTQ5NjkwZDUwYjMzZWU4MjQwMjZhZTYuanBn.cache","vod_id":18991532,"title":"Perbezaan antara 300MAAN dan 435 sungguh menakjubkan! Daripada seorang wanita kerjaya yang tajam dan berkebolehan di lapangan terbang Okinawa kepada seorang wanita yang sudah berkahwin dan berpakaian sempit dan dipenuhi feromon! Seorang perempuan jalang sejati yang teruja melihat keseronokan seorang lelaki! Dia meraba seluruh badannya sambil mengeluarkan kata-kata kesat! Lelaki itu menolak tanpa henti sehingga farajnya penuh dengan rembesan! Omboh itu mengeluarkan gema berdecit semasa ia berputar! Sebaik sahaja ia ditarik keluar, ia akan pancut! Dia pancut tiga kali berturut-turut ke dalam lubangnya yang kosong! 1","lastmod":"2025-03-23","duration":"01:20:19","url":"/play/18991532.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjMvMmU5Mjc4YzNmY2MwZTQ0ZWY4YTE1YjYzNmFjNWU5MWMuanBn.cache","vod_id":19164697,"title":"Wanita Matang Yang Sangat Berbeza Menggoda Penghantar Barang: Harimau Putih Merah Jambu Dan Lembut Dengan Ketat Yang Sangat Ketat","lastmod":"2026-07-11","duration":"15:14","url":"/play/19164697.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDdkMzdiMmIyZmEyNzI3NGZkNzUwMTAzYzlhNjYzM2IuanBn.cache","vod_id":18962136,"title":"Influencer Twitter NTR cuckold pelacur jalang chengse hookup penggambaran peribadi ~ pendedahan luar seks liar wanita berkahwin berkongsi dengan ikhlas menjemput peminat 3P fetishist wanita matang mesti ada (baru) _ (10)","lastmod":"2025-12-14","duration":"00:02:20","url":"/play/18962136.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYjI3MzZjYjMzNjMwZTJjMmJkMjA2Yjg1MTA4ZjE5MzIuanBn.cache","vod_id":19147275,"title":"\"Adakah kali pertama awak dengan makcik awak, pertemuan seksual yang kasar dan janggal?\" Lelaki dara dan wanita matang yang sudah berkahwin terlibat dalam seks yang memecah keperawanan. Shino Sawaguchi CHERD-102","lastmod":"2026-03-08","duration":"01:44:55","url":"/play/19147275.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDY2OGNkODA3MGUyMGYwMmRlNzQ3MzU2MzFjNGZiN2MuanBn.cache","vod_id":18966241,"title":"Dalam komuniti Haijiao, seorang menantu lelaki berusia 31 tahun memasang perangkap dan melakukan sumbang mahram dengan ibu mertuanya yang berusia 44 tahun. Dia memaksanya melakukan seks oral ke atasnya menggunakan video melancapnya, dan mereka hampir mengoyakkan stokingnya.","lastmod":"2025-12-14","duration":"00:15:56","url":"/play/18966241.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MDUvYmU0MGZjMzhiMzI5OTI0ODdlMDUzYTY4NTg0MTljMTkuanBn.cache","vod_id":19050404,"title":"DVMM201 Seorang suri rumah yang berkulit cerah dan gempal serta-merta menjadi ketagih! Keesokan harinya, seorang wanita yang sudah berkahwin yang obses dengan zakar besar datang ke pintu saya tanpa kebenaran, dan saya berpuas hati.","lastmod":"2025-09-04","duration":"02:49:56","url":"/play/19050404.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjFjNGJkZDM0N2JiYTE0MDk5YjQ0NDY2ODM4ZjI0ODYuanBn.cache","vod_id":18964703,"title":"[4K] GMEM-087 Cangkang Merah Super Manis Badan Lembut Mainan Gadis Cantik Latihan ~ Daging Lembut Orgasme Paksa Orgasme Tanpa Akhir Neraka ~ Maeno Nana","lastmod":"2025-12-14","duration":"02:14:41","url":"/play/18964703.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmFiN2QxNWZkZWJkZGRlN2I1ODBjMmZjYzYwZjA3YjIuanBn.cache","vod_id":18980860,"title":"Suri rumah yang dahaga sedang ditiduri -","lastmod":"2025-12-14","duration":"00:26:16","url":"/play/18980860.html"}]},
videoTitle: 'Seorang wanita yang sudah berkahwin, dahaga, dan langsing, yang dibebani hutang, dipaksa melakukan hubungan seks dengan seorang pelacur lelaki oleh pemiutangnya.',
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=/`;
}
};
}