feat:替换 Dify 为自建 RAG去实现

1、修复了若干无权限时的失败提示语
2、新增了一个生成后续建议问题的功能
3、重构了知识问答部分的权限管理模块
4、修复了若干渲染不恰当的样式渲染
This commit is contained in:
PingChuan
2026-04-10 16:20:32 +08:00
parent f525707358
commit 5bee9288b9
31 changed files with 407 additions and 304 deletions
+15 -18
View File
@@ -136,36 +136,33 @@ export function useChatApps() {
setLoadingDefault(true);
setError(null);
let resolved = false; // 用局部变量跟踪,避免 React state 异步读取的问题
try {
try {
console.log('[useChatApps] ==================== 开始初始化对话应用 ====================');
// 尝试加载可用应用列表
console.log('[useChatApps] 步骤1: 调用loadChatApps()加载我的应用列表...');
const apps = await loadChatApps();
console.log('[useChatApps] 步骤1完成: 加载到', apps.length, '个应用');
if (apps.length > 0) {
// 查找默认应用
const defaultApp = apps.find((item) => item.is_default) || apps[0];
// console.log('[useChatApps] 默认对话应用:', apps);
setCurrentChatApp(defaultApp);
console.log('[useChatApps] ==================== 初始化完成(路径1 ====================');
resolved = true;
} else {
// 如果没有配置应用,尝试获取默认应用
console.log('[useChatApps] 应用列表为空,调用loadDefaultChatApp()...');
await loadDefaultChatApp();
console.log('[useChatApps] ==================== 初始化完成(路径2 ====================');
const app = await loadDefaultChatApp();
if (app) resolved = true;
}
} catch (err) {
// 加载应用列表失败,尝试获取默认应用
console.warn('[useChatApps] 加载应用列表失败,尝试获取默认应用:', err);
await loadDefaultChatApp();
console.log('[useChatApps] ==================== 初始化完成(路径3 ====================');
const app = await loadDefaultChatApp();
if (app) resolved = true;
}
} catch (err: any) {
console.error('[useChatApps] 初始化失败:', err);
setError(err.message || '加载对话应用失败');
console.warn('[useChatApps] 初始化异常:', err.message);
} finally {
if (!resolved) {
// 权限不足等情况,构造占位应用让页面能渲染(输入框会被禁用)
const fallbackApp = { app_id: '_fallback', app_name: '法务问答', description: '', is_default: true } as any;
setChatApps([fallbackApp]);
setCurrentChatApp(fallbackApp);
setError(null);
}
setLoadingChatApps(false);
setLoadingDefault(false);
setInited(true);