123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- // 修正:分类改静态 (网站频繁变动分类)
- 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,
- };
- }
|