mirror of
https://github.com/NeteaseCloudMusicApiEnhanced/api-enhanced.git
synced 2026-03-21 19:13:10 +00:00
- 集成 jsmediatags 库用于解析音频文件的 ID3 标签 - 实现 parseMediaTags 函数提取歌曲标题、艺术家和专辑信息 - 在上传前添加音频元数据解析步骤 - 将解析的元数据传递给 completeUpload 函数 - 使用元数据中的标题作为歌曲名称,提高准确性 - 添加默认值处理以防止解析失败 - 更新 completeUpload 函数接收文件对象和媒体标签参数 - 移除模块中不再使用的文件扩展名提取逻辑
73 lines
1.4 KiB
JavaScript
73 lines
1.4 KiB
JavaScript
const createOption = require('../util/option.js')
|
|
|
|
module.exports = async (query, request) => {
|
|
const {
|
|
songId,
|
|
resourceId,
|
|
md5,
|
|
filename,
|
|
song,
|
|
artist,
|
|
album,
|
|
bitrate = 999000,
|
|
} = query
|
|
|
|
if (!songId || !resourceId || !md5 || !filename) {
|
|
return Promise.reject({
|
|
status: 400,
|
|
body: {
|
|
code: 400,
|
|
msg: '缺少必要参数: songId, resourceId, md5, filename',
|
|
},
|
|
})
|
|
}
|
|
|
|
const songName = song || filename.replace(/\.[^.]+$/, '')
|
|
|
|
const res2 = await request(
|
|
`/api/upload/cloud/info/v2`,
|
|
{
|
|
md5: md5,
|
|
songid: songId,
|
|
filename: filename,
|
|
song: songName,
|
|
album: album || '未知专辑',
|
|
artist: artist || '未知艺术家',
|
|
bitrate: String(bitrate),
|
|
resourceId: resourceId,
|
|
},
|
|
createOption(query),
|
|
)
|
|
|
|
if (res2.body.code !== 200) {
|
|
return Promise.reject({
|
|
status: res2.status || 500,
|
|
body: {
|
|
code: res2.body.code || 500,
|
|
msg: res2.body.msg || '上传云盘信息失败',
|
|
detail: res2.body,
|
|
},
|
|
})
|
|
}
|
|
|
|
const res3 = await request(
|
|
`/api/cloud/pub/v2`,
|
|
{
|
|
songid: res2.body.songId,
|
|
},
|
|
createOption(query),
|
|
)
|
|
|
|
return {
|
|
status: 200,
|
|
body: {
|
|
code: 200,
|
|
data: {
|
|
songId: res2.body.songId,
|
|
...res3.body,
|
|
},
|
|
},
|
|
cookie: res2.cookie,
|
|
}
|
|
}
|