Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
嘻哈兔来辽
NeteaseCloudMusicApi
提交
13b93fda
N
NeteaseCloudMusicApi
项目概览
嘻哈兔来辽
/
NeteaseCloudMusicApi
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
NeteaseCloudMusicApi
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
13b93fda
编写于
2月 28, 2018
作者:
B
binaryify
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修复登录失败会崩溃的问题
上级
6ecf6183
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
52 addition
and
79 deletion
+52
-79
CHANGELOG.MD
CHANGELOG.MD
+2
-0
package.json
package.json
+1
-1
router/loginCellphone.js
router/loginCellphone.js
+1
-1
test/login.test.js
test/login.test.js
+24
-56
test/lyric.test.js
test/lyric.test.js
+24
-21
未找到文件。
CHANGELOG.MD
浏览文件 @
13b93fda
# 更新日志
# 更新日志
### 2.9.2 | 2018.02.28
修复登录失败会崩溃的问题
### 2.9.1 | 2018.01.26
### 2.9.1 | 2018.01.26
...
...
package.json
浏览文件 @
13b93fda
{
{
"name"
:
"NeteaseCloudMusicApi"
,
"name"
:
"NeteaseCloudMusicApi"
,
"version"
:
"2.9.
1
"
,
"version"
:
"2.9.
2
"
,
"description"
:
"网易云音乐 NodeJS 版 API"
,
"description"
:
"网易云音乐 NodeJS 版 API"
,
"scripts"
:
{
"scripts"
:
{
"start"
:
"node app.js"
,
"start"
:
"node app.js"
,
...
...
router/loginCellphone.js
浏览文件 @
13b93fda
...
@@ -19,7 +19,7 @@ router.get("/", (req, res) => {
...
@@ -19,7 +19,7 @@ router.get("/", (req, res) => {
"
POST
"
,
"
POST
"
,
data
,
data
,
cookie
,
cookie
,
(
music_req
,
cookie
)
=>
{
(
music_req
,
cookie
=
[]
)
=>
{
const
cookieStr
=
const
cookieStr
=
"
appver=1.5.9;os=osx; channel=netease;osver=%E7%89%88%E6%9C%AC%2010.13.2%EF%BC%88%E7%89%88%E5%8F%B7%2017C88%EF%BC%89
"
;
"
appver=1.5.9;os=osx; channel=netease;osver=%E7%89%88%E6%9C%AC%2010.13.2%EF%BC%88%E7%89%88%E5%8F%B7%2017C88%EF%BC%89
"
;
cookieStr
.
split
(
"
;
"
).
forEach
(
item
=>
{
cookieStr
.
split
(
"
;
"
).
forEach
(
item
=>
{
...
...
test/login.test.js
浏览文件 @
13b93fda
const
assert
=
require
(
'
assert
'
)
const
assert
=
require
(
"
assert
"
);
const
crypto
=
require
(
'
crypto
'
)
const
crypto
=
require
(
"
crypto
"
);
const
{
createWebAPIRequest
}
=
require
(
'
../util/util
'
)
const
{
createWebAPIRequest
}
=
require
(
"
../util/util
"
);
console
.
log
(
'
注意:测试登陆需要替换这里的账号密码!!!
'
)
console
.
log
(
"
注意:测试登陆需要替换这里的账号密码!!!
"
);
describe
(
'
测试登录是否正常
'
,
()
=>
{
describe
(
"
测试登录是否正常
"
,
()
=>
{
it
(
'
手机登录 code 应该等于200
'
,
done
=>
{
it
(
"
手机登录 code 应该等于200
"
,
done
=>
{
const
phone
=
'
换成你的手机号
'
const
phone
=
"
换成你的手机号
"
;
const
password
=
'
换成你的密码
'
const
password
=
"
换成你的密码
"
;
let
cookie
=
''
let
cookie
=
""
;
const
md5sum
=
crypto
.
createHash
(
'
md5
'
)
const
md5sum
=
crypto
.
createHash
(
"
md5
"
);
md5sum
.
update
(
password
)
md5sum
.
update
(
password
)
;
const
data
=
{
const
data
=
{
phone
:
phone
,
phone
:
phone
,
password
:
md5sum
.
digest
(
'
hex
'
),
password
:
md5sum
.
digest
(
"
hex
"
),
rememberLogin
:
'
true
'
rememberLogin
:
"
true
"
}
}
;
createWebAPIRequest
(
createWebAPIRequest
(
'
music.163.com
'
,
"
music.163.com
"
,
'
/weapi/login/cellphone
'
,
"
/weapi/login/cellphone
"
,
'
POST
'
,
"
POST
"
,
data
,
data
,
cookie
,
cookie
,
(
music_req
,
cookie
)
=>
{
(
music_req
,
cookie
)
=>
{
const
result
=
JSON
.
parse
(
music_req
)
const
result
=
JSON
.
parse
(
music_req
)
;
console
.
log
({
console
.
log
({
loginType
:
result
.
loginType
,
loginType
:
result
.
loginType
,
code
:
result
.
code
,
code
:
result
.
code
,
account
:
result
.
account
account
:
result
.
account
})
})
;
assert
(
result
.
code
===
200
)
assert
(
result
.
code
===
200
)
;
done
()
done
()
;
},
},
err
=>
done
(
err
)
err
=>
done
(
err
)
)
);
})
});
});
it
(
'
邮箱登录 code 应该等于200
'
,
done
=>
{
const
email
=
'
换成你的163网易邮箱
'
const
password
=
'
换成你的密码
'
const
cookie
=
''
const
md5sum
=
crypto
.
createHash
(
'
md5
'
)
md5sum
.
update
(
password
)
const
data
=
{
username
:
email
,
password
:
md5sum
.
digest
(
'
hex
'
),
rememberLogin
:
'
true
'
}
createWebAPIRequest
(
'
music.163.com
'
,
'
/weapi/login
'
,
'
POST
'
,
data
,
cookie
,
(
music_req
,
cookie
)
=>
{
const
result
=
JSON
.
parse
(
music_req
)
console
.
log
({
loginType
:
result
.
loginType
,
code
:
result
.
code
,
account
:
result
.
account
})
assert
(
result
.
code
===
200
)
done
()
},
err
=>
done
(
err
)
)
})
})
test/lyric.test.js
浏览文件 @
13b93fda
const
assert
=
require
(
'
assert
'
)
const
assert
=
require
(
"
assert
"
);
const
crypto
=
require
(
'
crypto
'
)
const
crypto
=
require
(
"
crypto
"
);
const
{
create
Request
}
=
require
(
'
../util/util
'
)
const
{
create
WebAPIRequest
}
=
require
(
"
../util/util
"
);
describe
(
'
测试获取歌词是否正常
'
,
()
=>
{
describe
(
"
测试获取歌词是否正常
"
,
()
=>
{
it
(
'
数据应该有 lrc 字段
'
,
done
=>
{
it
(
"
数据应该有 lrc 字段
"
,
done
=>
{
const
id
=
347230
const
cookie
=
""
;
createRequest
(
const
data
=
{};
'
/api/song/lyric?os=osx&id=
'
+
id
+
'
&lv=-1&kv=-1&tv=-1
'
,
const
id
=
347230
;
'
GET
'
,
createWebAPIRequest
(
null
"
music.163.com
"
,
)
"
/weapi/song/lyric?os=osx&id=
"
+
id
+
"
&lv=-1&kv=-1&tv=-1
"
,
.
then
(
result
=>
{
"
POST
"
,
// console.log(JSON.parse(result).lrc)
data
,
assert
(
typeof
JSON
.
parse
(
result
).
lrc
!==
'
undefined
'
)
cookie
,
done
()
music_req
=>
{
})
console
.
log
(
music_req
);
.
catch
(
err
=>
{
assert
(
typeof
JSON
.
parse
(
music_req
).
lrc
!==
"
undefined
"
);
done
(
err
)
done
();
})
// res.send(music_req)
})
},
})
err
=>
res
.
status
(
502
).
send
(
"
fetch error
"
)
);
});
});
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录