00:00
好,下面我要做的一件事情是什么呢?我们在首页面上,同学们。稍等一下啊,我先把这个项目,这个项目呢,我把它复制一份。把它复制一份啊。PROJECT21,我把它复制一份。PROJECT2。好,这个QQ总还是叫1.0啊,点击OK。好了,这样我就复制这个新的模块,我把它追加进来。然后呢,这边把它添加一个import。把它加进来。应该是。应该是这个吧。Pro的二二啊,把它加点错了啊,稍等一下。取消。点它import。打开。找到他。哎,这个好像没改是吧,稍等一下啊。Can you see。打开找到他。Can you beat。那行。把它改过来了,然后再来import。
01:05
打开它,找到它,点击OK,点击应用。那行,我现在把它加进来,然后找到我们的rift这玩意,删掉,新增一个。找到22。点击OK,行,我们在这边把它重新部署一次。把它删掉。好把它拿进来说接到22 OK。把它启动一下,同学们来,下面我们接着看啊,我想说的第一个问题是在我们index页面上啊,在我们的top页面上打开。Top页面。我们top页面上这边显示的是欢迎进入谁谁谁的空间。这个谁谁谁应该是动态的。登录的人是谁,这边显示就是谁的名字。第二个是第二个事情是到底这边需需要不需要返回自己的空间,我们得判断。我们得需要做判断。如果当前是在我自己的空间。
02:02
那么我就不需要出现它。是不是?否则我肯定就要嘛,那我怎么去判断是否是自己的空间呢?请大家帮我想一想。我怎么去判断是否是自己的空间呢?大家帮我想一想。怎么去判断?我在登录的时候,那我一定是自己的空间。所以呢,我就下来做一件事情,我们在登录的时候注意看,我在登录的时候打开。打开。找到QQ中。找到controller,我们找到user controller,好,这是一个login方法,注意看啊,我在login方法里面。当前是做登录验证的,我在这个地方先点set,我保存了一个user basic,注意看。先点set attribute,我再保存一个。Use the bicycle。这啥意思?好奇怪哦。我把一个对象分别以不同的key存储了两份。
03:04
我存储了两份。将来我在判断的时候,我就分别从这个key,还有这个K当中分别去取出use basic。如果取出来的user basic相同,或者是取出来的user里面的ID相同,我就认为你当前所在的是自己的空间。我的想法是,同学们,将来如果我点击进入到别的别人的空间,那么这个friend这个key所对应的value是要有需要有改动的。好,我在这边写一下。Use basic这个key。保存的是。登陆者的信息。Friend,这个key保存的是当前进入的是谁的空间?能听懂吗?那我现在我登录嘛,登录我肯定进入的是自己的空间嘛。所以friend保存的技术和我这个u basic相同吗?
04:02
将来如果我点击左侧的好友链接,我进入的是别人的空间,那么这个friend时候对应的那个value我肯定就要覆盖掉了。所以说。所以说我现在回到top页面上去。我在那边加个注释。判断。啊,判断进入的。是否是自己的空间的一居室?依据。依据是什么呢?我们的user和friend。啊,这两个key中保存的。保存的user basic信息。哎,是否一致也行吧,是否一致。是吧,如果是一致的就表示是自己的空间,如果不一致,那肯定就说明你登录的是进入的是别人的空间。所以说,是否返回自己的空间这句话是否出现,我们加个if判断就可以了。
05:01
好了,我们顺手把上面这个也把它写掉。欢迎进入谁谁谁的空间TH冒号text等于。稍等一下啊。TH冒号TXT。回到这边来,3W点。Time。点。OK。那行这个地方我怎么来写呢,到了大括号是是是到了大括号吧,然后呢,是不是叫三啊。三线点是不是叫use basicle啊,点它是不是叫Nina属性啊,当然你如果直接把这个text放进,是不是就只有一个,呃这个什么,你是不是就只有个名字啊。那我那那我们怎么做。还记得我们写过叫字符串的拼接的不?我们是不是可以用竖线去拼接?是吧,我们试试用竖线去拼接。欢迎进入CTRLC。
06:00
把它放到这。谁谁谁的空间把它放在后面是不是可以啊,哎,就把它改成这样好了再来。这个我们也把它做一下。返回自己的空间,我们这边写一下,我们应该怎么写呢?T冒号。If,我们可以做个判断。那么到了大括号。再线点。三点,Use basic。Use点它是不是有ID属性啊。应该有ID属性,等于等于。Session。点。friend.id可以吧,Friend本身它这个本身它不也是一个一个user basic类型吗?对吧。直接ID。如果这两者相等。那么这个SPA就会出现。否则就不出现。就这样子,我们来试一试,看看行不行,我这边欢迎进入QQ中写个一啊,加个数字一看他能不能给我更新过来。
07:03
啊,估计有点小问题,因为咱们user basic,我control这个修改了一下是吧,还是要不还是重新刷新一下吧,啊重新启动一下。我看一下啊,这边应该没问题OK。好,登录页面出来了,稍等一下啊。我来写个。显示。
08:01
登陆者昵称。判断是否是自己的空间。我们先登录进去。好,现在我登录进进去了,欢迎进入,进的空间怎么感觉没变啊,这个一加进去了。感觉没变没变,我们来看一下index页面。哦,这边没改是吧,同学们你看下面两个我改了,但是上面那个没改,嗯。能知道啥意思不?如果不改是不是直接去请求的是这个静态页面啊,那你请求静态页面是不是time就不生效了是吧,同学们行加一下吧啊。TH冒号src好再来。At大括号叫。叫照抄啊。从这到这,CTRLCCTRLV。好,放到这边来。可以吧,Page等于杠,Top后面点里面不要。帮我看着啊。没错吧,大括号我应该补全了啊,没问题,就这样子。
09:00
那么我在这边再写个。在这我再写个二。看一下他能不能刷新过来啊。再回到页面上,咱们再重新登录一次。点击登录。啊,怎么会出不来的呢?样式表都没有了。我写错了。Index页面帮我看着T魔src。配置点镀opera page。Page bras。对了吧。应该是对的啊。这边没问题,这边没问题,我知道了,应该是我们的样式表的路径啊,有问题回到top页面。往上走,那这样是吧。是不是同学们?是不是啊?现在呢,我回到这个上面来,我得把它加进去,叫怎么写,叫T冒号HF,然后大括号全部让它基于绝对路径把这玩意去掉,把这个剪切扔进去可以吧。
10:07
T冒号HF咋了?大括号把它挪进去。请进。把它放进去。好了,哎,这样就可以了。是吧,这样就可以了啊,这样我的样式表它它就有显示了。好,Q3。再来试一下啊。这个还没这个还没做呢啊点错了。刷新一下。再点登录。哎,这手机有了吧。欢迎进入肖峰,你看这个link是不是有用了,但是这个返回自己的空间怎么还出现了呢?啊,那估计我判断是不是有点小问题哦,不知道。看一下啊,假设假设我现在不知道啊,回到这。呃,这个逻辑如果两者相等的时候,我就不应该显示是不是啊,现在逻辑有问题,应该加个不等号是吧,假设我不知道啊,如果不知道情况下,我怎么去判断呢?同学们。
11:00
是这样的假设我这边搞不定啊,我们这边问题是应该把它改成这个就行。是不是这个逻逻辑想想反了是吧,假设我现在不知道我应该怎么做呢?同学们是这样的。大家可以尝试的,比如说我写个SPA,我把这两个人的ID把它打印出来。TH冒号text。筛选点user basic.id这第一个。这是第一个。我加个换行。啊,我就随便在这边写一个叫user basic。SIC好。这第一个,第二个是我们friend。Friend。把上面拷贝一份,根据C。所以说大家你如果说,如果说没有你想要的效果的时候,请你先把这两个值先显示,看它有没有值嘛。防止没有值吗?大家能明白我的意思吗?你可以把这两个值把它显示出来看一下。啊是这样的,那行我重新把它改成删掉啊,重新把它回归到这个形式。
12:00
好,后退一下刷新登录。好,你看一下use basic是不是一样,Friend是不是也是一样,没错吧,那说明现在我这两个值是取到的,取到了你再去考虑到底是哪里出的问题。这是我们的top页面,那么top页面我就说这么多啊。我把这个地方也注释一下啊。好,回到这边来。好,显示登录者。登陆者昵称。这个比较简单,先点use basic.nickname。这第一个。那么第二个。判断是否是自己的空间。判断是是否是自己的空间。那么我们。那么我们使用的是三线点user。basic.id等于等于,因为不等于是吧,不等于叫三先点friend.id。
13:06
如果啊,如果不是期望的。效果。首先考虑将。将两者的ID都显示出来。那行,这是第一个问题。第二个,我们再来继续。第二个我需要考虑的是点击。点击。左侧的好友链接。进入好友空间。Ne这个页面上,现在我们要考虑left top已经搞定了啊,下面我们来看ne。呃,在这个页面上。我们有好友。那好友的话,也就是在。这个AI。这边有个文本是吧。这边显示的是名字,那我们不仅要显示文本,好像我们得显示超链接。
14:03
我解释超链接我才能点嘛,那行吧,所以我在这个Li里面,我来加个超链接A标签。H。好,随便写一个,比如说张三。好了。那这个超链接的。里面这个内容我应该是什么呢。我应该是什么,我是不是同学们,我是不是得把这玩意儿。拷过去呗,或者剪切过去呗。是吧,也就是说我现在这个Li里面已经有超链接了嘛,那我就不要在Li上面再出现T冒号。如果你出现TH冒号text,是不是就把这个内部文本给覆盖了?那是不是就不会出现超链接了?所以我们把这个text把它加到这来。表示当前这个超链接它的内部文本,哎,是这个Nina。再来那这个这个怎么写呢?同学们帮我想想TH冒号HF这个怎么写呢。帮我,帮我考虑一下。我想进入到别人的空间,我的思路是什么样的呢?
15:05
我想进入到别人的空间,我的思路是什么样子的呢?客户端发个请求。发一个请求。我觉得我还是可以给发给user controltr。我可以发给user control,然后user control里面。User controller里面,他帮我去查询你想访问的是谁,这个用户的信息。还有这个用户,他到底有多少个topic?我要去覆盖一下我的topic list。是吧,行,差不多。我们边写边思考来。回到我们的user computer当中。这个登录我就不看它了,我把它。把它折折起来啊,我们再来考虑一个。Public。词句,比如说我写个方法叫friend。那这个方法我要不要参数呢。我认为我得需要一个ID。
16:02
就是我们的用户的这个ID嘛,这个ID就是我们用户的那个主件嘛,我得根据这个组件找到这个用户。筛选,我觉得我们也是需要的。啊,我先把它先拷过来,三线肯定也是需要的,首先第一步。根据ID获取指定的用户信息。根据ID获取指定的用户信息。所以use basic.get哦,Get好像还没有那个根据ID获取的呢,那行,咱们就补一个。回到这边来。补一个。根据ID获取指定。用户信息。Use bicycle。Get you the basic。Use basic。By ID in ID。好了,那么我们得补一个这个方法。回到这边来补一个。
17:02
然后在这个方法里面,我们得可以肯定得根据user的DA呀,所以我们再去找user do.get user,哎,是不是也个叫by ID啊,哎,这里面是有的,那么就写ID。好一下。就这样的,那这方法我就把它写好了。所以CTRL向左再回去,回退,再回退,再回退,好回退到这get use,把ID,我们把ID放进去,这样我们就能得到一个use basic。这其实就是我们当前访问的current。啊,Friend,我写个叫的friend。再来。这个friend,当我点击它的这个链接的时候,我要获取它的所有的日志。所以我觉得我要调用topic service。Topic service.get topic list,我是不是获取topic list,把这个user basic传进去,那是不是就是看中的呀,把它进去。
18:02
好,这是我得到一个topic list,来,我给它设置上去,点set topic list。好,Topic list把它设置上去,然后请问一下我这个设置完了,我应该怎么做。三先点HB是不是?请问我的key是什么?请问一下我的key是什么?嗯,我们之前有两个。有同学说,和之前一样,我们之前有两个。我应该去做哪一个?哎,很好,我应该做这个。所以。Key是我们的friend,然后current friend对吧,然后我再跳转,我是不是就跳转到index就可以了。是吧,先试试啊,你先别管它,先试试index就是这样的。同学们。那到这边呢,到这边呢,我们有个小的问题,三线点set at,我们是把这个current friend,把它覆盖到friend里面去了,那请问。
19:04
不管当前是否登录的是我的空间,请问一下这个user是不是就不变了?你登录的验证的时候,这个user里面存储的是谁,那是不是就是谁。那也就意味着我进入自己的空间和进入别人的空间。我其实一直在变的就是这个friend,这个key后面所对应的内容。那请问我回到首页上面去,回到这个卖页面啊,在卖页面上去,请问我在这个地方迭代的时候,我是迭代三先点user basic,还是迭代三先叠friend。我应该叠在哪一个。我认为迭代三先点friend会会更好一些啊,或者说我们就应该要迭代friend,为什么?如果当天我登录的是自己的空间,那我use basic和存储的是一样的吗?那我迭代三线叠friend是没有错的。那我如果登录的是别人的别人的空间,那我三线点一定是写的,显示的是三线点friend,而不应该是三线点user basic。
20:04
呃,这个大家能不能想通。好,所以现在我进来修改了。现在我开始改这个地方啊,因为之前咱们没有做到这,所以我就直接写的是3.basic,现在我们要来把它修改一下。围到这边来,我把它改掉,三点,Friend。List。这边也是一样的,三星点friend。把后面的也改一下。Friend。没问题了吧,同学们,这样我就把它改过来了。那我们就来试一试吧。我把数据库得把它打开啊。数据库。好,我们找到这个中。找到表,找到topic,打开。当前我这里面我们一号用户和二号用户,二号用户只有一条信息。
21:02
啊,只有一条信息,二号用户,我们回到二号用户,二号用户是不叫痛吗。那么它们两者的好友关系,我们看一下啊,在这个表里面。一号用户,你看他一个好友是二号,那说明没问题行。再来。好,我把它刷新一下啊。我们再回到这边来。我们一起来看一下啊。
22:12
而不是basic中的list。根据ID。获取指定user basic。Basic信息。然后。查询。查询。User basic的。然后。Friend。对应的value值。第三个。跳转后。左侧。显示啊在左侧,也就是left。
23:02
显示整个index页面。第三步是有问题的啊,咱们一起来看一下啊,有问题,然后我们再来看,先看问题,再寻找解决方法。好,现在我已经启动好了,没问题啊。来,回到我们页面上去,好,回到这。把它全部关掉,把它关掉,点击登录。好,现在这一面已经出来了呀。这怎么没有了?啊,这边没有了,没有就说明什么,说明咱们的same表达式有问题。你看它出现个点,说明这个LR有问题行吗?同学们,说明我们的time left的表达式,表达式出错了。回到这个呢,哎呀,没报错啊,不可能。报错了啊,来看一下啊。再往上我们看一下ation not,好,对的,就是它啊。不能解析,它怎么是个控制符串呀。在left页面的14行看一下怎么回事。在这个点哦,我这没写是吧,同学们我没写完啊。
24:04
把它写完了,太激动了是吧,这个说到后面去,这边前面就忘了。好,THHF,我们这边写的应该是什么。应该是什么,右侧点多。U热点度能够保证我加个斜杠啊U热点度。这不是,这不是到了啊,是艾特U点度,首先能够保证我访问的是这个u ctrl没错吧。然后我用的是这个方法。那我后面要写啥。问号,Operator?Op等于。Friend吧?是吧?Op,那这样才能保证我访问的是这个方法吗?然后我这边说传一个ID啊。ID音我应该怎么传呢?And ID等于一个值。等于啥?应该等于什么?我是不是应该是,呃,Friend could you see。
25:01
点ID啊,是不是啊,这样才可以。啊,就是这样的。那行,我的好友,我写个一啊,写个数字,一看他能不能给我刷新过来。哎,有了吧。大家看我下面的,你看一下下面有了,但是那个到了大括号是不是没没反应过来啊,那我应该怎么办呢。还记得不?我应该怎么办?是吧,加个竖线嘛,再试试。稍等啊,我把这个改成我的好友啊。看能不能给我刷新过。还没刷新过来啊,后退一下。再说。现在还没反应过来啊。还没反过来。还没有反应过来,点它点设置。
26:04
点它点它点清楚。好,把它改掉。Pitch。我们要访问的是page,点读问号。等于page,并且page等于login。在点灯,好,现在反应过来了,我们把鼠标放上去,大家看一下下面的ID能看到吗?这个idg就知道OK,再来,那下面我们点它一点它你发现哎啊。是吧,他在我们左侧,在我们left里面显示index了,但这个数据是对的,同学们啊。数据显示的是对的,行吧,同学们。嗯,这个显示在这有点小了啊,在left的页面,它是什么意思呢?在我们life的这个页面里面,把整个的index的这个布局又重新显示了一遍。能不能想象出来在left这个空间里面显示top,显示left,显示显示bottom,能听懂,你看这能看到我左边吗?看到了吗?啊是有数据的啊,然后只不过右边是吧,呃,右边这边只有一条,只有只有一个日志啊。
27:07
我们的想法是什么?同学们,我应该是一点击。啊,一点击你应该是给我整个页面。应该在我整个大的这个窗口里面显示index,而不要在我局部的这个ne里面显示,是不是啊,大家还记得我前面给大家补充的那个叫target吗?我补充I frame的时候是不是也叫target的属性啊,Target有三个,一个叫blank,在新页面里面打开。杠top在顶层窗口里面打开。干在负负极窗口打开,还记得不?那我们现在是不是一点击超链接,你应该给我在顶层窗口打开啊。能听懂不?是吧,行,我们得改一下。所以这是个窗连接。哎,我们在这边写个target。Target。杠top是吧,我写个杠top,那我们再来试一次。
28:01
三。后退,再后退。好,我的号有三,咱们点一下Tom。是不是现在没问题了吧,现在这样就可以了,但这边有个小的小小问题。嗯,这个昵称不是缓存,这个昵称我们当时是怎么做的,我们是不是从user里面去取的,我们应该从里面去取,是不是,同学们行,那改一下吧,啊,顺手把它改掉。回到top。在这。这个地方。因为咱们讲这个地方的时候还没有提到friend是吧,现在把它改掉啊,三线点friend这样就行了。那么这是这是这个问题。他没刷新过来,不管他了啊。啊,下面我要做的是什么呢?我要点这个创链接。当我点击这个超链接,我要返回自己的空间嘛。帮我想一想,我这个超链接应该怎么做?
29:08
我们应该怎么做呢?返回自己的空间,返回自己空间,你不觉得就和这个life点某一个好友链接不一样了吗?不就是传的那个ID不一样吗?从这到这根C拷贝了啊。拷放到这里。就喂。把它粘起来。TH冒号。好,这没问题。TH冒号。User点读问号oper ID等于某一个值,可以的啊,就是这样的,只不过和刚才的道理是一样的,我们得写个target top。是不是你不写,是不是又跑到在顶层窗口显示,显示那个整个布局了。啊,行,把它加进去。那行吧,咱们现在再来刷一下看,估计时间应该差不多啊。再登录。
30:00
欢迎进入消防的空间,后面没有那个窗,链接点一个。欢迎进入Tom的空间。啊,怎么后面也没有,哼哼。是吧,这不大对呀,后面应该后面应该要要有的呀。看一下。失败。Use bicycle,如果不等于它的时候,如果两者不相等的时候,我得显示超链接,我这边报错了,你看同学们是吧。他说这个friend.id没有啊。等一下啊。但是他不,他也不应该给我报错啊。是吧?Friend。ID等于friend.id。啊,他也不应该给我报错。我的意思是什么?同学们,我的意思是。这个地方就是说逻辑上可能会有问题,咱们应该把它改成叫user.id啊user basic.id。
31:01
但是至少他不应该给我报错是吧?T冒号HF。我知道了这个friend是不是这边存储的问题,我看一下再看一下这个K啊。是,是服软的,没错。是不是啊,我们存储的是确实是friend,那是不是少了个三线点是吧,回到这的是不是同学们。三线点是不是啊,因为咱们存储的是三线作用域嘛,现在我再把再来把它改过来use basicc行不行,同学们。好,那这样估计也差不多了。这边写个一啊,再来试一下吧。后退,后退。好,再点它。哎,这边有了是吧,你看下面那个ID啊,是有的,再点进去是不是就回到自己空间了,我在等点它又进入到别人空间,再点它,哎,又进入到自己的空间。啊,就是这样。
32:01
好,稍等一下啊回到这。在left。页面显示整个index布局。给超链接添加。Target属性。也就是说,Target等于杠。保证在顶层窗口。显示整个index页面,OK。然后呢,Top页面top.html。页面需要修改。第一个是。他也没有。第一个是这个地方,欢迎进入。稍等一下啊。
33:04
欢迎进入,后面咱们写的应该是Dollar,大括号三,先点friend是吧,应该是第二个是top.hl。页面的返回自己空间的超链接。需要修改。也就这个地方。把它放到这。OK,没问题。
我来说两句