mirror of
https://gitlab.com/Binaryify/neteasecloudmusicapi.git
synced 2025-05-23 22:37:41 +08:00
將原本 "NeteaseCloudMusicApi/server" 掃描 modules 目錄的部分抽出 server.js, 改移到 main.js。這樣使用者就有辦法只載入 靜態的伺服器部分(不動態載入模組)。 這個 patch 的 breaking changes 不易發生。 可作為 patch version 發佈。
35 lines
821 B
JavaScript
35 lines
821 B
JavaScript
const fs = require('fs')
|
|
const path = require('path')
|
|
const { cookieToJson } = require('./util')
|
|
const request = require('./util/request')
|
|
|
|
/** @type {Record<string, any>} */
|
|
let obj = {}
|
|
fs.readdirSync(path.join(__dirname, 'module'))
|
|
.reverse()
|
|
.forEach((file) => {
|
|
if (!file.endsWith('.js')) return
|
|
let fileModule = require(path.join(__dirname, 'module', file))
|
|
let fn = file.split('.').shift() || ''
|
|
obj[fn] = function (data) {
|
|
if (typeof data.cookie === 'string') {
|
|
data.cookie = cookieToJson(data.cookie)
|
|
}
|
|
return fileModule(
|
|
{
|
|
...data,
|
|
cookie: data.cookie ? data.cookie : {},
|
|
},
|
|
request,
|
|
)
|
|
}
|
|
})
|
|
|
|
/**
|
|
* @type {Record<string, any> & import("./server")}
|
|
*/
|
|
module.exports = {
|
|
...require('./server'),
|
|
...obj,
|
|
}
|