了解如何使用 Blazor WebAssembly、Web API、Entity Framework Core 和 SQL Server Express 构建电子商务网站。

MP4 | 视频:h264, 1280×720 | 音频:AAC,44.1 KHz,2 Ch
类型:eLearning | 语言:英语 + srt | 时长:186 节课(16 小时 37 米)| 大小:7.55 GB

你会学到什么

  • 以电子商务网站为例,构建全栈 Blazor WebAssembly 应用程序
  • 从一开始就使用 .NET、Blazor WebAssembly、Web API、Entity Framework Core 和 SQL Server 创建一个可运行框架(Walking Skeleton)
  • 使用泛型、数据传输对象 (DTO) 和存储库模式实施最佳实践
  • 构建电子商务应用程序的多个功能,例如搜索、分页、特色产品、购物车(本地和数据库)、订单等等
  • 使用 JSON Web 令牌 (JWT) 实现身份验证
  • 为管理员和客户使用基于角色的授权
  • 将代码优先迁移与 Entity Framework Core 和 SQL Server 一起使用
  • 使用提供信用卡、Apple Pay 和 Google Pay 的 Stripe Checkout 实施付款
  • 为 Blazor WebAssembly 应用程序创建自定义布局
  • 使用所有 CRUD 操作实现管理功能以创建、读取、更新和删除您的产品

要求

  • 有C#、HTML和CSS经验者优先
  • Blazor WebAssembly 的经验不是必须的,但会有所帮助
  • 本课程中使用的所有框架和工具都是免费提供的,我们将一路安装所有东西

描述

欢迎来到 Blazor WebAssembly 电子商务课程!

在本在线课程中,我们将使用 .NET 6 和 Blazor WebAssembly 构建电子商务 Web 应用程序。

我们将介绍完整的堆栈,即用于客户端的 Blazor、用于后端 Web 服务的 Web API,以及用于数据库的带有 SQL Server Express 的 Entity Framework Core。

课程从一个行走的骨架开始。这意味着,在本课程开始时,您将在短短几个小时内学习如何使用所有提到的框架和技术构建一个可运行的全栈 Web 应用程序。

因此,在本节之后,例如,您将不会使用任何模拟数据。您已经调用了 Web 服务,从 SQL Server 获取数据并将结果返回给 Blazor WebAssembly 客户端。

最重要的是,我们将介绍该步行骨架的最佳实践。例如,我们不想使用胖控制器。相反,我们将使用存储库模式和依赖注入。

之后,我们构建了电子商务应用程序的很大一部分。这部分是关于您的用户可以在您的商店中购买的产品的全部内容,包括类别、产品变体、搜索栏、分页、基本购物车等等。

通过所有这些实现,您将了解 Blazor WebAssembly 的许多功能,以及 Web API 以及实体之间的关系以及如何使用 Entity Framework Core 和 SQL Server 管理它们。

之后,我们将深入研究使用 JSON Web 令牌进行身份验证。

您将学习如何注册用户、登录并创建 JSON Web 令牌 (JWT) 以验证您的用户,在默认 HTTP 请求标头中设置令牌,利用著名的 [Authorize] 属性来保护您的 Web API,并添加一个例如,用户个人资料的页面,以便他们可以更改密码。

下一部分是关于购物车和订单的。到目前为止,您已经实现了一个购物车,但它只能离线工作。因此,现在是时候将购物车的产品存储在数据库中,并实现最终订单和订单历史概览。

但是仍然会缺少一件事,那就是结帐和支付订单的选项。我们将在下一节中介绍这一点,并使用 Stripe 来做到这一点。这意味着,您的用户可以使用信用卡、Google Pay 和 Apple Pay 进行支付。此外,我们将继续介绍一个较小的部分,我们将在其中实施添加送货地址的选项。

在那之后,是时候使用大型管理仪表板了。到目前为止,您学到的所有内容都集中在本节中。

我们利用了 Blazor WebAssembly 的许多功能,我们为我们的实体构建了几个 CRUD 操作——这意味着管理员应该能够创建、读取、更新和删除所有产品、类别和产品变体——并知道是否允许用户做这一切,我们引入了基于角色的授权。

如您所见,有很多东西要学!

这是您将在本课程中学到的内容的概述

介绍

  • – 安装 .NET 6 框架和 Visual Studio 2022
  • – 从 GitHub 获取源代码

全栈基础——构建一个可运行框架(Walking Skeleton)

  • – 创建 Blazor WebAssembly ASP.NET Core 托管项目
  • – 调试你的项目
  • – 了解 .NET 6 和 Visual Studio 2022 的新热重载功能
  • – 创建 Razor 组件并利用 CSS 隔离
  • – 实现 Web API 控制器并使用 SwaggerUI 对其进行测试
  • – 安装和使用 SQL Server Express 和 Entity Framework Core 6
  • – 以编程方式利用 EF Core 6 和种子数据的代码优先迁移
  • – 创建一个 Git 存储库并将您的代码推送到 GitHub

添加和使用最佳实践

  • – 使用泛型实现服务响应
  • – 使用存储库模式和依赖注入
  • – 为客户端和服务创建服务

一切都与产品有关 – Blazor WebAssembly 实战

  • – 向您的 Web 应用程序添加更多模型和实体,例如类别、变体等
  • – 使用 EF Core 6 的多项功能,例如复合主键、更多迁移和关系
  • – 利用 Blazor WebAssembly 的几个内置组件
  • – 实现搜索功能和分页
  • – 实现自定义布局
  • – 使用本地存储将购物车添加到您的应用程序

让我们添加用户 – 使用 JSON Web 令牌进行身份验证

  • – 实施用户注册和登录
  • – 使用数据注释和验证
  • – 介绍用户模型
  • – 使用 JSON Web 令牌 (JWT) 添加令牌身份验证
  • – 实现自定义 AuthenticationStateProvider
  • – 在登录中添加返回 URL
  • – 利用 [Authorize] 属性

让我们购买一些产品 – 购物车和订单

  • – 将用户的购物车存储在数据库中
  • – 使用 HttpContextAccessor 访问服务中的用户
  • – 将订单存储在数据库中
  • – 查看订单历史
  • – 利用用户的认证状态
  • – 使用 Stripe Checkout 付款
  • –  对接 Stripe支付
  • – 使用 Stripe Checkout 进行付款
  • – 使用 WebHooks 完成订单
  • – 在 Stripe Checkout 中启用送货地址

你从哪里来?– 添加收货地址

  • – 添加具有新迁移的地址模型
  • – 为购物车和用户个人资料页面创建一个共享组件

我们需要更多的东西!- 管理仪表板

  • – 在客户端和服务器上引入基于角色的授权
  • – 扩展您的模型
  • – 创建多个管理页面
  • – 为您的实体实施 CRUD 操作(创建、读取、更新、删除)

如果您还不认识我的YouTube或我在Udemy上的其他课程,我的名字是 Patrick God,我将成为您这门课程的讲师。我是一名十多年的网络开发人员,我曾为大公司和小团队工作过,作为员工和承包商,我很想看看微软在 .NET 和 Blazor 方面的发展方式以及这些技术的重要性日复一日。

到目前为止,我已经在 Udemy 上创建了 10 门关于 .NET (Core)、Blazor WebAssembly、单页应用程序、Angular 和DevOps的课程——共有超过 60.000 名学生和无数的 5 星评价。

如果您仍然不确定本课程是否适合您,我们提供 30 天退款保证。因此,如果它不适合您,请随时检查并取回您的钱。无话可问。

本课程适用于谁

  • 想要提高技能并学习构建全栈 Blazor WebAssembly 项目的 C# 和 .NET 开发人员
  • Blazor WebAssembly 初学者已经对 Blazor 有一点经验并希望加深他们的知识的开发人员
  • 希望获得可能带来更多 .NET 和 Blazor 工作机会的技能的有抱负的 .NET 开发人员

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源