添加更多源
parent
5e8a049014
commit
5f58cbfe3b
18
app/main.js
18
app/main.js
|
@ -6,7 +6,7 @@ const { storeMusic, storeLrc, storePic } = require('./model/StoreModel');
|
|||
const { SuccessResult, ErrorResult } = require('./model/ResultModel');
|
||||
|
||||
const { QQSource } = require('./source/QQSource');
|
||||
const { MyFreemp3QQSource } = require('./source/MyFreemp3QQSource');
|
||||
const mfm = require('./source/MyFreemp3Source');
|
||||
|
||||
// 防止进程中断
|
||||
// process.on('uncaughtException', function (err) {
|
||||
|
@ -15,8 +15,20 @@ const { MyFreemp3QQSource } = require('./source/MyFreemp3QQSource');
|
|||
// ***********************************************************************
|
||||
// 注册源
|
||||
const searcher = new SearchModel();
|
||||
searcher.registerSourceModel(new QQSource());
|
||||
searcher.registerSourceModel(new MyFreemp3QQSource());
|
||||
//searcher.registerSourceModel(new QQSource());
|
||||
searcher.registerSourceModel(new mfm.MyFreemp3QQSource());
|
||||
searcher.registerSourceModel(new mfm.MyFreemp3NeteaseSource());
|
||||
searcher.registerSourceModel(new mfm.MyFreemp3KugouSource());
|
||||
searcher.registerSourceModel(new mfm.MyFreemp3KuwoSource());
|
||||
searcher.registerSourceModel(new mfm.MyFreemp3MiguSource());
|
||||
searcher.registerSourceModel(new mfm.MyFreemp3QianqianSource());
|
||||
searcher.registerSourceModel(new mfm.MyFreemp3QingtingSource());
|
||||
searcher.registerSourceModel(new mfm.MyFreemp3XimalayaSource());
|
||||
searcher.registerSourceModel(new mfm.MyFreemp3LizhiSource());
|
||||
searcher.registerSourceModel(new mfm.MyFreemp3KgSource());
|
||||
searcher.registerSourceModel(new mfm.MyFreemp31tingSource());
|
||||
searcher.registerSourceModel(new mfm.MyFreemp35singycSource());
|
||||
searcher.registerSourceModel(new mfm.MyFreemp35singfcSource());
|
||||
|
||||
|
||||
// ***********************************************************************
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
const { SourceModel } = require('../model/SourceModel');
|
||||
|
||||
class MyFreemp3QQSource extends SourceModel {
|
||||
constructor() {
|
||||
super();
|
||||
this.name = "MyFreemp3_QQ";
|
||||
}
|
||||
|
||||
async search(keywords) {
|
||||
keywords = encodeURIComponent(keywords);
|
||||
// POST请求
|
||||
let options = {
|
||||
url: `http://myfreemp3.sharerj.com/?name=${keywords}&type=qq`,
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
|
||||
//'Host': 'myfreemp3.sharerj.com',
|
||||
//'Origin': 'http://myfreemp3.sharerj.com',
|
||||
//'Referer': `http://myfreemp3.sharerj.com/?name=${keywords}&type=qq`,
|
||||
//'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.183',
|
||||
//'Accept': 'application/json, text/javascript, */*; q=0.01',
|
||||
'X-Requested-With': 'XMLHttpRequest', //此行必须填写
|
||||
//'Cookie': '__gads=ID=f167a79e430852c8-227b3bd2b6e70079:T=1690680059:RT=1690680059:S=ALNI_MZixvU2-9BVQv0qTuN2kVnZttuZIQ; __gpi=UID=00000d30f9e155c5:T=1690680059:RT=1690680059:S=ALNI_MZtwSz24f5LJ-tGCRKRuzz0AFH5rA'
|
||||
},
|
||||
json: true, //将body解析为json
|
||||
body: `input=${keywords}&filter=name&type=qq&page=1`
|
||||
};
|
||||
|
||||
let result = await this.request(options);
|
||||
if(result.data instanceof Array) {
|
||||
result = result.data.map(item => {
|
||||
return {
|
||||
title: item.title,
|
||||
author: item.author,
|
||||
url: item.url,
|
||||
link: item.link,
|
||||
lrc: item.lrc,
|
||||
pic: item.pic,
|
||||
source_name: this.getName()
|
||||
}
|
||||
});
|
||||
}else {
|
||||
result = result;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
MyFreemp3QQSource
|
||||
}
|
|
@ -0,0 +1,173 @@
|
|||
const { SourceModel } = require('../model/SourceModel');
|
||||
|
||||
class MyFreemp3Source {
|
||||
|
||||
}
|
||||
|
||||
class MyFreemp3Source extends SourceModel {
|
||||
constructor() {
|
||||
super();
|
||||
this.type = 'qq';
|
||||
this.name = "MyFreemp3_QQ";
|
||||
}
|
||||
|
||||
async search(keywords) {
|
||||
keywords = encodeURIComponent(keywords);
|
||||
// POST请求
|
||||
let options = {
|
||||
url: `http://myfreemp3.sharerj.com/?name=${keywords}&type=${this.type}`,
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
|
||||
//'Host': 'myfreemp3.sharerj.com',
|
||||
//'Origin': 'http://myfreemp3.sharerj.com',
|
||||
//'Referer': `http://myfreemp3.sharerj.com/?name=${keywords}&type=qq`,
|
||||
//'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.183',
|
||||
//'Accept': 'application/json, text/javascript, */*; q=0.01',
|
||||
'X-Requested-With': 'XMLHttpRequest', //此行必须填写
|
||||
//'Cookie': '__gads=ID=f167a79e430852c8-227b3bd2b6e70079:T=1690680059:RT=1690680059:S=ALNI_MZixvU2-9BVQv0qTuN2kVnZttuZIQ; __gpi=UID=00000d30f9e155c5:T=1690680059:RT=1690680059:S=ALNI_MZtwSz24f5LJ-tGCRKRuzz0AFH5rA'
|
||||
},
|
||||
json: true, //将body解析为json
|
||||
body: `input=${keywords}&filter=name&type=${this.type}&page=1`
|
||||
};
|
||||
|
||||
let result = await this.request(options);
|
||||
if(result.data instanceof Array) {
|
||||
result = result.data.map(item => {
|
||||
return {
|
||||
title: item.title,
|
||||
author: item.author,
|
||||
url: item.url,
|
||||
link: item.link,
|
||||
lrc: item.lrc,
|
||||
pic: item.pic,
|
||||
source_name: this.getName()
|
||||
}
|
||||
});
|
||||
}else {
|
||||
result = result;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
class MyFreemp3QQSource extends MyFreemp3Source {
|
||||
constructor() {
|
||||
super();
|
||||
this.type = 'qq';
|
||||
this.name = "MyFreemp3_QQ";
|
||||
}
|
||||
}
|
||||
|
||||
class MyFreemp3NeteaseSource extends MyFreemp3Source {
|
||||
constructor() {
|
||||
super();
|
||||
this.type = 'netease';
|
||||
this.name = "MyFreemp3_网易";
|
||||
}
|
||||
}
|
||||
|
||||
class MyFreemp3KugouSource extends MyFreemp3Source {
|
||||
constructor() {
|
||||
super();
|
||||
this.type = 'kugou';
|
||||
this.name = "MyFreemp3_酷狗";
|
||||
}
|
||||
}
|
||||
|
||||
class MyFreemp3KuwoSource extends MyFreemp3Source {
|
||||
constructor() {
|
||||
super();
|
||||
this.type = 'kuwo';
|
||||
this.name = "MyFreemp3_酷我";
|
||||
}
|
||||
}
|
||||
|
||||
class MyFreemp3QianqianSource extends MyFreemp3Source {
|
||||
constructor() {
|
||||
super();
|
||||
this.type = 'baidu';
|
||||
this.name = "MyFreemp3_千千";
|
||||
}
|
||||
}
|
||||
|
||||
class MyFreemp31tingSource extends MyFreemp3Source {
|
||||
constructor() {
|
||||
super();
|
||||
this.type = '1ting';
|
||||
this.name = "MyFreemp3_一听";
|
||||
}
|
||||
}
|
||||
|
||||
class MyFreemp3MiguSource extends MyFreemp3Source {
|
||||
constructor() {
|
||||
super();
|
||||
this.type = 'migu';
|
||||
this.name = "MyFreemp3_咪咕";
|
||||
}
|
||||
}
|
||||
|
||||
class MyFreemp3LizhiSource extends MyFreemp3Source {
|
||||
constructor() {
|
||||
super();
|
||||
this.type = 'lizhi';
|
||||
this.name = "MyFreemp3_荔枝";
|
||||
}
|
||||
}
|
||||
|
||||
class MyFreemp3QingtingSource extends MyFreemp3Source {
|
||||
constructor() {
|
||||
super();
|
||||
this.type = 'qingting';
|
||||
this.name = "MyFreemp3_蜻蜓";
|
||||
}
|
||||
}
|
||||
|
||||
class MyFreemp3XimalayaSource extends MyFreemp3Source {
|
||||
constructor() {
|
||||
super();
|
||||
this.type = 'ximalaya';
|
||||
this.name = "MyFreemp3_喜马拉雅";
|
||||
}
|
||||
}
|
||||
|
||||
class MyFreemp35singycSource extends MyFreemp3Source {
|
||||
constructor() {
|
||||
super();
|
||||
this.type = '5singyc';
|
||||
this.name = "MyFreemp3_5sing原创";
|
||||
}
|
||||
}
|
||||
|
||||
class MyFreemp35singfcSource extends MyFreemp3Source {
|
||||
constructor() {
|
||||
super();
|
||||
this.type = '5singfc';
|
||||
this.name = "MyFreemp3_5sing翻唱";
|
||||
}
|
||||
}
|
||||
|
||||
class MyFreemp3KgSource extends MyFreemp3Source {
|
||||
constructor() {
|
||||
super();
|
||||
this.type = 'kg';
|
||||
this.name = "MyFreemp3_全民K歌";
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
MyFreemp3QQSource,
|
||||
MyFreemp3NeteaseSource,
|
||||
MyFreemp3KugouSource,
|
||||
MyFreemp3KuwoSource,
|
||||
MyFreemp3QianqianSource,
|
||||
MyFreemp31tingSource,
|
||||
MyFreemp3MiguSource,
|
||||
MyFreemp3LizhiSource,
|
||||
MyFreemp3QingtingSource,
|
||||
MyFreemp3XimalayaSource,
|
||||
MyFreemp35singycSource,
|
||||
MyFreemp35singfcSource,
|
||||
MyFreemp3KgSource
|
||||
}
|
|
@ -4,7 +4,7 @@
|
|||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Document</title>
|
||||
<title>音乐下载器-AML</title>
|
||||
<link rel="stylesheet" href="static/js/iview/styles/iview.css">
|
||||
<script type="text/javascript" src="static/js/vue.min.js"></script>
|
||||
<script type="text/javascript" src="static/js/iview/iview.min.js"></script>
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# 下载依赖包
|
||||
npm install
|
||||
|
||||
# 运行服务器端
|
||||
node /music-downloader/app/main.js
|
11
start.sh
11
start.sh
|
@ -1,11 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# 拉取代码
|
||||
cd /
|
||||
git clone http://192.168.1.253:9130/amuliang/music-downloader.git
|
||||
|
||||
# 运行服务
|
||||
./server.sh &
|
||||
./start.sh &
|
||||
|
||||
echo "start success !!!"
|
|
@ -3,6 +3,9 @@
|
|||
# 下载依赖包
|
||||
npm install http-server -g
|
||||
|
||||
wait
|
||||
|
||||
# 运行前端页面
|
||||
cd /music-downloader/html
|
||||
echo "run html, localhost:8080"
|
||||
http-server -p 8080
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
|
||||
# 下载依赖包
|
||||
cd /music-downloader
|
||||
npm install
|
||||
|
||||
wait
|
||||
|
||||
# 运行服务器端
|
||||
echo "run server, localhost:5000"
|
||||
node /music-downloader/app/main.js
|
|
@ -0,0 +1,10 @@
|
|||
#!/bin/bash
|
||||
|
||||
# 拉取代码
|
||||
git clone http://${REMOTE_ADDR}/amuliang/music-downloader.git /music-downloader
|
||||
wait
|
||||
|
||||
# 运行服务
|
||||
/start/server.sh &
|
||||
/start/html.sh &
|
||||
wait
|
Loading…
Reference in New Issue