00:00
哥,现在用户来到什么?来到这个页面了,来到这个页面,他想创建市场活动,这个流程继续往下边来,那要创建市场活动,怎么对点这个创建按钮,这就又发生在浏览器上了,所以下边我们继续来画这个流程,这样用户点击创建按钮,这个地方来个用户点击创建按钮,他看到主页面之后用户。用户点击创建按钮,创建按钮大家一点创建按钮发生什么事?对,是不是弹摩擦窗口,弹摩擦窗口怎么弹,我刚才给大家说了,用哪一种方式都行,前两种方式用哪一种方式行,弹构属性也行,自己用GS函数弹也行。我们这个通常会自己弹,不不用他购属性知道吗?所以那这个地方不管是哪一种方式弹,都是在客户端浏览器上边来弹,所以还是在客户端浏览器上面,他一点创建的时候叫弹出创建市场活动的模态窗口,模态窗口那弹出来这个窗口,这样用户就看到这个表单了,看到表单之后怎么对用户输入表单,填写表单,该选的选,该填的填,知道吧,知道吧,那我们把这个过程叫做用户填写表单,这也都在浏览器上面进行的,用户填写表单,填写表单填完之后怎么办?
01:33
对要点保存知道吧,点保存那就让我保存去了,然后呢,用户点击保存按钮,用户点击保存按钮,保存按钮,那一点保存按钮,大家看发生了什么事。暴雪呗。对,是不是得向后台发请求了?对,为什么向后台发球,因为这些数据要插入到数据库里边,数据库台后台呢?所以要向后台发请求,只在前台转悠,数据保存不了是吧?所以得想什么向后台发请求,那向后台发请求,后台你要有CTRL接收并且处理了,所以你要提供一个control来接收并且处理这个请求。
02:15
所以这些大纲,这些都是我一个一个环节,都是代码,这些都不是你随便想怎么敲怎么敲的,这些都是需求推动你做的,你不做都不行,将来创建几百个类,每一个类有好几十个方法,是上百个方法,这些都是什么?每一个方法,每一行代码都不是白写的,都是需求推动你做的,知道吧?啊所以说大看他一点,保存L按钮向后台发请求,那后台有CTRL来什么接受并且处理的这个CTRL是新创建CTRL还是在原来CTRL基础上加方法。原来。那你看看它响应信息回到哪,将来一点保存应信息是不是还回到这个页面,那这个页面还是市场活动的页面,市场活动页面是不是还在市场活动那个资源目录里边,那那个页面,那这个这这个资源目录还是对应自己的一个CTRL了,还是市场活动CTRL,所以将来响应信息回到这个页面。
03:08
那这个资源目录下边的所有的请求都交给一个,所以这个就市场都能control,所以在里边直接加方法就行了,所以这个地方还是activityiv control了,嗯,这是我们这样做的啊,诶你说老师你画这个图,你你直接这不有一个activity ctrl直接向他发进去就不行了,这样的话两个用,那么这个两个流程用一个CTRL来,这样以后是吧,我额度太高了,我以后万一改一个都得跟着变,所以我以后维护这个图不好维护了。而且大家看的这个流程也不太好看,所以我这个地方再创建一个平头,再画一个平头论,其实它俩是同一个类,只不过是不同的方法,所以我在这个地方他一点保存按钮,向他发一个请求。发一个保存的请求,保存请求,那大家想一想,这个请求是同步的还是异步的。
04:07
对E步子是吧,为啥E步的,因为。对,如果那能,那你看响应回来之后是不是要刷新整个窗口,那响应之后是不是要刷新整个窗口,需求说了算,需求说了如果创建成功了干什么把它关了,下边这个列表是不是刷一下,刷一下列表就行了,刷列表上面如果有数据需要变吗。这些按钮需要变吗?不需要,不需要你就别变,是个局部刷新,他们都在一个页面上面,有的变有的不变,局部刷新。这是成功了,如果失败了呢,对提质引进这个都不用刷了,这下边也都不用刷了,所以整体而言是一个什么局部刷新的过程,那局部刷新异步请求,异步请求,那异步请求需要提高什么碳数。对,表单里边那些参数是不是都得提交啊,对,那我们这个地方太多了,我就这直接用一句话代替了表单中所有的参数,用户填的那些参数都发到后台去。
05:11
知道吗?因为要把这些数据保存了啊,所以我都发到后台这个地方哎。然后呢,向他发这么一个请求,那CTRL接收到请求之后怎么办呢?对三个职责,第一个职责接收到请求之后有参数获取,参数怎么获取。对,方法通过定义形参获取是吧?参数有很多,是不是要封装一下封装参数是吧?封装参数封装是什么?对,是我们通常用的封装麦或者实体的对象,是不是这道吗?这个地方可不可以封装一个实体对象,可以,因为他们这些是不是都是属于一个市场中的实体对象呢?所以他们我那糊弄实体类对象。然后呢,叫activity对象,直接把这个参数放个对。
06:02
这他的第一个职责就完成了,接收请求,把参数都拿走,并且封装好了,下边第二个职责,第二个职责干什么?对,调用测试,要处理业务了,要处理数据了,处理我们这个处理数据,就是把这些数据保存到数据库里边。那保存数据库里边,那要调service,那调service,调谁的service?对,要往市场活动这边加记录了,调市场活动service,哎,Service,然后呢,这个地方来,这个地方来,然后呢,在市场活动service加一个方法,这个方法叫保存创建的市场活动。那这个地方这个方法我就直接写了保存叫save创建的correct知道吧,市场活动I知道吧,然后呢,这是个方法,一个小括,这里边有个参数,这个参数什么类型呢?对IT对象,实体类对象。然后呢,这个service就可以把数据保存数据库中,当然它不能直接访问数据库。
07:01
对,根据我们代码分层原理,它要调map,那调map调市场活动的map,所以我们这种来一个activity map知道,然后呢,这个地方来一个它。然后呢,在这个map里边也得加一个方法,这个方法叫保存创建的市场活动,那这个方法我就直接写了insert,叫activityiv啊,这里边传送参数,这个参数是个什么?对,也是一个世界对象。然后呢,在这个map里边就可以访问数据库执行操数句了,那执行操守句我们来一个这种了,执行操守句现在你就能想象一下这个搜数据是什么样的搜句。嗯,对音色的创建的保存创建的市场活动啊。然后执行,执行,执行完了之后把执行的结果往外返。知道吧,那这个结果是一个什么?对音色的语句肯定返回影响记录条数是个整数值,知道吧,然后把影响记录条数继续往回返,返回给我们的。
08:04
CTRL了,对谁调到返回给谁,那CTRLL拿到银行记录条数之后,它的第二个就完成了,数据处理好了,该保存的数据都保存好了,下边它的第三个职责。看看保存成功了还是保存失败了,就是根据保存的结果来生成一个响应信息,这个地方它的第三个步骤,根据对根据这个什么这个处理结果吧,或者叫保存结果,然后呢,生成响应信息,响应信息,那大家看看这个响应信息拿到之后,他返还过去了,这个响应信息是个什么样的信息。就是响应要返回给客户端一个响应了,这个响应信息是个什么样的信息。对对,大家从格式上来看,格式到底访问网页还是访问杰森字串,看什么?看前台化解图。前台发的请求,异步请求谁发的?对?阿贾克斯发的响应信息肯定回到阿贾克斯,知道吧,阿贾克斯能解析的数据只有啥?对,只有杰森。
09:12
你要返回一个网页,阿贾克斯解析不了,所以你返回也白返回,所以这个地方一定是个杰森,这个杰森字符串里边包含什么?谁来决定?对,你看看下一个环节,前台需要什么,前台需要什么,你包含什么,前台不需要,你包含,除了影响效率没用,那前台需要什么我怎么能知道呢?对需求说了算,需求说了,如果创建成功了干什么,把它关了,下边是不是刷一下,下边就是就再查一下就行了,这个需要数据吗?对不需要,那如果失败了呢,提示一下,不关也不刷。得需要什么提示信息,所以总的二言,前台需要知道什么,你后台保存成功了还是失败了,你得告诉他成功了还是失败了,要不然前台不知道,再一个如果成功了无所谓了,不用提示信息,不用返回了,如果失败了,是不是还要返回失败的原因啊,失败提示信息,所以总的而言,他只需要知道成功还是失败,所以我这个东西给他返馈一个成功或失败的一个标记,对,抠入掉等于一成功零失败。
10:25
对,如果是成功了无所谓了是吧,然后失败了,对返回一个体制印题,然后呢,把这么一个阶层返回到前台。那前台阿贾克斯拿到这个杰森之后呢?对,那就解析杰森渲染验证,解析杰森渲染验证啊,那怎么解析尖子渲染罩,那就看成功了还是失败了,成功了关闭摩擦窗口怎么关已经告诉大家了,随时可以随时关,用选择器选中那个div,那个div都有ID,那直接用ID选择器选中之后掉毛穿个head就关了,知道吗?
11:03
然后呢,刷新这个列表,刷新列表现在得做完查询才能刷,所以现在我们先不刷了,做完分页查询之后再刷,先把这个功能记下来知道吗。好,这是我们知道,那如果失败了,提示一下,这个不关也不说知道吧,所以这是我们整个它这个整个这个流程我们就设计好了,知道吧。我们说做项目主要是这个流程,这个流程设计好后边写代码就太好写了,知道都是死的语法。所以大家这个流程我们先给大家设计到这个地方,那这个我们今天先不给大家写这个代码是吧,没有时间写这个代码,那课下呢。大家可以尝试着写一写,先把前面的这些代码都写完,然后呢,这个地方可以自己尝试着写一写,你不能说只是我讲完之后,你才能你才能写在公司里边的呢,这个流程都不给你画,你自己写知道吗。你自己分析自己,自己什么写代码,现在这个流程我你画出来了,大家语法也都告诉大家了,技术应该不存在障碍了,你看看我给你划出来流程,你看你能不能做出来,能做出来那才是我们达到的,达到我们要求了,做不出来那可能还没达到我们要求,到公司里边做项目还不行,知吗?
12:19
所以还得再做,懂吗?好,所以这时候我们说这个流程也涉及到这,好今天我们课先到这儿,再下课网。嗯。
我来说两句