cc / web /admin-spa /README.md
hequ's picture
Upload 221 files
69b897d verified
# Claude Relay Service 管理后台 SPA
这是 Claude Relay Service 管理后台的 Vue3 SPA 重构版本。
## 开发环境要求
- Node.js >= 16
- npm >= 7
## 安装和运行
### 1. 安装依赖
```bash
cd web/admin-spa
npm install
```
### 2. 开发模式运行
```bash
npm run dev
```
**重要提示:**
- 开发服务器启动后,会自动在浏览器中打开
- 必须访问完整路径:http://localhost:3001/web/admin/
- 不要访问 http://localhost:3001/ (会显示404)
- 首次访问会自动跳转到登录页面
### 3. 生产构建
```bash
npm run build
```
构建产物将输出到 `dist` 目录。
### 4. 预览生产构建
```bash
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` 文件:
```bash
# 后端服务器地址
VITE_API_TARGET=http://74.48.134.98:3000
# HTTP 代理配置
VITE_HTTP_PROXY=http://127.0.0.1:7890
```
### 方法二:使用系统环境变量
```bash
# 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 路由回退规则