Add files via upload

This commit is contained in:
n3rddd 2024-07-01 20:44:06 +08:00 committed by GitHub
parent 9f744daa71
commit 79a7ca25c4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 95 additions and 16 deletions

View File

@ -0,0 +1,67 @@
var rule = {
类型: '影视',//影视|听书|漫画|小说
title: '世纪DJ音乐网[听]',
host: 'http://m.dj0898.com',
url: '/dance/lists/id/fyclass/fypage',
homeUrl: '/dance/lists/id/10/1',
searchUrl: '/index.php/dance/so/key?key=**&cid=0&p=fypage',
searchable: 2,
quickSearch: 0,
filterable: 0,
filter: '',
filter_url: '',
filter_def: {},
headers: {
'User-Agent': 'MOBILE_UA',
},
timeout: 5000,
class_parse: $js.toString(() => {
let _classes = [{type_id: 1, type_name: "🎧串烧舞曲"}, {type_id: 2, type_name: "🎧外文舞曲"}, {
type_id: 3,
type_name: "🎧早场暖场"
}, {type_id: 4, type_name: "🎧中文舞曲"}, {type_id: 5, type_name: "🎧其他舞曲"}, {
type_id: 6,
type_name: "🎧国外电音"
}, {type_id: 8, type_name: "🎧慢歌连版"}, {type_id: 9, type_name: "🎧酒吧潮歌"}, {
type_id: 10,
type_name: "🎧中文串烧"
}, {type_id: 11, type_name: "🎧外文串烧"}, {type_id: 12, type_name: "🎧中外串烧"}, {
type_id: 13,
type_name: "🎧车载串烧"
}, {type_id: 14, type_name: "🎧越鼓串烧"}, {type_id: 40, type_name: "🎧3D/环绕"}, {
type_id: 45,
type_name: "🎧口水旋律"
}, {type_id: 46, type_name: "🎧精品收藏"}, {type_id: 47, type_name: "🎧开场舞曲"}, {
type_id: 48,
type_name: "🎧印度舞曲"
}, {type_id: 49, type_name: "🎧编排套曲"}, {type_id: 20, type_name: "🎧DuTch"}, {
type_id: 21,
type_name: "🎧Mash up"
}, {type_id: 22, type_name: "🎧ClubHouse"}, {type_id: 23, type_name: "🎧ElectroHouse"}, {
type_id: 24,
type_name: "🎧越南鼓Dj"
}, {type_id: 30, type_name: "🎧Funky"}, {type_id: 31, type_name: "🎧Reggae"}, {
type_id: 32,
type_name: "🎧Rnb"
}, {type_id: 33, type_name: "🎧Hip Hop"}, {type_id: 34, type_name: "🎧Dubstep"}, {
type_id: 8017,
type_name: "🎧Hardstyle"
}, {type_id: 8018, type_name: "🎧Hands Up"}];
input = _classes;
}),
cate_exclude: '',
play_parse: true,
lazy: $js.toString(() => {
log(input);
let html = request(input);
let src = pd(html, 'body&&audio[src*=http]&&src', input);
if (src) {
input = {parse: 0, url: src};
}
}),
double: false,
推荐: '*',
一级: 'ul.djddv_djList li;strong&&Text;img&&src;font:eq(5)&&Text;a:eq(1)&&href',
二级: '*',
搜索: '*',
}

View File

@ -107,7 +107,10 @@ var rule = {
play_parse: true,
预处理: $js.toString(() => {
device = getItem('device', '{}');
device = JSON.parse(device);
if (typeof device == "string") {
device = JSON.parse(device);
}
// device = JSON.parse(device);
if (!device.id) {
device = randDeviceWithId(32);
device.id = device.id.toLowerCase();
@ -124,7 +127,8 @@ var rule = {
// log(content.data);
var datas = content.data.split('$6c1cef78ae=');
var json = '';
for (const d of datas) {
for (let d of datas) {
// json += pk.decryptPublic(d, 'utf8').replace(/^\s*\n|\s*$/gm, '');
json += pk.decryptPublic(d, 'utf8');
}
appData = JSON.parse(json);
@ -147,19 +151,19 @@ var rule = {
let datas = content.data;
let classes = [];
let filterObj = {};
for (const data of datas) {
for (let data of datas) {
let name = data.title.replace('分类', '');
let type = {
key: 'type',
name: '类型',
};
var values = data.types.reduce((result, t) => {
var cvalues = data.types.reduce((result, t) => {
result.push({n: t.name, v: t.type_id});
return result;
}, []);
type['init'] = values[0]['v'];
type['value'] = values;
type['init'] = cvalues[0]['v'];
type['value'] = cvalues;
let sort = {
key: 'sort',
name: '排序',
@ -192,7 +196,7 @@ var rule = {
let content = JSON.parse(html);
let datas = content.data;
let books = [];
for (const book of datas.books) {
for (let book of datas.books) {
books.push({
vod_id: book.book_id,
vod_name: book.name,
@ -203,9 +207,9 @@ var rule = {
VODS = books;
}),
二级: $js.toString(() => {
const ids = [orId];
const books = [];
for (const id of ids) {
let ids = [orId];
let books = [];
for (let id of ids) {
let html = request(appData.json_url + 'cont/' + id + '.json', {headers: rule.headers});
let content = JSON.parse(html);
let data = content.data;
@ -243,25 +247,28 @@ var rule = {
pid: 0,
key: KEY,
};
// var params = pk.encrypt(JSON.stringify(data), 'base64').replace(/^\s*\n|\s*$/gm, '');
var params = pk.encrypt(JSON.stringify(data), 'base64');
log('params长度:' + params.length);
let post_obj = {
params: params,
version: appVersion,
};
let post_data = buildUrl('', post_obj).slice(1);
let post_data = `params=${params}&version=${appVersion}`;
// log('post_data:' + post_data);
log('api_url:' + appData.api_url);
let headers = JSON.parse(JSON.stringify(rule.headers));
headers['Accept'] = 'application/json, text/plain, */*';
// headers['Accept'] = 'application/json, text/plain, */*';
headers['Content-Type'] = 'application/x-www-form-urlencoded';
let html = post(appData.api_url, {
headers: headers,
body: post_data,
// body: post_data,
data: post_obj,
});
let content = JSON.parse(html);
var datas = content.data;
let books = [];
for (const book of datas.books) {
for (let book of datas.books) {
books.push({
vod_id: book.book_id,
vod_name: book.name,
@ -282,21 +289,26 @@ var rule = {
aid: info[0],
pid: info[1],
};
// var params = pk.encrypt(JSON.stringify(data), 'base64').replace(/^\s*\n|\s*$/gm, '');
var params = pk.encrypt(JSON.stringify(data), 'base64');
// log('params:' + params);
// log([params]);
log('params长度:' + params.length);
let post_obj = {
params: params,
version: appVersion,
};
let post_data = buildUrl('', post_obj).slice(1);
// let post_data = `params=${params}&version=${appVersion}`;
// log('post_data:' + post_data);
log('api_url:' + appData.api_url);
let headers = JSON.parse(JSON.stringify(rule.headers));
headers['Accept'] = 'application/json, text/plain, */*';
// headers['Accept'] = 'application/json, text/plain, */*';
headers['Content-Type'] = 'application/x-www-form-urlencoded';
let html = post(appData.api_url, {
headers: headers,
body: post_data,
// body: post_data,
data: post_obj,
});
let content = JSON.parse(html);
var datas = content.data;