feat: 完成 issue #176 [C1] 旧入口收口——/index.html /auth/login.html FBA 在线自动跳转 + README 新架构说明

This commit is contained in:
2026-08-06 13:00:43 +08:00
parent cda279fa66
commit 787234146b
3 changed files with 47 additions and 0 deletions
+30
View File
@@ -120,3 +120,33 @@ docker exec -it fba_postgres psql -U postgres -d fba # 进数据库
- iAOP 现有数据(SQLite 业务库)与 FBA 的 PG 库完全独立,Phase 0 不迁移任何数据。
- FBA 源码目录(`fba-backend`)不属于本仓库,升级 FBA 时在
`fba-backend` 目录内 `git pull` 后重新 `--build` 即可。
---
## Epic #163 · FBA UI 原生重构(2026-08,issue #164-#177)
### 新架构
```
浏览器
│ http://39.101.182.167:8090
▼
宿主机 nginx(deploy/fba/nginx-fba.conf)
├── / → iAOP 静态外壳(web/,C1 后自动收口到 /fba-admin/)
├── /fba-admin/ → FBA UI 原生版(Vben5 web-antdv-next,构建产物 dist/)
│ · 菜单由 FBA 后端下发(seed_iaop_menus.py v2,type=1 原生菜单)
│ · 6 模块 → views/iaop/*(cockpit/chat/studio/admin)
│ · 推理通道 /v1/ → 127.0.0.1:30800(推理服务,独立于 /fba)
├── /fba/ → 127.0.0.1:8001 fba_server(认证/RBAC/系统管理)
└── /v1/ → 127.0.0.1:30800 推理服务(iAOP LLM 网关)
```
### 组件落点
- 受控源码:`fba-ui-src/`(fastapi-best-architecture-ui 工程,apps/web-antdv-next)
- 构建流水线:`build-ui.sh`(pnpm install → build → artifacts/fba-ui-dist.tar.gz)
- 菜单播种 v2:`seed_iaop_menus.py`(幂等 upsert + admin 角色 + 退役菜单隐藏)
- 部署:解包 dist → 替换 fba_ui 容器站点目录 → nginx reload(见 C2 验证记录)
### 旧架构存档
- `web/` 静态演示外壳保留(FBA 停掉时兜底;/index.html、/auth/login.html 已加 C1 自动收口跳转)
- 旧登录页三轨会话已精简为 FBA 单轨(session.js,FBA 接入版)
+8
View File
@@ -2,6 +2,14 @@
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<script>
/* Epic #163 · C1(issue #176):旧登录页收口到 FBA UI(/fba-admin 原生登录)。 */
(function () {
fetch('/fba-admin/', { method: 'HEAD' })
.then(function (r) { if (r.ok || r.redirected) location.replace('/fba-admin/'); })
.catch(function () { /* FBA 离线:保留本页兜底 */ });
})();
</script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>登录 · iAOP 云美工业AI优化平台</title>
<style>
+9
View File
@@ -3,6 +3,15 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>
/* Epic #163 · C1(issue #176):FBA UI 在线时自动收口到原生版;
* FBA 停掉时(fetch 失败)本静态演示页兜底可用。 */
(function () {
fetch('/fba-admin/', { method: 'HEAD' })
.then(function (r) { if (r.ok || r.redirected) location.replace('/fba-admin/'); })
.catch(function () { /* FBA 离线:保留静态演示兜底 */ });
})();
</script>
<title>iAOP 云美工业AI优化平台</title>
<link rel="stylesheet" href="shared/pro.css">
<style>