Ang malaking pagkakaiba sa pagitan ng imahe ng kabataan at ng katotohanan ng insidente sa Liuzhou Jiaston Hotel—kung saan isang batang babae sa paaralan ng sining ang umano'y pinigil at pinilit na ngumiti—ay pinatitibay ng isang bote ng alak na Jiangxiaobai na ginagamit para sa mga layuning pampamanhid. Walang trabahong madali.
Isang batang babae na may malungkot na ekspresyon at maraming plema, ginagampanan nina: Suzuka Kurumi, Hanai Shizuku, Koharu, atbp. Ebisu-san - Tribong Delusional","lastmod":"2026-07-11","duration":"","url":"/play/19267558.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA4MDMvODg4ZWQ2NmVkMDMwZTBmZjI5ZWI3MTk2YTNmNWQ1M2UuanBn.cache","vod_id":19216466,"title":"Napakataas na contrast, magandang at malibog na babae, perpektong pagbubunyag ng mukha, walang proteksyon, malalim na penetrasyon, puting semilya, cumshot sa loob, inidoro na may laman.","lastmod":"2025-08-02","duration":"0:20:02","url":"/play/19216466.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvMTE2NjU4YWY5ZDNkOTU2MDcyNmE0ZDZiOTMyODRmNDUuanBn.cache","vod_id":19129347,"title":"Ang galing talaga ng malambing at magandang babaeng ito sa paglalaro ng ari ko! Dahil sa pagdila at pagsuso niya, naibuga ko lahat ng semilya ko sa bibig niya!","lastmod":"2025-03-29","duration":"0:39:31","url":"/play/19129347.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYjdlMmY5NzU0MmY2YzAxYzJjMGYyNjIxNDYyZmQ1MjkuanBn.cache","vod_id":19259236,"title":"Ang katotohanan na si Xiao Miao Da Bao, isang Douyin influencer na may 3 milyong tagasunod, ay dati nang may mga hubad na larawan na kumakalat nang malawakan ay nagpapakita ng malaking kaibahan sa kanyang karaniwang imahe.","lastmod":"2026-05-17","duration":"0:01:28","url":"/play/19259236.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MzAvOTQ2YmJhNTk5NDY2ZDFmYzJlYTM4NDMxMDI2ZTRmNjQuanBn.cache","vod_id":19210290,"title":"MIZD453: 40 brutal na kaso ng panggagahasa ang sumira sa kinabukasan ng mga kabataang babae sa opisina pagkatapos nilang magsimula sa kanilang mga trabaho. Mga kasamahan, amo, at ang brutal na ari ng mga rapist.","lastmod":"2025-06-29","duration":"4:01:47","url":"/play/19210290.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MDgvNGYyMTQ5NzQxYjk5NDkyZDg0MTA1ZmZlMTE5YTg3ODUuanBn.cache","vod_id":19262554,"title":"Ang hindi inaasahang pagbubunyag ng isang magkasintahan noong post-2000s na nagtatalik sa isang silid ng hotel, habang lantad ang kanilang mga mukha.","lastmod":"2026-06-07","duration":"0:20:24","url":"/play/19262554.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYzYxMmRlMDE0ZTNkYTIxODRmYzg4MWNmZTUxYWY4NTYuanBn.cache","vod_id":19255872,"title":"Nakikipag-selfie sa girlfriend niya na ibang-iba ang personalidad sa loob ng hotel.","lastmod":"2026-04-26","duration":"0:01:11","url":"/play/19255872.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MDUvN2U3ZGM3ZTJkMDg5ZmI5M2QxZjgzZWUxNTUxZGI5OTUuanBn.cache","vod_id":19261983,"title":"Ganito ba kalakas at kasarap umuungol ang babaeng ito? Nakakamangha ang magkaroon ng ganitong maliit na aso, ang ma-kiliti habang hinahawakan ang sarili mong clitoris, napaka-slutish.","lastmod":"2026-06-04","duration":"0:05:56","url":"/play/19261983.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZjZkMDAxYmIwNzlmNjUxYWQ2MGU3ZjI1NzlkN2E3NmUuanBn.cache","vod_id":19103213,"title":"#Streamer_na_nakasalamin na parang_JK_isang magandang babae_na nakasuot ng salamin_na nakaluhod sa sofa at nakausli ang kanyang puwet_nanginginig ang itlog sa kanyang puke at walang tigil sa pagsasalita ng malaswa","lastmod":"2025-03-29","duration":"0:12:49","url":"/play/19103213.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MTIvZjFhOGFkOTc0MTdmYmQ5ZjA3MjYwNTZhYzFmMTU4MTcuanBn.cache","vod_id":19263185,"title":"Kuha mula sa high-definition na nakatagong kamera ng isang napakagandang babae, tila tahimik, at nakasalamin sa isang hotel na nakikipagtalik sa kanyang kasintahan habang nakikipagtalik sa iba.","lastmod":"2026-06-11","duration":"0:25:52","url":"/play/19263185.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMzczNTIzNjdiZWE2MDU2YWZjNzFmZTk0N2Q5YWNjOWIuanBn.cache","vod_id":19183599,"title":"Isang balingkinitan at magandang babae ang sekswal na ginahasa sa isang hotel.","lastmod":"2025-03-30","duration":"0:23:31","url":"/play/19183599.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYjVmNWExMjM0ZTU1OTViMDY5Mzc5ODk3YTJlMjRkNjguanBn.cache","vod_id":19125693,"title":"Isang beauty salon ng mga lalaki, isang maganda at malalaki ang suso na babaeng nagpapalabas sa iyo nang napakaraming beses na wala kang oras para magrelaks.","lastmod":"2025-03-29","duration":"2:30:46","url":"/play/19125693.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMjcvMjAwNmNhZGRiMDBlZmNmMGU2M2Y1YjI3Yzg4MzZmZjQuanBn.cache","vod_id":19228170,"title":"cum-supsup girl Jing Yuer 1","lastmod":"2025-10-26","duration":"0:35:33","url":"/play/19228170.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZmUyMGM0YzAyN2U5Y2JiMDA5ZDljMTliNTdhYWZmZTguanBn.cache","vod_id":19054828,"title":"300NTK-157 \"Ang erogenous zone ay nasa loob ng ari...\" Nasisiyahan si Akane sa katawan ng isang babaeng nagtatrabaho na may malaking tasa, inaalog ang buong katawan at magagandang dibdib habang nag-yoga!! Nakilala ko ang isang modelong pervert na walang tigil sa pagtawa pagkatapos makipagtalik sa unang pagkakataon sa mahabang panahon! ?: Magkano ang halaga ng isang love hotel? ? Blg. 025","lastmod":"2025-03-29","duration":"1:13:02","url":"/play/19054828.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvZjY3YjhjOWU3ZWQzZTRlNGRmMDM1ZmIzYmFmNTA3Y2IuanBn.cache","vod_id":19247828,"title":"Inakit ng lalaking kinakasama ang kanyang asawa sa isang hotel para sa isang masahe at spa treatment para sa mga lalaki. (Episode 1)","lastmod":"2026-03-06","duration":"1:01:08","url":"/play/19247828.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNTU5OGIzZGU3YzFkNTZjNmI3ZjQwOTIyNzhiNGNlYjYuanBn.cache","vod_id":19112346,"title":"#Xiaoyi's Bobo_Napakagandang dalaga! Walang limitasyong pakikipagtalik sa hotel! Seksing uniporme sa paaralan, maliit na pigura, balingkinitang baywang at magandang puwitan, posisyon sa pagsakay, isinusubo ang kanyang puke, hawak ang kanyang baywang at kinantot siya nang husto_#1","lastmod":"2025-03-29","duration":"0:09:50","url":"/play/19112346.html"}]},
videoTitle: 'Ang malaking pagkakaiba sa pagitan ng imahe ng kabataan at ng katotohanan ng insidente sa Liuzhou Jiaston Hotel—kung saan isang batang babae sa paaralan ng sining ang umano'y pinigil at pinilit na ngumiti—ay pinatitibay ng isang bote ng alak na Jiangxiaobai na ginagamit para sa mga layuning pampamanhid. Walang trabahong madali.',
language: 'fil',
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('Nakopya na ang link!');
}).catch(() => {
// 降级到旧方法
document.execCommand('copy');
alert('Nakopya na ang link!');
});
} else {
// 降级到旧方法
document.execCommand('copy');
alert('Nakopya na ang link!');
}
}
},
// 切换布局
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=/`;
}
};
}