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

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

 

相关文章
|
1月前
|
人工智能 关系型数据库 Serverless
Serverless 应用引擎常见问题之生成的函数镜像改为自定义的镜像如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
27 5
|
3月前
|
JSON 安全 Serverless
在使用阿里云函数计算(FC)服务时,您可以通过自定义域名来访问部署好的云函数
在使用阿里云函数计算(FC)服务时,您可以通过自定义域名来访问部署好的云函数【1月更文挑战第23天】【1月更文挑战第112篇】
223 7
|
3月前
|
Serverless 异构计算
函数计算FC部署问题之函数报错如何解决
函数计算FC部署是指在阿里云Function Compute服务上部署函数或应用程序的过程,它提供了一个无需管理服务器即可运行代码的平台;本合集将介绍和总结函数计算FC部署中常见的问题与解决方案,指导用户如何高效部署和管理Serverless函数。
|
1月前
|
人工智能 关系型数据库 Serverless
Serverless 应用引擎常见问题之API生成的函数镜像改为自定义的镜像如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
39 3
|
1月前
|
关系型数据库 Serverless 分布式数据库
Serverless 应用引擎常见问题之在抖音快手小程序上使用如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
22 3
|
6月前
|
Serverless API 数据库
在阿里函数计算中,国内的云函数,海外调用有什么限制么?
在阿里函数计算中,国内的云函数,海外调用有什么限制么?
57 1
|
1月前
|
存储 运维 Serverless
我的Serverless实战-Serverless与传统模式的对比
我的Serverless实战-Serverless与传统模式的对比
|
2月前
|
小程序 IDE Serverless
【经验分享】支付宝小程序serverless云开发拓荒
【经验分享】支付宝小程序serverless云开发拓荒
80 0
|
3月前
|
存储 监控 Serverless
在处理阿里云函数计算3.0版本的函数时,如果遇到报错但没有日志信息的情况
在处理阿里云函数计算3.0版本的函数时,如果遇到报错但没有日志信息的情况【1月更文挑战第23天】【1月更文挑战第114篇】
63 5
|
3月前
|
前端开发 JavaScript 小程序
亚马逊云科技 Build On -Serverless低代码平台初体验-快速完成vue前端订单小程序
亚马逊云科技 Build On -Serverless低代码平台初体验-快速完成vue前端订单小程序
48 0

热门文章

最新文章

相关产品

  • 移动研发平台