DataNexus 前端管理后台
DataNexus 前端是企业 AI 统一数据网关平台的管理后台,提供数据源管理、元数据浏览、SQL 查询、审计日志、监控仪表盘和系统设置等基础页面。
技术栈
- Vue 3
- TypeScript
- Vite
- Vue Router
- Pinia
- Axios
- Naive UI
- ECharts / vue-echarts
- Monaco Editor
- pnpm
目录结构
frontend/
├── public/ # 静态资源
├── src/
│ ├── api/ # Axios 实例与接口封装
│ ├── assets/ # 全局样式与资源
│ ├── components/ # 通用组件
│ ├── layouts/ # 页面布局
│ ├── router/ # 路由与登录守卫
│ ├── stores/ # Pinia 状态
│ └── views/ # 页面视图
├── .env.development # 本地开发环境变量
├── package.json
├── pnpm-lock.yaml
└── vite.config.ts
本地运行
环境要求
- Node.js LTS
- pnpm 10.x
- 后端服务默认运行在
http://localhost:8000
安装依赖
cd frontend
pnpm install
启动开发服务
pnpm dev
默认访问地址:
http://localhost:3000
Vite 已配置 /api 代理到后端:
/api -> http://localhost:8000
前端 Axios 默认请求前缀为:
/api/v1
构建生产包
pnpm build
构建流程包含 TypeScript 类型检查:
vue-tsc --noEmit && vite build
本地预览生产包
pnpm preview
环境变量
当前开发环境变量位于 .env.development:
VITE_API_BASE_URL=/api/v1
默认值 /api/v1 会在开发环境通过 Vite proxy 转发到后端,在 Docker Compose 中通过 nginx 转发到 backend:8000。
如需连接其他浏览器可访问的后端地址,请使用完整 API 前缀,例如:
VITE_API_BASE_URL=http://localhost:8000/api/v1
Docker 镜像构建时会读取同名构建参数;修改该变量后需要重新构建前端镜像。
页面与路由
| 路由 | 页面 | 说明 |
|---|---|---|
/login |
登录页 | 用户登录并写入 JWT Token |
/dashboard |
监控仪表盘 | 展示数据源数量、查询量、活跃用户、错误率和趋势图 |
/datasource |
数据源管理 | 数据源列表、新增、编辑、删除 |
/datasource/create |
新增数据源 | 创建数据库连接配置 |
/datasource/:id/edit |
编辑数据源 | 更新数据库连接配置 |
/metadata |
元数据浏览 | 按数据源查看表和字段结构 |
/query |
SQL 查询 | 选择数据源并执行只读查询 |
/audit |
审计日志 | 查看调用审计记录 |
/settings |
系统设置 | 用户管理和修改密码入口 |
接口联调状态
已按当前后端契约对齐
POST /api/v1/auth/loginGET /api/v1/auth/meGET /api/v1/datasourcesPOST /api/v1/datasourcesGET /api/v1/datasources/{id}PUT /api/v1/datasources/{id}DELETE /api/v1/datasources/{id}GET /api/v1/metadata/tables/{datasource_id}GET /api/v1/metadata/columns/{table_metadata_id}POST /api/v1/query/executeGET /api/v1/audit/logs
后端暂未就绪或需继续统一
GET /api/v1/dashboard/statsGET /api/v1/dashboard/query-trendGET /api/v1/usersPOST /api/v1/usersPUT /api/v1/users/{id}DELETE /api/v1/users/{id}POST /api/v1/users/change-password- SQL Server 数据源类型值需统一:前端当前表单值为
sqlserver,后端驱动映射使用mssql。
认证与请求
- Token 存储键:
datanexus_token - 请求拦截器会自动注入:
Authorization: Bearer <token>
- 收到
401响应后会清理 Token 并跳转/login。 - 路由守卫会阻止未登录用户访问管理后台页面。
常用验证
cd frontend
pnpm build
可选检查前端接口调用:
rg -n "request\\.(get|post|put|delete|patch)" src/api src/views
浏览器联调时建议检查:
- Network 面板中是否存在非预期
404。 - Console 面板中是否存在 Vue 运行时错误。
- 登录后请求是否携带
Authorization头。 - 查询失败时页面是否展示后端返回的错误信息。
已知注意事项
- Monaco Editor 会带来较大的构建产物,当前构建会出现大 chunk 警告;这不影响编译通过,但后续可按需拆包优化。
- 仪表盘和用户管理相关后端接口未就绪时,前端会以默认值或提示信息降级展示。
- PRD 中的自定义 API 编排、权限管理、脱敏规则和限流策略入口仍需后续补齐。