Appearance
架构概览
KanTime 采用 .NET 全栈架构,基于 Blazor 构建单页应用。
技术选型
| 层级 | 技术 | 说明 |
|---|---|---|
| 前端 | Blazor Server | 服务端渲染,交互式组件 |
| UI 框架 | Fluent UI Blazor | 微软 Windows 11 设计风格 |
| 后端 | ASP.NET Core | 最小化 API |
| ORM | Entity Framework Core | Code 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 与浏览器实时通信
- 适合内部企业应用场景