00:00
大家好,这节课是我们这个项目的啊,正课的最后一节课,那这节课呢,我们来简单的。做一些总结以及啊修复一些bug啊。啊,首先呢,是。我们在写这个项目的时候啊,是一点一点的慢慢往前推进的,对吧?最开始是初始化我们的这个项目,包括把这个要改的这个logo啊,还有标题等等都改好,那接着完成了我们的登录和退出,嗯,那登录和退出完成了之后,我们就有权限去访问那些需要登录的接口,嗯,那接下来我们就是完成了这个用户管理相关的一些功能,在用户管理。呃,这个功能里面呢,我们对这个编辑和添加啊,把他们的这个表单进行了整合,对吧,那这样的话我们使用起来就比较方便,而且基于这个基础,我们在写下一个商品管理的时候,就是直接复制的这个用户管理的代码,然后写起来就比较快。但是在这个商品管理的。嗯,就是新建的时候呢,我们碰到了很多的一个问题。
01:02
嗯,那先把这个问题给解决啊,这个是。就是我们点添加的时候,它会用到这个属性啊,我们这个属性是在属性是在编辑的时候做显示用的,对吧,但是添加的时候实际上。呃,就没有初始化这个值啊,就是它是一个案底判断嘛,它没有这个东西,所以我们来判断就是只有是编辑情况下才显示它啊,咱们刷新一下,嗯,编辑是没问题的,对吧,你编辑肯定是有的。那这个添加我们来做一个处理啊,这是一个呃,要优化的地方我先找到。嗯,这里啊。哎。就是他对吧,那。他呢,一开始是个呃,案底办的啊。所以我们这边还要再多加一个判断。嗯,就是呃,你不能等于安底范的啊,所以哎,这时候我就。这里加上一个判断。就说如果。嗯。
02:01
呃,你等等于安范的或者。嗯,它不存在,我都默认去取空啊,否则的话它正常显示,我们看看效果啊。这时候再点这个。呃,图片的问题解决了,用了一个新的问题,是这个详情的对吧,那一样的问题都是因为我们添加的时候是没有初始化这个属性的啊,也不是说没有初始化,添加的时候它是安底盘的,安底盘的你取它肯定取不到,所以这里我们也再加一个判断。嗯。那么我们的content取决于谁,就是你。等不等于这个按底范的,哎,如果你等于安底范的,我就给你通就完了,哎,否则的话就是你存在我才取你的这个这个值是吧,那我们再来看一下。来接着点新建,这时就没问题了,对吧,那编辑肯定是没问题的啊,那这个是。
03:00
嗯,碰到的啊,上节课没没,我们没测试,没测试出来的,新建光顾着写这个边界了,是不是好,那既然碰见问题,我们把它解决了。来啊,接着说啊。嗯,就是我们在完成这个商品添加的时候呢,碰到很多问题,比如说这个分类怎么处理啊啊,以及这个图片上传怎么传到oss,以及这个商品的详这个详情,这个副文本怎么集成啊,副文本集成之后呢,那我们整怎么去整合自己的这个啊,一些控件都是一些问题,但我们一一解决了啊,并且也收获了很多啊,因为我们在这里处理好之后,后面再用就很方便。啊,那这是对整个项目呃,作为一个呃小小的总结,当然我们项目比较简单啊,还有一些功能呢,是留给大家做练习的啊,在此基础上呢,还有一些就是没有涉及到比如说这个权限这块的啊,或者说动态菜单这块的啊。嗯。呃,关于这个权限呢,如果大家其实这个API是做了这个权限校验的啊,如果大家有需要的话呢,就是说想要控制呃,用户哪个地方能点不能点,这个需要API的配合。
04:07
清楚吧,啊,但实际上我们现在是没有,嗯,就是说。太详细的这个权限这块的一个API啊。来权限管理这块啊,我们是有这个权限相关的功能啊,只是系统导入的一些权限,但是并没有做这个权限的CD,以及一些角色的这个处理啊,所以这个前台的话,你去写权限不太好,不太好写啊,那接着说一说这个动态菜单的问题啊。嗯,动态菜单。嗯,在这个。呃,我看一下这个这是什么,这个A啊,这安design pro里面,这个文档里面呢,没有没有说在一块对吧,但我们知道这个安design pro它是由谁构建的,由这个五米G,所以你去这个五米GS这个文档里面。啊,之前在讲这个无名GS给大家讲过啊,它的这个文档里面有一个运行时配置对吧,那我们可以在这里动态的去,呃,添加我们的菜单啊以及。
05:06
呃,去修改这个路由都是可以的,包括我们做比如设置些标题都是可以的啊,那他说了他有一个约定,就是src下面是app.tr为运行时的配置,对不对。那你来看我们的这个呃项目,我把这些先全关了啊呃,你会发现这个src下面并没有这个文件啊,对吧,实际上你去创建就可以了啊,但是你要创建的时候呢,你注意。嗯,你用的什么语言,你用用的是TS的话,你就创建那个TSX,如果你用的就是呃,这个GS的话啊,看一下啊,你就创建那个GSX就可以了啊APP减GS叉。啊,它也会被就是说默认约束给给这个认为它是一个运行时的一个配置,那我们来写一个例子试一下。就是还是按照这个五米GS里面,我们来动态的去添加一个路由吧,啊,它这个比如说最前面添加一个for路由啊,那我们也也也也这么去做吧啊。
06:01
好,嗯,但是。这个地方需要改一下啊,那这个我们就写写字分就行了。啊,这个也关了。嗯,整个结构呢,其实你要加的话呢,就是按照我们这个路由的结构来加就可以了。啊,如果这么加的话,它会是在。看一下在哪个地方加,我其实想把它。啊,那随便写一个吧。加到看看哪个里面啊。啊,也就是这个路由,其实就是我们拿的是这个东西,这个东西我想让他加到。先看一看吧,先打一下看看,看一下它的结构。
07:00
这里我们把它注释给写上动态添加菜单是吧。动态添加路由吧,啊把这个给删了,来回可能来打开我们的这个啊,看一下conslo啊两个,它有两个,呃,我们是想上第一个里面。诶是想要第零个里面。第零个里面的roots里面。然后入里面的第一个,嗯。这里面的。这里面的这个roots啊,因为是绕了好几层。然后。这里面的第零个。哎,这里面的这个入去加加一个路由是吧。啊,没事,乘数虽然有点多啊,我们来。来呃,写一写啊,为了给大家看一下效果啊。嗯。
08:01
来,那这个就不是root听见了啊,我先把这个点空下来,那我们先先取这个root的第零个。第零个里面的。哎呀。好吧,第零个里面的这个roots啊,然后roots里面的。一。Root里面的这个一。接着再下看啊,我们现在已经到了哪一层了。第零个里面的roots里面的一。里面的roots。里面的零。里面的褥子。现在是取到了这个一是吧,一里面的roots,然后是零入。嗯,大概是这样的啊,先写一写吧。一里面的roots,然后是这个零零里面的这个roots,哎,往它这加一个啊。
09:05
然后来复制一个。啊,比如说就是用户吧。诶,我们直接。把这个对象展这。好,来看看效果啊。嗯,其实大家已经看到效果了。啊,看一下啊,那上面这个这第一个这个用户管理就是我们动态加的是不是。啊,然后这个是这个报错的这个问题是就是因为有了,就是同样的这个K啊,都是请求这个这个U3有重复了,我们来一个三二。然后这个其他就不改了啊。因为我们也没准备其他的啊东西,好这时候他就不会再有这个报错了,看到了吧?啊不是我故意清的啊,是真没有了啊好,那这也多了一个用户管理,那这个就是我们这里去加进去的,那所以呃,基于这个运行时的这个配置呢,你就可以呃根据用户的权限呀,啊就是说你登录之后给你返回的用户相关的权限去做这个呃动态的一个菜单,甚至包括呃呃使用他这个。
10:14
里面的这个权限啊,我看看是在进阶里面嘛,有一个这个权限管理来处理这个权限啊,这个都需要后端的一个API的配合,但当大家碰到这种业务需求的时候呢,呃,要知道怎么去写啊,我们这个例子就这个项目就不再。多说了啊,那这里这个例子呢,也给嗯大家就是呃,放到这里啊。嗯,那这一块呢,我们把这个打印给关了啊。好,这给大家注释掉吧,大家知道有这么回事就行了啊。啊,这个是关于权限和动态菜单说的一点问题,那接着再说一个问题,就是说其实我们呃,在写这个登录和注册的时候。啊,还有一些问题,那在解决这个登录注册相关的啊,没有注册在解决这个登录这个问题的时候呢,诶我们先把现有的这个代码。
11:04
给提交一下,提交下好吧。在这个里面就可以了。嗯,我这新打开了一个终端,这个因为在启动比较慢。查看一下这个状态。啊,这是改了这么多东西啊,呃,添加到本地的这个索引区,呃,这个注释。呃,我们是新加了一个功能是吧,啊爱的这个是商品管理啊模块最后推送到。远程的仓库。好,那这个。这个改完之后,这个颜色都会变白啊,那把这些都关了,说一下刚才我们的这个问题,登录这块什么问题呢,就是说。嗯。给大家看一下吧啊。先看第一个问题,就是登录的话。
12:01
他会返回给我们talking对不对,但是talking它是有时间的,你talking过期了怎么办?对吧,那时候我们本地的这个存的这个用户信息,还有talking都没有清除。嗯,但是呢,Talking又过期了,哎,所以我们来处理一下这个问题啊,那怎么来演示这个问题呢?我来给大家演示啊,想让talking过期啊,也很简单,我直接通过另一种方式,我把talking给作废掉,但是这里面我不清啊,我不退出,因为退出会清掉这个本地存的这个talking和用户信息嘛,那就是正常退出了,没有问题啊,我就模拟一下talking过期啊。怎么来模拟找一下这个API,看到also认证这里,呃,有一个退出。对吧,好。然后你会看到这里还有一个刷新投给啊,呃,其实呃,你在。呃,请求的时候,如果检查到了这个talking的这个过期的话,你是可以重新去刷新talking的啊,当然还有一种方法是呃,如果talking过期了,我们就把就是说这边存的这个用户信息啊给清掉,让他去重新登录也行,这两种方式你就是看你要不要做呃。
13:03
呃,用户就是能连续的,就是说哎,无感知的那种一直在线啊,你要如果那么做的话,那你就得用到这个刷新啊,你如果说呃,感觉这个比如说七天以后,什么十天以后这个talking过期了,那你就是要退出,让用户去重新登录,那你就不用去刷新talking,就是这么一回事啊,那接下来我来复现一下我们这个问题啊,就是。我用一个工具啊postman,我在postman里面,我来调这个退出的接口,执行退出,那这时候我们本地的这个项目。Talking还都是在的啊。啊,就是talking啊用都是在的,但是呢。这个talking已经失效了,用我们用postman把它给搞失效了,清楚吧,好,我来测试一下啊。找到这里。我们把这个啊,API的地址啊URURL复制一下啊,使用这个postman啊。放在这儿啊,然后看一下它是什么请求方式,是这个post啊,那这个就是post,但是前面域名是什么呢?域名的话,我们去这个项目里面看一下域名啊,这块其实之前没给大家说啊,呃,就是说这个域名呢,我是换成了我本地的,因为嗯,我录课的话,这个线上的卡的话就比较费时间,所以我就用我本地的,但是这个本地和线上的代码是是一模一样的啊,都是一模一样的啊。
14:20
那我也用本地这个地址。来,在这。来现在我点那个退出,他肯定不让我请求啊,他会给我返回一个这个401啊,因为你请你执行退出,你肯定也也得是已行登录才行啊啊而且这个手册也明明显告诉你,你需要这个认证的一个头步啊,需要这个talking啊,这有两个办法,一个是就是我们诶你就老老实实的你在这添加一个hier啊,添加一个认证的header,然后那个value什么那个beer,然后空格加talking对吧,这几种方式啊,还有一种简单的方式,直接在这个啊呃,这个里面认证这里面类型选择我们的这个GWT。诶,找找在哪呢。嗯,API啊,这这这啊,它不是W,它是这个bear talking,那我们就选这个,然后把我们的talking填到这里就可以了,清楚吧,但这个talking从哪来呢?
15:08
来打开我们的网站,这个是我们登录过后的啊,我们之前talking是不是成local story了,对不对,好,你在这个把这拉大一点啊,找到这个呃,A里面的话,哎,你找到这个local storage,点到我们的这个地址,800这个地址,然后你会看到这是我们存的talking,这是存在用户信息,对吧,其实我们就要要这个talking来复制一下这个talking。Talking拿到之后钱在这,现在来进行退出。好,没有任何返回,返回了204啊,但是我们知道204的状态码实际上已经操作成功了啊。看这里啊,和这个手册完全对得上,也就是说这个talking已经被,呃,就是服务器已经把它给标记为无效了啊,就是说拉黑了。嗯,但是。我们是用它来模拟一个talking过期的一个情况啊。啊,因为过期的话,它也是执行一个拉黑的机制嘛,啊,但是你操过期之后,我们这个local还没有清除啊,你看都在。
16:00
对不对,但是这个talking已经没有效了,那就会导致一个什么结果呢?来现在你看我刷新页面啊,看商品管理。是不是用户没有令牌?没有没有令牌密码错误,但是你不应该停在这个界面啊,这就是我要反馈的一个问题,对吧,而且你还显示的用户信息,这明显不对呀,啊,那怎么办?所以我们要在这个用户没有令牌的这个,呃,这个错误这里做一个判断,然后来清空,清空一下本地的这个存在talking以及存在这个用户名,然后跳到登录,是这么一个逻辑吧,啊,那我们要对这个。对它做判断在哪呢?大家想都不用想,肯定是在这个request的这个拦截器里面,明白了吗?啊,那你看看你要拦截你要判断的状态码是什么,来继续打开。这个网络啊,现在啊,就是点到插一下,然后我来刷新。你来看一下啊,就是它返回的状态码是什么401对吧,所以我们要对这个401做一个单独的一个判断啊,做一个处理,嗯,那找到request。嗯,Src里面找到这个工具里面request。
17:04
我们要对这个错误啊,异常处理之前我们特就说特地处理过422以及400,那为什么把这个401也给加上呢?哎,我们把这个401也给加上401啊,401大家想想是什么情况,要么你没有登录,要么你就是过期了,反正你这talking是就有问题。明白了吧,啊,当然这个消息呢,我们还这么这么提醒就就可以了啊,但是在弹出这个消息之后啊,我们要干什么,清空用户。存储的。这个用户本地缓存的talking和用户信息对不对,好接着呢,第二步是不是要给它跳转到登录,然后重新登录去。跳转到登录啊,重新登录好,这是我们这种做法是,哎,如果感觉你过期,我就让你去,嗯,重新登录,但实际上还有一种做法是你在这里,你判断如果本地有并且返回了401,那说明什么过期对吧,本地有talking,但是返回了401,那是过期了呀,如果你本地没有,那是没登录。
18:15
对吧,那那这时候你再请求那个刷新,刷新talking的这个API,重新刷新talking就可以了,对吧,那我们这个就不说这么麻烦了,我们简单的处理一下就可以了,好首先来清空,清空的话。啊,这个呢,我就直接复制了啊,那它和退出的逻辑是一样的啊,复制快一些不说的了,呃,找到我们这个登录相关这里啊,退出登录。嗯。看看哪掉的这个logout啊,应该是在。这里啊,这里调用的啊。然后是在这个dispatch啊,也就是说呃,用了这个model对吧,那我们去model里面找。啊,所以有时候时间一长,写的代码真的会容易忘记啊,啊,但是你要知道怎么怎么去找来看一看,这里面是有一个啊退出登录了对不对,好,那我们主要是看这个啊,包括这个重定向。
19:07
这些都是我们需要的,对吧,那直接整个复制就完了呗,好吧,然后复制,哎,加到。这里啊。然后把这个消息给他换了就是。跳转到登录好,那这个消息就不要了。因为我们这边已经,呃,在这里已经处理了这个错误的消息,并且啊,会在最后统一的进行一个输出,好,那看一下我们少不少东西,这个history看有没有啊,已经有了。对吧,那是因为我粘贴的时候自动帮我引入的,如果没有的话,你就自己,哎,从这个history,就是从这个污里面去导,导出这个history,然后你就可以使用这个跳转了,好,那接下来我们再来看一看这个情况啊。来,现在刷新。Talking肯定会过期,帮我们清掉这个数据,然后跳转登录一点问题没有,对不对,好之后你再进入其他比如说需要呃这个登录的页面,比如我们跳这个,看这个裤子。
20:05
对吧,直接给我们跳这个登录,但是这又是一个问题,它会一直在这闪闪闪闪闪闪啊这个是什么问题呢。大家想一下啊,你看它不断的呃呃跳到这个根,然后就是跳到首页,首页又认为你没有登录,给你跳到登录,然后呃,就是说登录页呢,又给你跳到这个首页,就他俩再来回重振下,对吧,那肯定是我们这个登录页面判断有问题。哎,我来找到这个登录页面page。找到这个login以及这个index啊,我们之前是不是在这个。这里面做了一个判断,如果已经登录过,直接去首页对吧?好,我们先把它注释掉,看看还会不会出现这个问题。来刷新。等一下啊,这个已经。死机了,那我们来把它关掉啊。重新开一个。
21:01
哎,还是访问的首页,首页重叠上的根目录啊,重叠上登录没问题吧,啊,哪怕我去其他的这个页面,比如去这个,呃,商品管理。也是会重定向到登录啊,没有任何问题,那说明之前的无线重定向出在哪里,那是不是就是这个判断的问题对吧?那这个判断问题我们先打印一下它,看看它到底是怎么回事啊,为什么这个判断会失效?来logo。打开。可以看到啊。这里的有色音符是这个值,那明显不对啊,说明我们在存的时候出问题了,来找找是在哪存的。呃,应该是在。获取用户信息的时候存的就是这里啊,我们只是用叹号去判断,其实应该呃。呃,这边获取这个用户信息的时候。应该判断一下啊,在这里要判断一下,确实是拿到了这个用户信息,我们在。
22:05
进把把它经营存储一下对不对啊,那这里面来进行的判断。等着。是否获取到用户信息啊好,那我们先打印一下,看它的这个值究竟是什么好吧,那接下来呢,嗯,把这个本地的这个缓存也都清空一下啊,找到排线。这里面啊,可粒直接点这个就全清了,你看这边已经没了啊全清了,那我们整个来重新测试一遍,看到看着我们的输出啊。来,整个重新来一遍。好闹了是吧,啊好来现在登录。 so123123。啊,登录成功。信息拿到了啊,就是拿到信息的情况下,也就拿到信息的话,他会他有这个ID的清楚了吗?就是这里。
23:01
所以我们不能直接存,就是他有可能获取失败的话,你直接就把一个失败的信息给存到这里面,我们这边就是再去取的话就会有问题。清楚吧,啊,当我们这个有信息的时候呢。嗯,其实。嗯,这边。我们这么判断也会有一些问题啊,那我们先看看其实。呃,这边我们更严谨的应该是判断他的这个ID啊,这样也能防止他,就是说如果是其他一些对象造成的一些呃,意外的一个情况啊,来我们这个时候去访问这个log页面,那会直接给我们。嗯,把这个数据展示出来看一下,如果这个ID存在。嗯,让他跳到这个首页,为什么没有跳。嗯,它是个字符串。啊,它整个就是个字符串啊,那这个我们就就不取了,不取了,嗯,只要我们把那个就是说用户的。
24:04
缓存用户这个地方,它的数据来源给处理好。都没问题。嗯,那。这边我们来判断一下啊,就说if.id啊,不嗯,不等等于按比范的啊,就是确实拿到了用户信息,这是我们在存这个用户信息。好吧。啊,那这样的话,我们保证了这个数据的入口不会出问题,好,那接下来我们整个清空,再重新来测一次。来把这里清掉,可掉啊。好清掉以后来刷新,那肯定就会跳到登录对吧,因为我们把那个整个都清了,现在来。进行登录。第三。
25:01
登录成功对不对。那这时候你再去登录页面就不让你去了,因为已经有用用户信息了,清楚了吧?好,那我们再测试一下talking作废的一个情况来。看看还不会,会不会发生刚才的闪屏,找到这个talking,我们来复制一下啊,找到post man。呃,这个talking替换掉,我们来执行退出,好,已经退出,现在talking已经作废啊,但是我们浏览器里面缓存的还是有用户信息和talking的,那我们来看看,诶,我们的这个对这个request的这个处理有没有生效啊,顺便把这个改了,是401这个消息呢,也也不要了。这个默认的这个消息就够用了啊来接下来。嗯,可以看到啊,你现在你去访问这个根目录就不行了,它会给你跳到这个登录页,对不对啊,那嗯,只能。就是而且跳的时候还会把帮我把把这个清了,看到吗?我没有手动清,哎,我只是在这个这里面去清除的,然后这里面它就自动退出来了啊,那我们最后再测试一下这个登录啊。
26:07
哎,没有任何问题,好,呃,那之前那个闪屏的问题呢,那是因为我们对这个这里是对他做了判断,对吧,但是呢,呃,我们没有对他的这个写入做一个严格的要求,所以说这里获取用户息的信信息的时候没有做判断,就是说他有可能是一个呃,错误的一个信息,我们也给他写进去了啊,有可能没有真正的拿到,所以这里呢,我们把这个入口给给。啊,把关给控制好就没问题了啊。好的,呃,那这小人呢,我们进行了一些可以优化的一个地方啊,然后呃,进行了一些稍微总结,那我们这个既然是修复bug的话,那我们也提交一个G啊在这里来。嗯。State。添加到本地索引去啊,这这报了一个错啊,他说。嗯,这个文件已经存在了啊,然后是。
27:02
呃,无法提交啊,我们要先处理之前那些异常,之前可能提交的时候有异常,那我们呃先把这个文件删掉,重新来一次啊,就是点get这个目下这个问题RM。来删掉它啊之后。呃,再尝试添加一下就可以了啊,接着来提交。好,那还是这个内容啊,我们提交,提交完之后推送到远程分支。嗯。嗯,这个就就关了啊啊,那把这个所有的都关了。在最后呢,我们再来看一个细节上的一个问题啊,就是关于。我们的service里面,诶,使用这个request啊,就是全参的一个问题,嗯,实际上你如果。点开诶这个东西的话啊,比如说点开这个request,我们来找一个post,比如说添加商品这里啊,我们来点这个post啊,你按CTRL,然后点左键点进去。
28:04
来点进去之后呢,你会看到它使用的是就是第二个参数是option,哎,就是我们这个第二个参数这个option嘛,它使用的是这个这个泛型啊,那这个泛型我们点进去之后,你会发现它接收这些参数有一个date,有个apartments对吧?啊,那这是我们常用的两种传参的这个这个方式啊呃,他呢一般啊,我们都用于这个搜索和查询,它会把这个参数附加到链接的后面,那这个date呢,一般就是我们POS提交啊,就是它会把我们的参数附加到这个包包题里面啊,那其实有很大的一个区别就是。你使用apartment啊,就是我们常说的快餐餐,它会。哎,就是附加的这种链接的这种后面以问号的形式传真嘛,对不对啊,那它会有大小的限制啊,比如我们一个呃详情商品详情比较大了,那这显然就不合适,而且还呃不是特别安全。
29:00
嗯,那个大家大家看一下吧,因为我们之前呃,就是说写这个项目的时候,呃,没有太留意这一块,就全部都是用的它啊,所以呢啊并不是很规范,等会我们来改一下,那先看看效果,比如说我们嗯把这个打开。找到用户管理,这里就看用户管理吧,那把这个清掉,然后我们来编辑一个用户,现在我来提交这个编辑信息,你会发现我们的这个信息都是在这个链接后面附加着的,对吧,而且在这个最下面。它会有一个query群参数对吧,就是。呃,查询字符串,嗯,那。一般查询字符串呢,用作搜索是可以的啊,但一般像这个我们的这个编辑啊,或者说添加就不太合适,包括我们的商品,嗯,大家看一下,我再编辑一个商品,那这么多的信息随着。这个。URL你看附到这个后面明显是有问题的啊,这是一个细节,当时呃,我录视频的时候忽略了这一点,那我在这里作为作一个补充给大家矫正一下啊,大家也也赶紧都改过来,那怎么改呢?刚才给大家分析过了啊,那这个。
30:07
哎,就是我们,呃,就是包体去传承,那这个呢,就是。呃,就是使类使用那个query参参对吧,所以呢,我们来找一找啊,来从这开始看。啊,那这个列表呢,我们就不用管了,那肯定是que参参更好一些啊,就是快参参,接着是这个没有用到参数对吧,那添加商品肯定用到了,那我们就不用它了,用谁呢?用这个date啊,那这里是date的话,这里也是date啊,其实就是data和date嘛,那就可以省略了,对吧,所以就是直接传这个date,好,这是添加商品,那当然我们等会也会去在。测试一下啊,然后是详情用不到啊,然后是这个更新啊,这个备注还没改,这是更新商品。那更新呢,我们使用到to提交啊,也是会涉及到大量的一个数据的一个提交啊,所以这里我们也改成date来把这里改一下。好,这就完事了啊,这是关于这个option品,然后还有用户的应该是也是没改的啊。
31:05
对,嗯。嗯,这个确实是我忽略了,之前在讲,就是尤其是讲优色这里啊,就光顾着从上面往下复制了啊,然后商品是复制的用户的啊,所以我们在视频的最后做一个调整。来这个添加用户把它给改了,嗯改成这个date,嗯更新,那其他的就是用不到了,像这个禁用啊,或者一个查询啊,查询就用carry参参。嗯,然后我等会儿会找个地方给大家把这个就是呃,稍微写一写,那我们先看效果,在我们进行完调整之后。嗯,我们来添加个用户吧,啊,如果添加用户没问题的话,那商品也没问题,都是一样的,嗯,添加一下。呃,修改了,直接修改了,修改快一些来直接提交,这时候你会发现啊,这个后面就不再附加上我们提交的这个参数了啊,而是在在下面我们把这个先折叠,折叠这里会有一个这个request啊这个。
32:10
哎,这样的一个。啊,配漏的这样的一个传参对吧,那这个就是我们使用的这个body传参。清楚了吗?这是两个传单的方式,嗯。嗯,我把它写到哪呢,写到。嗯,等会儿吧,我先把这个改完,看看登录有没有。嗯,登录。用不到啊,执行登录是一个POS的请求会,嗯,提交这个账号和密码啊,所以我这个我们要用最好一点。啊,这个其实就是data,虽然是过来的是apartment,但实际上接触到的是他。对吧,实际上我们传的是这个data嘛,你看。看到了吧,所以呃,这里如果把它改成date的话,那你这个就可以省略了。清楚了吧,嗯。嗯,那接着其他的都改一改,看一下这个分类。
33:02
来分类。啊,分类只有一个查询,不用管,看一下这个公共的啊,也是只有一个一个查询啊,还有我们的首页的数据也是只是一个查询啊,那我们把它。嗯,这个给做最后的一个一个总结,因为之前写这个东西的时候,就是从上面一直在复制,在粘贴,就忽略了参数这一块的一个区别。啊,因为我们提交的数据量都比较小,就字段就很少,所以说啊,你数据你不管你你你get方就是说你使用这个query还是什么body都能提交到API那边,API那边呢,他也能就收到这些数据,所以说没有出现报错啊。啊,确实就给忽略了。好的,呃,那这块大家记一下啊,我给大家写到。这个。登录啊,写到这里吧,写到这里吧。诶不对,写到这个用户这里。
34:03
好,写到这里。写到开头,这里面给大家总结一下,你们看的时候就可以,呃,在这个里面去看啊。呃。关于request第二个参数。Options,嗯,它涉及第二个参数,实际上就是一个options,嗯。Option。常用的啊,常用的两两个传餐方式啊,常用的两个传餐方式啊,来第一个是呃,我们的这个。Apartment传菜啊传菜,嗯。
35:02
呃,其实也就是也就是这个。看看对吧,多用于查询,多用于get请求啊查询数据使用。呃呃,注意这个呃,这个类型是对象啊,或者这个呃URL。的一个查询字符串,我看他怎么写的,这里给你告诉你了啊,它的这个类型一定要注意是对象或者是。这个东西啊。啊,记住。继续写啊啊来第二个就是。嗯,也就是date啊,Date传参,嗯,也就是这个,嗯,For传参多用于。提交表单数据。
36:04
好,这个大家记下就可以了啊,它的这个类型也是对象啊,类型是呃,类型不是对象啊,是这个任何是any啊,但是推荐大家呢,也使用对象啊。嗯,那这里写一下类型是艾美啊,推荐使用对象,好,在这里我把这个request的就是说它第二个option进行了两总结,当然你想看其他的呃这个参数的话,就嗯按着CTRL,然后左键点到呃这个request这里面,嗯。这里面点进来的话就不太好找,那你点谁呢。你随便找一个,比如说request点派啊,或者说什么呀,他都会给你找到这个泛型,你看看这个option,他要的一个参数,再点进看的时候,你就可以发现常用的这些啊,比如说。啊,传这个参数date啊,以及这个传参啊等等等等啊。哎,那如果你想看这个,我们这种都是使用的呃,Request点的形式,如果你想直接看request都有哪些参数,也是CTRL左键点进去看啊request。
37:07
啊,然后我们这里使用的是这个request啊,所以这个我们来点到这看,实际上还是到了这里。最终还是到了这里,好的,那这小节就到这里。
我来说两句