00:00
大家好,这一节课我们来完成是否禁用的这么一个功能啊,当然现在啊,这只是一个呃切换啊,你随便点没有用,你刷新的话,它还是会回来,数据库没有改变对不对,所以我们在点击这个这个的时候啊,我们得呃发送一个请求啊,请求这个我们的API,让API去帮我把数据库它的这个状态给改掉啊,大家看一下。找一下我们的API有一个禁用和启用啊,我们请求这个地址,那请求这个地址呢啊,它就可以把用户禁用和启用啊,其他的参数不用传,但是注意这边有一个re参数啊,就是这里面re参数。然后放到这个链接里面的啊。好的,那。呃,我们先写一下这个service啊,把这个地址复制一下。来,先把这个service给准备好。Export。
01:04
I think function。我们就叫呃,Look user吧,然后需要接收一个参数,就是user的这个ID。那我们来接收一个这个呃,UID。嗯,接着写我们的这个地址,看看是什么请求。是派请求啊。Request的。请求地址就是它啊,当然这个user这个是要传这个ID的啊,这个手册上有说看一下是用户的ID,那我们就嗯使用这种模板字符串啊,方便一些,因为这样的话,这边我就可以直接哎dota u ID把ID放这。就可以了。嗯,那其他的参数就不需要了,那这个方法我们就写完了啊。嗯,那禁用和启用。
02:04
用户啊,把这个写一下用户ID。嗯,接下来呢,在这个里面。找到。我们的切换这个选项,嗯,我们之前说过,这边on就是当我们的状态发生改变的时候,这个回调函数会触发对吧?好,我们先随便在里面写个alert给大家看一下。来刷新。可以看到啊,就是状态切换的时候,这个会触发啊,那我们怎么拿到用户的ID呢?呃,之前给大家说过这个record就是我们这条的一个记录,对吧,你既然可以拿到这个1LOCK的这个状态,那你就能拿到这个ID来把这个ID打印一下啊record.id。刷新一下。诶,比如这一条它的ID是一啊,那这一条它的ID是七好。嗯,事件我们能触发了,ID也能拿到了,那实际上后面就比较简单了,我们只需要在这去发送请求就可以了。
03:07
对吧,啊。那我们还是先写最简单版本的,然后再把它给优化啊。那最简单的版本呢,我们直接在这里面。呃,发送这个请求。嗯,请求呢,我们使用。这个方法啊。Lock USA。哎,提前把它给引入。在这里面我们来调用。Lock user,然后把record ID user的ID传过去。嗯,这边不要了啊,我们就一个参数嘛。下面我们来看一看啊。刷新。接下来把第二个给禁掉,好禁用,那我们再来刷新一下。确实已经禁用了啊。
04:00
啊,因为我们这边可能是按了这个按照了更新时间排序,所以这边我们操作完他在上面呢,嗯。嗯,但是这么做呢,不是特别的。友好啊,我这个进入成功不成功也不知道,我们希望的话能谈一个提醒消息啊,有点类似于像啊这个例子,比如说我们把这个给启用,哎,弹一个提示消息对吧,那这样体验会好一点。所以呢。啊,我们把这个直销也加上。再然后就不在这里面去写这个。写这个。事件了啊,写这个函数了,我们跟之前写这个列表的时候一样,我们把这个获取数据的,呃,方法呢,尽可能的放到外面啊,不要让。这里面有有太多的一个逻辑啊,不要让这个里面啊,或者说字段里面有太多的一个逻辑。实际上你这么简单的写也行啊,这么写也行。真的啊,这么写,你你再加上一个括号,比如说不就是两一个提醒消息吗?那我们,哎在这里来写。
05:08
诶,发送这个请求啊,那请求成功之后,我来弹这个提示消息message。第二呃,先从这个上面引入啊,第2SUCCESS操作。成功啊。那这个呢,你要在这个。NT里面去引入啊,刚才已经自动往引入了,但是大家想个问题啊,因为这个请求啊,它是一个异步的对不对,所以说它还没执行完呢,这个消息这个就就弹簧了,那肯定不行,我们把它把变成同步的,那我们使用这个a think和这个it来把它变成。啊,同步的就是等他在执行完之后再弹出啊,当然你也我们也可以对它的这个结果进行一个判断啊,就是说让他这个是否。就是决定是否操作成功,嗯。来接受一下啊,Re。
06:01
Response response。嗯,判断的话呢。我们直接判断它的这个就可以了啊。呃,因为在成功的时候呢,他的这个state给大家打印一下看看吧啊。因为之前我们在写登录时候判断过,说它是成功的时候啊,就是说没有错误的时候,正常就是返回正常的状态码的时候,它这个state是呃。呃,另外一个东西啊,来我们来打印看看啊,刷新。比如说这个好。是没有东西的这个空啊成功之后。嗯,就是。因为这个API它返回的就是2041个,没有任何的一个一个响应。对吧?啊,但是如果当他报错的时候,比如说我们请求这个地址不存在,来我先随便写写,这个时候response它就有东西了。
07:09
嗯,那把它给禁掉。可以看到这时候就有这个呃,状态码了,对不对,所以我们想要判断。就是说做简单的一个判断,就是说你必须得操作完成了才返回成功的话,那么我们只要判断。它等等于按底范的就可以了啊。按底的就可以了啊,如果他等等于按底范的,那就是操作成功了。嗯,这个它写这。Else,哎,就是出现了异常对吧,把这个写着啊。操作失败。
08:00
失败啊,改革error。啊,那这个就是我们的这个代码啊。可以缩进一下。啊,这个就是我们的这个代码,但是我们这里面之前说过了,不要写太多的一个逻辑,所以把它给拆成独立的一个函数,那这个获取用户列表,我们就先。嗯,先折叠啊,再来写一个。OCK。右右等于我们直接把这个先写上,因为肯定要去解决这个同步和异步的一个问题啊。嗯,这边我们要一个UID。把这个注释写一下啊。封禁和启用用户。那。把上面的这个整个东西。给。替换掉就可以了,哎。
09:02
这样就行了。那这里我们就。调这个方法。Think也不用要了。啊,注意啊。我们这个方法名定义的有问题啊,为什么说它定义的有问题呢?啊,他现在给我们提示说我们应该在呃定义完之后再去使用的,那实际上啊,我突然想到了之前我们从这里面去暴露出来的也叫look user对吧?那。我们这边自己定义的也叫这个名字,所以我们给它换个名字。啊,换个名字,要不然的话就是和我们的定义的这个,呃,就是导出的这个是一样的。清楚吧,啊,那我们来改一个。Handle吧。Handle有处理。一般我们就是给这些呃事件的一些回调函数啊都啊习惯性的去,呃,加上这个handle就是处理的意思啊,处理什么的意思啊。
10:02
接着把它给改了就可以了,好,这时候它又会给你标记一个东西,会告诉我们他说你应该在定义之后再使用它,那为什么我们是在这里使用了它,但是函数是在下面定义的,是不是好,那这就涉及到这个代码的一个先后顺序的问题,先把它折叠啊,所以我们一般在写这个表格字段的时候呢,会把这个表格字段紧挨着这个return之前啊,也就是比较贴近表格这一块,那为什么这么写呢?因为我们在定义这个字段里面有一些事件的话,我们会用到一些函数。对不对,函数呢。哎,我们就可以在前面去定义。这里只是我们定义了一个啊,处理这个进行和行的对吧,那其实你往后看我们是不是还有处理这个编辑的。对不对,哎,所以我们把这个字段呢,往写的靠下一点,这样的话我们可以在上面去定义函数。嗯,其实这个代码呢,是有这么一个。一个顺序啊,我们把一些状态啊,一些这个purpose啊,啊,或者说一些呃,需要用到的一些常量,我们定义在上面。
11:06
啊,包括生命周期啊,接着是函数啊,函数呢,先写这个生命周期相关的啊,就是还有一些这个后相关的啊等等这些东西,接下来最后再写我们自定义的一个函数,就大概这么一个顺序。啊。呃,我们来看一下啊,这是我们定义的函数,那这个就不是record ID了,而是这个UID,因为这个UID呢,是我们在这下面去调用这个函数,把这个UID给传过来,那这个就传record.id。就可以了。是不是这样的?好,我们来试一下。来把这个空格删一下,来保存,进行一下测试刷新。嗯,随便去把它给禁用掉啊好。操作失败。嗯,操作失败,哎,可以看到两个提醒啊,两个提醒呢。
12:01
一个是。那个request,我们当时统一的错误处理题呢,这个操作失败就是我们这边判断。给出的这个结果啊,就是我们这边判断给出的这个结果来定位一下,就是这里判断的,那为什么操作失败了呢?啊,之前为了给大家演示啊,这个response的一个结果啊,所以我们把这个地址写错了,把它改回来改对。这时候再来看啊。嗯,还是我们把它一起用掉,诶操作成功是不是这时候你再刷新页面。可以看到啊,刚才的操作的数据已经是静音状态了啊,因为我们做了这个按更新时间排序,所以我们就是说最后更新了它,所以他在上面了啊。那我们比如再操作一下,我们把它给启用好,操作成功,我们来刷新,就看这个AA啊来。可以看到它就是启用状态,再禁用操作成功刷新,它就是一个这个A就是一个禁用状态好。
13:01
那。这个就是我们的这个禁用和启用的功能啊,这一小节先到这里。
我来说两句