/** @jsxImportSource https://esm.d8d.fun/hono@4.7.4/jsx */ import { Hono } from "hono"; import { corsMiddleware, setEnvVariables, withAuth } from "./middlewares.ts"; import type { APIClient } from "@d8d-appcontainer/api"; import { Auth } from "@d8d-appcontainer/auth"; // 导入路由模块 import { createAuthRoutes } from "./routes_auth.ts"; import { createUserRoutes } from "./routes_users.ts"; import { createKnowInfoRoutes } from "./routes_know_info.ts"; import { createFileUploadRoutes } from "./routes_file_upload.ts"; import { createFileCategoryRoutes } from "./routes_file_category.ts"; import { createThemeRoutes } from "./routes_theme.ts"; import { createChartRoutes } from "./routes_charts.ts"; import { createMapRoutes } from "./routes_maps.ts"; import { createSystemSettingsRoutes } from "./routes_system_settings.ts"; import { createMessagesRoutes } from "./routes_messages.ts"; import { createMigrationsRoutes } from "./routes_migrations.ts"; import { createHomeRoutes } from "./routes_home.ts"; import { createClassRoomRoutes } from "./routes_classroom.ts"; import { createStockRoutes } from "./routes_stock.ts"; import { createClassroomDataRoutes } from "./routes_classroom_data.ts"; import { createSubmissionRoutes } from "./routes_submission_records.ts"; import { createDateNotesRoutes } from "./routes_date_notes.ts"; import { createXunlianCodesRoutes } from "./routes_xunlian_codes.ts"; import { createVodRoutes } from "./routes_vod.ts"; export function createRouter( apiClient: APIClient, moduleDir: string, auth: Auth, ) { const router = new Hono(); // 添加CORS中间件 router.use("/*", corsMiddleware); // 创建API路由 const api = new Hono(); // 设置环境变量 api.use("*", setEnvVariables(apiClient, moduleDir, auth)); // 注册所有路由 api.route("/auth", createAuthRoutes(withAuth)); api.route("/users", createUserRoutes(withAuth)); api.route("/know-infos", createKnowInfoRoutes(withAuth)); api.route("/upload", createFileUploadRoutes(withAuth)); api.route("/file-categories", createFileCategoryRoutes(withAuth)); api.route("/theme", createThemeRoutes(withAuth)); api.route("/charts", createChartRoutes(withAuth)); api.route("/map", createMapRoutes(withAuth)); api.route("/settings", createSystemSettingsRoutes(withAuth)); api.route("/messages", createMessagesRoutes(withAuth)); api.route("/migrations", createMigrationsRoutes(withAuth)); api.route("/home", createHomeRoutes(withAuth)); api.route("/classroom", createClassRoomRoutes(withAuth)); api.route("/stock", createStockRoutes(withAuth)); api.route("/classroom-datas", createClassroomDataRoutes(withAuth)); api.route("/submission-records", createSubmissionRoutes(withAuth)); api.route("/date-notes", createDateNotesRoutes(withAuth)); api.route("/xunlian-codes", createXunlianCodesRoutes(withAuth)); api.route("/vod", createVodRoutes(withAuth)); // 注册API路由到主路由器 router.route("/api", api); return router; }