2026-01-16 15:05:09 +08:00
|
|
|
import { Suspense, lazy } from 'react'
|
2025-09-29 16:33:15 +08:00
|
|
|
import { Route, Switch } from 'wouter'
|
|
|
|
|
|
|
|
|
|
import Header from './components/Header'
|
2026-01-11 01:16:57 +08:00
|
|
|
import DocsLayout from './pages/docs/Layout'
|
2026-01-16 15:05:09 +08:00
|
|
|
|
|
|
|
|
// Lazy load pages
|
|
|
|
|
const HomePage = lazy(() => import('./pages/Home'))
|
|
|
|
|
// Introduction
|
|
|
|
|
const Overview = lazy(() => import('./pages/docs/introduction/overview/page'))
|
|
|
|
|
const QuickStart = lazy(() => import('./pages/docs/introduction/quick-start/page'))
|
|
|
|
|
const Limitations = lazy(() => import('./pages/docs/introduction/limitations/page'))
|
|
|
|
|
// Features
|
|
|
|
|
const CustomTools = lazy(() => import('./pages/docs/features/custom-tools/page'))
|
|
|
|
|
const DataMasking = lazy(() => import('./pages/docs/features/data-masking/page'))
|
|
|
|
|
const Instructions = lazy(() => import('./pages/docs/features/custom-instructions/page'))
|
|
|
|
|
const Models = lazy(() => import('./pages/docs/features/models/page'))
|
|
|
|
|
// Integration
|
|
|
|
|
const CdnSetup = lazy(() => import('./pages/docs/integration/cdn-setup/page'))
|
|
|
|
|
const SecurityPermissions = lazy(() => import('./pages/docs/integration/security-permissions/page'))
|
|
|
|
|
const Configuration = lazy(() => import('./pages/docs/integration/configuration/page'))
|
|
|
|
|
const BestPractices = lazy(() => import('./pages/docs/integration/best-practices/page'))
|
|
|
|
|
const ThirdPartyAgent = lazy(() => import('./pages/docs/integration/third-party-agent/page'))
|
|
|
|
|
|
|
|
|
|
function DocsPage({ children }: { children: React.ReactNode }) {
|
|
|
|
|
return (
|
|
|
|
|
<div className="min-h-screen bg-white dark:bg-gray-900">
|
|
|
|
|
<Header />
|
|
|
|
|
<DocsLayout>
|
|
|
|
|
<Suspense>{children}</Suspense>
|
|
|
|
|
</DocsLayout>
|
|
|
|
|
</div>
|
|
|
|
|
)
|
|
|
|
|
}
|
2025-09-29 16:33:15 +08:00
|
|
|
|
|
|
|
|
export default function Router() {
|
|
|
|
|
return (
|
2026-01-16 15:05:09 +08:00
|
|
|
<Suspense>
|
|
|
|
|
<Switch>
|
|
|
|
|
{/* Home page */}
|
|
|
|
|
<Route path="/">
|
|
|
|
|
<HomePage />
|
|
|
|
|
</Route>
|
2025-09-29 16:33:15 +08:00
|
|
|
|
2026-01-16 15:05:09 +08:00
|
|
|
{/* Introduction */}
|
|
|
|
|
<Route path="/docs/introduction/overview">
|
|
|
|
|
<DocsPage>
|
2025-09-29 16:33:15 +08:00
|
|
|
<Overview />
|
2026-01-16 15:05:09 +08:00
|
|
|
</DocsPage>
|
|
|
|
|
</Route>
|
|
|
|
|
<Route path="/docs/introduction/quick-start">
|
|
|
|
|
<DocsPage>
|
2025-09-29 16:33:15 +08:00
|
|
|
<QuickStart />
|
2026-01-16 15:05:09 +08:00
|
|
|
</DocsPage>
|
|
|
|
|
</Route>
|
|
|
|
|
<Route path="/docs/introduction/limitations">
|
|
|
|
|
<DocsPage>
|
2025-09-29 16:33:15 +08:00
|
|
|
<Limitations />
|
2026-01-16 15:05:09 +08:00
|
|
|
</DocsPage>
|
|
|
|
|
</Route>
|
2025-09-29 16:33:15 +08:00
|
|
|
|
2026-01-16 15:05:09 +08:00
|
|
|
{/* Features */}
|
|
|
|
|
<Route path="/docs/features/custom-tools">
|
|
|
|
|
<DocsPage>
|
2025-09-29 16:33:15 +08:00
|
|
|
<CustomTools />
|
2026-01-16 15:05:09 +08:00
|
|
|
</DocsPage>
|
|
|
|
|
</Route>
|
|
|
|
|
<Route path="/docs/features/data-masking">
|
|
|
|
|
<DocsPage>
|
2025-09-29 16:33:15 +08:00
|
|
|
<DataMasking />
|
2026-01-16 15:05:09 +08:00
|
|
|
</DocsPage>
|
|
|
|
|
</Route>
|
|
|
|
|
<Route path="/docs/features/custom-instructions">
|
|
|
|
|
<DocsPage>
|
2026-01-10 19:02:18 +08:00
|
|
|
<Instructions />
|
2026-01-16 15:05:09 +08:00
|
|
|
</DocsPage>
|
|
|
|
|
</Route>
|
|
|
|
|
<Route path="/docs/features/models">
|
|
|
|
|
<DocsPage>
|
2026-01-13 15:17:43 +08:00
|
|
|
<Models />
|
2026-01-16 15:05:09 +08:00
|
|
|
</DocsPage>
|
|
|
|
|
</Route>
|
2025-09-29 16:33:15 +08:00
|
|
|
|
2026-01-16 15:05:09 +08:00
|
|
|
{/* Integration */}
|
|
|
|
|
<Route path="/docs/integration/cdn-setup">
|
|
|
|
|
<DocsPage>
|
2025-09-29 16:33:15 +08:00
|
|
|
<CdnSetup />
|
2026-01-16 15:05:09 +08:00
|
|
|
</DocsPage>
|
|
|
|
|
</Route>
|
|
|
|
|
<Route path="/docs/integration/security-permissions">
|
|
|
|
|
<DocsPage>
|
2026-01-11 01:40:21 +08:00
|
|
|
<SecurityPermissions />
|
2026-01-16 15:05:09 +08:00
|
|
|
</DocsPage>
|
|
|
|
|
</Route>
|
|
|
|
|
<Route path="/docs/integration/configuration">
|
|
|
|
|
<DocsPage>
|
2025-09-29 16:33:15 +08:00
|
|
|
<Configuration />
|
2026-01-16 15:05:09 +08:00
|
|
|
</DocsPage>
|
|
|
|
|
</Route>
|
|
|
|
|
<Route path="/docs/integration/best-practices">
|
|
|
|
|
<DocsPage>
|
2025-09-29 16:33:15 +08:00
|
|
|
<BestPractices />
|
2026-01-16 15:05:09 +08:00
|
|
|
</DocsPage>
|
|
|
|
|
</Route>
|
|
|
|
|
<Route path="/docs/integration/third-party-agent">
|
|
|
|
|
<DocsPage>
|
2025-09-29 16:33:15 +08:00
|
|
|
<ThirdPartyAgent />
|
2026-01-16 15:05:09 +08:00
|
|
|
</DocsPage>
|
|
|
|
|
</Route>
|
2025-09-29 16:33:15 +08:00
|
|
|
|
2026-01-16 15:05:09 +08:00
|
|
|
{/* 404 */}
|
|
|
|
|
<Route>
|
|
|
|
|
<div className="min-h-screen bg-white dark:bg-gray-900 flex items-center justify-center">
|
|
|
|
|
<div className="text-center">
|
|
|
|
|
<h1 className="text-4xl font-bold mb-4 text-gray-900 dark:text-white">404</h1>
|
|
|
|
|
<p className="text-xl text-gray-600 dark:text-gray-300">页面未找到</p>
|
|
|
|
|
</div>
|
2025-09-29 16:33:15 +08:00
|
|
|
</div>
|
2026-01-16 15:05:09 +08:00
|
|
|
</Route>
|
|
|
|
|
</Switch>
|
|
|
|
|
</Suspense>
|
2025-09-29 16:33:15 +08:00
|
|
|
)
|
|
|
|
|
}
|