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

相关文章
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的小程序疫苗预约网站系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的小程序疫苗预约网站系统的详细设计和实现(源码+lw+部署文档+讲解等)
202 0
|
缓存 前端开发 JavaScript
|
小程序 Serverless 开发工具
小程序开发问题之在小程序中安装并初始化小程序Serverless客户端SDK如何解决
小程序开发问题之在小程序中安装并初始化小程序Serverless客户端SDK如何解决
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的在线疫苗预约小程序附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的在线疫苗预约小程序附带文章源码部署视频讲解等
157 3
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的疫苗预约小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的疫苗预约小程序的详细设计和实现(源码+lw+部署文档+讲解等)
137 1
|
小程序 前端开发 JavaScript
微信小程序|在线疫苗预约的设计与实现
微信小程序|在线疫苗预约的设计与实现
175 1
|
JavaScript Java 测试技术
基疫苗预约小程序ssmvue.js附带文章和源代码设计说明文档ppt
基疫苗预约小程序ssmvue.js附带文章和源代码设计说明文档ppt
119 2
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp微信小程序的疫苗发布和接种预约系统的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的疫苗发布和接种预约系统的详细设计和实现
160 2
|
小程序 数据库
小程序云函数从云数据下载excal
该教程介绍了如何使用小程序云函数从云数据下载Excel文件。首先,创建名为`getexcal`的云函数,然后在终端中安装`node-xlsx`依赖。接着,编写云函数代码,从数据库中获取数据,利用`node-xlsx`生成Excel文件并上传至云端。在页面(index)中,提供下载和打开Excel的按钮。当点击“生成excel”时,调用云函数并获取文件下载地址,将其复制到剪贴板并弹出提示。最后,提醒注意每次更新云函数后需重新部署,并确保使用正确的云开发环境ID。
340 1
|
小程序 安全 JavaScript
在线疫苗预约小程序|基于微信小程序的在线疫苗预约小程序设计与实现(源码+数据库+文档)
在线疫苗预约小程序|基于微信小程序的在线疫苗预约小程序设计与实现(源码+数据库+文档)
254 1

热门文章

最新文章

相关产品

  • 移动研发平台