Files
tokens-reef/deploy/docs-backup/MODULE_11_FRONTEND.md
Developer 349d783fd1 refactor: clean up project structure
- Remove old review reports (keep latest only)
- Move docs/ to deploy/docs-backup/
- Move performance-testing/ to deploy/
- Clean up test output files
- Organize root directory
2026-04-06 23:36:03 +08:00

137 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Sub2API 模块分析报告:前端架构与实现
## 1. 模块概述
### 1.1 模块定位
前端模块是Sub2API的Web管理界面提供用户管理、账号管理、监控面板等功能。前端采用Vue 3框架开发与后端通过RESTful API通信。
### 1.2 技术栈
| 技术 | 版本 |
|------|------|
| Vue | 3.4+ |
| TypeScript | 5.0+ |
| Vite | 5.0+ |
| Pinia | 状态管理 |
| TailwindCSS | UI框架 |
| Axios | HTTP客户端 |
## 2. 代码结构
### 2.1 目录结构
```
frontend/src/
├── api/ # API调用
├── assets/ # 静态资源
├── components/ # 公共组件
├── composables/ # Vue组合式函数
├── layouts/ # 布局组件
├── router/ # 路由配置
├── stores/ # Pinia状态
├── styles/ # 样式文件
├── types/ # TypeScript类型
├── utils/ # 工具函数
└── views/ # 页面组件
```
### 2.2 核心模块
| 模块 | 说明 |
|------|------|
| `api/` | 后端API封装 |
| `stores/` | 全局状态管理 |
| `views/` | 页面组件 |
| `components/` | 可复用组件 |
## 3. 核心功能
### 3.1 状态管理Pinia
```typescript
// stores/user.ts
export const useUserStore = defineStore('user', {
state: () => ({
user: null as User | null,
token: '',
}),
actions: {
async login(email: string, password: string) {
const response = await api.login(email, password)
this.token = response.token
this.user = response.user
},
},
})
```
### 3.2 API封装
```typescript
// api/index.ts
const client = axios.create({
baseURL: import.meta.env.VITE_API_BASE_URL,
})
client.interceptors.request.use((config) => {
const token = useUserStore().token
if (token) {
config.headers.Authorization = `Bearer ${token}`
}
return config
})
```
### 3.3 页面组织
| 页面 | 路由 | 功能 |
|------|------|------|
| 仪表板 | `/dashboard` | 概览统计 |
| 用户管理 | `/users` | 用户CRUD |
| API Key | `/apikeys` | Key管理 |
| 账号管理 | `/accounts` | 上游账号 |
| 分组管理 | `/groups` | 分组配置 |
| 用量统计 | `/usage` | 用量查询 |
| 系统设置 | `/settings` | 系统配置 |
## 4. 构建与部署
### 4.1 构建配置
```yaml
# vite.config.ts
export default defineConfig({
build: {
target: 'es2020',
minify: 'terser',
rollupOptions: {
output: {
manualChunks: {
vendor: ['vue', 'vue-router', 'pinia'],
},
},
},
},
})
```
### 4.2 Docker嵌入
```dockerfile
# 后端构建时嵌入前端
RUN go build -tags embed -o sub2api ./cmd/server
```
## 5. 总结
前端模块特点:
- **现代技术栈**Vue 3 + TypeScript + Vite
- **组件化**:清晰的组件层次
- **状态管理**Pinia统一管理
- **响应式**:支持移动端
---
*文档版本1.0*
*分析基于Sub2API v0.1.104*