Phase 0: 知识库
- docs/knowledge-base/loco-rs-patterns.md — loco-rs 10 个可借鉴模式研究
Phase 1: 数据层重构
- crates/zclaw-saas/src/models/ — 15 个 FromRow 类型化模型
- Login 3 次查询合并为 1 次 AccountLoginRow 查询
- 所有 service 文件从元组解构迁移到 FromRow 结构体
Phase 2: Worker + Scheduler 系统
- crates/zclaw-saas/src/workers/ — Worker trait + 5 个具体实现
- crates/zclaw-saas/src/scheduler.rs — TOML 声明式调度器
- crates/zclaw-saas/src/tasks/ — CLI 任务系统
Phase 3: 性能修复
- Relay N+1 查询 → 精准 SQL (relay/handlers.rs)
- Config RwLock → AtomicU32 无锁 rate limit (state.rs, middleware.rs)
- SSE std::sync::Mutex → tokio::sync::Mutex (relay/service.rs)
- /auth/refresh 阻塞清理 → Scheduler 定期执行
Phase 4: 多环境配置
- config/saas-{development,production,test}.toml
- ZCLAW_ENV 环境选择 + ZCLAW_SAAS_CONFIG 精确覆盖
- scheduler 配置集成到 TOML
34 lines
785 B
Rust
34 lines
785 B
Rust
//! 类型化数据库模型 (sqlx::FromRow)
|
|
//!
|
|
//! 替代原始元组解构 `(String, String, ...)`,提供编译期字段检查。
|
|
//! 每个结构体对应一个数据库查询结果,字段名与 SQL 列名一致。
|
|
|
|
pub mod account;
|
|
pub mod api_token;
|
|
pub mod config;
|
|
pub mod device;
|
|
pub mod model;
|
|
pub mod permission_template;
|
|
pub mod prompt;
|
|
pub mod provider;
|
|
pub mod provider_key;
|
|
pub mod relay_task;
|
|
pub mod role;
|
|
pub mod telemetry;
|
|
pub mod usage;
|
|
|
|
// Re-export all row types for convenient access
|
|
pub use account::*;
|
|
pub use api_token::*;
|
|
pub use config::*;
|
|
pub use device::*;
|
|
pub use model::*;
|
|
pub use permission_template::*;
|
|
pub use prompt::*;
|
|
pub use provider::*;
|
|
pub use provider_key::*;
|
|
pub use relay_task::*;
|
|
pub use role::*;
|
|
pub use telemetry::*;
|
|
pub use usage::*;
|