mirror of
https://github.com/NeteaseCloudMusicApiEnhanced/api-enhanced.git
synced 2026-10-20 22:51:23 +08:00
增加二维码登录
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
module.exports = async (query, request) => {
|
||||
const data = {
|
||||
key: query.key,
|
||||
type: 1,
|
||||
}
|
||||
try {
|
||||
let result = await request(
|
||||
'POST',
|
||||
`https://music.163.com/weapi/login/qrcode/client/login`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
},
|
||||
)
|
||||
result = {
|
||||
status: 200,
|
||||
body: {
|
||||
...result.body,
|
||||
cookie: result.cookie.join(';'),
|
||||
},
|
||||
cookie: result.cookie,
|
||||
}
|
||||
return result
|
||||
} catch (error) {
|
||||
return {
|
||||
status: 200,
|
||||
body: {},
|
||||
cookie: result.cookie,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
const QRCode = require('qrcode')
|
||||
|
||||
module.exports = (query, request) => {
|
||||
return new Promise(async (resolve) => {
|
||||
const url = `https://music.163.com/login?codekey=${query.key}`
|
||||
return resolve({
|
||||
code: 200,
|
||||
status: 200,
|
||||
body: {
|
||||
code: 200,
|
||||
data: {
|
||||
qrurl: url,
|
||||
qrimg: query.qrimg ? await QRCode.toDataURL(url) : '',
|
||||
},
|
||||
},
|
||||
})
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
module.exports = async (query, request) => {
|
||||
const data = {
|
||||
type: 1,
|
||||
}
|
||||
const result = await request(
|
||||
'POST',
|
||||
`https://music.163.com/weapi/login/qrcode/unikey`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
},
|
||||
)
|
||||
return {
|
||||
status: 200,
|
||||
body: {
|
||||
data: {
|
||||
...result.body,
|
||||
code: 200,
|
||||
},
|
||||
},
|
||||
cookie: result.cookie,
|
||||
}
|
||||
}
|
||||
+24
-19
@@ -1,21 +1,26 @@
|
||||
// 登录状态
|
||||
|
||||
module.exports = (query, request) => {
|
||||
return request(
|
||||
'GET',
|
||||
`https://music.163.com`,
|
||||
{},
|
||||
{ cookie: query.cookie, proxy: query.proxy, realIP: query.realIP },
|
||||
).then((response) => {
|
||||
try {
|
||||
let profile = eval(`(${/GUser\s*=\s*([^;]+);/.exec(response.body)[1]})`)
|
||||
let bindings = eval(`(${/GBinds\s*=\s*([^;]+);/.exec(response.body)[1]})`)
|
||||
response.body = { code: 200, profile: profile, bindings: bindings }
|
||||
return response
|
||||
} catch (err) {
|
||||
response.status = 301
|
||||
response.body = { code: 301 }
|
||||
return Promise.reject(response)
|
||||
module.exports = async (query, request) => {
|
||||
const data = {}
|
||||
let result = await request(
|
||||
'POST',
|
||||
`https://music.163.com/weapi/w/nuser/account/get`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
},
|
||||
)
|
||||
if (result.body.code === 200) {
|
||||
result = {
|
||||
status: 200,
|
||||
body: {
|
||||
data: {
|
||||
...result.body,
|
||||
},
|
||||
},
|
||||
cookie: result.cookie,
|
||||
}
|
||||
})
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user