《五天玩转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环境下的局限,还提升了系统的稳定性和性能。
670 0
|
缓存 小程序 前端开发
商城/点餐/家政类小程序源码合集_微信抖音小程序源码开发从入门到精通实战
本文系统讲解如何利用现有源码快速开发商城、点餐、家政类微信/抖音小程序,涵盖环境搭建、核心功能实现、多平台部署与优化,提供完整技术方案。实战导向,助力开发者高效入门与落地。
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
JSON 监控 小程序
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
1942 14
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
|
人工智能 自然语言处理 小程序
让小程序拥有“视觉之眼“:DeepSeek图像识别实战指南
本文介绍如何通过DeepSeek计算机视觉技术,赋予小程序“看懂世界”的能力。从构建视觉感知系统、训练专属视觉词典到创造会思考的界面,详细讲解了实现智能相册、植物识别器和老旧照片修复等功能的步骤。最后探讨性能优化与安全合规要点,展望未来视觉智能应用的无限可能。
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
587 1
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
|
小程序 前端开发 JavaScript
在线课堂+工具组件小程序uniapp移动端源码
在线课堂+工具组件小程序uniapp移动端源码
541 0
在线课堂+工具组件小程序uniapp移动端源码
|
移动开发 小程序
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
1024 0
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
5504 3
|
小程序 API
微信小程序更新提醒uniapp
在小程序开发中,版本更新至关重要。本方案利用 `uni-app` 的 `uni.getUpdateManager()` API 在启动时检测版本更新,提示用户并提供立即更新选项,自动下载更新内容,并在更新完成后重启小程序以应用新版本。适用于微信小程序,确保用户始终使用最新版本。以下是实现步骤: ### 实现步骤 1. **创建更新方法**:在 `App.vue` 中创建 `updateApp` 方法用于检查小程序是否有新版本。 2. **测试**:添加编译模式并选择成功状态进行模拟测试。
1060 0
微信小程序更新提醒uniapp

相关产品

  • 移动研发平台