mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-22 16:43:35 +00:00
* fix: 修复timeRange=7days时的数据加载和显示问题 ## 修复内容 ### 后端修复 (src/routes/admin.js) - 添加 /admin/usage-costs 接口对 period=7days 的支持 - 实现7天时间范围的成本统计,汇总最近7天的daily数据 - 修复时区处理不一致导致的数据过滤错误 ### 前端修复 (web/admin-spa/src/stores/dashboard.js) - 修改 loadDashboardData() 支持动态 timeRange 参数 - 根据时间范围动态调整 usage-costs 查询参数 - 消除硬编码的 period=today 和 period=all ### 前端修复 (web/admin-spa/src/views/ApiKeysView.vue) - 修正API Key详情统计的period计算逻辑 - 7days时间范围现在正确传递 period=daily 而非 monthly - 确保列表数据和详情统计使用一致的时间范围 ## 解决的问题 - 选择"最近7天"时数据显示不准确或缺失 - API Key详情展开时period参数错误 - 成本统计不跟随时间范围选择变化 - 时区计算不一致导致的边界问题 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: add comprehensive Makefile for project management - Add common development commands (install, setup, dev, start) - Add frontend build commands (build-web, build-all) - Add service management with daemon support - Add Docker deployment commands - Add CLI management tools shortcuts - Add maintenance and monitoring commands - Include Chinese descriptions for better UX 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
Claude Relay Service 管理后台 SPA
这是 Claude Relay Service 管理后台的 Vue3 SPA 重构版本。
开发环境要求
- Node.js >= 16
- npm >= 7
安装和运行
1. 安装依赖
cd web/admin-spa
npm install
2. 开发模式运行
npm run dev
重要提示:
- 开发服务器启动后,会自动在浏览器中打开
- 必须访问完整路径:http://localhost:3001/web/admin/
- 不要访问 http://localhost:3001/ (会显示404)
- 首次访问会自动跳转到登录页面
3. 生产构建
npm run build
构建产物将输出到 dist 目录。
4. 预览生产构建
npm run preview
项目结构
web/admin-spa/
├── public/ # 静态资源
├── src/
│ ├── api/ # API 接口封装
│ ├── assets/ # 资源文件
│ ├── components/ # 组件
│ ├── composables/ # 组合式函数
│ ├── router/ # 路由配置
│ ├── stores/ # Pinia 状态管理
│ ├── utils/ # 工具函数
│ ├── views/ # 页面视图
│ ├── App.vue # 根组件
│ └── main.js # 入口文件
├── package.json
└── vite.config.js
功能模块
- ✅ 登录认证
- ✅ 仪表板(系统统计、使用趋势、模型分布)
- 🚧 API Keys 管理
- 🚧 账户管理(Claude/Gemini)
- 🚧 使用教程
- 🚧 系统设置
技术栈
- Vue 3.3.4
- Vue Router 4
- Pinia(状态管理)
- Element Plus 2.4.4
- Tailwind CSS
- Chart.js 4.4.0
- Vite 5
开发注意事项
- 所有 API 请求都通过
/api目录下的模块进行封装 - 状态管理使用 Pinia,存放在
/stores目录 - 组件按功能模块组织在
/components目录下 - 保持与原版页面的功能和样式一致性
代理配置
如果你的后端服务器需要通过代理访问(例如服务器在国外),可以配置 HTTP 代理:
方法一:使用环境变量文件(推荐)
创建 .env.development.local 文件:
# 后端服务器地址
VITE_API_TARGET=http://74.48.134.98:3000
# HTTP 代理配置
VITE_HTTP_PROXY=http://127.0.0.1:7890
方法二:使用系统环境变量
# Linux/Mac
export VITE_HTTP_PROXY=http://127.0.0.1:7890
npm run dev
# Windows
set VITE_HTTP_PROXY=http://127.0.0.1:7890
npm run dev
注意:.env.development.local 文件不会被提交到版本控制,适合存放本地特定的配置。
部署
构建后的文件需要部署到 Claude Relay Service 的 web/admin/ 路径下。
常见问题
Q: 访问 localhost:3001 显示 404?
A: 这是正常的。应用配置在 /web/admin/ 路径下,必须访问完整路径:http://localhost:3001/web/admin/
Q: 登录时 API 请求失败(500错误)?
A:
- 确保主服务运行:Claude Relay Service 必须运行在 http://localhost:3000
- 检查代理配置:Vite 会自动代理
/admin和/api请求到 3000 端口 - 重启开发服务器:如果修改了配置,需要重启
npm run dev - 测试代理:运行
node test-proxy.js检查代理是否正常工作
Q: 如何处理开发和生产环境的 API 配置?
A:
- 开发环境:使用 Vite 代理,自动转发请求到 localhost:3000
- 生产环境:直接使用相对路径
/admin,无需配置 - 两种环境都使用相同的 API 路径,通过环境变量自动切换
Q: 如何部署到生产环境?
A:
- 运行
npm run build构建项目 - 将
dist目录内容复制到服务器的/web/admin/路径 - 确保服务器配置了 SPA 路由回退规则