mirror of https://github.com/gaotianliuyun/gao
parent
169d17531c
commit
377053986d
@ -0,0 +1,132 @@ |
||||
import { Crypto, load, _ } from 'assets://js/lib/cat.js'; |
||||
|
||||
let key = 'douyu'; |
||||
let host = 'http://live.yj1211.work'; |
||||
let siteKey = ''; |
||||
let siteType = 0; |
||||
|
||||
const MOBILE_UA = 'Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36'; |
||||
|
||||
async function requestRaw(reqUrl, redirect) { |
||||
let resRaw = await req(reqUrl, { |
||||
method: 'get', |
||||
headers: { |
||||
'User-Agent': MOBILE_UA, |
||||
}, |
||||
redirect: redirect, |
||||
}); |
||||
return resRaw; |
||||
} |
||||
|
||||
async function request(reqUrl) { |
||||
let resRaw = await requestRaw(reqUrl, 1) |
||||
return resRaw.content; |
||||
} |
||||
|
||||
// cfg = {skey: siteKey, ext: extend}
|
||||
async function init(cfg) { |
||||
|
||||
} |
||||
|
||||
async function home(filter) { |
||||
const classes = [ |
||||
{ type_id: "热门游戏", type_name: "热门游戏" }, |
||||
{ type_id: "主机游戏", type_name: "主机游戏" }, |
||||
{ type_id: "原创IP", type_name: "原创IP" }, |
||||
]; |
||||
const filterObj = {}; |
||||
return JSON.stringify({ |
||||
class: _.map(classes, (cls) => { |
||||
cls.land = 1; |
||||
cls.ratio = 1.78; |
||||
return cls; |
||||
}), |
||||
filters: filterObj, |
||||
}); |
||||
} |
||||
|
||||
async function homeVod() { |
||||
const data = JSON.parse(await request(host + '/api/live/getRecommendByPlatformArea?platform=douyu&size=20&area=热门游戏&page=1')); |
||||
let videos = _.map(data.data.list, (it) => { |
||||
return { |
||||
vod_id: it.roomId, |
||||
vod_name: it.roomName, |
||||
vod_pic: it.roomPic, |
||||
vod_remarks: it.ownerName, |
||||
} |
||||
}); |
||||
return JSON.stringify({ |
||||
list: videos, |
||||
}); |
||||
} |
||||
|
||||
async function category(tid, pg, filter, extend) { |
||||
if (pg <= 0 || typeof pg == 'undefined') pg = 1; |
||||
const data = JSON.parse(await request(host + '/api/live/getRecommendByPlatformArea?platform=douyu&size=20&area=' + tid + '&page=' + pg)); |
||||
let videos = _.map(data.data, (it) => { |
||||
return { |
||||
vod_id: it.roomId, |
||||
vod_name: it.roomName, |
||||
vod_pic: it.roomPic, |
||||
vod_remarks: it.ownerName, |
||||
} |
||||
}); |
||||
return JSON.stringify({ |
||||
page: parseInt(pg), |
||||
pagecount: 9999, |
||||
limit: 90, |
||||
total: 999999, |
||||
list: videos, |
||||
}); |
||||
} |
||||
|
||||
async function detail(id) { |
||||
const data = JSON.parse(await request(host + '/api/live/getRoomInfo?platform=douyu&roomId=' + id)); |
||||
const video = data.data; |
||||
let vod = { |
||||
vod_id: video.roomId, |
||||
vod_name: video.roomName, |
||||
vod_pic: video.roomPic, |
||||
vod_remarks: video.categoryName, |
||||
type_name: video.categoryName, |
||||
vod_director: video.ownerName, |
||||
vod_actor: '在线人数:' + video.online, |
||||
vod_content: "", |
||||
vod_year: "", |
||||
vod_area: "",
|
||||
}; |
||||
vod.vod_play_from = video.platForm; |
||||
vod.vod_play_url = '原画$' + id; |
||||
return JSON.stringify({ |
||||
list: [vod], |
||||
}); |
||||
} |
||||
|
||||
async function play(flag, id, flags) { |
||||
const resp = await requestRaw('https://getplayurl.lmteam.repl.co/live?platform=douyu&rid=' + id, 0); |
||||
const headers = resp.headers; |
||||
let url = ""; |
||||
if (headers.hasOwnProperty('location')) { |
||||
url = headers.location; |
||||
} |
||||
return JSON.stringify({ |
||||
parse: 0, |
||||
url: url, |
||||
}); |
||||
} |
||||
|
||||
async function search(wd, quick) { |
||||
return '{}'; |
||||
} |
||||
|
||||
export function __jsEvalReturn() { |
||||
return { |
||||
init: init, |
||||
home: home, |
||||
homeVod: homeVod, |
||||
category: category, |
||||
detail: detail, |
||||
play: play, |
||||
search: search, |
||||
}; |
||||
} |
||||
Loading…
Reference in new issue