routes.tsx 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. import { Navigate, createBrowserRouter } from "react-router-dom";
  2. import MainLayout from "./layout/MainLayout";
  3. import FileLibPage from "./pages/FileLibPage";
  4. // import FileLibPage from "./pages/Knowledge";
  5. import FilesPage from "./pages/FileLibPage/files";
  6. // import FilesPage from "./pages/Knowledge/knowledge";
  7. import FlowPage from "./pages/FlowPage";
  8. import ModelPage from "./pages/ModelPage";
  9. import Doc from "./pages/ModelPage/doc";
  10. import Report from "./pages/Report";
  11. import SkillChatPage from "./pages/ChatAppPage";
  12. import ChatShare from "./pages/ChatAppPage/chatShare";
  13. import SkillAssisPage from "./pages/SkillPage/tabAssistant";
  14. import EditAssistantPage from "./pages/SkillPage/editAssistant";
  15. import SkillsPage from "./pages/SkillPage/tabSkills";
  16. import SkillToolsPage from "./pages/SkillPage/tabTools";
  17. import SkillPage from "./pages/SkillPage";
  18. // import SkillPage from "./pages/SkillPage/dialogueLog";
  19. import L2Edit from "./pages/SkillPage/l2Edit";
  20. import SystemPage from "./pages/SystemPage";
  21. import BuildLayout from "./layout/BuildLayout";
  22. import Templates from "./pages/SkillPage/temps";
  23. import DiffFlowPage from "./pages/DiffFlowPage";
  24. import { ErrorBoundary } from "react-error-boundary";
  25. import CrashErrorComponent from "./components/CrashErrorComponent";
  26. // react 与 react router dom版本不匹配
  27. // const FileLibPage = lazy(() => import(/* webpackChunkName: "FileLibPage" */ "./pages/FileLibPage"));
  28. // const FilesPage = lazy(() => import(/* webpackChunkName: "FilesPage" */ "./pages/FileLibPage/files"));
  29. // const SkillPage = lazy(() => import(/* webpackChunkName: "SkillPage" */ "./pages/SkillPage"));
  30. // const SkillChatPage = lazy(() => import(/* webpackChunkName: "SkillChatPage" */ "./pages/SkillChatPage"));
  31. // const FileViewPage = lazy(() => import(/* webpackChunkName: "FileViewPage" */ "./pages/FileViewPage"));
  32. const ErrorHoc = ({ Comp }) => {
  33. return (
  34. <ErrorBoundary
  35. onReset={() => window.location.href = window.location.href}
  36. FallbackComponent={CrashErrorComponent}
  37. >
  38. <Comp />
  39. </ErrorBoundary>
  40. );
  41. }
  42. const router = createBrowserRouter([
  43. {
  44. path: "/",
  45. element: <MainLayout />,
  46. children: [
  47. { path: "", element: <SkillChatPage /> },
  48. { path: "skill", element: <L2Edit /> },
  49. { path: "skill/:id", element: <L2Edit /> },
  50. { path: "filelib", element: <FileLibPage /> },
  51. { path: "filelib/:id", element: <FilesPage /> },
  52. // { path: "skills", element: <SkillPage /> },
  53. {
  54. path: "build",
  55. element: <BuildLayout />,
  56. children: [
  57. { path: "assist", element: <SkillAssisPage /> },
  58. { path: "skills", element: <SkillsPage /> },
  59. { path: "tools", element: <SkillToolsPage /> },
  60. { path: "", element: <Navigate to="assist" replace /> },
  61. ]
  62. },
  63. { path: "build/skill", element: <L2Edit /> },
  64. { path: "build/skill/:id/:vid", element: <L2Edit /> },
  65. { path: "build/temps", element: <Templates /> },
  66. { path: "model", element: <ModelPage /> },
  67. { path: "sys", element: <SystemPage /> },
  68. ],
  69. },
  70. { path: "model/doc", element: <Doc /> },
  71. {
  72. path: "/flow/:id/",
  73. children: [
  74. { path: "", element: <FlowPage /> }
  75. ]
  76. },
  77. {
  78. path: "/assistant/:id/",
  79. children: [
  80. { path: "", element: <EditAssistantPage /> }
  81. ]
  82. },
  83. // 独立会话页
  84. { path: "/chat", element: <SkillChatPage /> },
  85. { path: "/chat/:id/", element: <ChatShare /> },
  86. { path: "/report/:id/", element: <Report /> },
  87. { path: "/diff/:id/:vid/:cid", element: <ErrorHoc Comp={DiffFlowPage} /> },
  88. // { path: "/test", element: <Test /> },
  89. { path: "*", element: <Navigate to="/" replace /> }
  90. ]);
  91. export default router;