TCD-237_A Seorang lelaki transgender bertemu dengan lesbian di jalanan! Seorang gadis montok berbadan besar dan kakak perempuannya yang kecewa secara seksual, mereka tidak kisah dimanipulasi.
Isteri muda berdiri di jalan di kawasan apartmen! Mengambil 1.5? Melakukan hubungan seks di rumah secara percuma! Berunding dan kemudian pancut di dalam tanpa kondom OK! Seorang lelaki muda yang berhenti melakukan hubungan seks untuk membunuh masa Hunter","lastmod":"2026-07-11","duration":"04:00:31","url":"/play/19163820.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzRmYTA4Njc4NzU3YjYyMmI2ZTJiZGUzMzQzZTk3MjcuanBn.cache","vod_id":18998783,"title":"Si cantik berdada besar, mengerang menggoda.","lastmod":"2025-03-23","duration":"14:58","url":"/play/18998783.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDhiMjkwOWJmMmFhZTViYTgzNTYxZjMzMTIyNTYwYzUuanBn.cache","vod_id":18925109,"title":"LZPL-034 Kumpulan Wanita Masokistik Mencium dan Menjilat Faraj di Salon Kecantikan Lesbian - Tsubasa Hachino & Rei Nakatani","lastmod":"2025-12-14","duration":"02:26:25","url":"/play/18925109.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMTVkMTY1NjkwNTMzZWY1ZDhmMThmOWY4NzI2ZWI5ZjMuanBn.cache","vod_id":19142332,"title":"Cadangan hari ini: seorang wanita cantik dengan anting-anting besar yang elegan.","lastmod":"2026-02-08","duration":"01:48:13","url":"/play/19142332.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MTkvMzZhNmE5OGViYzIxZmI2YmUzYThjODlkNjEzNDZhMzkuanBn.cache","vod_id":19047849,"title":"[Tidak ditapis] Demam Payudara Besar: Shirase Yukiho 1pondo_090822_001 Shirase Yukiho 090822_001","lastmod":"2025-08-19","duration":"54:05","url":"/play/19047849.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2Y3Y2NiZDk5MmVhOTc1N2NhMmY1ODdkNWI5NmZjYjkuanBn.cache","vod_id":19021084,"title":"Gadis itu dibawa ke tandas lelaki dan didera.","lastmod":"2025-03-24","duration":"34:52","url":"/play/19021084.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjA2Y2JjYzc4ODFlYzE2ZjY0ZTEwZWJhMmVhOWQ4OTcuanBn.cache","vod_id":18997746,"title":"[Skandal Mengejutkan] Satu kejadian \"serangan paksa\" KTV berlaku di Longgang, Shenzhen. Semasa perjumpaan seorang rakan, seorang wanita muda mengusik seorang lelaki kacak tetapi tanpa diduga menjadi mangsa serangan paksa. Pada satu ketika, lelaki itu menarik seluarnya ke bawah dan memaksanya ke posisi teratai!","lastmod":"2025-03-23","duration":"01:57","url":"/play/18997746.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODdmODM5ODY4NTZkZDAzMjk4YTU5ZjgzMzUwNDUzODEuanBn.cache","vod_id":18957800,"title":"LZDM-050 [Perspektif Subjektif Lesbian ASMR] Pada hari itu, saya tewas kepada godaan lesbian pelajar-pelajar saya dan memberikan tubuh saya kepada mereka sekali. Sejak itu, saya telah melakukannya berulang kali setiap kali saya bertemu mereka.","lastmod":"2025-12-14","duration":"02:55:50","url":"/play/18957800.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MjgvMmE1ZjM4MzRlOGM3MDAyMzM3YmJiOGRkYWNmOGEzMTAuanBn.cache","vod_id":19044506,"title":"MIDA125 ialah sebuah klinik di mana doktor berpayudara besar melakukan seks payudara afrodisiak untuk memberikan anda pelbagai orgasme.","lastmod":"2025-07-27","duration":"02:05:42","url":"/play/19044506.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNTg0YWIxYzA5YjcyNzllNjEwNDM5ZjFkY2JmZmM2NTMuanBn.cache","vod_id":18964228,"title":"\"Koleksi Lengkap Bocor Peringkat Atas\" - Menunjukkan wajah anda adalah kuncinya! Sasaran tandas daging manusia: 100 orang membunuh Twitter bernilai tinggi berkualiti tinggi jalang kontras payudara besar [Juice Summer] menembak pelbagai seks peribadi Ziwei (88)","lastmod":"2025-12-14","duration":"00:01:24","url":"/play/18964228.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MjAvNTVhOGNjZmY3OWQxODBlYmViYjI5MDdhZjJlNjYzZTEuanBn.cache","vod_id":19048108,"title":"PYM508 Gadis amatur melakukan seks oral dan hisap zakar sambilan, menelan","lastmod":"2025-08-19","duration":"03:28:57","url":"/play/19048108.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTExMTkvNThlOWMxMmY1YmM4YTcyMWVjMGNmZjMyYTQ1ODJiYjQuanBn.cache","vod_id":19063249,"title":"Kami menjual video seorang gadis tenis yang tidak tahu malu. Pelakon wanita tidak dikenali COM_412","lastmod":"2025-12-14","duration":"30:44","url":"/play/19063249.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MDYvZGZkZGMwMjhiMjQ1YmQ1NWVhNjQ3OTVhMDc1MjdkMTEuanBn.cache","vod_id":19028112,"title":"Melakukan hubungan seks dengan makcik berdada besar kegemaran saya, Fujiko Mio (VENX-184-C).","lastmod":"2025-04-06","duration":"01:59:56","url":"/play/19028112.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODc0Y2RiZTNmYWNkNzdmNTMwYmU2ODUxMTNhMjY5MzQuanBn.cache","vod_id":18952203,"title":"OKP-051 Stoking Suci - Konno Hikaru. Nikmati tapak kaki dan jari kaki gadis cantik yang berpeluh dalam stoking seragam dan segar ini! Kadang-kadang dia melakukan duduk di muka dan fetish kaki, kadang-kadang dia pancut ke dalam, dan kadang-kadang dia menggosok punggungnya dan pancut ke seluruh badannya! Nikmati latihan sesat dan permainan orgasme wanita yang terangsang ini. Fetish AV.","lastmod":"2025-12-14","duration":"01:33:32","url":"/play/18952203.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDMyZmRmMTI1YmIxNmYxYzdkMmMzNzNiNGI0MjZiYjIuanBn.cache","vod_id":18961055,"title":"BBAN-396 Rakaman di sebalik tabir lesbian di sebuah hotel lima bintang ternama. Perempuan jalang di kaunter penerimaan tetamu itu memberikan saya orgasme yang tidak terkawal, menarik saya ke dalam paya lesbian.","lastmod":"2025-03-22","duration":"02:31:08","url":"/play/18961055.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzRmMGRjNTkwMGRkOTc3ZTk1NzEyZWNmMDY2YWFkNzIuanBn.cache","vod_id":18931161,"title":"1pon043010_824 Ejakulasi Muktamad 2 ~ 10 Rawatan Muka Berturut-turut dan 10 Ejakulasi Dalaman ~ (Hikaru Tsukino)","lastmod":"2025-12-14","duration":"01:09:44","url":"/play/18931161.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvY2JiNDc4NDNlNDg4M2I4ODY0MzgyZDQ0MWZlYjRiYzUuanBn.cache","vod_id":19004045,"title":"Seorang perempuan jalang yang memakai bodysuit putih menggoda aku untuk memancutkan air mani di dalam dirinya.","lastmod":"2025-03-23","duration":"10:20","url":"/play/19004045.html"}]},
videoTitle: 'TCD-237_A Seorang lelaki transgender bertemu dengan lesbian di jalanan! Seorang gadis montok berbadan besar dan kakak perempuannya yang kecewa secara seksual, mereka tidak kisah dimanipulasi.',
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=/`;
}
};
}