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 与浏览器实时通信
  • 适合内部企业应用场景