《五天玩转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

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

 

相关文章
|
消息中间件 缓存 监控
在FaaS中,如何设计无状态的函数来确保数据处理的一致性?
在FaaS中,如何设计无状态的函数来确保数据处理的一致性?
|
运维 负载均衡 Serverless
函数计算产品使用问题之在同一地域同一时刻最多可以同时运行多少个函数实例
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
9月前
|
Cloud Native 安全 Serverless
云原生应用实战:基于阿里云Serverless的API服务开发与部署
随着云计算的发展,Serverless架构日益流行。阿里云函数计算(Function Compute)作为Serverless服务,让开发者无需管理服务器即可运行代码,按需付费,简化开发运维流程。本文从零开始,介绍如何使用阿里云函数计算开发简单的API服务,并探讨其核心优势与最佳实践。通过Python示例,演示创建、部署及优化API的过程,涵盖环境准备、代码实现、性能优化和安全管理等内容,帮助读者快速上手Serverless开发。
|
机器学习/深度学习 监控 物联网
函数即服务(FaaS)
函数即服务(FaaS)
699 6
|
消息中间件 弹性计算 关系型数据库
体验函数计算:高效处理多媒体文件的真实感受与实战总结
该方案在引导和文档方面做得较为详尽,仅在事件驱动机制部分略显简略。部署和代码示例实用,但需注意内存配置以避免超时。使用体验方面,函数计算表现出色,尤其在高并发场景下,显著提升了应用稳定性和成本效益。云产品如OSS、MNS等与函数计算配合流畅,ECS和RDS表现稳健。总体而言,这套方案弹性好、成本低,特别适合应对高并发或流量不确定的场景,值得推荐。
157 27
|
缓存 小程序 UED
如何利用小程序的生命周期函数实现数据的加载和更新?
如何利用小程序的生命周期函数实现数据的加载和更新?
316 4
|
小程序 UED 开发者
小程序的生命周期函数
小程序的生命周期函数
475 1
|
运维 Serverless 调度
函数计算产品使用问题之怎么在HTTP触发的函数里添加或读取自定义头部
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
Serverless API 异构计算
函数计算产品使用问题之gpu实例函数该如何创建
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
存储 运维 Java
函数计算产品使用问题之怎么配置定时触发器来调用Java函数
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。

相关产品

  • 移动研发平台