00:01
下面我们来去看那个注册登录功能的前台处理,也就是说我们要针对于我们当前这个应用,这个client这个应用去写。也就是说我们第三个部分是吧,那第三个部分呢,其实有三个部分需要写。啊,一个是就是跟后台交互的啊,一个是Rex管理状态,最后是写到我们的组件能让用户看到效果,用户能够去操作好,那我们先来看。来啊,首先呢,我们需要去下载一个包啊,这个他用过叫什么。Access来我们在客户端的应用里面将这个。包了,给它下载下来。好等它下载啊,那下面。
01:02
下面说一下。我们要去。与后台通信是不是就要发一个概念叫请求啊,那请求我们肯定会用到这个access,但是呢,我们要对这个请求进行一定的包装。让我们的。使用起来更加的简单。看一下,看看大家能不能看懂啊。啊,我这里呢,封装了一个请求的函数。呃,这个请求函数,它里面用到了谁呢?而这个请求函数大家知道应该有两种方式,一个是get请求,一个什么post请求,哎,我这里面一上来就会判断啊,我我这个请求函数接收一个type类型的值,接收一个type值。嗯。如果你T值等于get,那我就最终发的是什么呢?x.get发get请求,如果这个type等于什么呢?Post,那我就会去发什么post请求,而我这个参数的默认值是什么?
02:14
大家知道,我们发请求,除了知道请求方式,还要知道什么?请求的URL以及请求的什么参数,诶,我这一个函数就接收三个参数。刚好就是我们需要的那三个条件。第一个是URL,第二个呢,我是把参数以对象的形式传过来。也就你可能穿一个参数,也可能穿两个,一穿三个对不对,大家知道请求参数是建子,对这个能不能懂是user name等于什么,Password等于什么是吧。哎,把它封装为对象传过来。那这里面有一片代码比较有意思,就这一片。
03:01
是在干一个什么事情呢?是在根据你传过来的参数对象来拼一个串,大家知道get请求。那个请求参数,参数在哪里的,是不是在URL后面。也就是说,我们假设UI开始没有带入带参数,后面是要跟一个问号。对吧,接着是什么。User name等于一个什么值,对不对与上啊,Password等于一个什么值?这个能不能懂,而在后面的这个部分需要什么呢?需要根据你传过来的什么date。来去拼这个要花一点精力,就写点代码。其他的就比较简单了,再问大家最后一个问题,我这个请求函数它的返回值是什么类型,对promise。
04:02
啊,我这个啊,请求的这个函数,它向外返回的是promise。啊,最终我们想用到一个语法叫a think wait,而a think wait其实是对我们promise包装,对吧?好,这个大概能懂吧,能懂以后啊,后面我们就要去写,但写它之前我再看大家大家看到啊,我这一个文件夹下面会有两个模块,一个是刚才这个x.GS这个函数模块,还一个是叫index.js,也就是我的接口的是默认模块。对吧,那这个模模块里面写的什么呢?其实非常的简单,你看它引入谁。引入这个函数吧,接着了啊,看它,它向外暴露了一些函数,而每一个函数都对应一个接口。
05:08
也就是说,我比如说后台有两个接口,那我是不是可以发两种请求。对吧,那就对应是不是两个函数。能懂不啊,他们最终都会调用水去啊,这只是传的参数什么不一样,这个参数包含路径不一样吧?啊在什么参数不一样,请求参数不一样对不对?还有请求方式也可能不一样,对不对?这个不是固定的吧,不是有了这个封装以后,我们的上一层应用再去想发请求就非常简单了,也就是说你只要调用这个函数就可以请求某一个接口。这个不懂,好再问大家一句话,这个函数返回的值是什么类型?
06:06
你要看懂这个代码啊,我现在不管不管功能问的是语法相关的东西,我这个函数返回的是什么东西。真有那么难吗?这这个应该因为你要去分析,你不是不是死记的,这是死记肯定记不住啊,我这一个箭头函数,它同时也是个返回,我的返回不就看这个价函数的返回吗。他返回什么呀?啊对呀,那那跟你说呀,你得说呀,这个跟具体的功能没有关系。这个分析能力必须得有,它依然是返回的是一个啊promise对象,那promise对象后面我们就可以用a think of it就用。
07:05
啊好,那下面我们就开始写第三个先不看啊,来写一下啊,这个写还要点时间啊,我们写的是前台应用啊,后台应用现在基本上不用写了啊,主要写前台应用,大家看到这里,这里面呢,我们需要去创建两个模块。创建两个模块,一个叫取名字叫什么呢?这是一个什么呢?能发送请求的函数模块。他能发任意的这样请求,他也没有确定是什么地址,也没有确定什么方式,也没确定需要带什么的参数,它是个通用的函数,能懂吧?你只要传给他该传的数据,他就能帮你发请求。
08:00
能不懂,还要说一个函数的返回值是什么promise对象,哎,这个要搞好是吧?好来,那我怎么向外暴露一个。Promise对象一个函数了。现现在说我要暴露一个函数吧,Export default,因为我就暴露一个函数,一个东西,对吧,Default就够了,函数发个写,写个名字吧,能不看到。好,这里面接收什么参数。是不是有三个来着,我们发请求不需要到三个东西吗?URL是吧,接着是一个date,实际上是参数的数据对象,这个种包含所有参数的一个对象,我还给它一个默认值,如果你不传,是个空对象。
09:03
能没有看懂,还有一个东西叫什么请求方式,就是叫太可以吧,当然你也可以叫什么MY的请求方式,一个意思对不对啊,一个东西我叫type吧,好给他一个默认值。你说你不传是用什么方式发请求呢?那第get为什么要搞get?因为get是请求最多的,能懂吧,大部分请求都会是get请求,如果你不指定,那就get,如果你要他post请求怎么办?那你就指定post。这个能不能懂。好,那下面呢,我们要去发,但最终去发请求靠谁啊,得靠另外一个东西叫什么。这个能不懂,所以我得将引入XS呢,它有两个方法啊,它有两个方法得说一下啊,XS.get。
10:08
他接受一个ul,这是一种方式,还有一个access,点什么呢?Post,他接收一个ul,接收一个date,有参数对象,包含所有参数的对象,而它的返回值什么类型?Promise对象刚好就是,那也就是说我们最终是要去它或者下面的。对吗?这不懂,但是我们不能这么写啊,对不对得干嘛呢,得判断,也就是说判断一下我的type值等不等于能懂吧,啊,那最终是不是去做这个事。
11:00
对吧?L我按来说还是衣什么得我简单搞一下,不是盖的就是。可以吧,啊可以啊,那也就是说如果这样,那我发送什么forget请求,能不懂,那否则我就发什么的请求,林老师这样好了呀,好了吗?没有。啊,有get没好好了get主要是我这个地方有一个参数。参数对象里面的所有参数得拼到什么URL里面去?这个能不能懂,好啊来啊,那这个时候就涉及到我们是不是要把所有对象里面的属性取出来,拼成一个字符串了,那个字符串的结构,来假设我们现在呢是user name,等于啊,等于趟啊,随便来一个啊,接着啊,冒号冒号啊,因为我是个对象,我单号双号我不写了啊,再来个譬如说passor冒号,比如说123OK吧,OK,那最终生成的。
12:23
应该是个什么结构了?这样一个结构,User令等于烫与上什么password等于。123对吧,也就是说这个上面的是date是吗。这不懂,而这一个应该是我最终想生成一个假设,我叫它date string。各位,或者拍视频也行。这个能不能可以把这个省略可以吧。
13:03
一个是我们条件,一个是目标来,那我该怎么做呢?我首先我要怎么便利我对象里面的这些属性,是不是你的便利属性才行呢?好,有一个语法不知道大家学不学,我直接就上次来跟大家说一下啊,Object的点case。船这个地。这个得到的是什么?得到的是这个对象所有K的速度,能不能K谁属性名,说白了就是那个user name和password组成的数组,这个能不懂?那也就说下面我是变异数组来生成这样一个串,对吧?能听懂不?这个串是不是得拼了啊?拼的话那我再来先ne一下,先得空转吧各位。
14:00
接着了便利。For each是吧,拿到啊某一个K。这意思吧,我又可以去熟悉名,接着来看下我在里面得干嘛去了,拼串了,来加啊加等于什么呢?大家看看我这个先拼出的,这主要拼出这个东西来嘛,可以吧,可以,那怎么拼呢?先是K加一个等号。再加上一个。对什么点K行吗?不行等什么中括号K是不是得到这个属性的值作为参数值对不对,好关键我后面有一个什么呢。
15:03
与符号是这意思吧,来。我这么做,再加上一个语符号。但这样。结果对吗?这结果不对,多了一个什么,多了个下面干嘛是去掉最后一个雨,但是啊,大家知道参数有可能不传,所以我会这么做,如果它有值,那说明拼不串吧,那我干嘛去了?那我就去把它里面的那个解一下呗,沙斯。看到吧,接着了,从哪开始你指定。最后一个。好吗?啊点认识行吗?那样这样就没有结,就是原样的产生了,懂不懂我要去掉最后一个。
16:06
干嘛呢,减一。这个能不懂啊,那此时返回的。就是我最重要的结果呀。看到。那最终我的这个ul是这个吗?不是,那得加上什么呢?先要加上一个问号。对不对,接着再加上什么。这个能看懂,也就是说我们前面这一片在做一个什么事情,拼什么串,拼请求参数的串对不对,懂不懂。下面我们才是真正的是不是使用发请求。
17:04
我们这时候是携带的参数了吧,该带的参数我们都带了,而这个呢,是使用X发什么post的请求,对吧?啊这个能懂啊,这个是比较简单的,刚好数据是适配的。没问题吧,啊,这里面为难的可能就是,其实这个我觉得也并不难,主要是让你搞清楚目标,就是我手上有什么条件,我最终的目标是什么。把这些东西搞清楚再写啊下去了,大家需要去把这个写一下,这个其实还不是我们最终的版本啊,我们最终版本可以比这个做的更好一点啊,后面呢,我们再慢慢的跟大家说啊,这个呢我们先讲到这里。
我来说两句