feat: newapi-dashboard 全栈项目初始化
为 new-api (LLM API 网关) 构建独立前端管理面板: - React 18 + TypeScript + Vite + Ant Design 5 前端 - Node.js + Express + better-sqlite3 BFF 后端 - 登录页: 站点选择器 + UserID + AccessToken 认证 - 仪表盘: 用户信息、额度环形图、7天趋势图、模型饼图、令牌概览、日志时间线 - 账单页: 筛选日志表格、模型消耗柱状图、充值记录、CSV/PDF 导出(HMAC签名) - 管理员站点管理: 站点 CRUD - API 代理: 多站点切换,会话管理 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
27
server/index.ts
Normal file
27
server/index.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import express from 'express'
|
||||
import cors from 'cors'
|
||||
import sitesRouter from './routes/sites.js'
|
||||
import authRouter from './routes/auth.js'
|
||||
import proxyRouter from './routes/proxy.js'
|
||||
import billingRouter from './routes/billing.js'
|
||||
|
||||
const app = express()
|
||||
const PORT = 3001
|
||||
|
||||
app.use(cors())
|
||||
app.use(express.json())
|
||||
|
||||
app.get('/api/health', (_req, res) => {
|
||||
res.json({ success: true, message: 'NewAPI Dashboard BFF running' })
|
||||
})
|
||||
|
||||
app.use('/api/sites', sitesRouter)
|
||||
app.use('/api/auth', authRouter)
|
||||
app.use('/proxy', proxyRouter)
|
||||
app.use('/api/billing', billingRouter)
|
||||
|
||||
app.listen(PORT, () => {
|
||||
console.log(`BFF server running on http://localhost:${PORT}`)
|
||||
})
|
||||
|
||||
export default app
|
||||
Reference in New Issue
Block a user