版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要随着网络时代的发展,拥有着一个个人的空间是很多人所需要的,更何况在信息容易暴露的网络上,网络用户更是如此,可以更好的与他人交流,共享信息,互相学习,因此就出现一个概念——博客(blog)。本系统以个人博客为主要概念,进行了解与分析,通过当下网络时代的需求,进行系统的开发。本系统主要应用于两端——web端和admin端,两端都是基于前端框架vue和express框架,express框架是基于node.js进行开发的,而数据库的选用是mongoDB数据,它是一个非关系型数据库,编辑器为VScode,以此来实现该系统。本论文中将先讲述该个人博客的开发背景以及设计模式,还会重点介绍当下流行的开发方式,前端vue的spa单页面开发,以及基于vue+node.js的前后端分离开发的当下流行开发理念。系统如何以vue+noed.js实现mvvm模式控制。最后将会将本博客系统的各个功能模块的实现进行必要的介绍,对系统各个功能的性能检测,以及对博客系统开发中,遇到的各种问题提出针对性的解决方式。关键词:node.js vuemongoDB 个人博客系统 AbstractWiththedevelopmentoftheInternetage,hasapersonalspaceisalotofpeopleneed,what'smore,oninformationexposuretonetwork,networkusers,canbettercommunicatewithothers,shareinformation,learnfromeachother,sothereisaconcept-blog(blog).
Thissystemismainlymadeofpersonalblogconcept,understandingandanalysis,throughthepresentdemandofthenetworkage,forsystemdevelopment.Thissystemismainlyusedinbothends-awebclientandadminside,bothsidesisbasedonthefrontframevueandexpressframe,expressframeworkisbasedonthenode.Jsfordevelopment,andtheselectionofdatabaseisdirectingadata,itisanon-relationaldatabase,editorforVScode,inordertorealizethesystem.
Thispaperfirstdescribedthedevelopmentbackgroundofthepersonalbloganddesignpatterns,willfocusonthepresentpopularmodeofdevelopment,thefront-endvuespasingledevelopment,andbasedonthevue+node.Jsbeforeandaftertheseparationofthedevelopmentofthepresentpopulardevelopmentphilosophy.Howthesystemtothevue+noed.JsMVVMpatterncontrol.
Finallywillthisblogsystemistherealizationofeachfunctionmoduleintroducesthenecessaryandthesystemperformancetestofthefunction,aswellastotheblogsystemdevelopment,variousproblemsputforwardthecorrespondingsolutionsKeywords:node.js vuemongoDBPersonalblogsystem目录TOC\o"1-2"\h\u1.绪论 绪论概述博客,实际刚开始的名字是网络日记,英文名是weblog,在其后的发展中,有人刻意讲其的拼写改成了weblog。于是就有了blog的出现,由词义我们就可以看出了博客的共享性,但是在时代发展的过程中,信息与数据的知识价值开始逐渐体现出来了,所以我们应当重视知识的价值,为此本系统通过知识的付费,来保障作者的知识产权。研究背景在当前时代中,随着我国科技技术的发展,以及社会生产力的进步,计算机网络在我们的日常生活中发挥着越来越重要的作用,是我们生活中最重要的辅助工具。而在我国,网络科技的不断发展深刻地影响着我们。我国使用计算机的人数不断的增加,而且我们的计算机水平也在不断的提升着,我们从从事互联网的从业人员人数的逐年提升就可以看出,尤其是互联网等领域的应用取得了非常不错的成绩。因为网络应用的强大功能,使人们对此产生了十分巨大的市场需求,而且计算机也会在未来进一步的网络化发展。而且在当今的信息化大爆炸时代。网络技术也不断发展成熟,特别是其中的信息处理技术,它发展的也尤为迅猛。当然其中有很多我们不能忽略的框架技术,其中的web框架技术也蜕变的很大。因此,通过互联网的技术可以把地球村的人们联系起来。人类从此进入了互联网时代。而人们在互联网通信的方式也有着五花八门的呈现。比如。博客微博等等,在此我们可以预见。在未来的发展中。在网络上呈现交流的平台。由此显得十分重要。博客恰恰是其中一种手段帮助我们实现在互联网上的联系与交流,使我们实现信息共享,以及跨越实际空间的交流。博客在我的认知里,它是一个拥有创造性的网络空间,世界上各种形形色色的人们可以在这里畅想自在地抒发自己的所想,以及帮助同一个圈子的人互通信息,以此来方便大家。一直以来博客都拥有着许多的特点,如它的个性、开放、及时、有效等等。在我国,博客的发展已经开始很久了,有着各种各样的形式,以及各种各样的圈子。比如,知乎、CNDS等具有代代表性的博客系统,它们都做得十分成功,有专注于打造不同圈子的,也有致力于打造特殊圈子的博客。在还没有博客之前,我们通过各种各样的渠道去与他人进行聊天,然而随着博客的面世,以及逐渐的展露头角,这种状况就慢慢开始发生改变了,人们可以通过在博客的这个个人空间里与他人相互交谈,而且这种交谈是建立在大家拥有同一种兴趣爱好上的,通过大家感兴趣的文章而相遇,大家各抒己见。而且在生活中,有着很多的事情会激发我们的想象,只有我们将这些对生活的思考几时的记录下来,我们就会将它们深深地烙印在我们的脑海里。当思考被转换成自己特有的观点,这不就我们写博客的追求吗。我们可以同过写博客文章记录我们的进步发展,不单单在其中表达自己所想,更珍贵的是我们回首时的总结。博客发展现状如今博客的发展,博客是网络上的第四种网络交流的新方式。表达各种思想的虚拟场所,正是网络用户所拥有的需求。博客文章的知识范围很广泛,有着各种各样专业知识的集合,无论是个人还是集体亦是如此。博客其实很早已经出现了,具体日期可以追溯到2000年之前。直到2000年后的几年,是博客发展的阶段。很多不同类型的博客网站不断出现,特别是一下偏向技术性的技术博客。然而在我们的国家,博客于2002年被首次引入,一引入便在中国网民中掀起了涛涛浪潮,以极快的速度发展了起来。因为其做为一种特异的网络表达方式,所以越来越受网民的青睐,至此博客的用户数量在中国,一直以较高的速度增长着。由图中可以看出:图1.1博客用户的发展当然这也是因为,博客特有的特点以及优势:开放共享性个人性交流平等性发布信息门槛性上传即时性和沟通延时性经过时代的发展,博客的使用人群也在发生着天翻地覆的变化,变得更加趋向于专业化,更加深度化,不少的学者、作者以及各种领域的顶尖专家都在通过博客,让大众了解到更加多更加详细的专业性知识,这是一种新的文化传递方式。我们通过与他人的分享交流,不断的拓展自身的知识。籍此,我相信博客存在的合理性,我们需要它,它将是我们共享知识信息的重要途经。系统研究的意义及目标因为经过时代的发展,博客的使用人群更加趋向专业化,所以我想通过当前的博客系统,我从事互联网事业的从业人员,打造我们的专业博客,通过本博客系统结识更加多志同道合,兴趣相投的朋友,而且随着越来越多具有专业知识的blog的出现,也让我看到了,blog其中所蕴含的巨大信息价值,为不同专业的人群形成专业的博客,blog正以一种新的方式,在生活、学习和工作等各个方面改变着我们的传统网络以及我们的社会结构,信息的交流不再无序,变得越来越有明确的选择以及方向性,个人的思想与社群智慧的结合的成效越来越突出。它正在改变我们的生活。本次系统的开发目标,主要的想法是以两端进行开发,分别为web端以及admin端,它们分别有普通用户以及管理员用户进行分别操作。而web端和admin端,前端服务器以及后端服务器的方式进行开发,而其中web端以及admin端的客户端都公用着同一个服务器端。其中管理员用户主要对admin(后台管理系统)端进行操作,管理员用户进入admin(后台管理系统)端后,可以实现查看用户列表,对用户列表的数据进行编辑、删除功能,对用户进行新增功能;对分类列表的删除、编辑、新增的功能;对文章列表的数据进行编辑、删除功能,对文章进行新增功能,对文章是否需要置顶、以及是否需要购买进行操作。普通用户在进入web(博客展示系统)端后,可以实现查看博客、评论博客、通过博客的评论与其他的用户进行交流,可以查看通过不同日期进行归档的博客内容,查看通过不同分类标签进行归档的博客内容,可以实现查看个人信息功能,可以实现vip文章的购买功能。因此,博客系统中admin(后台管理系统)端主要有以下几个功能模块:实现登录功能;(2)实现对用户列表的增删改查功能;(3)实现对分类列表的增删改查功能;(4)实现对文章列表的增删改查功能,是否需要购买功能。web(博客展示系统)端主要有以下几个功能模块:(1)实现登陆注册功能;(2)实现用户退出功能;(3)实现查看个人信息功能;(4)实现通过时间节点进行文章归档功能;(5)实现通过标签进行文章归档功能;(6)实现vip文章购买功能;(7)实现文章评论功能;系统分析系统需求分析用户角度分析在需求分析的过程中,我会以角色为主体来展开,通过示意图的例子讲其中的续期联系展开来。这其中的几个概念:角色:代表该事件的用户例子:这是以角色为中心而展开的,方便我对各种需求有着更加直观的理解。在这个博客系统的开发中,我设置了两种权限:第一种是后台系统管理员权限,负责管理用户、分类、文章的增删改查。第二种是前台展示系统的普通用户权限,可以查看个人信息,对文章进行评论、查看文章以及购买文章的权限。因而,博客系统中只有着两种身份:一是博客的管理者,而是博客的阅读者。图2.1两种角色之间的联系普通用户想要进入web(博客展示系统)端,首先需要先进行博客账号的注册,通过邮箱信息、用户姓名、密码进行注册。只有注册完成了,才能进入系web端进行操作,否则将不能进行后续操作。当用户注册成功之后,用户可以相应的实现更加多的新功能,如下图中,就会有种相应的展示,展示其中的权限:图2.2普通用户的权限用户在查看文章的时候可以与其他的普通用户进行互动交流。当用户在文章下留下评论时,其他用户进行浏览时也能查看以及交流互动,继而继续进行交流。后台管理用户想要进入admin(后台管理系统)端,首先需要拥有提前设置好的用户,通过该用户进行后台登录,在登录admin(后台管理系统)端后,就可以进行对用户、分类、文章的操作了,若没有相应的用户账号,则不能登admin端的后台管理系统进行相应的操作。下图是展示博客后台的各种管理权限:图2.3后台管理用户的权限后台管理用户的权限比较大,可以对用户进行之际的操作,所以我们应当注意保护好个人信息以及小心操作。功能模块分析admin端(博客后台管理系统)博客后台登录模块博客后台系统的登录必须是在创建数据库的时候,先创建出一个admin账号,然后我们使用该账号才能进行博客后台的首次登录,只要首次登录后,才能在博客后台进行其他用户的新增。而且我在服务器端写了登录验证,将登录的用户名以及密码进行了验证,最后验证账号密码成功后,会返回给前端一个token,进下接下来的页面跳转,在前端写登录的时候,必须要在往服务端发送异步请求的时候,添加一个请求拦截器,在异步请求的头部信息中加入token令牌,这样才能进行其他页面的数据的异步请求,因为我在服务器端写了一个token令牌的中间件验证,若验证失败,服务端将会给客户端发送一个状态码为401的错误。所以当我们在用户模块新增了用户的时候,新增用户在登录的时候也会得到一个token令牌,否则用户将无法进行下一步的操作。而且用户想在浏览器直接通过url地址的输入直接跳转到其他页面也是不行的,因为我在前端的router路由组件中写了路由守卫,对没用token令牌的用户拒绝访问,以此来实现减少权限的丢失。次功能模块主要实现的功能是:后台博客用户的登录;博客登录后的管理;直接跳转到了博客的welcome页面;博客后台管理的用户模块当我们实现了博客后台的登录以后,我们可以对用户数据进行进一步的操作了,其中的主要功能:查看用户列表,在查看用户列表的这一个次功能模块中,我通过对服务器提供的api接口进行了axios异步请求,讲用户的数据以数组的形式进行了获取,并将数据的信息以for循环的方式渲染在了view视图中。对个别用户进行了编辑操作,在编辑操作的这一个次功能模块中,我是通过当用户点击编辑小按钮的时候,页面会出现弹窗,用户可以在弹窗中将自己想修改的数据修改掉,在我的设定中,用户名是不可以更改的,用户的其他信息都可以更改,如邮箱和角色。当用户点解确定时候,我会将需要更改的信息提交到服务器端,对数据库进行信息的修改。对个别用户进行删除操作,在删除操作的这一个次功能模块中,是当用户点击删除小按钮的时候,会弹出一个删除用户的消息弹窗,只有当用户再次点击确认的时候,才会将要删除的用户信息删除,这主要是为了防止用户误删。新增用户,在新增用户的这一个次功能操作中,是当用户点击添加用户的按钮时,会弹出一个弹窗,用户依照弹窗中的表格填写新用户的信息就可以进行用户的新增了。当然需要说明的是,在所有需要输入的操作中,在前端都写一个输入格式规则,以及提醒输入规则,所以在用户输入的时候,会进行一次前端的验证。其他模块亦是如此。博客后台管理的分类模块当前模块也需要我们在实现登录功能后,才能进行对此模块的操作,此模块主要是为了对文章的分类而建立的,为的是能对文章进行分类处理,使博客的操作更加的人性化。它其中的主要功能有:新建分类次功能模块,此模块主要功能为新建分类。分类列表次功能模块,此模块主要实现分类数据的渲染展示,也有着其他与用户之间的交互功能,如点击编辑小按钮实现对分类信息的编辑,值得一提的是,点击跳转的时候,其实是跳转到了新进分类的组件中,不过在组件中作了判断,以此来实现区分。其中该次功能模块还有删除功能小按钮以及添加分类小按钮。博客后台管理的文章模块此功能模块与分类模块的写法相似,都是用于数据的展示渲染以及对信息的增删改的功能操作,所以就不过多进行阐述了。web端(博客展示系统)博客展示的登录注册模块在我们想进入博客展示系统的时候,我们必须先注册一个账号,然后才能进行登录进入博客展示系统,至于为什么一开始就要进行注册,是因为本系统有着文章购买功能,所以在所掌握的技术中,唯有通过用户的token令牌的身份验证,我们才能确定用户的准确身份,用来区分用不同的用户,在我们进行了注册登录之后,我们就能进如入主页面了。次功能模块的主要功能实现是:用户的注册与登录;跳转到展示首页;当然在注册登录的时候,都会有文本格式的校验。博客展示的首页渲染模块首页渲染模块,有着许多的小渲染展示以及功能的模块,我将由上往下逐个说明,在首页渲染模块中,顶部是一个顶部导航栏,在顶部导航栏中有着首页(当前页面)模块的跳转、归档模块跳转、标签模块跳转、关于模块跳转以及显示当前用户名,其中显示用户名中是一个可以点击的下拉列表,在列表中有着两个小功能模块,分别是个人信息展示的跳转以及退出登录模块。往下是主体渲染的部分,在这里可以通过vue的router-view实现单页面的跳转,在这里我使用了hash跳转,主要是在router.js中实现子组件的跳转展示。现在展示的是文章信息列表。再往下是网站信息的底部展示,在这里有计算文章总数的功能、展示置顶文章的功能以及展示最新文章的功能。博客展示的文章列模块当前模块主要是对首页中的文章列表渲染进行详细的解释,在实现的文章列渲染中,需要介绍到的是:在每一个文章卡片上都会有在发表文章时已经写好的文章标签渲染在文章卡片上,当我们鼠标接触文章卡片的主要显示的空白处时,当时发表文章时的文章摘要就会显示在文章卡片的空白处。是在文章卡片上,有个别文章卡片会显示有vip字样,当文章卡片上显示有该字样的时候,说明该文章卡片需要我们购买后,才能进行文章详情展示页面进行查看文章,而其中的逻辑原理是,当我们点击需要购买的文章卡片是,会先进行判断,判断当前用户是否有购买该文章,当用户的购买记录中有购买该文章的时候,便直接跳转进入文章详情页面,而当用户没有购买记录的时候,会弹出弹窗询问用户是否进行购买,当用户点击确定的时候,会往后台发送一个购买请求,后台收到信息后,会返回200字段,当客户端收到该字段后,会再一次询问用户是否进行购买,当用户再次确定购买时,会再一次向后端发送请求数据,后端会返回一个支付宝的支付页面让用户进行支付购买,该购买功能是基于支付宝的沙箱版的,并不是真实的支付,最后支付成功后,用户将会跳转到文章详情页面,进行文章的阅读。博客展示的归档模块当前模块是通过以年为单位的时间轴,对文章信息进行展示,以时间轴进行排序。当然内部会也会以时间发表的先后顺序进行信息的排序。博客展示的标签模块当前模块是以标签进行文章信息的分类排序。博客展示的个人信息模块该模块将展示用户的个人信息,以及用户购买了的文章的id信息。系统技术分析在进行项目开发之前,我们都会有一个绕不开的话题——技术选型,现阶段对于开发一个系统有着很多技术可以挑选,有新进冒出的,也有经过前人一段时间的沉淀有着良好的开发生态圈的。在系统设计的开端,咱们需要对系统进行刨析,依据系统的实践状况对现有系统的需要进行分析,抉择出适宜系统的技术框架体系。在前端框架方面,现阶段比较流行的框架有Vue.js和angular.js,以及react.js库,它们都是以js为基础沿伸出来的前端框架以及js库,在现阶段最流行的这三个前端框架以及js库中,都有着各自的特色,以及良好的开发生态圈。而我将拔取vue.js做为本系统的前端框架,主要是因为vue.js的以下特点:(1)插件化;(2)渐进式框架;(3)指令化;(4)双向数据绑定。因为vue.js有着双向数据绑定,以及由数据进行驱动的特性,所以vue的技术框架也比较的适用,而且我个人也是对vue.js比较熟悉,所以前端框架方面就选择了vue.js。而在服务端框架构建的服务器的技术选型中,也有着很多成熟的技术框架可以挑选,比如现在主流的技术框架有Java、PHP、Node.js等,从自身角度出发的话,因为一直以前端方面的工作为学习驱动,所以对javascript这门语言的了解相较愈加深入,所以我选择了node.js做为后端框架,主要是其中的express框架。而且node.js也有着它的优点:(1)事件驱动;(2)适用于实时的数据交互应用;(3)以js代码为运行环境;(4)单进程、单线程;(5)而且也依赖于谷歌的v8引擎;(6)非阻塞i/o。所以服务端的框架,我选择了node.js的express框架。我选择了mongoDB作为开发用的数据库,因为它是所有非关系型数据库中最接近关系型数据库,它有着以下的特点:(1)数据的最终一致性;(2)特殊的存储结构。(3)性能优越,可以快速获取数据;(4)有着丰富的第三方支持;(5)有着大容量的存储;(6)保证用户能快速地访问查询。所以在数据库方面我抉择了mongoDB数据库。Node.js简介在初期,作为为服务端脚本语言的PHP备受web运用的程序开发者喜爱,而javasript事先始终被开发者们以为只是前端的一种脚本开发语言,但是直到node.js的出现,javascript这一门语言越来越备受关注。其中node.js基于chrome的javascipt运转机制的平台上的,它可以用于构建出可扩大的、疾速的、网络方面的应用程序。Node.js是使用着一种事件驱动、非阻塞的I/O模型,这将跨分布式设施的数据密集型实时应用愈加的高效、完善和轻量。而且从原理上讲,node.js其实是对chrome的浏览器引擎的二次封装,它可以实现类服务器的环境,也可以用来实现可扩展的应用。而且在浏览器的运行环境中,javasrcipt的代码就是由浏览器引擎进行解析的,而node.js就是提供了这样的一种类似javascrip的引擎解析器,以此来完成与浏览器相同的性能。与此同时,它也是一种非常特殊的运转环境。它为前端javascrip代码提供了各种的服务接口,而且也令前端的开发者可以更容易上手后端的开发思维了。Node.js中的express框架Express是一个node.js作为后台服务器的一个开源的框架,所以一直受到很多开发者的欢迎。只要我们使用这个框架中所特有的一些特性,我们就可以快速地开发一些比较全面的web应用程序了,和绝大多数的web应用开发框架一样,express框架帮我们封装好了很多的方法,将许多复杂繁琐的代码简化了,让我们对代码的编程更加的轻松,但是express框架最突出的地方,是它的路由机制。那么什么是路由机制呢?是指我们如何通过url地址实现客户端的数据请求响应,其中的http请求有着多种的方式,分别是get、delete、post、put等。它的具体结构是:app.method(path,[callback...],callback)。在这个结构中,app是express的实例对象,method是HTTP中的请求数据方式(POST、GET、DELETE、PUT),path是服务器上的url请求路径,而callback是当请求路径匹配时就会执行的函数。由于express路由机制的出现,所以对于凸显express的可用性很多帮助。Vue.js的介绍在vue.js等各种框架出现之前,我们想对DOM元素进行操作的时候,必须要经过繁杂的选择器去进行操作,而且还要通过逐级的操作去还原出服务器需要的JSON数据格式,这种操作不但繁琐而且极其容易出现错误。然而我们可以通过vue.js特有的特性响应式双向绑定数据,以此来实现实时地反映数据的变化,而且将这种变化映射到数据源上,避免对DOM元素的选择器的复杂操作,大大简化我们开发人员对于web应用的开发难度,提高了前端工程师的开发效率,降低了开发成本以及时间周期。REF_Ref7549\r\h[4]而且当vue.js与vue-router路由相结合,配合上webpack前端打包工具,将大大简化我们的开发难度。而且它的优点也有很多:vue.js的数据驱动和数据响应原理DOM是数据的一种自然映射:图2.4DOM数据的映射原理在这之中,如果没有viewmodel,我们就要手动修改DOM,以此来实现vue.js的数据驱动。Vue.js的数据响应原理,数据驱动视图的更新:图2.5vue.js数据响应原理组件化Vue.js可以将一个独立的功能模块进行组件化,实际就是将同一功能的代码进行封装,使其可以重新复用;而且每一个vue.js的组件代码片段,都着一个工程性的目录,使我们能快速定位所需的组件,以及它所需要的资源;页面不过是组件的容器,组件可以嵌套自由组合形成完整的页面。当然还有很多特点,这里就不一一列举了。MongoDB数据库简介当今社会的发展,对网络恶的依赖越来越突出,而构建网络的基础实际上是各种各样的数据,因此数据的存储显得尤为重要,而现今大规模的信息数据对数据库的要求越来越高了。然而在这一方面,传统的数据显得越来越吃力了。而mongoDB的最主要特点是:数据存储方便、易使用、易部署高新能、开源设计以及它面向集合的存储、支持完全索引、支持动态的查询、自由的模式等优势,正受着越来越多公司的欢迎以及开发人员个人的喜爱。mongoDB有着一个非常灵敏、可扩充和强大的数据存储区,它汇合了关系数据库的许多最有用的功能与能力的扩充,例如:排序和次索引范畴查询。MongoDB也有着强大的分片性能,例如:空间的索引和支持处置样式汇集的内装。并且mongoDB是一种介乎于非关系数据库和关系数据库之间的产品,是一切非关系数据库当中最想关系数据库,功能最全面丰富的。而且mongoDB对应数据的存储方式并没有太大的要求,现在主流的json数据格式的存储方式也是十分适合mongoDB进行存储的,MongoDB的查询性能也非常的强大以及丰硕,它简直能够支持任何类型的查询,完成类似于面向对象的查询模式。开发工具选择现在当下的开发工具的选择有着很多的种类,本系统选择使用VScode作为开发工具。因为VScode是一种开源的开发工具,它具有丰富的第三方插件,安装插件的方式十分方便,插件的安装有着十分详细的介绍,占用内存很低,项目启动的速度和打开速度都相对来说比较快捷,全平台,内置了对各种语言的强大支持,所以在此次开发中,我选择了VScode作为开发工具。可行性分析经济可行性分析本系统的建设投资成本主要包括以下内容:项目的前期准备工作。项目的系统选型所需投资It硬件的投资项目系统测试的投资项目系统管理的投资项目系统的管理投资当前项目所需的现行条件并不多,无论是软硬件设施的要求都并不大,域名加上服务器的支出,一年也是300左右,所以项目的开发是可行的。技术可行性本系统使用了vue+express+mongoDB+elementui+axios等技术做为技术栈。这些技术都是开源的技术框架,而且技术栈的生态圈也发展的比较良好,在npm第三方包工具中,也有着很多的包插件,有着许多封装好的工具插件,所以系统开发起来较为简单,也很容易实现,而且现在所选着的技术,也是一些比较新兴的技术栈,可以很好的保证系统以后的迭代更新,确保系统的开发技术的可复用性。操作可行性本系统基于vue.js作为前端技术框架,视图层采用了elementui作为渲染ui,其中elementui这个渲染框架是一个很出色的ui框架,而且它是基于vue.js开发的,所以可以很好的和vue.js技术框架配合,能很好的实现系统的功能,而且基于elementui框架的组件ui的功能也设计的很好,使用起来十分的方便,对用户的体验度也十分完好。法律可行性本系统所有的技术栈都是基于开源的,无论是前后端的框架还是技术栈,所以我们无需为技术的知识产权问题担心,而且博客系统的开发概念也没有造成侵权,在其他硬件设施方面亦是如此。系统设计系统整体设计系统分析本系统此次的开发主要是采用mvvm的系统模式结构,当前结构的主要组成部分是由以下几个部分构成:前端的框架:主要是由vue.js负责前端视图层的渲染,以及其中用户与客户端交互的业务逻辑代码。后端的框架:是由node.js中的express框架来负责服务器的开发,主要是进行数据的业务逻辑处理,和与数据库的数据对接,以及为前端的页面交互提供返回数据的api接口。数据库服务层:将使用mongoDB作为数据存储的重要工具,因为它能应对中各种各样的存储方式。现在流行的设计框架也有很多,其中常见的是mvc、mvp和mvvm设计模式,而本系统选择的是mvvm设计模式,mvvm是model--view-viewmodel的简写。因为微软的wpf带来了新的技术体验。所以说mvvm是由mvp模式和wpf结合的应用方式发展演变过来的一种新型的框架。MVVM和MVP的关系:
其实mvvm模式与mvp模式基本相似。其中的差别是mvvm是有数据驱动的,它将改变直接展示view视图中。那我们就可以不用特地的去处理数据了,它将自动在view视图中展现。MVP架构:
View:实际上对应着其中的activity方面,用于view视图的绘制,以及其中与用户的交互,其中业务逻辑依然交由presenter管理。图3.1mvp模式虽然设计模式的想法是view与presenter实行单一相对的方式,但是最终在实现逻辑的时候,还是常常由view对应多个presenterMVVM架构:
Model:代表你的基本业务逻辑
View:显示内容
ViewModel:将前面两者联系在一起的对象图3.2mvvm模式其中viewmodel是集合了对两个方面的处理,分别是数据以及动作逻辑代码。将数据与view视图实现交互。mvvm模式的优点:(1)低耦合;(2)可重用性;(3)独立开发;(4)可测试;因此本系统选择使用mvvm设计模式。开发框架技术介绍通过上述的介绍,我们可以得知本系统使用的技术选型是vue.js+node.js的express+mongoDB+axios+elementui。在这些技术选型中我们再详细介绍一下vue.js技术,以及新引出的axios和elementui框架。首先,vue.js它采用的是以渐进式渲染的方法,以及数据为驱动的形式,而且是一种新的mvvm模式框架。属于一种较为轻量级的前端框架,与其他的重量级的前端框架不同,它比较重视前后端的低耦合和对于view层的数据变化。Axios是一种网络请求库,现阶段主要的网络请求库有axios、ajax、fetch,其中ajax是最早出现,也是沿用最多的网络请求库,但是它本身是主要针对mvc模式编程的,不符合本系统使用的mvvm模式,而且其本身是基于xhr进行开发和封装的,而xhr本身的架构并不是十分的清晰,而且已经有了fetch进行了代替,所以本次开发不选择使用ajax网络请求库。而fetch对于400以及500的错误状态码都会默认它是成功的,所以本系统也不使用fetch网络请求库。而axios是基于node.js创建请求的,与我们的后端语言十分搭配,且客户端支持防止csrf和提供了一些并发请求的接口,所以本系统选择使用axios网络请求库。Elementui是一套基于vue.js进行开发的ui框架,有着非常绚丽的组件样式,使用这一套ui组件库可以是我们的前端开发事件成本大大节省,而且ui组件本身的样式也写的十分绚丽,所以现阶段很多公司的开发都会搭配上一部分的ui组件库。当然因为elementui的开发基础也是基于vue.js,所以十分适合本系统的开发。最后还需要介绍的是webpack这一个前端打包工具,因为本系统使用了vue-cli这个手脚架去进行开发的,所以webpack也在手脚架中包含了,但是我们有必要继续介绍一下这个打包工具,因为这是项目开发必不可少的一部分。它可以使我们所开发出来的项目的大小进行大大的压缩,减少运维上线的压力。数据库设计1、定义(数据字典)数据字典组成:数据存储、数据项、数据结构、处理过程以及数据流。数据字典的作用:将我们存储数据的方式更加文体化;可以让数据的管理用户更加渐变的查询各种需要的信息;对数据的管理存储;对数据的存取进行了管控,设置了多种权限,在某些意义上数据字典控制着数据的存储;对数据库的存储设计有着很大的作用;为数据的存储方式,提供了合适的标准;所以,数据库的核心是数据字典,所以要设计数据字典就要全面考虑所有的数据,建立数据字典是数据库设计需求分析阶段必不可少的。2、数据库设计E-R图假如我们想以展示图的方式将用用户的数据展现出来,那么首先我们需要将一个数据库的关系表新建出来,进行建立的进程我们可以通过采用面向对象的方式建立。然后我再以树状的数据存储结构将数据存储起来。这样可以更加直观的对需求的做出反应。这些都是通过使用er图来描述实体数据的。是通过概念来对具体的模块和操作的方法进行展示的,都不会涉及其中的实现。其中er图称为数据的存储模式,我将将模块分为以下三种:。当前系统所涉及的“实体”包括:用户:用户名、邮箱、密码、用户角色等文章:评论内容、文章信息、文章发表时间、文章更新时间、文章是否置顶、文章标题、文章购买需求、文章作者、文章分类等等因此通过结合本系统的各个功能模块与实体之间的联系,通过分析可以得出:用户关系表、文章关系表、博客关系表等数据库的关系模型。以下是总体E-R图:总体E-R图:图3.3总体图主要的表结构用户表数据结构表3.1用户数据表字段名类型说明_idObjectId用户的idstateBoolean用户的使用状态usernameString用户名emailString用户的邮箱passwordString用户的密码roleString用户角色文章表数据结构表3.2文章数据表字段名类型说明_idObjectId文章的idcategoriesMixed文章的分类bodyString文章的主体内容titleString文章的标题summaryString文章的摘要authObjectId文章的作者createdAtDate文章的创建时间updatedAtDate文章的更新时间文章分类表数据结构表3.3文章分类表字段名类型说明_idObjectId文章分类的idtitleString文章分类的标题文章评论表的数据结构表3.4文章评论表字段名类型说明_idObjectId文章评论的iduidObjectId文章评论的关联用户idaidObjectId文章评论的关联文章idcontentString评论的内容createdAtDate评论的创建时间文章订单表的数据结构表3.5文章订单表字段名类型说明_idObjectId文章订单的idaidArray文章订单的文章关联iduidString文章订单的用户关联id系统详细设计Admin端(博客后台系统)博客后台登录模块设计流程第一步是在系统的基础上创建好账号,用户凭此账号登录,第二步是登录成功与否的判断,第三步登录成功后的跳转,第四步用户可操作列表的加载。图3.4登录模块流程图博客后台的用户管理模块 第一步是通过点击用户列表的功能,加载出用户列表,第二步实现用户的新增操作,第三步判断用户新增是否成功,第四步在成功后再次加载的用户列表中,实现对用户的编辑操作,第五步,对用户进行删除操作,并且弹出是否删除的确认框,确认后,继续进行删除操作。图3.5用户管理模块流程图博客后台管理的分类模块 第一步是通过点击分类列表的功能,加载出分类列表,第二步实现分类的新增操作,第三步判断分类新增是否成功,第四步在成功后再次加载的分类列表中,实现对分类的编辑操作,第五步,对分类进行删除操作,并且弹出是否删除的确认框,确认后,继续进行删除操作。图3.6分类模块流程图博客后台管理的文章模块 第一步是通过点击文章列表的功能,加载出文章列表,第二步实现文章的新增操作,第三步判断是否需要设定收费操作,第四步在设计后确认新增,第五步,再次加载文章列表,并且进行编辑操作,第六步,对文章进行删除操作,并且弹出是否删除的确认框,确认后,继续进行删除操作。图3.7文章模块的流程图Web端(博客展示系统)登陆注册模块的流程图:第一步,我们需要从登录页面进入到注册页面,在注册页面中进行用户的注册;第二步,判断是否注册成功,成功就跳转至登录界面,并且弹出注册成功的提示框;第三步,用户通过输入账号进行登录;第四步,判断用户是否登录成功,成功后就跳转到展示页面的首页,并且弹出消息提示窗;图3.8登录注册模块流程图文章信息模块的流程图第一步,点击文章卡片;第二步,判断文章是否为vip文章,若不为vip文章,则直接进行跳转至文章详情页的行为,若为vip文章,则弹出弹框询问是否购买文章;第三步,判断是否确认购买文章,若购买,则弹出再次确认购买弹框,若不购买,则直接返回首页;第四步判断是否确认购买文章,若确认购买,则跳转至支付宝支付页面,若不购买,则跳转回首页;第五步,支付宝支付成功后,先跳转至支付宝的支付成功页面5秒,然后跳转至本系统的支付成功页面;第六步,点击支付成功页面的返回按钮,返回到系统的登录页,登录后点击文章,便可以进入已购买的文章详情页。图3.9文章信息模块流程图文章归档模块的流程图第一步,在系统页面的导航栏中,点击归档导航,进入归档页面;第二步,进入归档页面后,页面显示归档好的文章信息;第三步,点击文章信息条,进入文章详情页面。图3.10文章归档模块流程图文章标签模块的流程图第一步,在系统页面的导航栏中,点击标签导航,进入标签页面;第二步,进入标签页面后,页面显示按标签归档好的文章信息;第三步,点击文章信息条,进入文章详情页面。图3.11文章标签模块流程图个人信息模块以及登出模块的流程图第一步,点击系统页面的右上角的用户名,弹出个人信息按钮以及退出按钮;第二步,点击个人信息按钮,进入个人信息的页面,个人信息页面将展示用户的个人信息;或者点击登出按钮,实现用户登出,跳转至系统的登录页面。图3.12个人信息模块以及登出模块流程图主要功能的实现Admin端(博客后台系统)博客后台登录模块前端的登录校验,是elementui的写法:图4.1登录模块部分渲染代码前端发起登录以及跳转到首页的逻辑代码:图4.2登录模块部分前端逻辑代码前端的请求拦截器(实现token的请求头挂载):图4.3登录模块部分请求拦截器代码前端的路由守卫:图4.4登录模块前端路由守卫代码后端登录接口的部分逻辑代码:图4.5登录模块部分逻辑代码后端中间件的token验证部分代码:图4.6登录模块token验证代码博客后台用户列表模块:页面渲染的部分代码:图4.7用户列表模块部分渲染代码部分用户列表页前端逻辑代码:图4.8用户模块前端部分逻辑代码后端的部分接口逻辑代码:图4.9用户模块后代api入口代码图4.10用户模块部分后端逻辑代码博客后台的分类模块前端分类模块的部分渲染代码:图4.11分类模块部分渲染代码前端的部分逻辑代码:图4.12分类模块部分前端逻辑代码后端的部分api接口逻辑代码:图4.13分类模块部分api入口代码图4.14分类模块部分后端逻辑代码博客后台管理的文章模块前端部分渲染代码:图4.15文章模块部分渲染代码前端的部分逻辑代码:图4.16文章模块部分前端逻辑代码后端的部分api逻辑代码:图4.17文章模块部分后端api入口代码图4.18文章模块部分后端逻辑代码Web端(博客展示系统)博客展示的登录注册模块前端的部分逻辑代码:图4.19登录注册模块部分前端逻辑代码前端的部分渲染代码:图4.20登录注册模块部分前端渲染代码后台的部分api接口逻辑代码:图4.21登录注册模块部分后端逻辑代码博客展示的首页渲染模块前端的部分逻辑代码:图4.22首页渲染模块部分前端逻辑代码前端的部分渲染代码:图4.23首页渲染模块部分前端渲染代码后台的部分api逻辑代码:图4.24首页渲染模块部分后端逻辑代码图4.25首页渲染模块部分后端api入口逻辑代码博客展示的文章列表模块前端的部分逻辑代码:图4.26文章模块部分前端逻辑代码前端的部分逻辑代码:图4.27文章模块部分前端渲染代码后端的部分api逻辑代码:图4.28文章模块后端部分api逻辑代码博客展示的归档模块前端的部分渲染代码:图4.29归档模块部分前端渲染代码前端的部分逻辑代码:图4.30归档模块部分前端逻辑代码后端的部分api逻辑代码:图4.31归档模块部分后端api逻辑代码博客展示的标签模块前端的部分渲染代码:图4.32标签模块的部分前端渲染代码前端的部分逻辑代码:图4.33标签模块的部分前端逻辑代码后端的部分api接口代码:图4.34标签模块的部分后端api逻辑代码博客展示的个人信息模块前端的部分逻代码:图4.35个人信息模块部分前端逻辑代码前端的部分渲染代码:图4.36个人信息模块的部分前端渲染代码后台的部分api接口逻辑代码:图4.37个人信息模块的部分后端逻辑代码系统测试测试概要现在无论什么新的开发程序在进行向外推广的时候,都会进行对程序的测试,这也是一个非常重要的环节,因为谁也不能保证程序不会出错,而且这是一个新推出的程序,所以我们要进行程序的设定。因为程序测定的目的是为了测试程序的本身是否有需要改进的地方或者留有严重的bug。测试方法此次进行程序的测试方法是进行线上的测试方法,测试的主要浏览器环境是chrome浏览器环境。没有在浏览器处设置任何禁用。系统是用阿里云部署的服务器,我会在浏览器的url地址进行系统的登录,在此处先贴出两个不同功能系统的网络地址出来:web端:14:9999/admin端:14:9997/测试用例admin端(博客管理系统)系统一部分的测试用例表,如表5-1所示:测试功能预期结果实际结果在登录界面进行登录进入系统welcome页面成功进入系统welcome页面展示用户信息列表展示信息展示信息成功编辑用户信息编辑用户信息成功成功编辑用户信息删除用户信息删除用户信息成功成功删除用户信息新增用户信息新增用户信息成功成功新增用户信息新建标签分类新建标签分类成功成功新建标签分类发表新文章发表新文章成功成功发表新文章编辑文章编辑文章成功成功编辑文章删除文章删除文章成功成功删除文章退出登录测试退出登录成功成功退出登录表5.1admin端系统测试web端(博客展示系统)系统的一部分的测试用例表,如表5-2所示:测试功能预期结果实际结果注册用户注册用户成功成功注册用户用户登录用户登录成功成功登录用户博客首页渲染博客首页渲染成功成功博客首页渲染文章购买功能测试文章购买成功成功购买文章博客时间线归档功能博客归档成功成功博客归档博客标签归档功能博客标签归档成功成功博客标签归档博客个人信息展示博客个人信息展示成功成功展示博客个人信息用户退出功能用户退出成功成功退出用户表5.2web端的系统测试性能测试新能测试主要是以系统在不同运行环境下的运行速度、在与服务器上部署后,进行网络请求后的系统网络响应时间、用户的并发数增多时等等的系统承载性能,实现通过测试寻找错误的bug,在下一系列的版本进行修正,以及更好的提高系统的性能,提高用户的使用体验。网络请求响应时间:本系统是部署在阿里云的云服务器上的,所以服务器的网络安全性是有所保障的,在系统被入侵的方面暂时不需要担心,而在网络请求的响应时间方面,将用chrome浏览器进行请求的测试,在下图可以看出对加载登录页面的总体请求请求返回时间不超过一秒。登录进入展示页面的首页的请求加载时间,在下图也可以看出,也只是1秒多一点,所以总体来说网络请求响应的性能是属于比较优越的。图5.1浏览器测试图(1)图5.2浏览器测试图(2)系统不同环境的运行速度:本系统将在window环境以及linux环境进行不同环境的系统运行时间测试,在测试中,分别在本地机的window系统进行系统的运行,没有发现什么情况出现,例如延迟等等;在阿里云服务器中的linux环境下也进行了测试,系统的运行也没有什么障碍。总体测试来说,还是性能属于比较优越的。用户节点数的并发支持:在本次测试中,使用了开源的Gatling进行测试,在测试中发现当用户在同一时间增多时,会出现加载稍微慢一点的网络延迟情况,延迟的时间在5秒以内,使用用户使用时所能接受的。系统应用admin端(博客管理系统)1、登录应用图6.1登录测试图6.2登录成功显示2、展示用户信息应用图6.3用户信息展示3、编辑用户信息应用图6.4用户信息编辑图6.5用户信息编辑写入前图6.6用户信息编辑写入后图6.7用户信息编辑的成功显示4、删除用户信息应用图6.8删除用户信息的按钮图6.9是否确认删除用户信息弹窗图6.10删除用户信息显示5、新增用户信息应用图6.11添加用户信息按钮图6.12添加用户信息的输入图6.13添加用户信息成功显示6、新建标签分类应用图6.14添加新建分类测试图6.15添加分类成功7、编辑标签分类应用图6.16编辑分类标签按钮图6.17编辑分类输入图6.18编辑分类成功8、发表文章应用图6.19发表文章测试图6.20发表文章成功9、编辑文章应用图6.21编辑文章按钮图5.22编辑文章输入图6.32编辑文章成功10、删除文章应用图6.33删除文章按钮图6.34删除文章确认11、退出登录应用图6.35系统登出按钮web端(博客展示系统)1、注册用户应用图6.36用户注册测试2、用户登录应用图6.37用户登录测试图6.38用户登录成功3、博客首页渲染应用图6.39首页渲染顶部展示图6.40首页渲染底部展示4、文章购买功能应用图6.41文章购买测试图6.42文章购买询问图6.43文章购买确认图6.44文章购买的支付宝扫码支付图6.45文章购买的手机支付展示图6.46文章购买的支付成功显示图6.47文章购买的成功跳转5、文章详情页渲染应用图6.48文章详情页的渲染6、文章评论功能应用图6.49文章评论成功的显示7、博客时间线归档应用图6.50博客时间线归档的显示8、博客标签归档应用图6.51博客标签归档的显示9、个人信息展示应用图6.52个人信息的按钮图6.53个人信息的显示10、用户退出登录应用图6.54博客系统退出按钮结论在经历了长时间的开发终于把系统开发出来了,在系统的开发来说,项目的结构总体上来说还是挺贴合当下的真实项目开发模式的,采用了当下最热门的开发模式,将前后端分离开来,实现高效率的开发。设计规范十分贴合项目需求,也使用了实际企业上的热门开发框架,为以后的职业生涯打下了坚实的基础。当然在最后也发现了自己的很多代码编写上的问题,但是都通过对资料的查询以及对开源知识更深入的学习,实现了系统的开发。此次开发也使我明白了自身的技术弱点,以及需要补充的知识面,让我能在后续的发展道路上寻求到了新的目标。致谢光阴似箭,日月如梭。在经过长时间的忙碌,本次的毕业设计终于要接近尾声了,由于自己知识面的缺乏,在设计本系统的时候难免会有许多的功能设计的并不是特别的完善,以及有着许多的小问题考虑的并不周全。不过幸好有着指导老师以及同学的帮助,我才能如期地将毕业设计的成品完成了,真的十分感谢他们的支持与教导。特别是毕设指导老师在无论什么时间去咨询他问题的时候,他都能及时地去为我进行解答,而且回答的方向也有很多的针对性,使我在做毕业设计的道路走少了很多弯路。在毕业设计的过程中,覃老师的耐心指导确实发挥着很大的作用,他具备着丰富的理论知识以及实践经验在咨询的过程中给我留下了深刻的印象。而且老师的认真和蔼的教学方式也正是我能将毕业设计完成的重要原因。他的认真负责使我能将课本上的知识与实际开发中的问题相结合,努力的解决了各种问题。在完成毕业设计的过程中,也让我学会了如何快速地在自己陌生的技术模块领域中学习,实现了从0到1的过程,提高了自己在开发过程中发现问题,解决问题,总结问题的能了,这些能力能在我以后的职业发展道路上打下坚实的基础。在此我再次感谢老师的辛勤指导,感谢老师的认真负责。回想起这一学期,真的过得既紧张又充实,在完成毕业设计的同时也要在疫情期间寻找工作,也要在工作之后的闲暇时间中完成毕业设计,但是不得不说这是一段非常充实的日子,回想起来,真的只有努力了才不会浪费自己的人生,为此我也要感谢我自己,感谢自己在最后校园时光里重新出发,在一个新的领域探索未知,在这里想对自己说加油,希望在多年以后回顾起来的时候,要庆幸自己有现在的改变。在致谢的最后,我还要感谢学院对我的培育,感谢各个科任的老师,是你们给了我一段不一样的精彩人生,感谢学校为我们营造的良好学习环境。相信自己将来走出社会之后会将自己的价值体现出来,回报父母、回报老师、回报学校、回报社会。最后再次感谢在这次毕业设计中给予我帮助的大家,祝大家在往后的生活中一切顺利! 参考文献王金龙,宋斌,丁锐.Node.js:一种新的Web应用构建技术[J].现代电子技术,2015,38(06):70-73.王俊琴,王佳,邱娟,王发裕,龚玲芝.浅谈我国博客的现状与发展[J].科协论坛(下半月),2010(01):191-192.程桂花,沈炜,何松林,张珂杰.Node.js中Express框架路由机制的研究[J].工业控制计算机,2016,29(08):101-102.麦冬,陈涛,梁宗湾.轻量级响应式框架Vue.js应用分析[J].信息与电脑(理论版),2017(07):58-59.王光磊.MongoDB数据库的应用研究和方案优化[J].中国科技信息,2011(20):93-94+96.冯岩.基于Node.js的轻博客系统的设计与实现[D].华中科技大学,2018.冯岩.基于Node.js的轻博客系统的设计与实现[D].华中科技大学,2018.危华明,陈积常,汪小威.基于HTML5+CSS3.0的响应式网站前端设计与实现[J].福建电脑,2018,34(05):15+31.刘艳青.支付网关功能及安全浅析.计算机光盘软件与应用,2012(22):152-152.杜波依斯.MySQL技术内幕[M]. 第4版. 人民邮电出版社 ,2011年07月.赵学作,赵少农.Node.js的安装与调试[J].网络安全和信息化,2019,35(03):89-90.
电脑故障检测卡代码表
1、特殊代码"00"和"ff"及其它起始码有三种情况出现:
①已由一系列其它代码之后再出现:"00"或"ff",则主板ok。
②如果将cmos中设置无错误,则不严重的故障不会影响bios自检的继续,而最终出现"00"或"ff"。
③一开机就出现"00"或"ff"或其它起始代码并且不变化则为主板没有运行起来。
2、本表是按代码值从小到大排序,卡中出码顺序不定。
3、未定义的代码表中未列出。
4、对于不同bios(常用ami、award、phoenix)用同一代码代表的意义不同,因此应弄清您所检测的电脑是属于哪一种类型的bios,您可查阅您的电脑使用手册,或从主板上的bios芯片上直接查看,也可以在启动屏幕时直接看到。
5、有少数主板的pci槽只有一部分代码出现,但isa槽有完整自检代码输出。且目前已发现有极个别原装机主板的isa槽无代码输出,而pci槽则有完整代码输出,故建议您在查看代码不成功时,将本双槽卡换到另一种插槽试一下。另外,同一块主板的不同pci槽,有的槽有完整代码送出,如dell810主板只有靠近cpu的一个pci槽有完整代码显示,一直变化到"00"或"ff",而其它pci槽走到"38"后则不继续变化。
6、复位信号所需时间isa与pci不一定同步,故有可能isa开始出代码,但pci的复位灯还不熄,故pci代码停要起始代码上。
代码对照表
00.已显示系统的配置;即将控制INI19引导装入。
01处理器测试1,处理器状态核实,如果测试失败,循环是无限的。处理器寄存器的测试即将开始,不可屏蔽中断即将停用。CPU寄存器测试正在进行或者失败。
02确定诊断的类型(正常或者制造)。如果键盘缓冲器含有数据就会失效。停用不可屏蔽中断;通过延迟开始。CMOS写入/读出正在进行或者失灵。
03清除8042键盘控制器,发出TESTKBRD命令(AAH)通电延迟已完成。ROMBIOS检查部件正在进行或失灵。
04使8042键盘控制器复位,核实TESTKBRD。键盘控制器软复位/通电测试。可编程间隔计时器的测试正在进行或失灵。
05如果不断重复制造测试1至5,可获得8042控制状态。已确定软复位/通电;即将启动ROM。DMA初如准备正在进行或者失灵。
06使电路片作初始准备,停用视频、奇偶性、DMA电路片,以及清除DMA电路片,所有页面寄存器和CMOS停机字节。已启动ROM计算ROMBIOS检查总和,以及检查键盘缓冲器是否清除。DMA初始页面寄存器读/写测试正在进行或失灵。
07处理器测试2,核实CPU寄存器的工作。ROMBIOS检查总和正常,键盘缓冲器已清除,向键盘发出BAT(基本保证测试)命令。.
08使CMOS计时器作初始准备,正常的更新计时器的循环。已向键盘发出BAT命令,即将写入BAT命令。RAM更新检验正在进行或失灵。
09EPROM检查总和且必须等于零才通过。核实键盘的基本保证测试,接着核实键盘命令字节。第一个64KRAM测试正在进行。
0A使视频接口作初始准备。发出键盘命令字节代码,即将写入命令字节数据。第一个64KRAM芯片或数据线失灵,移位。
0B测试8254通道0。写入键盘控制器命令字节,即将发出引脚23和24的封锁/解锁命令。第一个64KRAM奇/偶逻辑失灵。
0C测试8254通道1。键盘控制器引脚23、24已封锁/解锁;已发出NOP命令。第一个64KRAN的地址线故障。
0D1、检查CPU速度是否与系统时钟相匹配。2、检查控制芯片已编程值是否符合初设置。3、视频通道测试,如果失败,则鸣喇叭。已处理NOP命令;接着测试CMOS停开寄存器。第一个64KRAM的奇偶性失灵
0E测试CMOS停机字节。CMOS停开寄存器读/写测试;将计算CMOS检查总和。初始化输入/输出端口地址。
0F测试扩展的CMOS。已计算CMOS检查总和写入诊断字节;CMOS开始初始准备。.
10测试DMA通道0。CMOS已作初始准备,CMOS状态寄存器即将为日期和时间作初始准备。第一个64KRAM第0位故障。
11测试DMA通道1。CMOS状态寄存器已作初始准备,即将停用DMA和中断控制器。第一个64DKRAM第1位故障。
12测试DMA页面寄存器。停用DMA控制器1以及中断控制器1和2;即将视频显示器并使端口B作初始准备。第一个64DKRAM第2位故障。
13测试8741键盘控制器接口。视频显示器已停用,端口B已作初始准备;即将开始电路片初始化/存储器自动检测。第一个64DKRAM第3位故障。
14测试存储器更新触发电路。电路片初始化/存储器处自动检测结束;8254计时器测试即将开始。第一个64DKRAM第4位故障。
15测试开头64K的系统存储器。第2通道计时器测试了一半;8254第2通道计时器即将完成测试。第一个64DKRAM第5位故障。
16建立8259所用的中断矢量表。第2通道计时器测试结束;8254第1通道计时器即将完成测试。第一个64DKRAM第6位故障。
17调准视频输入/输出工作,若装有视频BIOS则启用。第1通道计时器测试结束;8254第0通道计时器即将完成测试。第一个64DKRAM第7位故障。
18测试视频存储器,如果安装选用的视频BIOS通过,由可绕过。第0通道计时器测试结束;即将开始更新存储器。第一个64DKRAM第8位故障。
19测试第1通道的中断控制器(8259)屏蔽位。已开始更新存储器,接着将完成存储器的更新。第一个64DKRAM第9位故障。
1A测试第2通道的中断控制器(8259)屏蔽位。正在触发存储器更新线路,即将检查15微秒通/断时间。第一个64DKRAM第10位故障。
1B测试CMOS电池电平。完成存储器更新时间30微秒测试;即将开始基本的64K存储器测试。第一个64DKRAM第11位故障。
1C测试CMOS检查总和。.第一个64DKRAM第12位故障。
1D调定CMOS配置。.第一个64DKRAM第13位故障。
1E测定系统存储器的大小,并且把它和CMOS值比较。.第一个64DKRAM第14位故障。
1F测试64K存储器至最高640K。.第一个64DKRAM第15位故障。
20测量固定的8259中断位。开始基本的64K存储器测试;即将测试地址线。从属DMA寄存器测试正在进行或失灵。
21维持不可屏蔽中断(NMI)位(奇偶性或输入/输出通道的检查)。通过地址线测试;即将触发奇偶性。主DMA寄存器测试正在进行或失灵。
22测试8259的中断功能。结束触发奇偶性;将开始串行数据读/写测试。主中断屏蔽寄存器测试正在进行或失灵。
23测试保护方式8086虚拟方式和8086页面方式。基本的64K串行数据读/写测试正常;即将开始中断矢量初始化之前的任何调节。从属中断屏蔽存器测试正在进行或失灵。
24测定1MB以上的扩展存储器。矢量初始化之前的任何调节完成,即将开始中断矢量的初始准备。设置ES段地址寄存器注册表到内存高端。
25测试除头一个64K之后的所有存储器。完成中断矢量初始准备;将为旋转式断续开始读出8042的输入/输出端口。装入中断矢量正在进行或失灵。
26测试保护方式的例外情况。读出8042的输入/输出端口;即将为旋转式断续开始使全局数据作初始准备。开启A20地址线;使之参入寻址。
27确定超高速缓冲存储器的控制或屏蔽RAM。全1数据初始准备结束;接着将进行中断矢量之后的任何初始准备。键盘控制器测试正在进行或失灵。
28确定超高速缓冲存储器的控制或者特别的8042键盘控制器。完成中断矢量之后的初始准备;即将调定单色方式。CMOS电源故障/检查总和计算正在进行。
29.已调定单色方式,即将调定彩色方式。CMOS配置有效性的检查正在进行。
2A使键盘控制器作初始准备。已调定彩色方式,即将进行ROM测试前的触发奇偶性。置空64K基本内存。
2B使磁碟驱动器和控制器作初始准备。触发奇偶性结束;即将控制任选的视频ROM检查前所需的任何调节。屏幕存储器测试正在进行或失灵。
2C检查串行端口,并使之作初始准备。完成视频ROM控制之前的处理;即将查看任选的视频ROM并加以控制。屏幕初始准备正在进行或失灵。
2D检测并行端口,并使之作初始准备。已完成任选的视频ROM控制,即将进行视频ROM回复控制之后任何其他处理的控制。屏幕回扫测试正在进行或失灵。
2E使硬磁盘驱动器和控制器作初始准备。从视频ROM控制之后的处理复原;如果没有发现EGA/VGA就要进行显示器存储器读/写测试。检测视频ROM正在进行。
2F检测数学协处理器,并使之作初始准备。没发现EGA/VGA;即将开始显示器存储器读/写测试。.
30建立基本内存和扩展内存。通过显示器存储器读/写测试;即将进行扫描检查。认为屏幕是可以工作的。
31检测从C800:0至EFFF:0的选用ROM,并使之作初始准备。显示器存储器读/写测试或扫描检查失败,即将进行另一种显示器存储器读/写测试。单色监视器是可以工作的。
32对主板上COM/LTP/FDD/声音设备等I/O芯片编程使之适合设置值。通过另一种显示器存储器读/写测试;却将进行另一种显示器扫描检查。彩色监视器(40列)是可以工作的。
33.视频显示器检查结束;将开始利用调节开关和实际插卡检验显示器的关型。彩色监视器(80列)是可以工作的。
34.已检验显示器适配器;接着将调定显示方式。计时器滴答声中断测试正在进行或失灵。35.完成调定显示方式;即将检查BIOSROM的数据区。停机测试正在进行或失灵。
36.已检查BIOSROM数据区;即将调定通电信息的游标。门电路中A-20失灵。
37.识别通电信息的游标调定已完成;即将显示通电信息。保护方式中的意外中断。
38.完成显示通电信息;即将读出新的游标位置。RAM测试正在进行或者地址故障>FFFFH。
39.已读出保存游标位置,即将显示引用信息串。.
3A.引用信息串显示结束;即将显示发现信息。间隔计时器通道2测试或失灵。
3B用OPTI电路片(只是486)使辅助超高速缓冲存储器作初始准备。已显示发现<ESC>信息;虚拟方式,存储器测试即将开始。按日计算的日历时钟测试正在进行或失灵。
3C建立允许进入CMOS设置的标志。.串行端口测试正在进行或失灵。
3D初始化键盘/PS2鼠标/PNP设备及总内存节点。.并行端口测试正在进行或失灵。
3E尝试打开L2高速缓存。.数学协处理器测试正在进行或失灵。
40.已开始准备虚拟方式的测试;即将从视频存储器来检验。调整CPU速度,使之与外围时钟精确匹配。
41中断已打开,将初始化数据以便于0:0检测内存变换(中断控制器或内存不良)从视频存储器检验之后复原;即将准备描述符表。系统插件板选择失灵。
42显示窗口进入SETUP。描述符表已准备好;即将进行虚拟方式作存储器测试。扩展CMOSRAM故障。
43若是即插即用BIOS,则串口、并口初始化。进入虚拟方式;即将为诊断方式实现中断。.44.已实现中断(如已接通诊断开关;即将使数据作初始准备以检查存储器在0:0返转。)BIOS中断进行初始化。
45初始化数学协处理器。数据已作初始准备;即将检查存储器在0:0返转以及找出系统存储器的规模。.
46.测试存储器已返回;存储器大小计算完毕,即将写入页面来测试存储器。检查只读存储器ROM版本。
47.即将在扩展的存储器试写页面;即将基本640K存储器写入页面。
48.已将基本存储器写入页面;即将确定1MB以上的存储器。视频检查,CMOS重新配置。
49.找出1BM以下的存储器并检验;即将确定1MB以上的存储器。.
4A.找出1MB以上的存储器并检验;即将检查BIOSROM数据区。进行视频的初始化。
4B.BIOSROM数据区的检验结束,即将检查<ESC>和为软复位清除1MB以上的存储器。.4C.清除1MB以上的存储器(软复位)即将清除1MB以上的存储器.屏蔽视频BIOSROM。.4D。已清除1MB以上的存储器(软复位);将保存存储器的大小。.
4E若检测到有错误;在显示器上显示错误信息,并等待客户按<F1>键继续。开始存储器的测试:(无软复位);即将显示第一个64K存储器的测试。显示版权信息。
4F读写软、硬盘数据,进行DOS引导。开始显示存储器的大小,正在测试存储器将使之更新;将进行串行和随机的存储器测试。.
50将当前BIOS监时区内的CMOS值存到CMOS中。完成1MB以下的存储器测试;即将高速存储器的大小以便再定位和掩蔽。将CPU类型和速度送到屏幕。
51.测试1MB以上的存储器。.
52所有ISA只读存储器ROM进行初始化,最终给PCI分配IRQ号等初始化工作。已完成1MB以上的存储器测试;即将准备回到实址方式。进入键盘检测。
53如果不是即插即用BIOS,则初始化串口、并口和设置时种值。保存CPU寄存器和存储器的大小,将进入实址方式。.
54.成功地开启实址方式;即将复原准备停机时保存的寄存器。扫描“打击键”
55.寄存器已复原,将停用门电路A-20的地址线。.
56.成功地停用A-20的地址线;即将检查BIOSROM数据区。键盘测试结束。
57.BIOSROM数据区检查了一半;继续进行。.
58.BIOSROM的数据区检查结束;将清除发现<
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 线粒体DNA损伤与衰老-洞察分析
- 物联网设备协同控制-洞察分析
- 2024年度无偿图书馆租赁服务协议3篇
- 2024年新能源汽车质押借款合同示范文本3篇
- 2024年二零二四年度智慧城市行政协议指导手册3篇
- 虚拟现实与传播创新-洞察分析
- 2024年度消防应急预案编制与演练合同6篇
- 网络故障智能诊断系统-洞察分析
- 犬伤护理常规
- 油气安全环保标准-洞察分析
- GB/T 31900-2024机织儿童服装
- 2024年心理咨询师题库含答案解析
- 2025年上半年浙江金华市永康市选调市纪检监察信息中心工作人员2人重点基础提升(共500题)附带答案详解
- 美国制造业经济2024年度报告-2024-12-宏观大势
- 2024年四川省高三语文第一次联合诊断性考试作文题目解析及范文:青春的选择
- 场地道路施工方案
- 2024-2025学年江苏省南通市海安市二年级(上)期中数学试卷
- 医疗机构医疗废物管理规范考试试题及答案
- GB/T 15723-2024实验室玻璃仪器干燥器
- 吊篮操作和维护保养管理制度
- 2023-2024学年广东省广州市番禺区高二(上)期末地理试卷
评论
0/150
提交评论