《五天玩转EMAS Serverless》——第四节 实战:小程序疫苗预约-云函数【下】

简介: 本文整理自EMAS Serverless讲师雨鸦,在《5天玩转EMAS Serverless训练营》的分享。本篇内容主要分为五个部分:1.云函数开发介绍2.实战:业务逻辑设计3.实战:业务逻辑实现4.实战:集成测试5.课程总结

接上篇:

https://developer.aliyun.com/article/1224123?spm=a2c6h.13148508.setting.24.4f394f0em1x0Jq

三、 实战:业务逻辑实现

image.png

接下来,我们进行实际的代码设计环节。

 

以登录及注册行为为例,上图展示了用户注册及登陆云函数的相关代码。对于登录的逻辑,我们在云数据库的user表中,查找userId,并返回携带数据库中的id信息。通过投影操作,进行过滤。查询成功后,如果有效文档affectedDocs大于零,则说明用户已经存在,此次请求为登录逻辑,我们将用户信息作为result返回。否则,此次请求为注册逻辑,我们在库中插入一条新注册的用户,以空字符串作为新注册状态。插入成功后,小程序会直接返回该信息。如果插入失败,则返回异常对象。

image.png

对于疫苗预约的代码设计,除了标准的数据库增删改成行为,这个环节还会存在很多异常行为,比如用户不存在疫苗不存在接种点不存在重复预约疫苗数量不足等等。我们需要充分考虑各个场景的边界,进行异常行为的捕获和处理。相关代码,如上图所示。


 四、 实战:集成测试

image.png

最后我们来进行小程序端侧的云函数集成。

 

首先我们集成注册登录的云函数login。由刚刚我们设计的代码逻辑可知,当userName和userAvatar返回空字由串时代表了一次注册请求行为,我们主动授权支付宝小程序获得支付宝的昵称和头像。值的注意的是,在调用授权行为时,小程序会唤起授权行为弹窗,用户点击允许,我们才可以获得支付宝的头像和昵称信息。

 

然后,我们调用updateUser云函数接口,根据授权获取到的用户昵称和头像更新数据库信息

 

最后,本地缓存登录用户信息,以便在其他小程序页面中使用。

 image.png

接下来我们简单集成一下疫苗预约的场景

 

如上图所示,我们给按钮绑定appointment事件用于云函数调用触发,并透过小程序的data属性来完成云函数所需参数的传递。然后,在appointment事件的处理函数中通过调用bookAppointment,并传递本地缓存的userId以及事件传入的vaccineId和siteId参数。最后,分别对预约成功和预约失败的场景编写弹窗逻辑来提示和告知使用者本次行为的结果。

五、 课程总结

image.png

本节课程,主要学习了云函数开发和云函数实战。在云函数开发方面,介绍了本地开发打包部署控制台调试端侧集成。在云函数实战方面,我们以登录注册和疫苗预约两个典型场景演示了业务逻辑设计,业务逻辑实现以及集成测试的基本流程。

 

相关文章
|
3天前
|
运维 负载均衡 Java
Serverless 应用引擎产品使用之在阿里函数计算中,创建了个关于 stable diffusion 的函数服务,总是很卡如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
185 0
|
3天前
|
运维 Serverless API
Serverless 应用引擎产品使用之在阿里函数计算中,“允许函数默认网卡访问公网” 参数配置如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
35 6
|
3天前
|
运维 JavaScript Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,Php环境,配置取消禁止函数exec如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
50 4
|
3天前
|
存储 缓存 运维
Serverless 应用引擎产品使用之在阿里函数计算中,我的函数会运行很久,超过函数最大 执行时间如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
32 1
|
3天前
|
运维 Serverless API
Serverless 应用引擎产品使用之在阿里云Serverless中将已有的域名绑定到FC函数上如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
31 1
|
3天前
|
运维 Serverless 开发工具
Serverless 应用引擎产品使用之阿里云函数计算中在哪里可以找到函数入口设置的类如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
22 1
|
3天前
|
缓存 运维 Serverless
Serverless 应用引擎产品使用之在阿里云函数计算中使用Docker进行部署函数如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
30 0
|
3天前
|
消息中间件 运维 Serverless
Serverless 应用引擎产品使用之在阿里云函数计算FC中,函数的执行时间是根据实例的存活时间进行计算如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
40 0
|
3天前
|
存储 Serverless 网络安全
Serverless 应用引擎产品使用之阿里云函数计算中的Web云函数可以抵抗网站对DDoS攻击如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
27 0
|
3天前
|
运维 Java Serverless
Serverless 应用引擎产品使用之阿里函数计算中云函数怎么防止恶意刷流量的请求,例如:openresty的runtime如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
31 0

热门文章

最新文章

相关产品

  • 移动研发平台