3f5c23123b
- 新增对话应用管理模块(dify-chat-apps),支持获取和切换对话应用 - 优化对话应用切换后自动刷新会话列表功能 - 知识库管理页面新增下拉选择器,支持切换不同知识库 - API 层支持 app_id 参数传递,实现多应用会话隔离 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
43 lines
1.2 KiB
TypeScript
43 lines
1.2 KiB
TypeScript
import { Spin } from 'antd';
|
|
import { useState, useEffect } from 'react';
|
|
|
|
/**
|
|
* 知识库管理页面
|
|
* 动态加载 DatasetManager 组件避免 SSR 问题
|
|
*/
|
|
export default function DatasetManagerPage() {
|
|
const [DatasetManager, setDatasetManager] = useState<React.ComponentType | null>(null);
|
|
const [mounted, setMounted] = useState(false);
|
|
|
|
useEffect(() => {
|
|
setMounted(true);
|
|
// 只在客户端动态导入组件
|
|
import("~/components/dify-dataset-manager").then((mod) => {
|
|
setDatasetManager(() => mod.default);
|
|
}).catch(err => {
|
|
console.error('加载知识库管理组件失败:', err);
|
|
});
|
|
}, []);
|
|
|
|
// 服务端渲染时显示简单加载状态
|
|
if (!mounted) {
|
|
return (
|
|
<div style={{ padding: '40px', textAlign: 'center' }}>
|
|
<div>加载中...</div>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
// 客户端加载中
|
|
if (!DatasetManager) {
|
|
return (
|
|
<div style={{ padding: '40px', textAlign: 'center' }}>
|
|
<Spin size="large" />
|
|
<p style={{ marginTop: 16 }}>正在加载知识库管理...</p>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
return <DatasetManager />;
|
|
}
|