基本实现
This commit is contained in:
43
server.js
Normal file
43
server.js
Normal file
@@ -0,0 +1,43 @@
|
||||
import fs from 'fs'
|
||||
import express from 'express'
|
||||
|
||||
const app = express()
|
||||
|
||||
app.use(express.json())
|
||||
app.get('/api', (req, res) => {
|
||||
const { start, end } = req.query
|
||||
console.log(req.query)
|
||||
if (!start || !end) return res.status(400).json({
|
||||
success: false,
|
||||
message: '请求无效,参数错误',
|
||||
})
|
||||
|
||||
const 作品 = new Map()
|
||||
const 游戏 = new Map()
|
||||
const 截图 = new Map()
|
||||
|
||||
// 读取目录中的所有文件
|
||||
fs.readdirSync('./data/').filter(name => {
|
||||
const type = name.endsWith('.json')
|
||||
const match = name.match(/\d{4}-\d{2}-\d{2}/)
|
||||
if (!match) return false
|
||||
const date = new Date(match[0])
|
||||
return type && new Date(start) <= date && new Date(end) >= date
|
||||
}).forEach(name => {
|
||||
const file = fs.readFileSync(`./data/${name}`, 'utf8')
|
||||
if (file) {
|
||||
const data = JSON.parse(file)
|
||||
Object.entries(data.作品).forEach(([k, v]) => 作品.set(k, v))
|
||||
Object.entries(data.游戏).forEach(([k, v]) => 游戏.set(k, v))
|
||||
Object.entries(data.截图).forEach(([k, v]) => 截图.set(k, v))
|
||||
}
|
||||
})
|
||||
|
||||
res.json({
|
||||
作品: [...作品.entries()].sort((a, b) => b[1] - a[1]).map(([k]) => k),
|
||||
游戏: [...游戏.entries()].sort((a, b) => b[1] - a[1]).map(([k]) => k),
|
||||
截图: [...截图.entries()].sort((a, b) => b[1] - a[1]).map(([k]) => k),
|
||||
})
|
||||
})
|
||||
|
||||
app.listen(6005, () => console.log('http://localhost:6005'))
|
Reference in New Issue
Block a user