# Domain Transaction Flow Monitor 前后端分离的域名流水监控项目。 ## 架构 - **前端**: TypeScript + React + Vite (port 5173) - **后端**: FastAPI + Python (port 8000) - **数据库**: PostgreSQL ## 项目结构 ``` ├── frontend/ # 前端代码 │ ├── src/ │ │ ├── api/ # Axios 请求封装 │ │ ├── types/ # TypeScript 类型定义 │ │ ├── App.tsx │ │ └── main.tsx │ └── .env # 前端环境变量 ├── backend/ # 后端代码 │ ├── app/ │ │ ├── main.py # FastAPI 入口 │ │ ├── config.py # 环境变量配置 │ │ ├── database.py # 数据库连接 │ │ ├── models/ # SQLAlchemy 模型 │ │ ├── schemas/ # Pydantic 请求/响应 │ │ ├── routers/ # API 路由 │ │ └── services/ # 业务逻辑 │ ├── migrations/ # SQL 迁移文件 │ └── .env # 后端环境变量 └── README.md ``` ## 环境配置 ### 后端 复制 `backend/.env.example` 为 `backend/.env`,修改数据库连接: ```env DB_HOST=47.109.147.74 DB_PORT=5432 DB_USER=aigc_space_test DB_PASSWORD=WxczAIGC DB_NAME=AigcSpace-test ``` ### 前端 `frontend/.env` 已默认配置 `VITE_API_BASE_URL=http://localhost:8000`。 ## 启动方式 ### 后端 ```bash cd backend uv sync # 执行数据库迁移(手动执行 SQL) psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -f migrations/001_initial.sql # 启动服务 uv run uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 ``` Swagger 文档: http://localhost:8000/docs ### 前端 ```bash cd frontend npm install npm run dev ``` ## API 端点 ### 域名管理 | 方法 | 路径 | 说明 | |--------|-------------------------------------|---------------------------| | GET | `/health` | 健康检查 | | GET | `/api/domains/` | 查询已监控的域名列表 | | POST | `/api/domains/` | 添加需要监控的域名 | | DELETE | `/api/domains/{id}` | 移除监控的域名 | | GET | `/api/domains/{id}/transactions` | 获取流水数据(占位符) | ### 监控大屏 | 方法 | 路径 | 说明 | |--------|------------------------------------------------|--------------------------------| | GET | `/api/admin/monitoring/dashboard` | 获取监控大屏数据(树状层级汇总)| 请求参数: - `start_date`(可选):查询开始日期,格式 `YYYY-MM-DD` - `end_date`(可选):查询结束日期,格式 `YYYY-MM-DD` - `super_admin_id`(可选):指定超级管理员ID 响应结构: - `overview`:平台汇总(管理员数量、租户数、用户数、总消费、总收取额、总余额) - `super_admins`:超级管理员列表,每个包含管辖的租户、用户、模型消费明细 - 层级:平台 → 超级管理员 → 租户 → 用户 ## 说明 - `/transactions` 接口当前返回占位数据,外部 API 响应格式确定后会更新 - 数据库迁移文件存放在 `backend/migrations/`,通过 SQL 文件手动执行 - 前后端环境变量各自独立,互不影响