Skip to content

架构概览 ​

KanTime 采用 .NET 全栈架构,基于 Blazor 构建单页应用。

技术选型 ​

层级技术说明
前端Blazor Server服务端渲染,交互式组件
UI 框架Fluent UI Blazor微软 Windows 11 设计风格
后端ASP.NET Core最小化 API
ORMEntity Framework CoreCode First 模式
数据库PostgreSQL生产环境数据库
认证ASP.NET Identity + Cookie支持钉钉 OAuth
编排.NET Aspire本地开发服务编排

项目结构 ​

kantime-next/
├── kantime/                    # 主项目目录
│   ├── kantime/               # 服务端项目
│   │   ├── Components/        # Blazor 组件
│   │   │   ├── Pages/        # 页面组件
│   │   │   ├── Dialogs/      # 对话框组件
│   │   │   ├── Shared/       # 共享组件
│   │   │   └── Layout/       # 布局组件
│   │   ├── Services/          # 业务逻辑服务
│   │   ├── Endpoints/         # API 端点定义
│   │   ├── Models/            # DTO 和请求模型
│   │   ├── Data/              # EF Core DbContext
│   │   └── Migrations/        # 数据库迁移
│   │
│   └── kantime.Client/        # 客户端项目(共享实体)
│       └── Domain/            # 领域实体定义
│
├── kantime.AppHost/           # .NET Aspire 宿主
├── kantime.ServiceDefaults/   # 共享服务配置
├── docs/                       # VitePress 文档站点
└── fluentui-blazor/           # FluentUI 子模块

渲染模式 ​

项目使用 Interactive Server 模式:

  • 所有组件在服务端执行
  • 通过 SignalR 与浏览器实时通信
  • 适合内部企业应用场景