mirror of
https://github.com/GiriNeko/YesPlayMusic.git
synced 2025-12-18 06:07:48 +00:00
refactor: version 2.0 (React)
This commit is contained in:
parent
7dad7d810a
commit
950f72d4e8
356 changed files with 7901 additions and 29547 deletions
45
packages/main/server.ts
Normal file
45
packages/main/server.ts
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
import { pathCase } from 'change-case'
|
||||
import cookieParser from 'cookie-parser'
|
||||
import express, { Request, Response } from 'express'
|
||||
import logger from './logger'
|
||||
|
||||
const neteaseApi = require('NeteaseCloudMusicApi')
|
||||
|
||||
const app = express()
|
||||
app.use(cookieParser())
|
||||
const port = Number(process.env['ELECTRON_DEV_NETEASE_API_PORT'] ?? 3000)
|
||||
|
||||
Object.entries(neteaseApi).forEach(([name, handler]) => {
|
||||
if (['serveNcmApi', 'getModulesDefinitions'].includes(name)) {
|
||||
return
|
||||
}
|
||||
|
||||
const wrappedHandler = async (req: Request, res: Response) => {
|
||||
logger.info(`[server] Handling request: ${req.path}`)
|
||||
try {
|
||||
const result = await handler({
|
||||
...req.query,
|
||||
// cookie:
|
||||
// 'MUSIC_U=1239b6c1217d8cd240df9c8fa15e99a62f9aaac86baa7a8aa3166acbad267cd8a237494327fc3ec043124f3fcebe94e446b14e3f0c3f8af9fe5c85647582a507',
|
||||
// cookie: req.headers.cookie,
|
||||
cookie: `MUSIC_U=${req.cookies['MUSIC_U']}`,
|
||||
})
|
||||
res.send(result.body)
|
||||
} catch (error) {
|
||||
res.status(500).send(error)
|
||||
}
|
||||
}
|
||||
|
||||
app.get(
|
||||
`/netease/${pathCase(name)}`,
|
||||
async (req: Request, res: Response) => await wrappedHandler(req, res)
|
||||
)
|
||||
app.post(
|
||||
`/netease/${pathCase(name)}`,
|
||||
async (req: Request, res: Response) => await wrappedHandler(req, res)
|
||||
)
|
||||
})
|
||||
|
||||
app.listen(port, () => {
|
||||
logger.info(`[server] API server listening on port ${port}`)
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue