mirror of
				https://github.com/ls125781003/tvboxtg.git
				synced 2025-10-31 05:42:18 +00:00 
			
		
		
		
	Pending changes exported from your codespace
This commit is contained in:
		
							
								
								
									
										173
									
								
								道长JS/cat/kuqimv_open.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										173
									
								
								道长JS/cat/kuqimv_open.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,173 @@ | ||||
| // 修正:分类改静态 (网站频繁变动分类) | ||||
| import { load, _ } from "assets://js/lib/cat.js"; | ||||
|  | ||||
| let key = "酷奇MV"; | ||||
| let HOST = "https://www.kuqimv.com"; | ||||
| let siteKey = ""; | ||||
| let siteType = 0; | ||||
| const PC_UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"; | ||||
|  | ||||
| async function request(reqUrl, referer, mth, data, hd) { | ||||
|     const headers = { | ||||
|         "User-Agent": PC_UA, | ||||
|     }; | ||||
|     if (referer) headers.referer = encodeURIComponent(referer); | ||||
|     let res = await req(reqUrl, { | ||||
|         method: mth || "get", | ||||
|         headers: headers, | ||||
|         data: data, | ||||
|         postType: mth === "post" ? "form" : "", | ||||
|     }); | ||||
|     return res.content; | ||||
| } | ||||
|  | ||||
| async function init(cfg) { | ||||
|     siteKey = cfg.skey; | ||||
|     siteType = cfg.stype; | ||||
| } | ||||
|  | ||||
| async function home(filter) { | ||||
|     var classes = [{ "type_id": "1", "type_name": "华语高清" }, { "type_id": "2", "type_name": "日韩精选" }, { "type_id": "3", "type_name": "欧美MV" }, { "type_id": "4", "type_name": "高清现场" }, { "type_id": "5", "type_name": "影视MV" }, { "type_id": "6", "type_name": "夜店视频" }, { "type_id": "7", "type_name": "车模视频" }, { "type_id": "8", "type_name": "热舞视频" }, { "type_id": "9", "type_name": "美女写真" }, { "type_id": "10", "type_name": "美女打碟" }]; | ||||
|     // const html = await request(HOST); | ||||
|     // const $ = load(html); | ||||
|     // const class_parse = $(".lei_fl > a[href*=play]"); | ||||
|     // const classes = []; | ||||
|     // classes = _.map(class_parse, (cls) => { | ||||
|     //     const typeId = cls.attribs["href"]; | ||||
|     //     typeId = typeId.substring(typeId.lastIndexOf("/") + 1).replace(".html", ""); | ||||
|     //     return { | ||||
|     //         type_id: typeId, | ||||
|     //         type_name: cls.children[0].data, | ||||
|     //     }; | ||||
|     // }); | ||||
|     const filterObj = {}; | ||||
|     return JSON.stringify({ | ||||
|         class: _.map(classes, (cls) => { | ||||
|             cls.land = 1; | ||||
|             cls.ratio = 1.78; | ||||
|             return cls; | ||||
|         }), | ||||
|         filters: filterObj, | ||||
|     }); | ||||
| } | ||||
|  | ||||
| async function homeVod() { | ||||
|     const link = HOST + "/play/9_1.html"; | ||||
|     const html = await request(link); | ||||
|     const $ = load(html); | ||||
|     const items = $("div.mv_list > li"); | ||||
|     let videos = _.map(items, (it) => { | ||||
|         const a = $(it).find("a:first")[0]; | ||||
|         const img = $(it).find("img:first")[0]; | ||||
|         const singer = $($(it).find("div.singer")[0]).text().trim(); | ||||
|         const remarks = $($(it).find("span.lei_03")[0]).text().trim(); | ||||
|         return { | ||||
|             vod_id: a.attribs.href.replace(/.*?\/play\/(.*).html/g, "$1"), | ||||
|             vod_name: a.attribs.title, | ||||
|             vod_pic: img.attribs["src"], | ||||
|             vod_remarks: "🎤" + singer + "|" + remarks || "", | ||||
|         }; | ||||
|     }); | ||||
|     return JSON.stringify({ | ||||
|         list: videos, | ||||
|     }); | ||||
| } | ||||
|  | ||||
| async function category(tid, pg, filter, extend) { | ||||
|     if (pg <= 0 || typeof pg == "undefined") pg = 1; | ||||
|     const link = HOST + "/play/" + tid + "_" + pg + ".html"; | ||||
|     const html = await request(link); | ||||
|     const $ = load(html); | ||||
|     const items = $("div.mv_list > li"); | ||||
|     let videos = _.map(items, (it) => { | ||||
|         const a = $(it).find("a:first")[0]; | ||||
|         const img = $(it).find("img:first")[0]; | ||||
|         const singer = $($(it).find("div.singer")[0]).text().trim(); | ||||
|         const remarks = $($(it).find("span.lei_03")[0]).text().trim(); | ||||
|         return { | ||||
|             vod_id: a.attribs.href.replace(/.*?\/play\/(.*).html/g, "$1"), | ||||
|             vod_name: a.attribs.title, | ||||
|             vod_pic: img.attribs["src"], | ||||
|             vod_remarks: "🎤" + singer + "|" + remarks || "", | ||||
|         }; | ||||
|     }); | ||||
|     const hasMore = $("div.lei_page > a:contains(下一页)").length > 0; | ||||
|     const pgCount = hasMore ? parseInt(pg) + 1 : parseInt(pg); | ||||
|     return JSON.stringify({ | ||||
|         page: parseInt(pg), | ||||
|         pagecount: pgCount, | ||||
|         limit: 24, | ||||
|         total: 24 * pgCount, | ||||
|         list: videos, | ||||
|     }); | ||||
| } | ||||
|  | ||||
| async function detail(id) { | ||||
|     const vod = { | ||||
|         vod_id: id, | ||||
|         vod_remarks: "", | ||||
|     }; | ||||
|     const playlist = ["观看视频" + "$" + id]; | ||||
|     vod.vod_play_from = "道长在线"; | ||||
|     vod.vod_play_url = playlist.join("#"); | ||||
|     return JSON.stringify({ | ||||
|         list: [vod], | ||||
|     }); | ||||
| } | ||||
|  | ||||
| async function play(flag, id, flags) { | ||||
|     const link = HOST + "/skin/kuqimv/play.php"; | ||||
|     const ref = HOST + "/play/" + id + ".html"; | ||||
|     const pdata = { id: id }; | ||||
|     const playUrl = JSON.parse(await request(link, ref, "post", pdata)).url; | ||||
|     const headers = { | ||||
|         Referer: HOST, | ||||
|     }; | ||||
|     return JSON.stringify({ | ||||
|         parse: 0, | ||||
|         url: playUrl, | ||||
|         header: headers, | ||||
|     }); | ||||
| } | ||||
|  | ||||
| async function search(wd, quick, pg) { | ||||
|     if (pg <= 0 || typeof pg == "undefined") pg = 1; | ||||
|     const link = HOST + "/search.php?key=" + wd + "&pages=" + pg; | ||||
|     const html = await request(link); | ||||
|     const $ = load(html); | ||||
|     const items = $("div.video_list > li"); | ||||
|     let videos = _.map(items, (it) => { | ||||
|         const a = $(it).find("a:first")[0]; | ||||
|         const singer = $($(it).find("div.singer")[0]).text().trim(); | ||||
|         const remarks = $($(it).find("span.lei_04")[0]).text().trim(); | ||||
|         return { | ||||
|             vod_id: a.attribs.href.replace(/.*?\/play\/(.*).html/g, "$1"), | ||||
|             vod_name: a.attribs.title, | ||||
|             vod_pic: "https://www.kuqimv.com/static/images/cover/singer.jpg", | ||||
|             vod_remarks: "🎤" + singer + "|" + remarks || "", | ||||
|         }; | ||||
|     }); | ||||
|     const hasMore = $("div.lei_page > a:contains(>)").length > 0; | ||||
|     const pgCount = hasMore ? parseInt(pg) + 1 : parseInt(pg); | ||||
|     return JSON.stringify({ | ||||
|         page: parseInt(pg), | ||||
|         pagecount: pgCount, | ||||
|         limit: 20, | ||||
|         total: 20 * pgCount, | ||||
|         list: videos, | ||||
|         land: 1, | ||||
|         ratio: 1.78, | ||||
|     }); | ||||
| } | ||||
|  | ||||
| export function __jsEvalReturn() { | ||||
|     return { | ||||
|         init: init, | ||||
|         home: home, | ||||
|         homeVod: homeVod, | ||||
|         category: category, | ||||
|         detail: detail, | ||||
|         play: play, | ||||
|         search: search, | ||||
|     }; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user