提示:毕业设计(论文)任务书
一、毕业设计(论文)题目:Weblog系统设计与实现 - Weblog系统设计与实现
二、毕业设计(论文)工作自 2022-02-21 起至 2022-04-19 止
三、毕业设计(论文)内容要求:
主要内容:
博客(Weblog)记载了日常发生的事情和自己的兴趣爱好,把自己的思想和知识与他人分享、交流,同时又通过个人博客结识了更多志趣相投的朋友;而越来越多承载专业知识的博客的出现,让人们看到了博客所蕴涵的巨大的信息价值,目前博客已成为越来越多的人获取信息的重要途径。
博客系统能完成文章的录入,文章中可能包含表格、图片、多媒体信息系内容。用户可以引用网络图片,也可以上传本地图片到运行博客的服务器上。对内容可以进行类似Word的编辑,某些高级博客系统已经支持Markdown标记。
本设计利用所学的知识,利用自己熟悉的编程语言实现一个博客系统,能完成博客系统的记载日志、保密日志、用户评价等功能,建议实现Markdown标记语言的解析和渲染。实现的系统能实际在Internet上部署和运行。
要求:
题目:基于Asp.Net Core + Vue.js的Weblog系统设计与实现
一、课题的目的及意义(含国内外的研究现状分析):
blog本质上是一个个人日记系统,只需要把这个日记系统放到网上,一些内容可以公开,根据需要分享给朋友。一个典型的blog结合了文本、图像、到其他blog或网站的链接以及与主题相关的其他媒体。
blog是社交媒体网络的一部分。内容和目的非常不同,在这里每个人都可以自由的发表喜欢的话题,一起参与讨论有趣有料的观点,大到你对时事新闻和国家大事的个人看法,小到你对一日三餐和衣服的无微不至的关心。
blog具有良好的交流功能。传统的几种网络交流方式,BBS过于公开,而电子邮件和即时通讯工具IM具有明显的私密性,而blog的出现很好的结合了公开性和私密性。通过把blog作为网络个人日记,个人展示自己某个方面的空间,网络交友的地方,学习交流的地方,blog提供了非常方便实用的个性化功能。
本次毕业设计的主要研究内容是个人blog系统的设计与实现。设计为了满足blog能够及时快速更新,需要完善数据库的设计,开发更便捷。本项目采用ASP.NET Core+ Vue前后端分离技术,实现个性化管理的blog系统。
二、课题任务、重点研究内容、实现途径、条件:
(1)课题任务:
1)博主可以简单的添加和删除日志;
2)博客注册登陆管理。
3) 博客日志查询列表管理。
4)发表日志管理。
5)发表及显示评论管理
6)留言显示以及查询管理。
7)独立于具体的数据库平台,对于与数据库交互的部分充分考虑兼容性;
8)容易在原先基础上进行二次开发;
9)中间基础平台的无型性。尽量采用开放的标准技术,达到跨平台运行效果;
(2)重点研究内容:
1)博客注册登陆管理。
本模块实现新用户注册、登陆功能。其中,注册新用户时会对用户输入的注册信息进行有效验证,包括基本数据的有效性,以及逻辑性。例如:用户名被占用时给出提示。注册成功登陆时会对博客输入的信息进行提示,如用户名、密码错误。用户认证的实现是通过JWT的方式。采用axios的方式来管理用户登陆状态。通过设置了代理的方式来访问后端接口。
2)博客日志查询列表管理。
本模块用于帮助网络用户快速定位到自己关注的博客页面以及对应的日志信息中。在本模块中提供了最新日志推荐,还提供了按照内容标题或关键字快速查询所需日志信息。
3)发表日志管理
该模块实现了博主发表日志动态的功能。博主发表日志时,可以选择日志所属类别。此外只有博主才可以发表日志,对此进行了严格的身份验证。
4)发表及显示评论管理
该模块实现了与日志相关评论的管理。
5)留言显示及查询管理
该模块实现管理留言显示,删除留言。
(3)实现途径
1)项目技术架构。
前端采用:Vue.js、Element-UI、axios、npm;后端采用:ASP.Net Core、webapi swagger、 jwt。本项目是基于Vue.js的多页应用,由于后端开发不擅长Node.js开发并且希望使用传统的方式进行权限管控和生产发布,所以.Net Core 和webapi 承担了所有的页面路由管控和页面菜单权限控制,Vue.js只是作为视图渲染及页面交互使用。
2)前后端分离。
简洁美观的前端信息页面展示情况与功能分明的后台管理模块;博主可进行日志编辑实现博文的发表,修改,删除等操作,实现博主的主要功能模块;游客可根据关键字在前端页面进行博文搜寻,浏览日志动态;对博客分类与标签管理的目的时增加博客浏览兴趣,相关提示对游客浏览博文动态有一定的帮助,具有导航引领作用;数据更新过程中,前台页面信息显示的响应速度合理,便于游客的及时浏览;除了公开展示的博文,博主有个人页面管理,可实现未发布日志的预浏览或者是个人日志的编写储存等;系统内容实现稳定运行,可实现系统的功能拓展。
3)跨域问题。
使用前后端完全分离的架构,首先遇到的问题肯定是跨域访问。前后端可能不在同个服务器上,即使前后端处在同个服务器上,由于前后端完全分离,前后端使用的端口号也可能是不一样的,所以必须解决跨域访问。
4)ElementUI自带样式。
ElementUI自带样式那是必然不可能和设计稿一样的,所以自定义样式是必不可避免的。获得当前样式的类名并不难,但是很多时候这个样式并不会奏效。下面列出两种常见的解决办法:在类名的开头添加样式穿透,两种方法:/deep/ 或者>>>,都是可以的。建议在最开始的时候把组件的类名或者id添加上,以避免穿透的时候产生样式的污染。
对于动态生成的组件亲测是不可以穿透的,必须写全局的style,不能有scope。此时需要做的就是看一看ElementUI对应的组件是否包含popper_class这个属性。然后在全局中在popper_class自定义的class类名下面写样式就可以了。
5)Vue axios的简单封装及全局调用方式。
单例模式。拦截器,拦截request,拦截response。封装工具函数,封装get,post,put,delete四种公用函数:封装支持传入这四种请求方式的公用函数。
6) JWT授权登录。
授权:一旦用户登录,每个后续请求将包括JWT,从而允许用户访问该令牌允许的路由,服务和资源。单一登录是当今广泛使用JWT的一项功能,因为它的开销很小并且可以在不同的域中轻松使用。这也是JWT最常见的方案。信息交换:JSON Web令牌是各方之间安全地传输信息的好办法。对JWT进行签名,所以您可以确保发件人是他们所说的人。由于,签名可以设置有效时长,可以验证内容是否遭到篡改。
本文阐述个人Weblog(博 客)的发展现状,分析开发系统目的。设计出一个简单快速发布网络日志,实时更新文章的个人Weblog系统。系统支持Markdown编辑器发布博文,满足读者交流知识。另外系统通过博文类型,将目标受众分类,提供个性化文章标签,极大提升读者获取信息的准确性和时效性。
本系统采用动态网页的技术ASP.NET Core 和Vue.js框架,后端采取MySQL数据库,并且通过使用Swagger技术进行访问。本文整体对个人Weblog系统进行分析,明确系统设计需求的可行性。采用模块化设计,针对数据库设计与表结构,满足数据的完整性,安全性。系统测试部分,具体分析测试过程中可能出现的设计缺陷,提出措施方案实现系统功能。最后,对于系统做出全面客观的评价,并进一步提出改进建议。
本次课程设计的主攻方向与学习方向,为了实现基于ASP.NET Core和Vue.js的Weblog系统的设计。采用前后端分离的方式进行开发,配置后端代码运行环境,项目可以在本地运行(Windows),后续测试部署在阿里云服务器上。
关键词:个人Weblog系统 Vue.js框架 MySQL数据库 Asp.Net Core
博 客(Weblog/blog),具有信息传播开放性、互动性、私密性的特点,用户规模迅速扩大,是自媒体中最具活力的增长点,已成为网络新媒介的重要组成部分,对网络受众群体的影响也在逐年提高,已经成为一种时尚和文化的载体。[1]一个常规的博客,涵盖文章、图片,网站的链接以及其它主题的内容,其利用个人兴趣