00:00
下面我们来介绍并开发云函数,一起来看啊。打开我们的这个控制台,继续来到数据模型,当你开启过数据云之后呢,数据模型就会呈现这些内容,我们可以开发云函数。我们以咱们的这个。来,呃,这个员工为例吧,Ae,我们来开发获取员工列表对吧,然后添加员工,修改员工和删除员工的这些功能,来下面呢,我们先要点击这个开发云函数。点击开发云函数的时候呢,就会进入啊,咱们的这个开发云函数的这个界面,那么整个界面我们一起来看一下包含什么内容啊,左边呢是一个列表,右边是列表的一个详情,那么上面呢是一些导航,导航呢这里就是添加云函数的按钮,当你添加完函数之后呢,你要发布并重启测试环境,那么我们才能在这个接口文档中,或者说将来你才能发请求去测试。
01:06
然后也可以编辑它,也可以删除它,也可以启动它的日志,还有就是我们的一个在线的文档教程啊,那么都有。好,首先我们来介绍一下这边的这个目录啊,它有global middle和department employee test。首先前三者呢,就是固定的,后面的就是你但凡有一张表有一个模型对象啊,那么它就会对应的生成一个这样的一个导航,对吧?我们当前呢,有三个模型对象,分别叫department employee和这个test,所以它就生成了三个。Global呢是全局相关的啊,这里面呢,有一个全局变量,相当于这个G啊,在上面定义的内容呢,我们下面所有内容都可以访问,所以在这里面呢,可以定一些全局的一些函数啊,一些常量啊等等在这里定义,然后呢,将下来就可以在其他地方去访问了,这是global in呢是一个初始化函数,它在我们整个咱们的这个云函数运行的时候呢,一上来会被初始化调用的。
02:09
所以你在这里可以做一些初始化操作,或者做一些定时任务等等,可以在这做啊。Middle v呢是中间键函数,在每次发请求的时候,它都会先触发这个中间键,然后再触发你接下来的逻辑,所以这是一个中间键函数,将来你要做些什么权限认证啊等等,那么你可以考虑在这些mid里面做。好,接下来呢,就是某个模型对象的操操作了啊,比如说我们来lo,他们所有的都是一样的,每个模型对象它都是里面有普通函数,钩子函数和远程函数。那么这三个函数的意思就是普通函数呢?就是非常普通的函数,那么将来你可以在钩子函数和远程函数中去调用它。比如说普通函数呢,我们可以定义一些专门做特定功能的函数,然后呢,就可以在钩子函数,远程函数中去调用这个普通函数。
03:02
普通函数呢,分为私有和非私有,私有的函数普通函数呢,只能在这一个模型对象中使用,而非私有的这个普通函数呢,可以在任意的模型对象中调用。这是他们的区别啊。好钩子函数呢,它主要是做。比方说在我们访问之前,在保存数据之前,保存数据之后,在删除数据之前,删除数据之后等等啊。钩子函数,它就类似于生命周期一样,当我们对数据库或者访问的时候,访问咱们的服务器的时候,它会触发的一些钩子函数,对吧,然后我们访问咱们的这个。呃,服务器之啊,这个保存数据库之前啊,保存数据库之后啊,那么在这里会触发钩子函数,那么我们希望在保存之前,通常情况下,比方说我在保存之前呢,我希望给它添添加一个数据的创建时间,对吧?那么我们可以在钩子函数里面,在before save之前我们去创建一个时间什么的。
04:00
那么更重要的是最后一个远程函数啊,远程函数定义好了之后,我们将来就可以发请求去访问这个函数了,所以这个远程函数就是对外,说白了就是开发API接口,开放了接口之后,那么我们客户端就可以去访问他了。好了,这些呢,就是咱们的这些,呃,内容的介绍。好,我们尝试给它添加一个远程函数啊,它默认情况下呢,已经有了预存函数,对吧,有添加有更新,那我们自己添加一个,不管它啊,点击添加函数。好,添加函数界面呢,这里就有一些选项啊,第一个是我们要给哪个模型对象添加函数,第二个我们要添加一个怎样的函数,是普通还是钩子还是远程啊,普通函数呢,就要选择它是私有还是非私有,那么钩子函数呢,就要选择我们是保存前保存后啊,删除前删除后这些选项。那么远程函数这里就要选择,咱们调这个接口的时候,它对应的请求方式,请求类型,请求方式是什么?
05:02
我们想做一个查询,获取咱们的employ员工列表,那么请求方式就是get。好函数名字呢,就是对这个函数的一个中文描述啊,就是获取员工列表。对吧,然后呢,我们可以叫employee。啊,获取员工列表改成M。然后下面呢,就是它的描述啊,这这个带新的是B选项,不带新的是可选项,那么这个描述你写不写都无所谓了,那么在这里给他追加参数,如果说你需要给他参数,那么你在这里可以给他追加。就这个啊,如果没有参数就可以不写。追加参数的话呢,这里就要写参数名字和参数对应的类型,以及参数的描述。对这个当然咱们这没有参数啊,所以说你可以不写参数。
06:00
然后下面就可以去操作了。那么函数定义呢,就是我们当我们用户访问这个接口的时候,它就会触发这个函数,那么这个函数里面你只完成相应的操作,所以我们所有功能都在这个函数里面完成好。这个函数的前面部分和后面部分是写死的,是不能改的,我们只能改的是中间部分。好,中间部分呢,我们要做的就是获取咱们的员工列表,然后并返回。那么,怎么获取员工列表呢?首先这个employee就是我们的这个模型对象,它上面就有一些方法,比方说有find方法,Find方法不传参数代表查询所有数据啊,那么又意味啊,它的返回值是个pro碎项,我们通过wait就可以得到他找到的这个员工列表了。诶,这样就可以找到云工列表返回响应,怎么返回呢?直接return就好了,Return的结果就是发发请求得到响应的返回值啊,所以我们直接return,这样就够了。
07:11
这就构了。在这里呢,必须要写这个分号啊,不写分号的话呢,它会有个警告的一个。啊,一个这样的样子啊,因为它这里面采用了这个咱们的pretty的一个格式化工具啊,它内部会检查我们的代码有没有符合规范,不符合规范就会有一些警告的字样。好了,那么简单写这样就够了,但是呢,我们进行这些数据库的操作的时候,有可能会出问题,所以为了为了确保没有问题的话呢,我们还会报个try catch,对吧?一旦这个数据库操作有问题了,他就会命中catch。在catch里面。我们就会以捕获到他的错误情况。捕捉到错误情况,那怎么办呢?那么这里我们返回错误的方式就是抛异常,那么它有一个全局的一个错误函数叫g error,第一个呢就是我们的错误原因。
08:11
我们简单一点就获取失败,第二个是我们定义的一个错误状态码啊,我们可以定义成比方说500好了,那么这样呢,就是整个一个接口就开发好了,它是一个。当你调用这个接口的时候,请求方式记得是get啊,那么他就会去数据库中查找员工的所有数据,然后找到之后并返回。如果查到过程中出现了问题,Bug,对吧?出现了错误,他就会抛一个异常,那么我们最终得到的就是获取失败的这个异常。好了。同样的价格分号啊,开发完成之后呢,我们点击保存,然后发布并重启测试环境,这样的话呢,我们这个接口就开发好了。那么怎么知道这个接口的访问方式呢?我们可以点击这个接口链条。
09:01
好接口联调注意啊,当你开发好接口的时候,这个接口链条它就会跳转到咱们的这个接口文档。那么接口文档呢,它生成需要时间的,所以说如果你很快速的就开发好了这个,呃,远程函数的话,那么点击接口链条可能会发现这个服务正在启动中。啊,没关系啊,我们只要耐心等待一会儿,它就会好了。接下来我们来到这个员工信息这里啊,我们能发现他一上来呢,就内置了很多这些请求方式。哎。稍等啊,刚刚不小心关了,我们再点一下。每一张表呢,都内置的这些请求方式,每一张表都会有内置的,我们拿这个举例子啊,这些就是内置的,好,除了这些以外的就是我们自己开发的了。那么这些内置的有哪些呢?Get就是查询,查询我们test的数据,POS是代表新增,下面这个POS下面写的代表更新,Delete代表删除,删除数据,然后这个是获取所有数据的一个数量。
10:06
每一个接口默认都会有这些增删改查的这些接口,除此之外,剩下接口就需要你自己开发了。比如我们开发的这个,开发了这个接口呢,因为没有参数啊,所以中间没有内容,没有内容,这个是try out,就是试一试的按钮,点击试一试,它就会发送请求,然后呢并返回结果,你看下面就是我们请求回来的结果是不是都有了。是的吧,那么就都有了啊,就这个好,呃,所以这个就是我们的这个获取员工列表的一个接口的简单开发。那么在这个过程中呢,大家大致上要理解啊,Global全局in初始化就会调用的mid是中间键函数,每次发请求都会经历的中间键函数,然后呢,对应的每个模型对象中又有普通函数与钩子函数和远程函数,普通函数呢,定义好了之后,相当于是它的作用就是相当于说函数的复用啊,将来其他地方都会调用。
11:03
周子函数呢,是在数据库的一些操作之前,对吧,那么或者之后它会触发的函数。然后呢,远程函数,那么自然就是定义出来的接口,那么这些接口是可以提供给我们开发者去访问的。好,呃,这些呢,就是咱们的这些内容啊,以及接口链条。点开接口链条呢,就会弹出一个接口文档,那么在接口文档这里我们就可以对接口进行测试,在测试的时候我们就能可以看到咱们接口的完整请求地址。因为现在我们是一个测试平台啊,它默认的会把我们部署这个服务器,那么部署的服务器呢,它的这个地址是这个地址。其中后面这个域名部分呢,是固定不变的,前面这部分就是咱们的应用ID了啊。然后后面部分呢,就是咱们的接口地址是不是。好了啊,那么这个呢,就是我们的这个。
12:02
云函数的基本介绍和基本使用。
我来说两句