فهرست منبع

修复点击 newChat 后 无法回到当前应用id的情况

Ryuiso 1 هفته پیش
والد
کامیت
ac1aa84db9
1فایلهای تغییر یافته به همراه25 افزوده شده و 2 حذف شده
  1. 25 2
      app/components/sidebar.tsx

+ 25 - 2
app/components/sidebar.tsx

@@ -258,10 +258,33 @@ export const SideBar = (props: { className?: string }) => {
                   if (isMobileScreen) {
                     closeSidebar();
                   }
+                  // 保留重要的URL参数
+                  const currentParams = new URLSearchParams(location.search);
+                  const preservedParams = new URLSearchParams();
+                  
+                  // 保留这些重要参数
+                  if (currentParams.get('showMenu')) {
+                    preservedParams.set('showMenu', currentParams.get('showMenu')!);
+                  }
+                  if (currentParams.get('chatMode')) {
+                    preservedParams.set('chatMode', currentParams.get('chatMode')!);
+                  }
+                  if (currentParams.get('appId')) {
+                    preservedParams.set('appId', currentParams.get('appId')!);
+                  }
+                  
+                  const searchString = preservedParams.toString();
+                  
                   if (getType() === 'bigModel') {
-                    navigate({ pathname: '/newChat' });
+                    navigate({ 
+                      pathname: '/newChat',
+                      search: searchString ? `?${searchString}` : ''
+                    });
                   } else {
-                    navigate({ pathname: '/newDeepseekChat' });
+                    navigate({ 
+                      pathname: '/newDeepseekChat',
+                      search: searchString ? `?${searchString}` : ''
+                    });
                   }
                 }}
               >