Files
newapi-dashboard/package.json
LAMCLOD f6036cab66 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>
2026-03-08 18:00:28 +08:00

45 lines
1.1 KiB
JSON

{
"name": "newapi-dashboard",
"private": true,
"version": "1.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc -b && vite build",
"preview": "vite preview",
"server": "tsx watch server/index.ts",
"start": "concurrently \"npm run server\" \"npm run dev\""
},
"dependencies": {
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-router-dom": "^6.28.0",
"antd": "^5.22.0",
"@ant-design/icons": "^5.5.0",
"@ant-design/charts": "^2.2.0",
"zustand": "^5.0.0",
"axios": "^1.7.0",
"dayjs": "^1.11.13",
"express": "^4.21.0",
"better-sqlite3": "^11.6.0",
"http-proxy-middleware": "^3.0.0",
"pdfkit": "^0.15.0",
"uuid": "^11.0.0",
"cors": "^2.8.5",
"concurrently": "^9.1.0"
},
"devDependencies": {
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"@types/express": "^5.0.0",
"@types/better-sqlite3": "^7.6.12",
"@types/cors": "^2.8.17",
"@types/uuid": "^10.0.0",
"@types/pdfkit": "^0.13.5",
"@vitejs/plugin-react": "^4.3.4",
"typescript": "^5.6.0",
"tsx": "^4.19.0",
"vite": "^6.0.0"
}
}