创建 Web 应用

一个项目很少仅由后端组成。 使用 Lino,也可以创建 Web 应用来消费生成的 API,为最终用户或内部团队提供界面。


目前,该框架原生支持 Blazor Web App(渲染模式 interactive auto)。 但是,该架构设计允许在同一解决方案中添加多个前端,以满足不同的场景和用户群体。

使用 Blazor Web App 的前端

在生成前端时,Lino 会自动创建一个 Blazor Web App 项目,并配置为:

  • 简化路由 → 已配置好标准导航结构。
  • 与 Minimal APIs 原生集成 → 直接调用已创建的端点。
  • 可重用的 CRUD 组件 → 标准化的列表、创建和编辑页面。
  • 支持身份验证和授权 → 如果服务已配置安全性。

该前端已准备好消费应用模块中生成的 API,具备强类型和通过强类型 HttpClient 的自动集成。

多个前端

一个项目可以包含所需数量的前端。 每个前端都作为 Blazor 新项目添加到解决方案中,共享后端公开的相同 API。

场景示例:

  • 公共网站 → 客户或访客可访问的页面。
  • 后台/管理 → 为操作员或管理团队提供的内部管理面板。
  • 合作伙伴门户 → 仅限合作伙伴、经销商或供应商访问。

这种分离便于界面专业化,同时在 API 使用上保持架构一致性。

生成网页页面

为了加速界面开发,Lino 的 CLI 提供了以下命令:

lino page new

该命令会创建已经连接到后端的 Blazor 页面,并遵循既定的约定:

  • 表单组件生成 → 创建和编辑页面。
  • 自动列表 → 索引页面(分页列表)。
  • 与 API 的直接集成 → 自动连接到对应的端点。

这允许创建完整的 CRUD(前端 → API → CQRS → 数据库),无需重复手动编写代码。

例如,为实体 Order 创建页面时,会生成以下结构:

MyApp/
└── src/
    └── WebApps/
        └── MySite/
            └── Services/
                └── Pages/
                    └── Orders/
                        └── Registration/
                            ├── Order.razor
                            ├── Order.razor.cs
                            └── Components/
                                ├── Form/
                                │   ├── OrderForm.razor
                                │   ├── OrderForm.razor.cs
                                │   ├── OrderFormExtensions.cs
                                │   └── OrderFormViewModel.cs
                                └── Grid/
                                    ├── OrderGrid.razor
                                    ├── OrderGrid.razor.cs
                                    ├── OrderGridExtensions.cs
                                    └── OrderPagedQueryParams.cs

此外,还会创建集成服务以消费 OrdersEndpoints 的端点,保证端到端通信:
前端 → API → Commands/Queries → 数据库

通过这种方式,Lino 提供完整的全栈开发流程,大幅减少创建新功能所需的时间。

发生了未处理的错误。 重新加载 🗙