00:00
好,我们来看一下啊,咱们呢现在还差以下几个功能,我们呢,要实现这个预报片首页功能是不是,哎要做这个事,所以说我们待会呢,明天的时候呢,还得去重新爬取数据,然后另外呢,我们还得去热门数据呢,还有一个悬念,是不是还有一个图片是不是还没处理好,还有一个悬念啊,然后接下来是不是还有一个,当用户回复文本的时候,是不是能查看到指定的消息啊,诶,那咱们去处理一下,还有回复语音是不是也能搜索相应的信息,那咱们呢去做一做,好在做之前呢,我们把这个字题简写简短一点吧。比如说回复首页查看。啊,看预告片页面吧,电影预告片页面啊,硅硅谷电影吧,查看硅谷电影预告片啊,如果你写多了的话呢,它不会换行啊,它会它会有多余的那些换行,那在这儿呢,就是查看。最新最热门的一些电影,然后下面呢,就回复文本搜索。
01:04
搜索电影信息,然后下面呢,也是回复语音呢,也能够搜索电影信息,好就这样写简短一点啊,然后呢,在这里呢,我们就把这个给复制一份,复制一份。把下面这个呢也改一改啊,复制一个呢,把这些改一改,是是不是改完之后呢,我们将下面这两个回复文本和回复语音,我们把它写一写好,当用户回复文本的时候,我们呢,先来到上面,是不是在这里面想办法处理啊,在这里面想办法处理好,那该怎么去处理它呢。他呢回复人本,那就首先排除这个热门是不是,如果你回复热门是不是我不管你啊,我就走热门数据好大,用户回复什么比方说黑客帝国啊,什么小猪佩奇啊等等是不是,那这时候我是不是要去查询相应的电影啊好,那我该怎么去接收到用户发送过来的这些数据呢?我该在哪里去判断呢?
02:05
第一个判断的,我是不是首先用户发送的是不是T文本啊好,第二个它是不是可能回复热门,回复热门是不是处理它相应的数据啊,这个我不管,然后呢,除了热门之外呢,我还有一个首页,是不是首页呢,我也保留着,到时候呢我们再写,那除了首页之外呢。是不是就是我其他的信息啊,那我该怎么写呢。我是不是可以在这里写一个,那就说明是不是用户除了首页和热门以外的东西是不是都进来这里,好进来这里呢,我就去搜索用户输入的。指定电影信息是不是搜索用户输入的指定电影信息,好在这里呢,我们怎么搜索呢?我们看啊这里我们就用上了我们的豆瓣的接口了啊前面呢,我们发给大家的一个文档,是不是豆瓣API接口文档啊好,通过这个文档呢,我就能找到对应的条目信息了,它呢,根据这个地址,哎,输入这个Q这个参数,他呢就能搜索你要查询的电影是不是,哎他呢,就是讲到的数据呢,是不是整体返回给你啊,那么你想做什么事是不是就都能做了,就都能做了啊,就是通过这个方式发送的,那么对应的呢,我们是不是要向这个地方发送请求啊,要设这个地址发送请求来CTC。
03:31
我们打开我们的设定,我们呢拿到用户的数据,拿到用户数据呢,接下来呢,是不是要想办法去发送请求,发送请求呢,我先去定义获取,我这个就是定义吧,定义我这个请求的地址。小地址呢,它要做些相应的处理啊,比如说cos一个ul,它呢拼串首先是不是这个地址啊,接下来我要加一个Q等于某一个值,是不是Q等于某个值,Q等于是不是用户输入的数据啊,那就是多了符大括号,用户输入的数据是me热点content是不是好,最后呢,我们想一想啊,我们最终是不是要把查询的信息返回给用户啊,那我应该返回一个什么东西给他。
04:21
文本吗?文本有点不太好,是不是我们应该返回一个,怎样的让用户体验更好一点呢?你想想是不是一个图文列表感觉看起来更舒服一些啊,它呢,有图片,有我们想要的标题等等,是不是这样的可能更加舒服一点,所以说呢,我们待会呢,就打算返回图文列表,那么图文列表呢,是不是对应着就会有那个数量限制啊,是不是最多有八条,所以对应着我们这里,我们呢也不需要所有的数据,我们最多需要。八条数据是不是,那怎么写呢。
05:02
N的count等于就可以了啊,那我们只需要八条数据,是不是就等于八?好,这是地址,接下来是不是要想办法?发放请求啊,发送请求我们将引入那个库了,引入什么库呢?比如,我们的request是不是一个RP等于require?呃,Promise库对不对?好,发送请求我们发往下走吧,RP括号里面传一个下,第一个参数是method的啊,当然这个参数可以改变的啊,就是它们的位置没有关系,是不是位置是没有关系的method的hod为。Get请求是不是好,还有一个叫做ul是不是UR简写方式,然后下面呢,Dress为true是不是dress为true好,写完之后呢,咱们是不是会最终拿到值啊,拿到返回结果啊,拿到返回结果好,我们来看一下它最终的返回结果是大概什么样子啊,我们来测试一下。
06:20
好,比方说呢,咱们来写发请求一下,比方是黑客帝国回撤啊,最终呢,是不是返回的数据展这样啊,返回了一个对象给我是不是好,这里面呢,是不是主要的数据都在这个subject里面啊,它是不是数组,其实我们是不是就要的就是个subject啊,所以说呢,在这里呢,我们就只要拿subject,而且我们看一下subject里面有什么啊,它呢有一条一个个对象,是不是有一个对象,每个对象里面呢,有这些属性,首先第一个是writing writing什么呢。这是什么?是不是这个电影的评分啊,还有最大值最小值,还有这个平均值,是不是咱们一般看什么啊,看的就是平均值,你最大最小我压根用不上,是不是只要平均值啊,然后这个呢,是不是我这个电影的类型电影的标题电影的。
07:22
主演啊,是不是电影的主演啊,主演里面呢,又是一个对象是不是啊,这里面呢,就有什么LTLT什么呢,是我这个主演的个人详情页,是不是他的这个个人详情页,主演的个人详情页,然后这里有个alor是不是,那这个东西呢,是我主演的。海报图,主演的海报图,就是他是不是他的图片啊,长得还蛮帅的是不是,然后这是不是主演的名字啊,主演的名字,然后这是不是他的ID址啊,你看啊,每一个东西呢,都会有个ID值,因为这个ID值呢,就是对应着我到时候怎样去请求到这个数据的,是不是就是这个东东啊好,下面这些呢,都是一样的,我们就不看了,再往下走的话呢,是不是有个collection count啊什么呢?
08:10
什么意思啊,收藏收藏的数量是不是40多万呢?40多万很多了啊,王G探的呢,是它的。电影一开始出来的原来的名字,如果你是国外的电影的话呢,就会显示你国外的那个名字,他呢,在国外是不是这个名字啊,这个名字,然后some sometimes呢是他的类,也是相当于是你这个整体的类型,属于我的movie中,是不是属于movie啊,然后呢,Director他的导演是不是有几个啊,可能有几个导演啊,Yes呢,是他的上映年份,是不是上映年份,然后images呢,是我这个电影的海报图片是不是分为小大和中等,是不是小大和中等,然后LT呢,是对应的我这个。我这个电影的整条电影的详情页面是不是来到这里啊,整条电影的详情页面在这个LT,最后是不是ID值啊,这个ID值呢,永远都是到时候能够去访问你的详细页面的这个ID值,也就说只要你知道这个ID值的话呢,你就能轻而易举的访问到的详细页面啊,就是这个东西,这个就是多瓣ID好一共是不是就是这些字段啊,那咱们呢,去写写啊,拿到这些字段呢,我需要它返回值里面的其中一个东西叫做。
09:32
Subject是不是写错了,是不是这样的呢?我只需要它,所以说呢,我们为了去判断它是否是有效的啊,我们最好是做一个这样的处理。我们还要判断一下这个。是否有值啊,万一没请求回来,万一这里面是空的,那么你后面的话呢,可能会出现一些问题,所以说呢,我们这里判断它是否有值,如果有值。
10:03
如果有值的话呢,我就判断它有没有如果存在,并且。它呢有长度,是不是至少有一条数据,是不是我点勒就够了啊,它要么为零,要么为比零大为零的话返回false为比邻,那的话呢,会返回处是不是好判断它这个是否值,如果到这里的话呢,说明。有数据是不是说明有数据,如果走到else,那说明啊,说明没有数据,没有数据的话呢。我就返回一个字,自己给他啊,暂时。没有相关的电影信息啊,暂时没有相关的电影信息,就你你发送过的东西呢,我搜不到,搜不到,那如果有数据的话呢,我就返回一个图文列表给他,是不是好返回一个图文消息给用户啊好,这里面呢,就是用我们之前的想法了,把之前的呢给他。
11:05
稍微复制一份CTRLC是不是,然后呢,拿过来CTRLV啊,这里面我们看下哪里要改啊,首先我这里是不是有个for循环啊,我for循环不是data呢,是这个subject,同样的是subject是不是好,这里面呢拿到30呢title对不对,拿到它的sum有吗?刚刚有没有看到summary没有啊,注意这里面呢没有summary,所以说呢,你如果想要看到他的summary话的是没有的,那我们这里呢,给他一个评,给他自己写一个评价吧,我们在这里就写个这样的东西啊,比如电影评分为。就加上我那个对应的定义评分,叫做艾特点。Res点。是不是这个平距值啊,Average才是啊,啊writing不是s writing下面的average是不是啊,这个东西才是我自己设定一个它的一个介绍啊,电影评分为这个,然后呢,下面是不是它的图片啊,图片呢是这个images下面的,比如说咱们回复个小的就叫做small是不是small,然后这是不是地址啊好,这个地址的话呢,咱们就不再写了,咱们呢就回复他这个直接跳转到豆瓣的这个LT上,直接跳转到豆瓣的详细页面上可以吧。
12:28
直接调整到动漫的详细页面上啊好,那这个呢,咱们是不是设定好了,设定好了啊,这是当用户回复文本的时候,是不是回复以上详细给他回复一下给他,那么这个文本写出来了,那大家能不能写出来这个语音。能不能将这个voice给我写出来?他们之间有没有区别?我这语音,当用户输入到语音,我是不是能通过message点这个东西,拿到这个语音识别后的结果啊,诶结果都有了,我能不能按照上面这个步骤再来一遍可以吧,啊也行,是不是下面如果你要写的话呢。
13:10
无非就是将上面这个步骤呢给整体给CTRL。C分,但是呢,我们是不是从这里开始啊,CTRLC分,然后呢,把它给放到这里来,我们要改哪里呢?我们将C改成这个值,是不是这将改成这个值,其他的要不要变。是不是暂时没有变化了啊,其他的就完全没有变化了啊,那这个呢,就是当用户回复文本以及回复语音的时候呢,我对应的给他查询相应的电影信息,然后呢,回复一个图文列表,是不是给他回复个图文列表给他,好接下来呢,咱们也来测试一下,看一下他行不行啊,那我们重启一下服务器,好接下来我们来测试看一看,我们把这个服务器现在呢,遇到个问题,就是当我们输入任何文字的时候,或者是其他东西的时候呢,它统一都回复一个什么呢。
14:07
暂时没有相关的电影信息,是不是好这样的肯定不行的,这是为什么呢?好,所以说在这里呢,我们要去做个这样的事,做个这样的处理啊,我们能打开我们之前的一个工具叫做Fi Fi啊看到这个Fi呢,能不能去监听到我这个发送的一些请求,能不能接收到这个响应啊好,我服务器呢,同样的开启了,我呢重启一下服务器,我呢看一下能不能接收到啊,如果能接收到的话呢,我们就看一下我呢发送一个消息给我的这个页面。好,那我已经发送过来了,然后呢,发现呢,他没有接听到,是不是他没有接听到,我这里不接听这个web,我应该接接听所有的进程,接听所有进程,好我这时候再来看一下啊,再看一下。看下能不能接听到。
15:00
啊,这里呢,好像拿不到我想要的数据是不是啊,拿不到的话呢,那我就没办法了,他这里呢是接收不到,诶接收不到对应的我想要的信息,我看一下能不能接收到啊。它这里呢,是不是接收不到啊,接收不到的话呢,我们就看不了啊,这里呢,我告诉大家什么问题呢,就是当我们去这样发送的时候呢,我们就发现这个请求的地址呢,并不是我们如此的去发送的,它呢做一个转换,它将我们这个。传递的这个参数对不对他进行了UN编码进行转换,让它转换成了一些。什么百分号等于号下划线等等一些东西,那这些东西呢,到豆瓣这里接收的话呢,他就会以为你要查询的东西就是这一一大串乱码,所以说他就查询不到指定的电影信息是不是,那我们该怎么设置呢?我们这里呢,就不能这样去传递参数啊,我们要想它真成功能实现的话呢,我们就不能这样传递,我们就得改一改,怎么改呢?来看啊,首先这里现在这样写的话呢,会出问题。
16:09
我们来,诶首先我复制一份啊,第一个写法呢,会出问题,不能这样写了,我们用第二种写法。他呢,既然不让我这样传没关系啊,我们呢,在这里面还能加第二种参数叫做QSQS什么意思呢。代表query string代表的是查询字符串,是不是我查询字符串呢,除了这样写在地址上呢,我也能写在这里面,所以说呢,这样写的话呢,就不会出问题,我是不是一个Q的值,它等于这个message,可能除了这个值之外呢,我是不是有个看它的值为八是不是好,下面呢也是如此改啊,下面也是如此改,我们呢也改一下。注,然后呢复制,然后呢,把这个QS这个参数呢加上去。
17:01
加上去,然后呢,这里面呢,改成message点这个东东是不是好,现在呢,我们就可以没有问题了,这个就没问题了。呃,哪里啊,少一个。啊,上面少一个H啊,诶这个H怎么少啊,那上面是不是也少啊,啊,这个也少了啊,加上好应该没问题了是不是,那咱们呢,重启一下服务器,那大家呢,再来测试一遍,来看一看它到底行不行啊啊所以说在写的过程中呢,我们会发现呢,一些形形色色的错误,形形色的错误,那没关系,那我们呢,到时候一个去处理好啊。然后他说暂时没有信息,我看一下是不是哪里出错了啊。好呃,大家呢,这样我呢把这个subject给打印一下啊,大家呢,先不要请求啊,先放过他。我呢,把这个subject打印一下,为什么打印它呢。啊,因为呢,很可能它返回值是find。
18:08
看一下它返回值是不是find呢,而它返回find,这时候呢,我们就不知道这在哪里呢,我们呢,就拿一下整体的值。给大家看一下整体的值,我们呢将所有的值呢,通过塔接收,通过德塔接收,然后呢再定义一个,为了下面能够用的话呢,我呢定一个值。等于得塔点是不是塔点可以这样吧,我这样是不是想去打印一下它最终的返回值啊,打一下最后返回值,好,那我来测试一下啊,因为呢,我们很可能遇到了这个问题。来看一下。最终的这个返回值给我打印出来了是不是?好,那它是个promise项,那我这里好像没有wait,是不是看一下有没有用wait,是不是没有wait,我还得加上一个wait,因为它返回值是个promise项,所以说我们这里都得补充上这个才行,好,这是第一步啊,来再看一下。
19:11
黑客帝国,我看下能不能得到。好,有没有黑客帝国的数据了啊,现在就有了啊,刚刚呢,我们可能是因为那个pro项的问题啊,Pro项呢,我们没有加位返回是不是啊,这是一个,另外一个呢,也是刚刚所说的这个问题也存在哈,是因为我们拼的这个串的话呢,它最终会进行ul转换,转换成一个怎么百分号啊,各种符号组成的一个东西来去取代你这个中文字符,所以说可能会出现问题,那么你不想它转换的话呢,你就要把它放在这个QS中,它就不会转换了,放在这里面就不会转换了啊,只是这样的,然后通过位呢,就能拿到我想要的值了,那它想要值,好,现在呢,大家在测试的话呢,就没有问题了,没有问题了啊,咱们来。
我来说两句