Some checks failed
Build and Push Docker / build (push) Failing after 2m33s
- Add CLEANDDD-WORKFLOW.md - CleanDDD development workflow guide - Keep GATEWAY_ADMIN_README.md and DATABASE_SCHEMA_FIX.md - Remove all .planning/ GSD workflow documents - Remove old EF migrations (using EnsureCreated for test env)
2.4 KiB
2.4 KiB
Gateway Admin - 独立前端项目
项目结构
fengling-console/
├── src/
│ ├── Controllers/
│ │ └── GatewayAdminController.cs # Gateway Admin API
│ ├── wwwroot/
│ │ └── gateway-admin/ # Vue3 构建输出 (gitignore)
│ └── ...
├── gateway-admin-client/ # Vue3 + shadcn-vue 独立项目
│ ├── src/
│ │ ├── components/ # UI 组件
│ │ ├── views/ # 页面
│ │ │ ├── Dashboard.vue # 仪表盘
│ │ │ ├── Routes.vue # 路由管理
│ │ │ ├── Clusters.vue # 集群管理
│ │ │ └── Discovery.vue # 服务发现
│ │ ├── api/
│ │ │ └── gateway.ts # API 客户端
│ │ ├── App.vue # 根组件
│ │ └── main.ts # 入口
│ ├── package.json
│ ├── vite.config.ts # 构建输出到 ../src/wwwroot/gateway-admin/
│ └── ...
└── ...
与 Vben Admin 的关系
- Vben Admin (
fengling-console-web/): 管理非网关部分(用户、角色、租户等) - Gateway Admin (
gateway-admin-client/): 独立的网关管理界面
集成方式: Vben Admin 通过 <iframe src="/gateway-admin/"> 嵌入网关管理页面
开发流程
1. 安装依赖
cd fengling-console/gateway-admin-client
npm install
2. 开发模式
npm run dev
# 访问 http://localhost:5173
# API 代理到 http://localhost:5000
3. 构建
npm run build
# 输出到 fengling-console/src/wwwroot/gateway-admin/
4. 运行 Console
cd fengling-console/src
dotnet run
# 访问 http://localhost:5000/gateway-admin/
API 端点
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/gateway/dashboard/summary | Dashboard 汇总 |
| GET | /api/gateway/routes | 路由列表 |
| GET | /api/gateway/clusters | 集群列表 |
| GET | /api/gateway/discovery/pending | 待配置服务 |
| POST | /api/gateway/discovery/approve | 确认服务配置 |
| POST | /api/gateway/config/reload | 热重载配置 |
技术栈
- Vue 3 + TypeScript
- Vue Router (SPA)
- Tailwind CSS
- 自定义组件 (参考 shadcn-vue 风格)
- 独立构建,不依赖 Vben Admin