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

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

接上篇:

https://developer.aliyun.com/article/1224134?spm=a2c6h.13148508.setting.23.4f394f0em1x0Jq


二、 实战:业务逻辑设计

image.png

接下来,正式进入项目实战环节。

 

首先我们进行疫苗预约小程序的业务场景分析。通常情况下,当用户进入疫苗预约小程序时,需要建立一个个人档案,以便完成后续的预约查询等环节,因此我们的第一个业务场景即可抽象为用户的登录和注册以及修改。

image.png

我们简要设计一下,如果调用登录接口的userId不在user库里,小程序会直接触发注册流程,并返回初始化信息。这样一来我们就把登陆和注册接口合二为一了。

 

关于用户信息的修改,在先前的数据库设计中,我们抽象的用户模型只有昵称和头像两个信息,所以在修改用户信息时,我们分解出接口updateUser。将修改信息userId和userName合二为一。根据avatarUrl修改库中的昵称或头像。

image.png

我们的第二个大的业务场景即是疫苗预约的整个流程,我们的疫苗预约小程序需要提供疫苗信息预览和预约等基本功能。在疫苗信息查询方面,我们抽象出一个describeVaccineDetail接口,来支持获得疫苗详情信息。同时抽象一个listVaccine接口,支持查询可接种疫苗信息。

image.png

在预约方面,我们抽象出bookAppointment接口,提供预约用户和目标疫苗的基本信息(userId,vaccineId,siteId),来实现疫苗预约的主要逻辑。

 image.png

在用户完成预约之后,我们还需要抽象提供一个listAppointment接口,来获取当前用户的所有预约单信息。

  • image.png

对于用户赴约接种疫苗的场景,我们本次实战的小程序会以更新预约单的形式,进行接口抽象。我们通过抽象出updateAppointment接口来模拟用户完成疫苗接种的行为,将该预约单信息修改为接种态并记录疫苗接种日期。

 

除此之外,我们还需要抽象用户因自身原因放弃接种疫苗的场景,我们抽象出一个cancelAppointment接口,将该预约单信息修改为取消态来模拟取消预约的场景。

 image.png

接下来我们以登录和注册的场景为例来进行业务流程的详细设计。

 

如上图所示详细地展示了登录及注册流程。首先,我们确定云函数的基本参数和返回值形态。函数接口会接收userId。因为登录和注册是合二为一的,所以可以根据userId,查询是否有用户信息。如果没有,完成初始化注册,返回新注册用户信息。在注册流程中,小程序会调用updateUser。指定userld传递userName和userAvatar。

image.png

接着,我们再设计一下疫苗预约的云函数。

 

如上图所示,展示了详细的疫苗预约流程。首先,我们需要确定一下云函数的输入参数,为了完成一次完整的疫苗预约,我们需要获取用户id、疫苗id接种地点id。然后根据用户id、疫苗id、接种地点id为用户创建一个疫苗预约单或返回预约失败的相关信息。


接下篇:

https://developer.aliyun.com/article/1224118?groupCode=emas

相关文章
|
数据采集 运维 Serverless
云函数采集架构:Serverless模式下的动态IP与冷启动优化
本文探讨了在Serverless架构中使用云函数进行网页数据采集的挑战与解决方案。针对动态IP、冷启动及目标网站反爬策略等问题,提出了动态代理IP、请求头优化、云函数预热及容错设计等方法。通过网易云音乐歌曲信息采集案例,展示了如何结合Python代码实现高效的数据抓取,包括搜索、歌词与评论的获取。此方案不仅解决了传统采集方式在Serverless环境下的局限,还提升了系统的稳定性和性能。
376 0
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的小程序疫苗预约网站系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的小程序疫苗预约网站系统的详细设计和实现(源码+lw+部署文档+讲解等)
230 0
|
缓存 前端开发 JavaScript
|
小程序 Serverless 开发工具
小程序开发问题之在小程序中安装并初始化小程序Serverless客户端SDK如何解决
小程序开发问题之在小程序中安装并初始化小程序Serverless客户端SDK如何解决
|
存储 固态存储 Serverless
函数计算操作报错合集之创建云函数并设置代码从Bucket获取时,返回403错误,该如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
249 3
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的在线疫苗预约小程序附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的在线疫苗预约小程序附带文章源码部署视频讲解等
183 3
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的疫苗预约小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的疫苗预约小程序的详细设计和实现(源码+lw+部署文档+讲解等)
157 1
|
小程序 前端开发 JavaScript
微信小程序|在线疫苗预约的设计与实现
微信小程序|在线疫苗预约的设计与实现
203 1
|
运维 Serverless Docker
Serverless 应用引擎产品使用合集之编辑云函数的环境变量如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
JavaScript Java 测试技术
基疫苗预约小程序ssmvue.js附带文章和源代码设计说明文档ppt
基疫苗预约小程序ssmvue.js附带文章和源代码设计说明文档ppt
147 2

热门文章

最新文章

相关产品

  • 移动研发平台