version 2.5.0 增加 mv/专辑/歌单评论接口,增加云盘相关接口,增加获取用户动态/信息接口,增加关注/粉丝列表接口,增加收藏歌单接口,增加相似 mv/歌曲/用户接口,增加 banner 接口,增加刷新登录接口,增加电台相关接口,补充评论接口,更新文档

This commit is contained in:
binaryify
2017-04-29 21:57:19 +08:00
parent b236b5024e
commit b6feed4796
81 changed files with 2313 additions and 157 deletions
+16 -10
View File
@@ -1,18 +1,24 @@
const express = require("express")
const router = express()
const { createRequest } = require("../util/util")
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
"csrf_token": ""
}
const id = req.query.id
createRequest(`/api/album/${id}`, 'GET', null)
.then(result => {
res.setHeader("Content-Type", "application/json")
res.send(result)
})
.catch(err => {
res.status(502).send('fetch error')
})
createWebAPIRequest(
'music.163.com',
`/weapi/v1/album/${id}`,
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+17 -11
View File
@@ -1,19 +1,25 @@
const express = require("express")
const router = express()
const { createRequest } = require("../util/util")
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const id = req.query.id
const offset = req.query.offset || 0
const limit = req.query.limit || 50
createRequest(`/api/artist/albums/${id}?offset=${offset}&limit=${limit}`, 'GET', null)
.then(result => {
res.setHeader("Content-Type", "application/json")
res.send(result)
})
.catch(err => {
res.status(502).send('fetch error')
})
const data = {
'offset': req.query.offset || 0,
'total': true,
'limit': req.query.limit || 30,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
`/weapi/artist/albums/${id}`,
'POST',
data,
cookie,
music_req => res.send(music_req),
err => res.status(502).send('fetch error')
)
})
+1 -1
View File
@@ -6,7 +6,7 @@ router.get("/", (req, res) => {
const id = req.query.id
const offset = req.query.offset || 0
const limit = req.query.limit || 50
createRequest(`/api/artist/${id}?offset=${offset}&limit=${limit}`, 'GET', null)
createRequest(`/weapi/v1/artist/${id}?offset=${offset}&limit=${limit}`, 'GET', null)
.then(result => {
res.setHeader("Content-Type", "application/json")
res.send(result)
+24
View File
@@ -0,0 +1,24 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const id = req.query.id
const data = {
id,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
`/weapi/artist/introduction`,
'POST',
data,
cookie,
music_req => res.send(music_req),
err => res.status(502).send('fetch error')
)
})
module.exports = router
+27
View File
@@ -0,0 +1,27 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const id = req.query.id
const data = {
artistId: id,
"total": true,
"offset": req.query.offset,
"limit": req.query.limit,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
`/weapi/artist/mvs`,
'POST',
data,
cookie,
music_req => res.send(music_req),
err => res.status(502).send('fetch error')
)
})
module.exports = router
+1 -2
View File
@@ -3,8 +3,7 @@ const router = express()
const { createRequest } = require("../util/util")
router.get("/", (req, res) => {
const ids = req.query.ids
createRequest(`/api/song/detail?ids=%5B${ids}%5D`, 'GET', null)
createRequest('/api/v2/banner/get', 'GET', null)
.then(result => {
res.setHeader("Content-Type", "application/json")
res.send(result)
+34
View File
@@ -0,0 +1,34 @@
const express = require("express")
const router = express()
const request = require("request")
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const id = parseInt(req.query.id)
const br = parseInt(req.query.br || 999000)
const data = {
"ids": [id],
"br": br,
"csrf_token": ""
}
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
createWebAPIRequest(
'music.163.com',
'/weapi/song/enhance/player/url',
'POST',
data,
cookie,
music_req => {
if(JSON.parse(music_req).code==200){
return res.send({success: true, message: 'ok'})
}
return res.send({success: false, message: '亲爱的,暂无版权'});
},
err => {
res.status(502).send('fetch error')
}
)
})
module.exports = router
+29
View File
@@ -0,0 +1,29 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const rid=req.query.id
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
"offset": req.query.offset || 0,
"rid": rid,
"limit": req.query.limit || 20,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
`/weapi/v1/resource/comments/R_AL_3_${rid}/?csrf_token=`,
'POST',
data,
cookie,
music_req => {
res.send(music_req)
console.log(Object.keys(JSON.parse(music_req)))
console.log(JSON.parse(music_req).comments.length)//100
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+29
View File
@@ -0,0 +1,29 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const rid=req.query.id
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
"offset": req.query.offset || 0,
"rid": rid,
"limit": req.query.limit || 20,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
`/weapi/v1/resource/comments/A_DJ_1_${rid}/?csrf_token=`,
'POST',
data,
cookie,
music_req => {
res.send(music_req)
console.log(Object.keys(JSON.parse(music_req)))
console.log(JSON.parse(music_req).comments.length)//100
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+30
View File
@@ -0,0 +1,30 @@
//comment like
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const id = req.query.id
const data = {
"threadId": req.query.origin,
commentId:id,
"csrf_token": ""
}
const action=(req.query.t==1?'like':'unlike')
const url = `/weapi/v1/comment/${action}`
createWebAPIRequest(
'music.163.com',
url,
'POST',
data,
cookie,
music_req => res.send(music_req),
err => res.status(502).send('fetch error')
)
})
module.exports = router
@@ -17,7 +17,11 @@ router.get("/", (req, res) => {
'POST',
data,
cookie,
music_req => res.send(music_req),
music_req => {
res.send(music_req)
console.log(Object.keys(JSON.parse(music_req)))
console.log(JSON.parse(music_req).comments.length)//100
},
err => res.status(502).send('fetch error')
)
})
+29
View File
@@ -0,0 +1,29 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const rid=req.query.id
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
"offset": req.query.offset || 0,
"rid": rid,
"limit": req.query.limit || 20,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
`/weapi/v1/resource/comments/R_MV_5_${rid}/?csrf_token=`,
'POST',
data,
cookie,
music_req => {
res.send(music_req)
console.log(Object.keys(JSON.parse(music_req)))
console.log(JSON.parse(music_req).comments.length)//100
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+29
View File
@@ -0,0 +1,29 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const rid=req.query.id
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
"offset": req.query.offset || 0,
"rid": rid,
"limit": req.query.limit || 20,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
`/weapi/v1/resource/comments/A_PL_0_${rid}/?csrf_token=`,
'POST',
data,
cookie,
music_req => {
res.send(music_req)
console.log(Object.keys(JSON.parse(music_req)))
console.log(JSON.parse(music_req).comments.length)//100
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+2 -1
View File
@@ -1,3 +1,4 @@
// 签到
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
@@ -12,7 +13,7 @@ router.get("/", (req, res) => {
// 'android': {'code': 301}, 'web': {'code': 301}}
let type = req.query.type || 0 //0为安卓端签到 3点经验,1为网页签到,2点经验
const action = `http://music.163.com/weapi/point/dailyTask?type=${type}`
const action = `/weapi/point/dailyTask?type=${type}`
createWebAPIRequest(
'music.163.com',
action,
+23
View File
@@ -0,0 +1,23 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
'/weapi/djradio/category/get',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+27
View File
@@ -0,0 +1,27 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const rid=req.query.rid
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
'id': rid,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
'/weapi/djradio/get',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
console.log(Object.keys(JSON.parse(music_req)))
console.log(JSON.parse(music_req).comments.length)//100
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+32
View File
@@ -0,0 +1,32 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
'cat': req.query.type,
cateId: req.query.type,
type: req.query.type,
categoryId: req.query.type,
category: req.query.type,
limit: req.query.limit,
offset: req.query.offset,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
'/weapi/djradio/hot/v1',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
console.log(Object.keys(JSON.parse(music_req)))
console.log(JSON.parse(music_req).comments.length)//100
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+30
View File
@@ -0,0 +1,30 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const rid=req.query.rid
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
'asc': req.query.asc,
'radioId': rid,
'limit': req.query.limit,
'offset': req.query.offset,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
'/weapi/dj/program/byradio',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
console.log(Object.keys(JSON.parse(music_req)))
console.log(JSON.parse(music_req).comments.length)//100
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+26
View File
@@ -0,0 +1,26 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
'id': req.query.id,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
'/weapi/dj/program/detail',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
console.log(Object.keys(JSON.parse(music_req)))
console.log(JSON.parse(music_req).comments.length)//100
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+25
View File
@@ -0,0 +1,25 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
'/weapi/djradio/recommend/v1',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
console.log(Object.keys(JSON.parse(music_req)))
console.log(JSON.parse(music_req).comments.length)//100
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+24
View File
@@ -0,0 +1,24 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
cateId: req.query.type,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
'/weapi/djradio/recommend',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+25
View File
@@ -0,0 +1,25 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
"id": req.query.rid,
"csrf_token": ""
}
const action=(req.query.t==1?'sub':'unsub')
createWebAPIRequest(
'music.163.com',
`/weapi/djradio/${action}`,
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+1 -1
View File
@@ -12,7 +12,7 @@ router.get("/", (req, res) => {
const time = req.query.time || 25
createWebAPIRequest(
'music.163.com',
`/api/radio/trash/add?alg=${alg}&songId=${songid}&time=${time}`,
`/weapi/radio/trash/add?alg=${alg}&songId=${songid}&time=${time}`,
'POST',
data,
cookie,
+25
View File
@@ -0,0 +1,25 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
"csrf_token": ""
}
const url = req.query.type == 'add' ? 'follow' : "delfollow"
const id = req.query.id
createWebAPIRequest(
'music.163.com',
`/weapi/user/${url}/${id}`,
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+3 -2
View File
@@ -9,11 +9,12 @@ router.get("/", (req, res) => {
}
const trackId = req.query.id
const like = req.query.like || true
const alg = "itembased"
const alg = req.query.alg || "itembased"
const time = req.query.time || 25
console.log(alg)
createWebAPIRequest(
'music.163.com',
`/api/radio/like?alg=${alg}&trackId=${trackId}&like=${like}&time=${time}`,
`/weapi/radio/like?alg=${alg}&trackId=${trackId}&like=${like}&time=${time}`,
'POST',
data,
cookie,
+27
View File
@@ -0,0 +1,27 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
uid: req.query.uid,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
`/weapi/song/like/get`,
'POST',
data,
cookie,
music_req => {
res.send(music_req)
console.log(JSON.parse(music_req).ids.length)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+1 -3
View File
@@ -5,14 +5,12 @@ const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
"action": req.query.action,
"json": req.query.json,
"csrf_token": "",
}
createWebAPIRequest(
'music.163.com',
'/weapi/log/web',
'/weapi/feedback/weblog',
'POST',
data,
cookie,
+29
View File
@@ -0,0 +1,29 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
let csrf = req.query.t || ''
for (let i in cookie) {
if (cookie[i].name == '__csrf') {
csrf = cookie.value
}
}
const data = {
"csrf_token": csrf
}
createWebAPIRequest(
'music.163.com',
`/weapi/login/token/refresh?csrf_token=${csrf}`,
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+2 -2
View File
@@ -3,8 +3,8 @@ const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const id = parseInt(req.query.id)
const br = parseInt(req.query.br || 999000)
const id = req.query.id
const br = req.query.br || 999000
const data = {
"ids": [id],
"br": br,
+27
View File
@@ -0,0 +1,27 @@
//最新mv
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
// type ALL, ZH,EA,KR,JP
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
'offset': req.query.offset || 0,
'total': true,
'limit': req.query.limit || 30,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
'/weapi/mv/first',
'POST',
data,
cookie,
music_req => res.send(music_req),
err => res.status(502).send('fetch error')
)
})
module.exports = router
-19
View File
@@ -1,19 +0,0 @@
const express = require("express")
const router = express()
const { createRequest } = require("../util/util")
router.get("/", (req, res) => {
const offset = req.query.offset || 0
const limit = req.query.limit || 50
createRequest(`/api/album/new?area=ALL&offset=${offset}&total=true&limit=${limit}`, 'GET', null)
.then(result => {
res.setHeader("Content-Type", "application/json")
res.send(result)
})
.catch(err => {
res.status(502).send('fetch error')
})
})
module.exports = router
+1 -1
View File
@@ -10,7 +10,7 @@ router.get("/", (req, res) => {
createWebAPIRequest(
'music.163.com',
'http://music.163.com/api/radio/get',
'/weapi/v1/radio/get',
'POST',
data,
cookie,
+23
View File
@@ -0,0 +1,23 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
}
createWebAPIRequest(
'music.163.com',
'/api/personalized/playlist',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+23
View File
@@ -0,0 +1,23 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
}
createWebAPIRequest(
'music.163.com',
'/api/personalized/djprogram',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+23
View File
@@ -0,0 +1,23 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
}
createWebAPIRequest(
'music.163.com',
'/api/personalized/mv',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+24
View File
@@ -0,0 +1,24 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
type: "recommend"
}
createWebAPIRequest(
'music.163.com',
'/api/personalized/newsong',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+23
View File
@@ -0,0 +1,23 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
}
createWebAPIRequest(
'music.163.com',
'/api/personalized/privatecontent',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+23
View File
@@ -0,0 +1,23 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
'/weapi/playlist/catalogue',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+22
View File
@@ -0,0 +1,22 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
}
createWebAPIRequest(
'music.163.com',
'/api/playlist/hottags',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
@@ -1,7 +1,7 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
//收藏单曲到歌单,从歌单删除歌曲 op=del,add;pid=歌单id,tracks=歌曲id
router.get("/", (req, res) => {
const op = req.query.op
const pid = req.query.pid
+24
View File
@@ -0,0 +1,24 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
cateId: req.query.type,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
'/weapi/program/recommend/v1',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+24
View File
@@ -0,0 +1,24 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
'/weapi/v1/radio/get',
'POST',
data,
cookie,
music_req => res.send(music_req),
err => res.status(502).send('fetch error')
)
})
module.exports = router
+25
View File
@@ -0,0 +1,25 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
"threadId": req.query.id,
"csrf_token": ""
}
const action = (req.query.t == 1 ? 'like' : 'unlike')
createWebAPIRequest(
'music.163.com',
`/weapi/resource/${action}`,
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+26
View File
@@ -0,0 +1,26 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
"csrf_token": "",
type: req.query.type || 1,
s: keywords || req.query.keywords || ''
}
createWebAPIRequest(
'music.163.com',
'/api/search/hot?type=1',
'POST',
data,
cookie,
music_req => res.send(music_req),
err => res.status(502).send('fetch error')
)
})
module.exports = router
+29
View File
@@ -0,0 +1,29 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
"csrf_token": "",
type: req.query.type || 1,
s: req.query.keywords || req.query.keywords || ''
}
createWebAPIRequest(
'music.163.com',
'/weapi/search/suggest/multimatch',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
console.log(Object.keys(JSON.parse(music_req).result))
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+27
View File
@@ -0,0 +1,27 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
"csrf_token": "",
s: req.query.keywords || req.query.keywords || ''
}
createWebAPIRequest(
'music.163.com',
'/weapi/search/suggest/web',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+24
View File
@@ -0,0 +1,24 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const id = req.query.id
const data = {
artistid:id,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
`/weapi/discovery/simiArtist`,
'POST',
data,
cookie,
music_req => res.send(music_req),
err => res.status(502).send('fetch error')
)
})
module.exports = router
+22
View File
@@ -0,0 +1,22 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
mvid: req.query.mvid
}
createWebAPIRequest(
'music.163.com',
'/weapi/discovery/simiMV',
'POST',
data,
cookie,
music_req => res.send(music_req),
err => res.status(502).send('fetch error')
)
})
module.exports = router
+26
View File
@@ -0,0 +1,26 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
songid: req.query.id,
offset: req.query.offset || 0,
limit: req.query.limit || 50
}
createWebAPIRequest(
'music.163.com',
'/weapi/discovery/simiPlaylist',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
// console.log(JSON.parse(music_req).playlists.length)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+26
View File
@@ -0,0 +1,26 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
songid: req.query.id,
offset: req.query.offset || 0,
limit: req.query.limit || 50
}
createWebAPIRequest(
'music.163.com',
'/weapi/v1/discovery/simiSong',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
// console.log(JSON.parse(music_req).playlists.length)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+25
View File
@@ -0,0 +1,25 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
songid: req.query.id,
offset: req.query.offset || 0,
limit: req.query.limit || 50
}
createWebAPIRequest(
'music.163.com',
'/weapi/discovery/simiUser',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+27
View File
@@ -0,0 +1,27 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const id = parseInt(req.query.ids)
const data = {
"id": id,
'c': JSON.stringify([{ id: id }]),
"ids": '[' + id + ']',
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
'/weapi/v3/song/detail',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+31
View File
@@ -0,0 +1,31 @@
//最新mv
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
// type ALL, ZH,EA,KR,JP
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
'offset': req.query.offset,
'total': true,
'limit': req.query.limit,
'area': req.query.type,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
'/weapi/album/new',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
// console.log(JSON.parse(music_req).albums.length)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+31
View File
@@ -0,0 +1,31 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
'offset': req.query.offset || 0,
'total': true,
'limit': req.query.limit || 30,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
'/weapi/mv/toplist',
'POST',
data,
cookie,
music_req => {
res.setHeader("Content-Type", "application/json")
res.send(music_req)
console.log(Object.keys(JSON.parse(music_req).result))
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+6 -3
View File
@@ -1,3 +1,4 @@
//分类歌单
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
@@ -9,16 +10,18 @@ router.get("/", (req, res) => {
cat: req.query.cat || "全部",
order: req.query.order || "hot",
offset: req.query.offset || 0,
total: req.query.offset ? 'true' : 'false',
total: req.query.total ? 'true' : 'false',
limit: req.query.limit || 50
}
createWebAPIRequest(
'music.163.com',
'/api/playlist/list',
'/weapi/playlist/list',
'POST',
data,
cookie,
music_req => res.send(music_req),
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
+26
View File
@@ -0,0 +1,26 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
cat: req.query.cat || "全部",
offset: req.query.offset || 0,
limit: req.query.limit || 20
}
createWebAPIRequest(
'music.163.com',
'/weapi/playlist/highquality/list',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
// console.log(JSON.parse(music_req).playlists.length)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+30
View File
@@ -0,0 +1,30 @@
//新歌上架
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
// type ALL, ZH,EA,KR,JP
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
'offset': request.query.offset,
'total': true,
'limit': request.query.limit,
'area': request.query.type,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
'/weapi/v1/discovery/new/songs',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+24
View File
@@ -0,0 +1,24 @@
// 排行榜
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
"csrf_token": "",
}
createWebAPIRequest(
'music.163.com',
'/weapi/toplist',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+25
View File
@@ -0,0 +1,25 @@
//艺术家分类
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
type: request.query.type,
"csrf_token": "",
}
createWebAPIRequest(
'music.163.com',
'/weapi/toplist/artist',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+26
View File
@@ -0,0 +1,26 @@
// 排行榜详情
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
id: request.query.id,
limit: 20,
"csrf_token": "",
}
createWebAPIRequest(
'music.163.com',
'/weapi/toplist/detail',
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+29
View File
@@ -0,0 +1,29 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const data = {
"userId": req.query.uid,
"csrf_token": ""
}
console.log(data)
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
createWebAPIRequest(
'music.163.com',
'/weapi/djradio/get/byuser',
'POST',
data,
cookie,
music_req => {
res.setHeader("Content-Type", "application/json")
res.send(music_req)
},
err => {
res.status(502).send('fetch error')
}
)
})
module.exports = router
+29
View File
@@ -0,0 +1,29 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const data = {
limit: req.query.limit || 10,
offset: req.query.offset || 0,
"csrf_token": ""
}
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
createWebAPIRequest(
'music.163.com',
'/weapi/v1/cloud/get',
'POST',
data,
cookie,
music_req => {
res.setHeader("Content-Type", "application/json")
res.send(music_req)
},
err => {
res.status(502).send('fetch error')
}
)
})
module.exports = router
+29
View File
@@ -0,0 +1,29 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const data = {
byids: req.query.id,
id: req.query.id,
"csrf_token": ""
}
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
createWebAPIRequest(
'music.163.com',
'/weapi/v1/cloud/get/byids',
'POST',
data,
cookie,
music_req => {
res.setHeader("Content-Type", "application/json")
res.send(music_req)
},
err => {
res.status(502).send('fetch error')
}
)
})
module.exports = router
+25
View File
@@ -0,0 +1,25 @@
// 用户详情
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const id = req.query.uid
const data = {
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
`/api/v1/user/detail/${id}`,
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+27
View File
@@ -0,0 +1,27 @@
// 用户电台
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const id = req.query.uid
const data = {
'offset': req.query.offset || '0',
'limit': req.query.limit || 30,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
`/weapi/dj/program/${id}`,
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+26
View File
@@ -0,0 +1,26 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const id = req.query.uid
const data = {
'time': -1,
'getcounts': true,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
`/weapi/event/get/${id}`,
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+26
View File
@@ -0,0 +1,26 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
'userId': req.query.uid,
offset: req.query.offset || '0',
limit: req.query.limit || 30,
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
`/weapi/user/getfolloweds/`,
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+26
View File
@@ -0,0 +1,26 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const id = req.query.uid
const data = {
offset: req.query.offset || '0',
limit: req.query.limit || 30,
order: true
}
createWebAPIRequest(
'music.163.com',
`/weapi/user/getfollows/${id}`,
'POST',
data,
cookie,
music_req => {
res.send(music_req)
},
err => res.status(502).send('fetch error')
)
})
module.exports = router
+29
View File
@@ -0,0 +1,29 @@
//播放记录
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
// type=1时只返回weekData, type=0时返回allData
const data = {
'type': req.query.type || 0,
uid: req.query.uid, //用户 id,
"csrf_token": ""
}
const action = `/weapi/v1/play/record`
createWebAPIRequest(
'music.163.com',
action,
'POST',
data,
cookie,
music_req => res.send(music_req),
err => res.status(502).send('fetch error')
)
})
module.exports = router
+21
View File
@@ -0,0 +1,21 @@
const express = require("express")
const router = express()
const { createWebAPIRequest } = require("../util/util")
router.get("/", (req, res) => {
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
const data = {
"csrf_token": ""
}
createWebAPIRequest(
'music.163.com',
'/weapi/subcount',
'POST',
data,
cookie,
music_req => res.send(music_req),
err => res.status(502).send('fetch error')
)
})
module.exports = router