00:00
还有一个下面一个工作就是我。打开退出去要对吧,要更新未读数量对不对。这能不懂啊,更新未读数量好了,更新未读数量得发请求的,这能懂不啊,要发请求这个地方就涉及到啊,请问啊,我在什么时候准备去发请求呢?大家想我们来看,我是打开它就代表我看了呀,是不是?那也就是说我一进入这里面就得干嘛去发请求。是不是概念,那也就是说首先我要知道发请求得在这里开始对不对,这个组件是哪个组件下找到我的下对吧,那我在chart这个组件哪个位置写了。
01:03
看是不是可以吧,这不是我们经常用来发请求,初始化发请求的位置吗?啊,那也就是说我是不是可以在这去发请求。能找不啊,发请求干嘛去更新?是不是未读数量啊,消息的啊,未读状态啊。好,那我这个时候就需要有一个对应的异步什么action。不是。同样的搞法嘛,对不对,来我们来去先啊去用上我假设它有一个什么啊来。This,时间时间好,要取个名字。嗯,取个名字就代表我读了某一个消息,能懂吧,我读了某一个消息。
02:05
呃,就叫read什么当前的message可以吧,我读了某一个消息吗?这人头吧,好。好啊,我读了某一个消息,这个地方就有意思啊,读了某个消息,读的是跟谁的消息是不是。这里面是有问题,我读的是。与谁的消息?是不是要指定谁呀?真的不说明这个地方肯定要传参数,就我的目标是谁啊,我更新谁去啊对不对。谁呀?那我是不得知道这个目标啊,这个目标咱好像读过。呃,我们的目标不塌嘛。这能懂吧?啊,不就他吗?是他吧。
03:00
就吐嘛,那我要去先搞到他,接着把它给他什么。是不是传过去?这个to啊,这个地方还要注意啊,这个to啊,我到时候去更新那个消息的时候,只是更新他发给我的消息吧。这要注意啊,不过这是后台处理的,这个你不用管啊,主要这个是不是我的目标用户的ID。啊,没问题,好。那我改个名字啊,我改个名字记不叫突了,我就叫什么呢,叫target给什么ID。可以吧,他ID。就目标用户来定好,那下面有些事情要做,说明这里面需要什么。是不是船好上面需要什么引入啊,叫引入对不对啊引入,但是定义了吗?没有,那说明我要干嘛去。
04:02
写一个对吧,写一个异步X来看一下。写一个叫什么读取啊,读取消息。则什么呢?E不读取消息啊。来写一个export comes的它对吧,等于一个。好,这地方A不认识,大块传了个什么来着。传了一个什么参数来着,叫他给他ID过来了对不对。听懂不好,接着呢,我一般马上把它拿过来嘛。对吧,现在我们要干嘛去,在这个里面是不是要去发请求,既然是发请求嘛,那我得干嘛。引入一个,诶。
05:02
是不是有啊。能看到吧,有好,有的话那我就来呗,怎么办?的response等于哎,要写个什么wait他。好,我们来去看一下,他需要传的是一个什么。From什么概念啊,就是那个那个消息是谁发给我的,跟我的他ID是不是一个意思。是一个意思吧,这个消息从哪来的?谁发给我的啊?为什么用from?主要是接口里面用的from。是不是这个点好,那我这边需要查询。他给他ID,好,这个是goto,需要把它的左边加一个什么啊,Think没问题吧,好,那下面有了这个response,下面一步是固定的result等于response点对。
06:08
是吧,下面点要为几零。那我要当一个什么事情去,对不对,那下面我是不是分发一个同步X。是吧,分发一个同外形,那不是调什么第派,诶,我是不是需要定一个同外形。来定一个同伴,先得定一个东西。先得定一个什么export,代表我是不是已经读了一个消息,不能叫read message,因为的话,刚才我那个名字就叫read message是不啊,那我就写一个啊,反过来写啊,反过来写message read啊,这个同步message写,因为那个E刚好就叫message啊,就不好叫那个名字了。
07:00
好,就叫me read me读啊。这个代表是查看过了啊,查看过啊,啊消息啊,某个聊天消息某个啊,就像某个聊天消息,某个聊天消息可能是看了多条消息。真的吧,啊,聊天消息好。来啊,某个聊天接着啊,我们这里有了以后,下面我在这个action里面需要干嘛,引入对不好引入来这个地方就需要去先写一个什么。同步X来啊,嗯,读取某个。嗯,聊天。消息的同步action。
08:00
好,没问题,来啊,接着名字写什么?跟这个,根据这个写就message read吧,等于好来啊type,接着是read,好,关键是什么。数据传什么对不对啊,数据要传什么,这个很关键。好。回想一下我们的接口,还记得我们接口广告什么吗?啊,看一下我们那个那个接口很关键,回到我们的项目,打开接口文档,啊,打开接口文档,找到我们最后一个接口。还记得这个什么?这是一个更新的什么数量,也就有几条消息,我看了对吧,我看了几条别人发给我的消息,这个能不懂这个数量,到时候总数量是不是减去这个值。
09:08
要吧,必须要。啊好,其实大家想啊,我当时除了更新总数量,还有别的要更新的吗。还有一个很重要的就是那个那个chat message,有的message的那个那个read的值也得改为从force改为什么。这个人了吧,啊也要去改。那这个时候我是不是要找到哪些需要改呀。知道哪些需要改,这个东西就需要至少要用两个东西来确定,一个是from,一个什么呢?To,谁发个谁的消息要改。未读的肯定是要,这是未读的好判断对吧?啊,也就是说什么意思呢?啊,再说一个意思,我要给他传三个数据。我要给他传三个数据,哪三个呢?我们来说一说啊,首先后台返回一个数据。
10:06
对吧,叫count,就更新的数量。能懂,还有一个from,还有一个什么呢。那这三个数据都得干嘛呀?是不是都得传给我也不知道啊,我现在发过去的数据到时候要用。对吧,那这样搞的话,那我的这里来回到我们的,诶这上面啊。在上面我这里来。调到谁去了?Message read,它需要接受什么?三个东西对吧,也就说你要传给他这个东西啊,那个count from,还有什么to,那我在这之前就得什么。是不是准备这三个数据,那先说第一个。
11:02
在哪里?是后台返回的,后台返回数据都在这里。点什么这去count,为什么看呢。看接口文档。对吧,结果那你告诉他好,下面啊一个事情就是我需要知道from是多少。谁就他来第一嘛。好,下面还有一个完整的是吧,还知道谁。是谁呀?Q,谁对呀,我的ID对不对,我当,哎呀这这这这有点有点是不是有点太那个了是吧,你太让人受不了了。那也就是说我是不是需要当前我自己的那个什么。
12:01
我当前ID,我当前ID我现在有吗?完蛋的玩意我没有。那咋办呢?那得传呢,对不对,说白了你最好你要能传给我,那最好的对不对,扔了我啊,能传给我吗?看看read message在哪去,Read的应该有。应该要有啊,大家看一下我们的这个,我们是在哪个里面做的,在那个chat里面是不是调read message,调用read message,刚才不说传了一个他的ID。是吧,还把谁产UID是吧?很懂吧,那UID在哪呢?有没有?有多的是,我们这里面有没有在里取过,不仅有咱取过。比这个吗,是不是。能懂吧啊。
13:00
那也就是说我们这一次啊,就就来个这个,你取个好名字吧。这个叫什么from,取好名字很重要啊,那我这个也就叫什么啊from和什么to,当然你也可以搞成对象,对不对啊,一个from一个to能看懂吧,好接着啊,接着来看一下啊,我们如果有了它一个好的设计以后,我这里面就写什么from和什么to。是不是,那这个时候我们就传谁from,它不是需要from吗。是不是,那这个里面呢。这个不用搞了。From和to我都有。是不是我就需要什么content count就行?这个能不能懂啊,这个啊,整个过程还是涉及的东西数据特别多,主要是好最后一步了啊,最后一步了,我们只需要去看一下reduce里面是不是再要加一个什么。
14:03
因为我新加了一个T。新加了一个type,叫什么来着,Message read啊,这个不好写啊,这个不好写,你们来看一下啊,这个实际上是有点难度的。来,我来去写一下case,它冒号。好,先取出里面的数据来,里面有哪些数据啊,有from,有还一个什么。等于。点。美女吧,下面最终我是不是要返回这一个玩意?对吧,只是里面的值来一个看它变吗。他不变吗?这个字好写,我先写上,就这个好做,这个好实现。
15:04
原来的数量state点减去。Count,这个好写。认懂不最难的是哪个,最难的是他啊,这个也个难吧,为什么这个难呢?这个得去修改,找到某一些message,把它的on read count,把那个它不是read,把那个read属性找到一些message,把read属性从变为什么true,关键吧,有一个问题你又不能直接改。能懂不?你又改啊,又要把它不识变数,还不能直接改。啊,这是一个特别让人受不了的事。你这不矛盾吗?你看你又要改,又又不能直接改,对不对,说白了,你要你要是能直接改,那我其实还是挺好改的,就是去便利嘛。
16:01
找到根据这两个条件,一个from,一个什么to,是不是可以找到一些message?把他的message的read属性变为什么?变位数。这个要改的话还行为难,譬如说我我现在直接改是什么概念啊,很好改。来看看点什么呢?一、便利吧。是不找到一个message,看我直接改啊,肯定是不行的,接着判断一下哪些message需要改的。很简单点,From等于什么呢?From,并且什么to等于什么,干嘛去?MY还有一个,还有一个条件,其实对read它本身应该什么。我是不是判断很精准?这三个条件那记着干嘛去啊?等于数记住了是不是?但我能这么做吗?
17:07
图我不能这么做,也就是说你你不能这么写啊,写完以后你又这样做。The。这不行。不。你说老师你这不是要了密码,这做不下去了,都是吧,这个地方得说啊,这个时候要用数组的另外方法叫map。对吧?麦方法会不会改变以前的数组里面的数据,不会,但它可以产生什么新的。啊,也就是说什么意思呢,我现在要去调的是它里面的什么。卖一部分吧。认了,不找每一个message好了,这个里面的逻辑呢,有点长,所以我就用大括号,最后写个return。懂不懂好什么一个概念呢?是这样概念啊,大家看到我啊。
18:04
Eve。啊,我来判断它当前的这个message是不是需要改的懂不懂。也就是说这个是需要修改的啊,需要更新的下面就是什么。这不需要啊,你说不需要更新啊,那我就直接干嘛了,把这个message给一样的给他,这么我们修改了,我们修改啊好下面下面说的事情是什么呢?啊,如果是满足需要更新,需要更新怎么说其实很简单。把这一段给他什么拿过来呀,这不是说明需要更新吗?但是啊,你不能直接更新,什么意思呢?你不能这么做,不能这么做了。你不能说咔嚓一下。啊,这个变为to,接着把这个message返回这行吗?不行,因为你这样改数据了。
19:07
有人说,老师这咋办?啊,三点运算符,大家看着我。啊,点点点message,接着我需要把read改为什么诶。我改以前的message了吗?没有。我没有去改以前的message,但是我产生的这个新的message是不是已经改进去了?啊,为了去做这个事还是挺费劲的,说实话。好,那这样的话呢,我们就去更新了这个数量好了,我们大概看一下看看啊,我们相当于已经做完了啊,你做完了试一下行不行退回去问好了。
20:01
看到吧,接着。啊,关键是走,你没了是吧。但这里面还有一个小问题。什么小问题,我就大家看啊,我看我看一下我当前的这个人是谁啊,我当前这个人是。那个老板啊是吧。能看到吧,是老八啊,我就进入老八,我就进老八,我就在老八跟他聊天是吧,我放这里我也没聊啊,我就放在这里,好,我拿我先发起进攻。啊,老板啊,哎,我我当前老板跟大神一聊天是吧。好,聊一下。这里我是不是看到了,那请问现在要不要显示未读数量不用。有他,我都是从那过来的,你还显示未读是两年,他不是要我看两遍吗?
21:05
是不是这意思,这为啥呢?啊,主要是我开开始考虑我什么时候才去更新未读数量对不对啊是在里面,我刚没想我开起的是你进去对不对,别人先发的你后进。那可以对吧,关键是你先进去别互发,那这个时候这一段代码根本就没执行嘛,没有机会执行对不对,说白了也有可能我在退出的时候。去做。退出啊。那么呢,其实我可以不放在里面,我放在退出的时候行不行,退出就是无论你是哎后进来还是先进来,都要退吧,你说老师我要不退了。我就挂着呗,对不对啊,不对,你就没机会看到那个未读数量。是吗?你直接退回去哦,那未读数量就消失了。
22:05
懂我意思不啊,只是说诶,你会看到那个消失的过程,那个消失先看到一个,后来诶,嗯,消失了啊什么意思啊,就在这。我们不有一有一个还一个是退出的回调函数吗?Component啊while什么吧。有这个我记得好像有啊,Component就是死亡之前。还有一个回调,我把这个东西。来把这些事情,那就是这一趟,这一趟都从这什么切过来,那不懂,也就是说这个是相当于在什么退出之前。是不是看一下好看一下啊。看一下啊,这一下肯定可以。能懂不没问题,好,主要我进去是吧,他给我发消息。
23:07
此时我去更新没有。没有,我只是没有去更新对吧,我只是没有更新那个未读数量主要是在什么?哎,但这个就有一个不好的地方就在于什么,你先看到了,哎消失了,为什么有这个过程。因为你要发请求,他是个异步的,这还快了,这算快的,你看真的慢的话,你想啊,比如说假设他要,他要一秒钟,那你就看到一秒钟。能找吧。啊,这是这个。嗯,那这样的话呢,我们就其实啊,这个也不一定要发消息啊,这个如果做的好一点,应该是先判断我有没有未读消息。可不可以?如果有,我采取什么?才去发嘛。对不对,如果没有,那我就没有必要发了吧,一定有二。
24:01
我当前这个聊天一定有未读消息吗?不一定。对吧,所以这个事情其实可以做的,做做一些完善,做一些判断。这个大家自己有兴趣可以做一下。好,那基本上我们的这个未读消息就全部搞定了,嗯。啊,包括这个更新啊。
我来说两句