mirror of
https://github.com/qist/tvbox.git
synced 2026-06-21 09:03:22 +00:00
添加ITalkBB
This commit is contained in:
181
js/ITalkBBTV.js
Normal file
181
js/ITalkBBTV.js
Normal file
@@ -0,0 +1,181 @@
|
||||
function getNuxtData(html) {
|
||||
var m = html.match(/window\.__NUXT__=(.*?);<\/script>/s);
|
||||
if (!m) {
|
||||
return null;
|
||||
}
|
||||
return eval(m[1]);
|
||||
}
|
||||
|
||||
function pickPic(obj) {
|
||||
if (!obj) return '';
|
||||
var poster = (((obj.images || {}).poster) || [])[0];
|
||||
var landscape = (((obj.images || {}).landscape) || [])[0];
|
||||
var imgUrl = obj.imgUrl || '';
|
||||
return poster || landscape || imgUrl;
|
||||
}
|
||||
|
||||
function joinStars(stars) {
|
||||
if (!Array.isArray(stars)) return '';
|
||||
return stars.map(function (it) {
|
||||
return it.name || '';
|
||||
}).filter(Boolean).join('/');
|
||||
}
|
||||
|
||||
function uniqueById(list) {
|
||||
var map = {};
|
||||
return (list || []).filter(function (it) {
|
||||
var id = it && it.vod_id;
|
||||
if (!id || map[id]) return false;
|
||||
map[id] = 1;
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
function makeVodFromSeries(series, fallbackName) {
|
||||
if (!series) return null;
|
||||
var categoryId = Array.isArray(series.category_id) ? (series.category_id[0] || '') : (series.category_id || '');
|
||||
var rootId = series.root_id || '';
|
||||
var seriesId = series.id || series.series_id || '';
|
||||
var route = rootId === '66b1d25cf2dde82c215f9b59' ? 'shortsPlay' : 'play';
|
||||
var typeName = series.rootName || series.categoryName || '';
|
||||
var remark = series.latest_episode_name || series.latest_episode_shortname || (series.episode_count ? ('更新至' + series.episode_count) : '');
|
||||
return {
|
||||
vod_id: route + '$' + seriesId,
|
||||
vod_name: series.name || fallbackName || '',
|
||||
vod_pic: pickPic(series),
|
||||
vod_remarks: remark,
|
||||
vod_year: series.released_at ? new Date(series.released_at * 1000).getFullYear() + '' : '',
|
||||
type_name: typeName,
|
||||
vod_content: series.description || '',
|
||||
vod_actor: joinStars(((series.stars || {}).actor) || []),
|
||||
vod_director: joinStars(((series.stars || {}).director) || [])
|
||||
};
|
||||
}
|
||||
|
||||
function makeVodFromCard(card) {
|
||||
if (!card) return null;
|
||||
var series = card.series || card.target || card;
|
||||
var vod = makeVodFromSeries(series, card.name || card.title || '');
|
||||
if (!vod) return null;
|
||||
if (!vod.vod_name) {
|
||||
vod.vod_name = card.name || card.title || '';
|
||||
}
|
||||
if (!vod.vod_pic) {
|
||||
vod.vod_pic = pickPic(card) || ((card.image || {}).poster || '') || ((card.image || {}).landscape || '');
|
||||
}
|
||||
if (!vod.vod_remarks) {
|
||||
vod.vod_remarks = card.description || '';
|
||||
}
|
||||
return vod;
|
||||
}
|
||||
|
||||
var rule = {
|
||||
title: 'ITalkBBTV',
|
||||
host: 'https://www.italkbbtv.com',
|
||||
url: '/fyclass/fyfilter',
|
||||
searchable: 2,
|
||||
quickSearch: 1,
|
||||
filterable: 0,
|
||||
play_parse: true,
|
||||
class_name: '电视剧&电影&综艺&动画',
|
||||
class_url: 'drama/62c670dc1dca2d424404499c&movie/62ac4ef36e0b5a13ed291544&variety/62ce7417c7daaa4a5d3fea14&cartoon/62ac4e6e4beefe53586478ca',
|
||||
headers: {
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0',
|
||||
'Referer': 'https://www.italkbbtv.com/'
|
||||
},
|
||||
limit: 24,
|
||||
推荐: '*',
|
||||
一级: $js.toString(() => {
|
||||
var link = input;
|
||||
if (MY_PAGE && MY_PAGE > 1) {
|
||||
link += (link.indexOf('?') > -1 ? '&' : '?') + 'page=' + MY_PAGE;
|
||||
}
|
||||
var html = request(link);
|
||||
var nuxt = getNuxtData(html);
|
||||
var list = [];
|
||||
if (nuxt && nuxt.state && nuxt.state.pageList) {
|
||||
var parts = MY_CATE.split('/');
|
||||
var alias = parts[0];
|
||||
var cid = parts[1];
|
||||
var keyMap = {
|
||||
drama: 'dramaSeriesLists',
|
||||
movie: 'movieSeriesLists',
|
||||
variety: 'varietySeriesLists',
|
||||
cartoon: 'cartoonSeriesLists',
|
||||
shorts: 'shortsSeriesLists'
|
||||
};
|
||||
var store = nuxt.state.pageList[keyMap[alias]] || {};
|
||||
var data = store[cid] || {};
|
||||
list = data.series || [];
|
||||
}
|
||||
VODS = uniqueById(list.map(function (it) {
|
||||
return makeVodFromSeries(it);
|
||||
}).filter(Boolean));
|
||||
}),
|
||||
二级: $js.toString(() => {
|
||||
var parts = input.split('$');
|
||||
var route = parts[0] || 'play';
|
||||
var sid = parts[1] || '';
|
||||
var html = request(HOST + '/' + route + '/' + sid);
|
||||
var nuxt = getNuxtData(html);
|
||||
var play = (((nuxt || {}).state || {}).play) || {};
|
||||
var info = play.SeriesInfo || {};
|
||||
var eps = play.EpisodeList || [];
|
||||
var vod = makeVodFromSeries(info) || { vod_id: input };
|
||||
var tabs = route === 'shortsPlay' ? 'ITalkBB短剧' : 'ITalkBB';
|
||||
var playUrl = eps.map(function (ep) {
|
||||
var name = ep.shortname || ep.name || '';
|
||||
return name + '$' + route + '@' + sid + '@' + (ep.id || '');
|
||||
}).filter(Boolean).join('#');
|
||||
vod.vod_id = input;
|
||||
vod.vod_name = info.name || vod.vod_name || '';
|
||||
vod.vod_pic = pickPic(info) || vod.vod_pic || '';
|
||||
vod.type_name = info.rootName || info.categoryName || vod.type_name || '';
|
||||
vod.vod_content = info.description || vod.vod_content || '';
|
||||
vod.vod_actor = joinStars((((info || {}).stars || {}).actor) || []);
|
||||
vod.vod_director = joinStars((((info || {}).stars || {}).director) || []);
|
||||
vod.vod_remarks = info.latest_episode_name || info.latest_episode_shortname || vod.vod_remarks || '';
|
||||
vod.vod_play_from = tabs;
|
||||
vod.vod_play_url = playUrl;
|
||||
VOD = vod;
|
||||
}),
|
||||
搜索: $js.toString(() => {
|
||||
var html = request(HOST + '/?keyword=' + encodeURIComponent(KEY));
|
||||
var nuxt = getNuxtData(html);
|
||||
var list = [];
|
||||
if (nuxt && nuxt.data && nuxt.data[0]) {
|
||||
var data = nuxt.data[0];
|
||||
var banners = data.bannerData || [];
|
||||
var groups = data.serverGroupDataList || [];
|
||||
banners.forEach(function (it) {
|
||||
list.push(makeVodFromCard(it));
|
||||
});
|
||||
groups.forEach(function (g) {
|
||||
(g.list || []).forEach(function (it) {
|
||||
list.push(makeVodFromCard(it));
|
||||
});
|
||||
});
|
||||
}
|
||||
list = uniqueById(list.filter(function (it) {
|
||||
if (!it || !it.vod_name) return false;
|
||||
var text = [it.vod_name, it.vod_remarks, it.vod_content, it.type_name].join(' ');
|
||||
return text.indexOf(KEY) > -1;
|
||||
}));
|
||||
VODS = list;
|
||||
}),
|
||||
lazy: $js.toString(() => {
|
||||
var parts = input.split('@');
|
||||
var route = parts[0] || 'play';
|
||||
var sid = parts[1] || '';
|
||||
var eid = parts[2] || '';
|
||||
var url = HOST + '/' + route + '/' + sid;
|
||||
if (eid) {
|
||||
url += '?ep=' + eid;
|
||||
}
|
||||
input = {
|
||||
jx: 0,
|
||||
parse: 1,
|
||||
url: url
|
||||
};
|
||||
})
|
||||
};
|
||||
@@ -14,6 +14,7 @@
|
||||
{"key":"闪雷","name":"闪雷┃MP4","type":3,"api":"./lib/drpy2.min.js","ext":"./js/678.js","header":{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}},
|
||||
{"key":"fyyy","name":"飞宇影院","type":3,"api":"csp_XBPQ","searchable":1,"quickSearch":1,"filterable":1,"changeable":1,"ext":{"分类url":"http://ntfeiyu.com/nt/{cateId}/area/{area}/by/{by}/class/{class}/lang/{lang}/page/{catePg}/year/{year}.html","分类":"电影$1#电视剧$2#综艺$3#动漫$4"},"header":{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}},
|
||||
{"key":"cupfox_in","name":"茶杯狐┃cupfox.in","type":3,"api":"./lib/drpy2.min.js","ext":"./js/茶杯狐.js","searchable":1,"quickSearch":1,"filterable":0,"changeable":1,"header":{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}},
|
||||
{"key":"italkbbtv","name":"ITalkBB TV","type":3,"api":"./lib/drpy2.min.js","ext":"./js/ITalkBBTV.js","searchable":1,"quickSearch":1,"filterable":0,"changeable":1,"header":{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}},
|
||||
{"key":"qiletv","name":"奇乐影视","type":3,"api":"csp_XBPQ","searchable":1,"quickSearch":1,"filterable":1,"changeable":1,"ext":"./json/奇乐.json","header":{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}},
|
||||
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
{"key":"新闪雷","name":"新闪雷┃MP4","type":3,"api":"./lib/drpy2.min.js","ext":"./js/新闪雷.js","header":{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}},
|
||||
{"key":"fyyy","name":"飞宇影院","type":3,"api":"csp_XBPQ","searchable":1,"quickSearch":1,"filterable":1,"changeable":1,"ext":{"分类url":"http://ntfeiyu.com/nt/{cateId}/area/{area}/by/{by}/class/{class}/lang/{lang}/page/{catePg}/year/{year}.html","分类":"电影$1#电视剧$2#综艺$3#动漫$4"},"header":{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}},
|
||||
{"key":"cupfox_in","name":"茶杯狐┃cupfox.in","type":3,"api":"./lib/drpy2.min.js","ext":"./js/茶杯狐.js","searchable":1,"quickSearch":1,"filterable":0,"changeable":1,"header":{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}},
|
||||
{"key":"italkbbtv","name":"ITalkBB TV","type":3,"api":"./lib/drpy2.min.js","ext":"./js/ITalkBBTV.js","searchable":1,"quickSearch":1,"filterable":0,"changeable":1,"header":{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}},
|
||||
{"key":"qiletv","name":"奇乐影视","type":3,"api":"csp_XBPQ","searchable":1,"quickSearch":1,"filterable":1,"changeable":1,"ext":"./json/奇乐.json","header":{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0"}},
|
||||
|
||||
{"key": "电影天堂","name": "影视 | 电影天堂","type": 1,"api": "http://caiji.dyttzyapi.com/api.php/provide/vod","searchable": 1,"quickSearch": 1,"filterable": 1,"changeable": 1,"playerType":2},
|
||||
|
||||
Reference in New Issue
Block a user