| # 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 路由回退规则 |