00:00
大家好,这节课呢,我们继续来优化这个登录,还有一个问题啊,那我们来想一想,什么问题呢?就是说我登录之后应该干嘛去,比如说现在我登录可以点COM123123登录,登录之后好缓存里面也有了我的这个数据,我们来看一下这个缓存,我们来一起。是吧,也有了,我这个数据也了,我我的都有了,对不对,但是我登录之后应该跳哪去。对吧,是不是登录之后应该,诶跳回去对不对,好,我们先把注释给补上,找到登录的这个页面啊。登录之后啊跳转,但是这个跳转跳转到哪里呢?那你不能强制要求他跳转到首页吧,比如我现在在在这个这个商品里面,我正准备去收藏吧,诶收藏完给我跳到登录,登录完之后你就给我回首页,我找不到商品了,那肯定不行,所以呢,你在登录之后应该跳转到来源页对吧。啊,就是你从哪个页面来的,那么我跳转之后啊,就我登录之后,你还给我回到那个页面去。
01:04
是不是这样的?那我们怎么知道这个来源印呢?对不对,怎么知道这个来源印呢。那应该是有API可以获取到当前这个页面的,哎,就是触发啊,触发我们这个工具,触发我们这个交验工具的时候啊,就是哪个页面触发的,不管是在这个API里面去触发的,因为你即使是你在这个API里面去触发的,那是不是也说明有哪个页面去调用了API对不对,那么或者说干脆是我们这里面页面做的拦截啊,是不是也是说这个页面调用了这个函数。对吧,所以我们想办法在这个函数里面啊,想办法就是在我们这个工具里面,想办法拿到这个来源页啊,把知识写一下啊。哪个页面啊,哪个页面。好。呃,我们来找一找啊API啊,在这个UI里面找一下它的这个API啊,看一下有没有办法去获取到这个来源页。
02:07
有一个基础。路由与跳转,我们来看看在哪。框架里面吧。框架里面。找一下这个页面啊。页面有一个get配置。用于获取当前页面站的一个实例,以数组的形式按占的顺序给出第一个元素为首,最后一个为当前样,盛大当前就啊在这个UN中,因为它的整个的这个生命周期,整个生命周期的设计,它是呃,参考的这个微信小程序啊,那页面呢,哎,就是我们的这个页面,它是有页面的这个站的一个概念的,那为什么我们能返回,是因为哎,我有上一个页面对吧。啊,那具体的这个页面站啊,就是啊,类似于给大家画一下图啊,类似于这样的一个一个站啊,比如我当前是首页,哎,我的首页在这呢,啊首页现在呢,我点这个啊点这个比如说详情就来到了详情页,对吧,详情里面我又点这个推荐商品,哎,就来到推荐商品,那我在进行返回的时候,其实是一步一步的再往上一步返回,比如说返回的上移页,这个就没了,哎顶层的页面就出来了。
03:20
知道吧,好,那我再返回这个就没了,就回到了这个页面,诶首页是无法返回的,最后一个就是说最后一个底层的页面是无法返回的,对不对,是不是这样的,那所以也是我们的逻辑是一样,那不管现在我在哪个页面啊,不管现在我在哪个页面,那么我跳转到登录啊,跳转到这个登录,哎,是不是登录就在上面的,对不对,那我来原页是不是就上一个页面。对吧,当然来源页是上一个页面,那么我们触发校验,触发跳转的页面是不是就是这个页面,这个页面触发的跳转,对吧?或者说哎,比如说这个是首页,那这个是详情,商品详情,那我在商品详情里面点收藏触发了跳转,那是不是?诶上面这个是登录,那这个就是我们的来源页商品的这个详情。
04:01
是不是这样的好?理解了这个页面站的这个概念之后啊,啊,我们配合这个方法就可以了啊可以了。啊,那我们来使用一下这个方法,使用一下这个方法啊,注意它是第一个元素是首页,最后一个元素是当前的页面,刚才给大家画的那个图啊,那。第一个是不是首页啊,那最后一个,最后一个肯定是我们当前看到的这个页面是吧,它是当前一样,所以我们用它就可以,用它就可以啊,那怎么来验证呢?我们来看一下这个打印一下再。这里面啊,打印一下。对log好,打印一下它,呃,那我们想触发这个is login啊,还要把缓存给清掉,那我们去这里清一下缓存,把这里面这个缓存给清掉,可然后重新刷新,那注意看到我们的consl,现在我来到这个我的它会触发这个登录对不对。哎,触发这个就回到这个登录页嘛。
05:01
好,出发了啊。那我们现在看看这个页面站的情况,是不是只有一个页面。对不对,而且这个页面你看一下它路由在哪,是不是有个root root里面是不是有pages center index。对吧,这个就是我们要跳整的页面啊,注意这个话人家说的没问题啊,是获取的是当前的页面,诶那你可能有疑问,那我当前看的是登录啊,那为什么是他呢?你注意这个登录是什么时候来的。是我们,哎定时器结束之后跳转后跳转回来的,那我们这个函数getr配是什么时候执行的。对吧,是在跳转之前执行的,是在这个log里面执行的,在这里面去执行的,对不对,那is log是在哪里面调用的,是不是在生产这里面调用的。所以说我们这里记录的这个当前页,它是这个I center in没毛病吧,没问题吧。啊,注意,因为我们现在只有一个页面,所以它是零啊,但是你要按照这个文档的要求来。最后一个元素是当前页面,所以说我们要拿最后一个元素啊,然后把它的这个root给记录下来,用于登录以后的跳转,明白吗?好。
06:03
让我们来修改一下我们的这个啊,比如说呃,这个是当前页啊当前页。呃,我们把它给定一个配,这个是所有的页面是页面站,页面站好,那当前页的话。当前页啊,我们这样写吧,CU啊,Current page current page,那等于谁呢?它得到的是一个数组,哎,我们不是抛出最后一个,是不是得到得到了当前页对不对?好,当前页里面的这个啊,Root root是不是就是我们要拿到这个页面的一个地址来打一下看一看啊。嗯,还回到这个里面啊,这个里面,然后我们来去点我的,诶是不是得到这个地址,那我们把这个地址给缓存起来,诶登录之后跳转是不是就可以了,好。呃,缓存当前页用于登录之后,登录或者注册之后的跳转。
07:04
缓存我们就使用这个,呃,un.site sorry就可以了,像这种的临时的这个缓存没必要去用。那个view啊,那缓存有两种,一个是storage,一个think,我们用这种同步的方式,同步的方式让我们写起来更舒服,只要给他一个k video就可以了,一个是K一个是video,那video当然是缓存的,是它了,好,那。K呢,我们就,呃。随便写个吧,比如说back URL啊,就是返回的一个URL啊,那缓存之后,那我们登录之后,是不是可以取出来这个URL去进行一个跳转。对不对,好,那我们来到这个登录页啊。登录成功之后跳转到蓝源页啊。嗯,我们来取一下这个back URL back URL它等于谁呢?等于u get storage,同样我们也用同步的方式去取,只要把这个back放这可以了,但是它可能又不存在,所以呢,诶不存在的时候呢,我们给个page index,就当你没有这款存,我们就让它跳到这个首页绳止,防止它报错啊,那跳转,这个跳转也有技巧。
08:15
因为我们这个来源页啊,它可能是来自于普通的页面,也可能是底部的TYPE8页面,这个时候你就不能用redirect了啊。因为direct你跳转不到那个TAP8 tap8只能用谁Switch type8对不对,但是你要是用Switch type8,你又跳转不到普通页面。对吧,所以你要做判断,判断呢,太麻烦了,那我们有一个很好的跳转的方式,是不是一个re relax来找一找。看一下这个rel啊,Re烂的话,它可以去,诶关闭所有页面去跳转到任何页面,所以我们就用它就可以。来我们跳转使用它啊。对,这个不是unit工具啊,是啊,这个do u里面的这个root do u的这个工具点。Dota用点。
09:01
Root啊,里面有一个tap tap参数就是我们要跳转的类型,然后有一个URL,那URL呢,就用我们的这个back UR就可以了。好,这里啊,少写一个啊,应该是这样。是它或者它,那我们来保存来测试一下啊,那先回到其他页。让它触发这个跳转,并且缓存回跳到一个URL。好,请登录,然后跳转到这里面啊,那我们来执行一下登录test,可以点com诶执行登录。登录成功之后,哎,是不是回调回来了啊,那但是呢,这样写呢,明显不是特别好,我们应该给他一个提醒,说登录成功之后再跳转,所以呢,我们这里简单的写一个定时器啊,比如说哎这里登录成功之后。我们在哪地方去?这里啊,这里确定拿到用户信息之后,this.you点。
10:04
ST。登录成功。好,那个我放到这里,放到这里,只要其实拿到talking就登录成功了啊,那接下来这个跳转呢,那我们就写个定时器set timeout,诶同样的给个时间还是啊1.5秒调整,那我们整个清掉缓存,重新再来测试一遍。这个缓存给清掉。来回首页啊,接着呢,来这个我的。那我们要重新刷新页面才可以的。来这个我的重新登录啊。诶,是不是出发跳转了艾特点。com。啊,登录成功,然后1.5秒以后跳转到个人中心,那这个我们回跳就写完了。
11:01
好,那这小节就先到这里。
我来说两句