refactor: 根据路径分割 api,避免单文件内容过多 (#376)

This commit is contained in:
ᴀᴍᴛᴏᴀᴇʀ
2025-07-07 01:51:40 +08:00
committed by GitHub
parent 636a843bda
commit a627584fb0
9 changed files with 792 additions and 725 deletions

View File

@@ -5,13 +5,12 @@ use axum::extract::Request;
use axum::http::{Uri, header};
use axum::response::IntoResponse;
use axum::routing::get;
use axum::{Extension, Router, ServiceExt, middleware};
use axum::{Extension, ServiceExt};
use reqwest::StatusCode;
use rust_embed_for_web::{EmbedableFile, RustEmbed};
use sea_orm::DatabaseConnection;
use crate::api::auth;
use crate::api::handler::api_router;
use crate::api::router;
use crate::bilibili::BiliClient;
use crate::config::VersionedConfig;
@@ -22,12 +21,10 @@ use crate::config::VersionedConfig;
struct Asset;
pub async fn http_server(database_connection: Arc<DatabaseConnection>, bili_client: Arc<BiliClient>) -> Result<()> {
let app = Router::new()
.merge(api_router())
let app = router()
.fallback_service(get(frontend_files))
.layer(Extension(database_connection))
.layer(Extension(bili_client))
.layer(middleware::from_fn(auth::auth));
.layer(Extension(bili_client));
let config = VersionedConfig::get().load_full();
let listener = tokio::net::TcpListener::bind(&config.bind_address)
.await