Một mối quan hệ trong sạch và ngăn nắp, một mối quan hệ tràn đầy tình yêu thương, một người vợ xinh đẹp với vòng ngực đầy đặn, và trong mỗi lần ân ái... Isshiki Sara MERCURY (Marchry)
Bộ sưu tập Phụ nữ đã kết hôn của Moon Power Wives tập 05. Diễn viên chính: Nanase Hiromi, Tachibana Hinata, Ayase Mana, v.v. DOC","lastmod":"2026-07-11","duration":"04:03:16","url":"/play/19164584.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMGViNTYzYjFjOWMwNmM4NTk0ODlmZjQyOGU0ZDQyN2MuanBn.cache","vod_id":18930957,"title":"Một cô gái dễ thương với hai bím tóc, khuôn mặt trẻ trung và vòng một khủng, đang trình diễn màn trình diễn gợi cảm. Nuốt trọn dương vật, quan hệ tình dục bằng miệng, dụng cụ rung hình trứng, thủ dâm, thâm nhập từ bên hông và đẩy hông. Vô cùng quyến rũ, đừng bỏ lỡ nếu bạn thích.","lastmod":"2025-12-14","duration":"01:12:10","url":"/play/18930957.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDU3NTA2MzkzNDRkNzdlNTNjOWEwMmYxMjM3NzYyNDkuanBn.cache","vod_id":18953307,"title":"chị gái của vợ","lastmod":"2025-03-22","duration":"01:20:11","url":"/play/18953307.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMWE5YmY5ZTE3NTFhNTRjNzRhNGI2N2Q2OTEzZjlhNTQuanBn.cache","vod_id":18973486,"title":"FC2PPV 3280777 [Quay phim cá nhân] Bộ mặt thật lộ diện: \"Mayumi, 30 tuổi\" Người phụ nữ đã kết hôn xinh đẹp và dâm đãng, phong cách nổi bật, 4P với dương vật cực khủng!! Không dùng bao cao su, xuất tinh lên mặt rất nhiều.","lastmod":"2025-12-14","duration":"01:09:53","url":"/play/18973486.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDY1MWRhMTg4MjY3NGVhMzVmMjU2MTZlZjk5ODdjOTAuanBn.cache","vod_id":18975098,"title":"[Phụ đề tiếng Trung] SSIS-715 Tôi đã yêu cô sếp xinh đẹp, giỏi giang của mình, và tôi là bạn trai của cô ấy, đáp ứng mọi nhu cầu tình dục của cô ấy mọi lúc, mọi nơi.","lastmod":"2025-03-23","duration":"01:58:55","url":"/play/18975098.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZWU5NTVmYjc4ZWU4MDRjMjk2MTVhZDY4YTg0NjU5NTAuanBn.cache","vod_id":18959416,"title":"Vụ bê bối trực tuyến bắt quả tang ngoại tình đã được phanh phui. ❤️ Người vợ khỏa thân nhưng vẫn bảo vệ người tình; dường như cô ấy đã tìm thấy tình yêu đích thực.","lastmod":"2025-12-14","duration":"00:07:57","url":"/play/18959416.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMjJjOGUwNWNiNTdlNjRiMGZkNDY5ZDZhYzBhNTM4MmEuanBn.cache","vod_id":18973559,"title":"JUY-886 Ba ngày ở nhà, quên cả thời gian, ghi lại những khoảnh khắc ân ái với người yêu thời thơ ấu (nay đã kết hôn). Yuka Oshima","lastmod":"2025-12-14","duration":"01:59:04","url":"/play/18973559.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTdkMTJlZTc3NTNhM2Y3YjA5ZjViYTYwNDBkODlkMzQuanBn.cache","vod_id":19011174,"title":"JBD162 Làn da mềm mại của người phụ nữ đã ly hôn - Reiko Sawamura...","lastmod":"2025-03-24","duration":"01:53:04","url":"/play/19011174.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzcxODRiYjNjYTNiZTVlMDFhNjU5MmM2ZjY1Y2JlZDQuanBn.cache","vod_id":18934064,"title":"[Phụ đề tiếng Trung] DASD-620 Vợ yêu khiến tôi cương cứng. Người ngoài cuộc thôi miên kẻ bị cắm sừng. Rin Chibana","lastmod":"2025-12-14","duration":"02:00:45","url":"/play/18934064.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMGNmZWM4ZjA1M2Q3OWE4MzViNjk5MjliZWExODYxMGQuanBn.cache","vod_id":19013754,"title":"HUNTA743P3 [Tập 3] \"Nếu em đồng ý, chúng ta có thể quan hệ tình dục! Không sao nếu em thất bại và xuất tinh vào trong... Hãy biến lần đầu tiên của em thành một kỷ niệm tuyệt vời!\" Mẹ kế mới của tôi đột nhiên xuất hiện... (loạn luân).","lastmod":"2025-03-24","duration":"01:56:02","url":"/play/19013754.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZDRjNWU0M2I1MmYwZTBiMjIwODljNDg5NDllOWMzZWIuanBn.cache","vod_id":18991783,"title":"300NTK-146 \"Mei lông lá\", một mỹ nhân váy ngắn đến từ câu lạc bộ quần vợt, sở hữu khả năng rung âm đạo tuyệt vời! Hãy học những điều cần thiết của tình dục nhập vai! Kẹp chặt âm hộ của cô ấy bằng vòng mông tuyệt đẹp của bạn! Phơi bày điểm yếu của cô ấy—núm vú! Một video góc nhìn người thứ nhất về một mỹ nhân quyến rũ nhưng bị khuất phục!! Số 301","lastmod":"2025-12-14","duration":"01:04:11","url":"/play/18991783.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYjdhZjg4MDZhOWIzNjg2Y2EwMGE2MDMwNDdlN2JlYjYuanBn.cache","vod_id":18977654,"title":"Pacopacomama Pacopacomama 062423_868 Một người phụ nữ đã kết hôn xinh đẹp và quyến rũ đã bị cưỡng hiếp một cách triệt để. Hiroko Takenaka","lastmod":"2025-12-14","duration":"00:58:30","url":"/play/18977654.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNjc0OWU3ZDk3ODk3ZGYzNjRjMTBjYzBlYjMxYjU4YTkuanBn.cache","vod_id":18964351,"title":"⭐Trẻ trung và bất khả chiến bại⭐ Làn da trắng hồng, vòng một tròn trịa, tự nhiên tuyệt hảo, eo thon và vòng ba đầy đặn, \"tiểu khẩu pháo thép\" của ngôi sao mạng [Muốn] Chụp ảnh riêng cao cấp Mùa 3 ~ Múa khỏa thân trong trang phục nữ tính, thân hình \"khẩu pháo\" hoàn hảo của Ziwei (21)","lastmod":"2025-12-14","duration":"00:01:00","url":"/play/18964351.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTY2ZDc0ZTc3MjQ0NjQyZDcxNmU4ZTZjYjZkN2JiOTAuanBn.cache","vod_id":18954012,"title":"Mới nhất ✅Otaku✅Phúc lợi\" Ngôi sao mạng da trắng, ngực tròn trịa, eo thon, mông bự [Muốn] Chụp ảnh riêng trả phí cao cấp~ Múa khỏa thân Ziwei~ Một điệu nhảy độc đáo và quyến rũ_01","lastmod":"2025-12-14","duration":"00:00:34","url":"/play/18954012.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvODRhMjc1OThhMzE5MTE4OTI1YTZlOGY2NTk4ZDlkNzUuanBn.cache","vod_id":18997687,"title":"WANZ-977 Chị gái của người vợ đến thăm, Giang Xuyên.","lastmod":"2025-12-14","duration":"02:00:01","url":"/play/18997687.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNDM2M2ExZmExNjMwMDE5Mjk4ZDMwNDhhMGNjODc3MWIuanBn.cache","vod_id":18962945,"title":"TIKB-046 [CẢNH BÁO: Hình ảnh khiêu dâm] Một cô gái với làn da nâu khỏe mạnh và vùng kín đã được cạo sạch! Quan hệ tình dục biến thái với một thân hình đầy đặn, ngực khủng và dâm đãng!","lastmod":"2025-12-14","duration":"02:07:11","url":"/play/18962945.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTQ5ZWQ4ZjAyZGZjN2ZkNGQyODQ4NzRjZjdlMTM2NTYuanBn.cache","vod_id":18936266,"title":"HBAD-426: Một nữ doanh nhân 29 tuổi với làn da mềm mại. Cô ấy cần phải độc lập về trí tuệ và sự nghiệp, nhưng lại bị buộc phải dùng thân thể để thỏa mãn dục vọng tình dục của khách hàng.","lastmod":"2025-03-22","duration":"02:00:13","url":"/play/18936266.html"}]},
videoTitle: 'Một mối quan hệ trong sạch và ngăn nắp, một mối quan hệ tràn đầy tình yêu thương, một người vợ xinh đẹp với vòng ngực đầy đặn, và trong mỗi lần ân ái... Isshiki Sara MERCURY (Marchry)',
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=/`;
}
};
}