菜鸟带你来初步认识微信小程序-云开发

首先,我将通过四个part来讲述我的主题:

demo下载,搭配demo,看博客,效果更佳
内可能有通过demo演示,如果没有下载,请忽略


1.啥是Serverless

Serverless ,按中文翻译,称为「无服务器」

这究竟是一种什么样的形态或产品呢?无服务器,就是真的没有服务器吗?
网上查阅了资料,发现了,目前对于 Serverless 有几种解读方法:

1. Serverless 架构:

这种架构它依托于云厂商或云平台提供产品来实现系统的组织和构建。在这种架构中,用户不需要关注支撑应用服务运行的主机,而是可以更多的将关注点投入在系统架构,业务开发,业务支撑运维上。

2. Serverless 产品:

它说的是无需理解、管理服务器,按需使用,按使用付费的产品。Serverless 产品中,其实也可以包含存储、计算等多种类型的产品。而典型的计算产品,就是云函数这种形态。


2.啥是微信小程序-云开发

官网介绍:

  1. 小程序-云开发是微信团队联合腾讯云推出的专业的小程序开发服务

  2. 开发者可以使用云开发快速开发小程序、小游戏、公众号网页等,并且原生打通微信开放能力。

  3. 开发者无需搭建服务器,可免鉴权直接使用平台提供的 API 进行业务开发。

很明显,小程序-云开发就是一个使用了serverless架构的serverless产品。云开发,不需要我们去关注服务器,不需要我们去写接口。因为它提供给我们的云函数,HTTP API,云数据库,云存储,让我们可以直接操作数据,存储东西,并且提供了十分齐全的HTTP API供我们直接调用,以及功能强大的云调用,简直不要太快乐,并且因为是小程序自己提供的东西,人家不需要进行鉴权。

3.小程序-云开发的优势

0.传统开发和云开发的模式的区别

在这里插入图片描述
在这里插入图片描述

1.开发高效

因为不需要搭服务器,开发者仅仅需要编写核心逻辑代码,而且云开发内建小程序用户鉴权,不需要关注后端配置与部署,专注于业务开发

2.节约成本

按需收费,不用不要钱,而且提供了一定量的免费额度

3.官方生态

微信自己提供的东西,所以原生集成微信SDK,云相关API开箱即用;同时,通过云调用,可免鉴权直接调用微信开放接口

4.稳定可靠

底层资源由腾讯云亲情打造,提供专业支持,满足不同业务场景和需求,具备快速拓展能力,确保服务稳定,数据安全

4.简单介绍一个小程序-云开发项目

1.新建项目

向往常一样创建项目,后端服务 选择云开发模式即可

在这里插入图片描述

2.初始项目

项目创建成功后,初始项目就长这个样子

在这里插入图片描述

3.创建云环境

要想使用云开发,最重要的就是要创建云环境,点击云开发,在设置内新建即可

在这里插入图片描述

一般选择按需花钱模式就ok

在这里插入图片描述

小程序提供给开发者两个免费环境,多余的就需要氪金了

在这里插入图片描述

4.云数据库

小程序提供的一个非关系型数据库,类似MongoDB,数据库中的每条记录都是一个 JSON 格式的对象。一个数据库可以有多个集合(相当于关系型数据库中的表),集合可看做一个 JSON 数组,数组中的每个对象就是一条记录,记录的格式是 JSON 对象。

对比

和传统数据库对比,还是十分容易理解的!
在这里插入图片描述

数据类型:

数据库提供了八种数据类型:

  • String:字符串

  • Number:数字

  • Object:对象

  • Array:数组

  • Bool:布尔值

  • Date:时间

  • Geo:多种地理位置类型

  • Null

    注意:

  • 在小程序端创建的时间是客户端时间,不是服务端时间,所以说,他可能会出现小程序端的时间与服务端时间不一定吻合

  • null 相当于一个占位符,表示一个字段存在但是值为空。

一些简单api:

首先,在使用api之前,我们需要初始化一下:
	wx.cloud.init({ env: ‘ahf-oz31v', traceUser: true, }) 
	

我们只需要在全局文件中,如demo中,app.js初始化一下,来定义使用哪个环境,如果不写,默认使用第一个创建的环境,其中,traceUser属性,用来管理是否在云环境的用户访问中显示当前操作用户信息
在这里插入图片描述

在这里插入图片描述


微信提供了两种不同风格的api:
	1.回调风格
	2.Promise风格*

在这里插入图片描述
接下来的api有体现

db.collection('').add().then()
自我感觉和linq和lamuda挺一样的,而且也挺符合sql语言的
insert into ’table名‘ (’ 具体参数‘);
demo中的user.js,用户登录功能,使用.add()添加想要上传的信息,使用Promise风格,.then()
在这里插入图片描述

db.collection().doc().get
select * from table名 where ...

demo中的user.js中,查询一条
在这里插入图片描述
查询多条,demo中的user.js
在这里插入图片描述
对于条件判断,
微信有一点点的改进,它提供了一个command方法,开发者可以直接用来进行条件判断:
在这里插入图片描述
在这里插入图片描述

db.collection().doc().update()
update table名 set column = value where ...
在demo中,head.js中,修改头像
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5.云存储

小程序提供的一块可以存储东西的空间,提供了上传文件到云端、带权限管理的云端下载能力,开发者可以在小程序端和云函数端通过 API 使用云存储功能。
在这里插入图片描述
和云数据库一样,小程序提供的云存储的api函数名字,和云数据一样,十分的言简意赅,看了就懂,十分舒服

API走起:

上传文件
在这里插入图片描述
注意一点:小程序云存储不是以往的返回url,而是一个fileId
在这里插入图片描述
下载文件 在这里插入图片描述
删除文件
在这里插入图片描述
可以查看demo中的head.js,上传头像功能,逻辑简单明了,先上传图片到云存储,然后得到回调信息,再插入到云数据库,一个上传功能就实现了,是不是很简单呢

在这里插入图片描述

6.云函数

云函数是一段运行在云端的代码,不需要管服务器怎么搞,你只需要在开发工具内写你想要的功能、然后一键上传部署即可运行后端代码。

小程序内提供了专门用于云函数调用的 API。开发者可以在云函数内使用 wx-server-sdk 提供的 getWXContext 方法获取到每次调用的上下文(appid、openid 等),无需维护复杂的鉴权机制,即可获取天然可信任的用户登录态(openid)。
如:

本地云函数开发在
在这里插入图片描述
后面是你环境的名字

云函数部署:
找到你写的函数,然后右键一键部署,在这里插入图片描述
然后打开你的云环境即可查看到自己的云函数,并且支持本地测试和云端测试
在这里插入图片描述

举个栗子🌰 :
查看demo中,cloundfunctions文件夹下的两个函数,一个实现登录功能,一个是update功能
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在云函数中调用其他 API 前,同小程序端一样,也需要执行一次初始化方法:
在这里插入图片描述

在这里插入图片描述
以上方法二选一即可

以云函数调用数据库为例
假设在数据库中已有一个 ahf 集合(表),我们可以如下方式取得 ahf 集合的数据:
在这里插入图片描述

7.云调用

前提:版本要求:wx-server-sdk >= 0.4.0、开发者工具 >= 1.02.1904090
云调用是云开发提供的基于云函数使用小程序开放接口的能力
其实就是自己调用自己部署的云函数,以及调用微信小程序提供的一些接口

在demo中的detail.js中使用自己部署的update方法,来添加好友
在这里插入图片描述

8.HTTP API

HTTP API 提供了小程序外访问云开发资源的能力,使用 HTTP API 开发者可在已有服务器上访问云资源,实现与云开发的互通。
官方文档,给我们提供了api文档,供我们查阅使用
在这里插入图片描述
demo中已有例子,打开cms文件夹,routes下的index.js,简单是用koa2,使用http api,实现实时上传小程序的轮播图
逻辑如下:首先获取小程序的access_token值,
在这里插入图片描述
然后上传轮播图图片
在这里插入图片描述
接着将获取到的fileid插入到云数据库
在这里插入图片描述
最后获取到图片信息
在这里插入图片描述
用wx:for渲染
在这里插入图片描述
简单功能就实现了


感谢查看!!如有错误,欢迎指正!!!
博客在查阅官网云开发,以及

你必须要掌握的微信小程序云开发
看懂 Serverless,这一篇就够了.
千锋教育微信小程序-云开发课堂
以及自己的一些理解下诞生!!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值