feat. 分离解灰至单独的模块, 更新文档

This commit is contained in:
IamFurina 2025-07-03 17:10:53 +08:00 committed by ImFurina
parent b91092d0c6
commit a051864303
5 changed files with 57 additions and 12 deletions

View File

@ -3,9 +3,9 @@
为停更的网易云音乐 NodeJs API 提供持续的维护!
<p>
<a href="https://www.npmjs.com/package/NeteaseCloudMusicApiReborn"><img src="https://img.shields.io/npm/v/NeteaseCloudMusicApi.svg" alt="Version"></a>
<a href="https://www.npmjs.com/package/NeteaseCloudMusicApiReborn"><img src="https://img.shields.io/npm/l/NeteaseCloudMusicApi.svg" alt="License"></a>
<a href="https://www.npmjs.com/package/NeteaseCloudMusicApiReborn"><img src="https://img.shields.io/david/dev/binaryify/NeteaseCloudMusicApi.svg" alt="devDependencies" ></a>
<a href="https://www.npmjs.com/package/@neteaseapireborn/api"><img src="https://img.shields.io/npm/v/@neteaseapireborn/api.svg" alt="Version"></a>
<a href="https://www.npmjs.com/package/@neteaseapireborn/api"><img src="https://img.shields.io/npm/l/NeteaseCloudMusicApi.svg" alt="License"></a>
<a href="https://www.npmjs.com/package/@neteaseapireborn/api"><img src="https://img.shields.io/david/dev/binaryify/@neteaseapireborn/api.svg" alt="devDependencies" ></a>
</p>
## 灵感来自
@ -26,8 +26,8 @@
## 安装
```shell
$ git clone https://github.com/IamFurina/NeteaseCloudMusicApiReborn.git
$ cd NeteaseCloudMusicApi
$ git clone https://github.com/NeteaseCloudMusicApiReborn/api.git
$ cd api
$ pnpm install
```
@ -449,6 +449,8 @@ banner({ type: 0 }).then((res) => {
312. 广播电台 - 电台信息
313. 广播电台 - 全部电台
314. 广播电台 - 收藏/取消收藏电台
315. 获取歌曲解灰链接
> 支持 `qq` `kuwo` `kugou` `migu` `pyncmd` 音源
## 单元测试

View File

@ -0,0 +1,30 @@
// 网易云歌曲解灰
// 支持qq音乐、酷狗音乐、酷我音乐、咪咕音乐、第三方网易云API等等(来自GD音乐台)
const createOption = require('../util/option.js')
module.exports = async (query, request) => {
try {
const match = require("@unblockneteasemusic/server")
const source = ['pyncmd', 'kuwo', 'qq', 'migu', 'kugou']
const result = await match(query.id, source)
console.log("[OK] 开始解灰", query.id, result)
return {
status: 200,
body: {
code: 200,
data: Array.isArray(result) ? result : [result],
},
}
} catch (e) {
return {
status: 500,
body: {
code: 500,
msg: e.message || 'unblock error',
data: [],
},
}
}
}

View File

@ -1,13 +1,13 @@
# 网易云音乐 API
# 网易云音乐 API Reborn
> 网易云音乐 NodeJS 版 API
> 为停更的网易云音乐 NodeJs API 提供持续的维护!
- 全部接口已升级到最新
- 基于原版网易云API新增更多有趣的功能
- 具备登录接口,多达200多个接口
- 更完善的文档
[GitLab](https://gitlab.com/Binaryify/NeteaseCloudMusicApi)
[Github](https://github.com/neteasecloudmusicapireborn/api)
[Get Started](#neteasecloudmusicapi)
![color](#ffffff)

View File

@ -1564,6 +1564,18 @@ tags: 歌单标签
**调用例子 :** `/check/music?id=33894312`
### 获取客户端灰色歌曲链接
说明 : 技术来自于 [UnblockNeteaseMusic](https://github.com/unblockneteasemusic/server) 的支持, 聚合多个音源匹配(有几率匹配不成功)
**必选参数 :** `id` : 音乐 id
`level`: 播放音质等级, 分为 `standard` => `标准`,`higher` => `较高`, `exhigh`=>`极高`,
`lossless`=>`无损`, `hires`=>`Hi-Res`, `jyeffect` => `高清环绕声`, `sky` => `沉浸环绕声`, `dolby` => `杜比全景声`, `jymaster` => `超清母带`
**接口地址 :** `/song/url/unblock`
**调用例子 :** `/song/download/url/v1?id=2155423468`
### 搜索
说明 : 调用此接口 , 传入搜索关键词可以搜索该音乐 / 专辑 / 歌手 / 歌单 / 用户 ,

View File

@ -1,3 +1,4 @@
require("dotenv").config();
const fs = require('fs')
const path = require('path')
const express = require('express')
@ -8,7 +9,7 @@ const cache = require('./util/apicache').middleware
const { cookieToJson } = require('./util/index')
const fileUpload = require('express-fileupload')
const decode = require('safe-decode-uri-component')
require("dotenv").config();
/**
* The version check result.
* @readonly
@ -238,7 +239,7 @@ async function consturctServer(moduleDefs) {
return request(...obj)
})
console.log('[OK]', decode(req.originalUrl))
/*
if (req.baseUrl === '/song/url/v1' || req.baseUrl === '/song/url') {
const song = moduleResponse['body']['data'][0]
if (song.freeTrialInfo !== null || !song.url || [1, 4].includes(song.fee)) {
@ -250,7 +251,7 @@ async function consturctServer(moduleDefs) {
console.log("解灰成功!")// 对于Splayer来说去除开通会员提示
}
}
*/
const cookies = moduleResponse.cookie
if (!query.noCookie) {