1. 页面概览
SmartBI 是 AIP 提供的「旧版 chatBI」兼容入口(路由 /legacy-chat)。页面本身只有 17 行,不含业务逻辑,仅通过 iframe 内嵌旧版 Python chatBI 的自然语言查数/数据分析界面。页面顶部提示「旧版 chatBI 界面(自然语言查数/数据分析)。如未登录,请在页面内使用 admin/admin1 登录。」
该页面在 AIP(Go)与旧版(Python/FastAPI)并存期间,向用户提供旧版「ZY ChatBI 智能商业数据分析师」的继续访问能力。旧版系统在 iframe 内自带登录,与 AIP 用户库分离。
一句话总结:占位兼容页,iframe 嵌入旧版 chatBI,纯导航、无本页级 API。
2. 访问入口
- 路由与菜单:路由
/legacy-chat(nameLegacyChat),入口在顶部导航栏「SmartBI」链接(App.vue);源码action/web/src/views/LegacyChatPage.vue(17 行)。 - 认证与权限:路由
meta.requiresAuth = true,需先登录 AIP(aip_token);iframe 内旧版系统需用 admin/admin1 登录。 - 端口与 API 前缀:开发态直连
http://127.0.0.1:8000/chat(旧版 chatBI 8000 端口);生产态经/legacy/chat由网关/Vite 反代到http://127.0.0.1:8000。
3. 界面布局
┌──────────────────────────────────────────────┐ │ ① 页面标题:旧 chatBI(ZY ChatBI 智能商业 │ │ 数据分析师) │ │ ② 提示条(alert-info):登录提示 admin/admin1 │ │ ③ iframe(宽 100%、高 calc(100vh-220px)) │ └──────────────────────────────────────────────┘
- ① 标题:说明页面承载的是旧版 chatBI。
- ② 提示条:提醒在 iframe 内使用旧版账号 admin/admin1 登录。
- ③ iframe:
legacySrc = import.meta.env.DEV ? 'http://127.0.0.1:8000/chat' : '/legacy/chat'。
4. 交互元素
| 控件 | 位置 | 含义与作用 |
|---|---|---|
| iframe | 页面主体 | 内嵌旧版 chatBI 页面;开发态直接加载 http://127.0.0.1:8000/chat,生产态加载 /legacy/chat |
| admin/admin1 | iframe 内登录框 | 旧版系统账号密码;未登录时在页面内登录 |
5. 后端关联
- 本页无 AIP 后端 API;iframe 直连旧版 chatBI(端口 8000)。
- Vite 代理(
vite.config.js):/legacy→http://127.0.0.1:8000(重写前缀/legacy为空)、/static→ 8000(静态资源)。 - 旧版 chatBI 为 Python 遗留系统,仅作兼容访问,不再新增开发。
6. 权限与安全
- 进入页面需 AIP 登录(路由 requiresAuth,Bearer aip_token)。
- iframe 内旧版系统独立登录(admin/admin1),与 AIP 用户库分离。
- 页面无任何写操作,不向旧版系统之外的目标传递凭据。
7. 常见问题与排错
- iframe 空白或无法加载:旧版 chatBI(8000 端口)未启动。启动旧版 Python 服务后刷新页面;生产态检查
/legacy代理可达性。 - 页面提示需在页面内登录:旧版会话已过期。在 iframe 内用 admin/admin1 重新登录即可。
- 开发态加载失败:8000 端口被其他进程占用或旧版服务路径不对。确认端口占用情况并调整旧版服务,必要时同步 vite 代理配置。
8. 已知缺陷与边界
| 项 | 说明 |
|---|---|
| 占位兼容页 | 仅 iframe 嵌入旧版界面,无本页级功能 |
| 依赖旧版服务 | 8000 未启动则页面空白 |
| 新旧双登录 | 需 AIP + 旧版 admin/admin1 两套登录 |
| 不参与 AIP 新链路 | 旧版的数据、RAG、权限体系与 AIP 不互通 |