Files
claude-relay-service/web/admin-spa
VanZheng 1e61e7a31d feat: add comprehensive Makefile for project management (#1)
* 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>
2025-08-06 00:45:28 +08:00
..

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

重要提示:

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

开发注意事项

  1. 所有 API 请求都通过 /api 目录下的模块进行封装
  2. 状态管理使用 Pinia存放在 /stores 目录
  3. 组件按功能模块组织在 /components 目录下
  4. 保持与原版页面的功能和样式一致性

代理配置

如果你的后端服务器需要通过代理访问(例如服务器在国外),可以配置 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:

  1. 确保主服务运行Claude Relay Service 必须运行在 http://localhost:3000
  2. 检查代理配置Vite 会自动代理 /admin/api 请求到 3000 端口
  3. 重启开发服务器:如果修改了配置,需要重启 npm run dev
  4. 测试代理:运行 node test-proxy.js 检查代理是否正常工作

Q: 如何处理开发和生产环境的 API 配置?

A:

  • 开发环境:使用 Vite 代理,自动转发请求到 localhost:3000
  • 生产环境:直接使用相对路径 /admin,无需配置
  • 两种环境都使用相同的 API 路径,通过环境变量自动切换

Q: 如何部署到生产环境?

A:

  1. 运行 npm run build 构建项目
  2. dist 目录内容复制到服务器的 /web/admin/ 路径
  3. 确保服务器配置了 SPA 路由回退规则