7eae91d7d3
新增 play_flow 统一承接创作游玩与支撑路由 将 app.rs 的逐玩法挂载改为统一主干分发 将平台与资产及个人侧游玩支撑路由迁入 play_flow 抽出 visual_novel 路由模块并复用原有 handler 统一入口熔断路径解析并补充目标回归测试 更新后端契约、玩法链路和团队决策记录
54 lines
1.6 KiB
Rust
54 lines
1.6 KiB
Rust
use axum::{
|
|
Router, middleware,
|
|
routing::{get, post},
|
|
};
|
|
|
|
use crate::{
|
|
auth::require_bearer_auth,
|
|
llm::proxy_llm_chat_completions,
|
|
state::AppState,
|
|
volcengine_speech::{
|
|
get_volcengine_speech_config, stream_volcengine_asr, stream_volcengine_tts_bidirection,
|
|
stream_volcengine_tts_sse,
|
|
},
|
|
};
|
|
|
|
pub fn router(state: AppState) -> Router<AppState> {
|
|
Router::new()
|
|
.route(
|
|
"/api/llm/chat/completions",
|
|
post(proxy_llm_chat_completions).route_layer(middleware::from_fn_with_state(
|
|
state.clone(),
|
|
require_bearer_auth,
|
|
)),
|
|
)
|
|
.route(
|
|
"/api/speech/volcengine/config",
|
|
get(get_volcengine_speech_config).route_layer(middleware::from_fn_with_state(
|
|
state.clone(),
|
|
require_bearer_auth,
|
|
)),
|
|
)
|
|
.route(
|
|
"/api/speech/volcengine/asr/stream",
|
|
get(stream_volcengine_asr).route_layer(middleware::from_fn_with_state(
|
|
state.clone(),
|
|
require_bearer_auth,
|
|
)),
|
|
)
|
|
.route(
|
|
"/api/speech/volcengine/tts/bidirection",
|
|
get(stream_volcengine_tts_bidirection).route_layer(middleware::from_fn_with_state(
|
|
state.clone(),
|
|
require_bearer_auth,
|
|
)),
|
|
)
|
|
.route(
|
|
"/api/speech/volcengine/tts/sse",
|
|
post(stream_volcengine_tts_sse).route_layer(middleware::from_fn_with_state(
|
|
state.clone(),
|
|
require_bearer_auth,
|
|
)),
|
|
)
|
|
}
|