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

本文涉及的产品
移动研发平台 EMAS,开发者版免费套餐
简介: 本文整理自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

相关文章
|
2月前
|
缓存 前端开发 JavaScript
|
3月前
|
小程序 Serverless 开发工具
小程序开发问题之在小程序中安装并初始化小程序Serverless客户端SDK如何解决
小程序开发问题之在小程序中安装并初始化小程序Serverless客户端SDK如何解决
|
4月前
|
小程序 JavaScript
【微信小程序-原生开发】实用教程11 - 用户登录鉴权(含云函数的创建、删除、使用,通过云函数获取用户的openid)
【微信小程序-原生开发】实用教程11 - 用户登录鉴权(含云函数的创建、删除、使用,通过云函数获取用户的openid)
71 0
|
6月前
|
小程序 数据库
小程序云函数从云数据下载excal
该教程介绍了如何使用小程序云函数从云数据下载Excel文件。首先,创建名为`getexcal`的云函数,然后在终端中安装`node-xlsx`依赖。接着,编写云函数代码,从数据库中获取数据,利用`node-xlsx`生成Excel文件并上传至云端。在页面(index)中,提供下载和打开Excel的按钮。当点击“生成excel”时,调用云函数并获取文件下载地址,将其复制到剪贴板并弹出提示。最后,提醒注意每次更新云函数后需重新部署,并确保使用正确的云开发环境ID。
79 1
|
6月前
|
存储 弹性计算 小程序
小程序全栈开发中的云函数应用实践
【4月更文挑战第12天】本文探讨了小程序全栈开发中云函数的应用实践,云函数作为轻量级后端服务,具备弹性伸缩、安全可靠和跨平台支持等特点。开发者可利用云函数实现用户认证、数据存储、文件上传下载、第三方服务集成及定时任务等功能。实践中需注意性能优化、安全性及成本控制,以提升小程序性能和用户体验。通过云函数,开发者能更高效地进行全栈开发。
84 1
|
6月前
|
关系型数据库 Serverless 分布式数据库
Serverless 应用引擎常见问题之在抖音快手小程序上使用如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
|
6月前
|
小程序 IDE Serverless
【经验分享】支付宝小程序serverless云开发拓荒
【经验分享】支付宝小程序serverless云开发拓荒
172 6
|
6月前
|
存储 人工智能 小程序
一天完成基于Serverless架构的头像漫画风处理小程序
我一直都想要有一个漫画版的头像,奈何手太笨,用了很多软件 “捏不出来”,所以就在想着,是否可以基于 AI 实现这样一个功能,并部署到 Serverless 架构上让更多人来尝试使用呢。
318 2
一天完成基于Serverless架构的头像漫画风处理小程序
|
6月前
|
网络协议 开发工具 Android开发
应用研发平台EMAS产品常见问题之接入httpdns后 访问重定向的url访问有问题如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
6月前
|
运维 监控 Android开发
应用研发平台EMAS产品常见问题之流水线符号表无法下载如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
应用研发平台EMAS产品常见问题之流水线符号表无法下载如何解决

相关产品

  • 移动研发平台