Dandan, ngôi sao mạng nổi tiếng của Yi Live Streaming, là một mỹ nhân hạng A với cốt truyện xoay quanh những chiếc tất lụa, đôi chân ngọc, liếm chân và những ám ảnh về chân.
Video sex của cô nàng lẳng lơ Trương Nguyệt Hán, sinh viên Đại học Tài chính và Kinh tế Liêu Ninh, và bạn trai bị lộ. 01. Nữ sinh viên xinh xắn, dễ thương đã...","lastmod":"2026-07-11","duration":"","url":"/play/19207141.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOGZjZDU1ZDc0YjA5NmQxYTBmZDdiZjQzNGNiNzA4NjUuanBn.cache","vod_id":19113541,"title":"Loạt video \"Học giả hàng đầu\" - Đi săn gà rừng giá vài trăm nhân dân tệ bên vệ đường, phát trực tiếp toàn bộ quá trình với khuôn mặt của tôi hiện rõ.","lastmod":"2025-03-26","duration":"0:32:58","url":"/play/19113541.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTMvZTc1Nzg1Y2FmZDAzNjMyMjg3OWEzZmRlOGJkYWRmMmIuanBn.cache","vod_id":19167114,"title":"Người đẹp bí ẩn gây sốt tại triển lãm ảnh \"Bạn Là Ai?\", nữ thần tân binh Jun, là nhân vật chính trong một bộ phim AV độc quyền. (FSDSS_869)","lastmod":"2025-12-13","duration":"2:19:29","url":"/play/19167114.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMTliYWQwMDUwYzRiODJjYTY5ZWEyMzlmMzExNWUwZDEuanBn.cache","vod_id":19188335,"title":"Ảnh tự chụp của một cô gái trẻ xinh đẹp đã bị rò rỉ sau khi bạn trai chia tay cô; video sex của họ đã bị tên bạn trai tồi tệ đó tung lên.","lastmod":"2026-03-23","duration":"0:15:32","url":"/play/19188335.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMjIxZThlMzBlNmYyZTc5YWJiNDExYmRjYjg5MjJkM2EuanBn.cache","vod_id":19067726,"title":"Một anh chàng người Trung Quốc từ Ru Studio đã tán tỉnh một cô gái trẻ xinh đẹp, ngực nở nang, thân hình gợi cảm ngoài trời. MelodyMarks đã quan hệ tình dục với cô ấy trong một khách sạn, xuất tinh và chửi thề.","lastmod":"2025-03-26","duration":"0:41:37","url":"/play/19067726.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNWRiYjgxNjAyZTJiZmI3NTVlZGEwMjFlNjQ1YmUzY2EuanBn.cache","vod_id":19183483,"title":"Bộ sưu tập những điệu nhảy gợi cảm của nữ streamer Xiaowu Yan'er trên Kuaishou, với những động tác lắc hông, vòng ba nảy nở và những tư thế khỏa thân táo bạo trong chiếc quần da.","lastmod":"2026-02-28","duration":"0:28:32","url":"/play/19183483.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYzIzNGIzMjJkYjgyYzQ0ZGFkZDU0MzdlOTVhZjAxYTAuanBn.cache","vod_id":19098442,"title":"Mở hộp và dùng thử các sản phẩm dành cho người lớn dành cho phái đẹp - Phần 1!","lastmod":"2025-03-26","duration":"0:25:13","url":"/play/19098442.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9zYnp5dHBpbWc0LmNvbTozNTE5L3VwbG9hZC92b2QvMjAyNjAyMjUtMS9mNWQyNGI2MzNjYjUxZjYwZGYyODNkYmZhYzJhMTBkZC5qcGc=.cache","vod_id":19182751,"title":"Một người phụ nữ có vẻ ngoài lẳng lơ, thuộc tầng lớp thượng lưu, thông minh và hấp dẫn đã bị một người đàn ông giàu có, không hấp dẫn đến từ Hàng Châu tấn công tình dục tại nhà riêng. Người đàn ông này thực chất là một \"nữ thần với vẻ ngoài lẳng lơ\".","lastmod":"2026-02-25","duration":"0:16:05","url":"/play/19182751.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYjc3OTUxMzkxNWE5MDA2YTNkOTIyNDhjOGJhOGMyYjMuanBn.cache","vod_id":19187193,"title":"Video sex riêng tư của người nổi tiếng trên mạng bị rò rỉ trên nền tảng người lớn - cảnh quan hệ tình dục kiểu cưỡi ngựa - quỳ và liếm trên cầu thang - chơi đùa với vùng kín trên ghế sofa","lastmod":"2026-03-18","duration":"0:10:09","url":"/play/19187193.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZDYyZWRjOGM1YjNiNDdhYzVmN2EzNjA2ODc5YWM3N2YuanBn.cache","vod_id":19083022,"title":"Một người mẫu với gương mặt thời thượng và thân hình tuyệt vời, mặc quần tất đen và khoe đôi chân dài, cô ấy đang ở tư thế cưỡi ngựa, bị cưỡng hiếp dã man mà không dùng bao cao su - đúng là một cỗ máy tình dục!","lastmod":"2025-03-26","duration":"0:22:51","url":"/play/19083022.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMDQ5YmM0ZjQwZmNiZjA0MzllOTA4MzFmMjIyOTA3YzAuanBn.cache","vod_id":19029637,"title":"Tôi từng có bạn gái đầu tiên... và không thể cưỡng lại những lời thì thầm quyến rũ của cô giáo xinh đẹp, hết lần này đến lần khác lừa dối cô ấy... (Trăng Mầm Xanh)","lastmod":"2025-03-26","duration":"1:59:29","url":"/play/19029637.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWY4YWQ5MzQ4NGU1OWE0MjdjYmQ3OTVjNzE2MTBjMjkuanBn.cache","vod_id":19064864,"title":"[Vụ bê bối trên mạng] Video riêng tư nóng bỏng của một nữ sinh viên đại học Hàn Quốc và bạn trai bị rò rỉ trên mạng; cô ấy được thấy đang quan hệ tình dục hai lần, âm đạo đầy dịch, biểu cảm dâm dục. Phiên bản đầy đủ HD 1080P.","lastmod":"2025-03-26","duration":"0:32:03","url":"/play/19064864.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZjhlYTBhZmYxZjcwYzlkNjM0ZjZmM2JjZGQ1Y2VjZWQuanBn.cache","vod_id":19175875,"title":"Một video ghi lại cảnh Song Siyi, một phụ nữ vô cùng xinh đẹp đến từ Hạ Môn, tham gia vào một hành động đầy đam mê liên quan đến việc nuốt tinh dịch và có sự thay đổi ngoại hình ngoạn mục, đã bị rò rỉ trên mạng.","lastmod":"2026-01-23","duration":"0:01:39","url":"/play/19175875.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA5MjQvOWMxMWI2MjI5NDkyYWI2NjRmMmVjYmI3NjIzZTlkYzQuanBn.cache","vod_id":19155976,"title":"Cô gái xinh đẹp ở trường đại học xé rách tất và lên đỉnh nhiều lần.","lastmod":"2025-09-23","duration":"0:11:12","url":"/play/19155976.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMGIzMGZmZTZjZmYwZjRhMmQzMmU3OTg2MmUxMjUzYzQuanBn.cache","vod_id":19067617,"title":"Nàng Eve, một người đẹp thuần khiết như trong thơ, không thể thoát khỏi còng tay kim loại. Bị trói chặt, bịt miệng và nhổ nước bọt. Hoàn toàn khỏa thân.","lastmod":"2025-03-26","duration":"0:25:31","url":"/play/19067617.html"}]},
videoTitle: 'Dandan, ngôi sao mạng nổi tiếng của Yi Live Streaming, là một mỹ nhân hạng A với cốt truyện xoay quanh những chiếc tất lụa, đôi chân ngọc, liếm chân và những ám ảnh về chân.',
language: 'vi',
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('Đã sao chép liên kết!');
}).catch(() => {
// 降级到旧方法
document.execCommand('copy');
alert('Đã sao chép liên kết!');
});
} else {
// 降级到旧方法
document.execCommand('copy');
alert('Đã sao chép liên kết!');
}
}
},
// 切换布局
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=/`;
}
};
}