From 077a347d411db8de3101ebe0915a217be54852e4 Mon Sep 17 00:00:00 2001 From: binaryify Date: Fri, 20 Aug 2021 10:14:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=8B=E6=9C=BA=E7=99=BB=E5=BD=95=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E9=AA=8C=E8=AF=81=E7=A0=81=E7=99=BB=E5=BD=95=E6=96=B9?= =?UTF-8?q?=E5=BC=8F=20#1328=EF=BC=8C=20#1075=20#1227?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.MD | 3 +++ docs/README.md | 6 ++++-- interface.d.ts | 8 ++++++++ module/login_cellphone.js | 8 +++++--- package.json | 2 +- 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.MD b/CHANGELOG.MD index 57618e2..4f7654b 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -1,4 +1,7 @@ # 更新日志 +### 4.0.20 | 2021.8.20 +- 手机登录增加验证码登录方式 [#1328](https://github.com/Binaryify/NeteaseCloudMusicApi/issues/1328) + ### 4.0.19 | 2021.8.10 - 修复若干问题 diff --git a/docs/README.md b/docs/README.md index 77383c3..a165349 100644 --- a/docs/README.md +++ b/docs/README.md @@ -426,11 +426,13 @@ $ sudo docker run -d -p 3000:3000 netease-music-api **可选参数 :** `countrycode`: 国家码,用于国外手机号登录,例如美国传入:`1` -`md5_password`: md5加密后的密码,传入后 `password` 将失效 +`md5_password`: md5加密后的密码,传入后 `password` 参数将失效 + +`captcha`: 验证码,使用 [`/captcha/sent`](#发送验证码)接口传入手机号获取验证码,调用此接口传入验证码,可使用验证码登录,传入后 `password` 参数将失效 **接口地址 :** `/login/cellphone` -**调用例子 :** `/login/cellphone?phone=xxx&password=yyy` `/login/cellphone?phone=xxx&md5_password=yyy` +**调用例子 :** `/login/cellphone?phone=xxx&password=yyy` `/login/cellphone?phone=xxx&md5_password=yyy` `/login/cellphone?phone=xxx&captcha=1234` #### 2. 邮箱登录 diff --git a/interface.d.ts b/interface.d.ts index 7131faf..2592524 100644 --- a/interface.d.ts +++ b/interface.d.ts @@ -694,6 +694,14 @@ export function login_cellphone( } & RequestBaseConfig, ): Promise +export function login_cellphone( + params: { + phone: number | string + countrycode?: number | string + captcha: number | string + } & RequestBaseConfig, +): Promise + export function login_refresh(params: RequestBaseConfig): Promise export function login_status(params: RequestBaseConfig): Promise diff --git a/module/login_cellphone.js b/module/login_cellphone.js index 0d2e7ae..a66b592 100644 --- a/module/login_cellphone.js +++ b/module/login_cellphone.js @@ -7,9 +7,11 @@ module.exports = async (query, request) => { const data = { phone: query.phone, countrycode: query.countrycode || '86', - password: - query.md5_password || - crypto.createHash('md5').update(query.password).digest('hex'), + captcha: query.captcha, + [query.captcha ? 'captcha' : 'password']: query.captcha + ? query.captcha + : query.md5_password || + crypto.createHash('md5').update(query.password).digest('hex'), rememberLogin: 'true', } let result = await request( diff --git a/package.json b/package.json index b057ae2..c684298 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "NeteaseCloudMusicApi", - "version": "4.0.19", + "version": "4.0.20", "description": "网易云音乐 NodeJS 版 API", "scripts": { "start": "node app.js", -- GitLab