点击观看大咖分享
相信大家都会遇到,在早晨洗漱完毕后都会面临一个抉择“今天该穿什么衣服”,穿少怕冻、穿多怕热,能不能有个小程序通过当天当地的实时天气给我推荐该穿什么类型的衣服,在传统模式下就算实现这种小功能也是相当复杂的,现在通过云开发就可以快速实现用户当地实时温度,智能推荐衣着的小程序。
本期腾讯云大学大咖分享邀请陈碧棋老师,将会演示如何使用云开发快速为小程序加入请求第三方API能力,在实战环节会带领大家搭建一个具备当天当地实时推荐衣着小程序。
本次分享内容:
1、功能解析 2、开发模式 3、实战
1. 功能解析
通过API接口,返回当地的实时温度。
根据实时的温度,读取数据库,返回当前温度的衣着类型。
2. 开发模式
要实现上述功能,有哪些开发模式?有两种,分别是传统开发模式和云开发模式。
2.1 传统开发模式
传统开发模式,在小程序端,通过wx.request发送请求,请求的域名必须经过ICP备案,并且只支持HTTPS,服务端在接受到小程序端的请求后,将会发送网络请求给第三方API,返回相关数据给小程序端。
2.2 云开发模式
云开发模式,在小程序端通过云开发团队封装的wx.cloud.callFunction发送云函数请求,不需要HTTPS请求,也无需经过ICP备案,在项目搭建上简便了不少,云函数在接收到请求后发送网络请求给第三方API,返回相关数据给小程序端。
2.3 传统开发VS云开发
对比这两种开发模式,传统开发模式下需要考虑弹性伸缩、异地容灾、网络防护等,还需完成自己的业务逻辑,而在云开发模式下,这些需要考虑的东西通通由腾讯云基础服务处理了,开发者只需要考虑自己的业务逻辑,大大降低了工作量。
在智慧衣橱小程序中,使用到图片上传到云端对象存储以及插入到远端数据库这两个功能点。以图片上传功能,具体对比云开发和传统开发,在传统开发模式中需要在小程序端使用选择图片API和上传文件API,在后端需要搭建框架、路由和上传到腾讯云对象存储的逻辑,在运维上还需考虑性能和安全方面的问题,需要前端、后台和运维进行配合,在该功能上总耗时至少1142分钟。在云开发模式下,只需要在小程序端使用图片API结合云开发封装的wx.cloud.uploadFile的API,指定存储路径以及文件路径即可完成图片上传的,整个过程耗时只需4分钟,并且只需要前端即可完成。
添加数据到数据库功能,在传统开发模式中,需要在小程序端使用wx.request API,后端也要搭建框架、路由,实现插入数据到腾讯云MongoDB实例的逻辑,在运维上还需考虑性能和安全方面的问题。传统开发模式下,需要前端、后端和运维岗位进行配合,在该功能上总耗时至少1021分钟。在云开发模式中,使用云函数实现插入数据到运输局库中,仅需要在小程序端使用wx.cloud.Functon API去调用云函数,将需要添加的数据传递给云函数,即可完成添加,整个过程只需3分钟,也只需要一名前端即可完成该功能点。
2.4 云开发
下面介绍云开发的几大能力,有云函数、云数据库、云存储、云调用、HTTP API。
- 云函数:云函数是一段运行在云端的代码,无需管理服务器,在开发工具内编写、一键上传部署即可运行后端代码,无需维护复杂的鉴权机制,即可获取天然可信任的用户登录态(openid)
- 云数据库:云开发提供了一个JSON数据库,每条记录都是一个JSON格式的对象。一个数据库可以有多个集合,可看做一个JSON数组,数组中的每个对象就是一条记录,记录的格式是JSON对象,即可在小程序前端操作,也可能在云函数中读写的数据库。
- 云存储:云开发提供了一块存储空间,提供了上传文件到云端、带权限管理的云端下载能力,开发者可以在小程序端和云函数端通过API使用云存储功能。
- 云调用:云调用是云开发提供的基于云函数使用小程序开放接口的能力,支持在云函数调用服务端开放接口,如发送订阅消息、获取开放数据等操作都可以在云函数中完成。
- HTTP API:使用HTTP API开发者可在已有服务器上访问云资源,实现与云开发的互通。
云开发提供多种调用方式,开发者无需担心云开发只能在微信小程序上调用这个问题。
如何使用云开发
首先在开发工具中新建项目时选择后端服务为小程序云开发,即可快速生成云开发的项目模板,在界面的左上角点击云开发按钮,就可直接调转到环境创建的界面,添加环境名称,等待部署完成后就可以在开发工具中调用云开发。
3. 实战
实战步骤
- 任务一:开启小程序云开发模板
- 任务二:搭建智慧衣橱小程序的前端(开源项目)
- 任务三:实现云函数发起第三方API请求
- 任务四:实现将静态资源上传到云存储
源码:https://share.weiyun.com/5HA7EZ9
问卷
为了给广大开发者提供最实用、最热门前沿、最干货的视频教程,请让我们听到你的需要,感谢您的时间!点击填写 问卷
腾讯云大学是腾讯云旗下面向云生态用户的一站式学习成长平台。腾讯云大学大咖分享邀请行业技术大咖,为你提供免费、专业、行业最新技术动态分享。