版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录系统开发的相关技术本章将会详细介绍本系统开发需要的相关技术,涵盖了与如今市面上广泛流行的其它相关技术的对比。系统技术框架校园助手微信小程序使用uni-app进行微信小程序页面开发,后台系统使用的技术框架为vue+element-ui,后端采用SpringBoot+Mybatis-Plus框架进行搭建,系统采用的数据库为MySql,系统采用的开发工具为IDEA+VisualStudioCode+HbuilderX。可行性分析本次校园助手微信小程序旨在提供一个界面UI简洁友好并且拥有良好的用户体验的一个校园社交平台。接下来将会从操作,技术和经济进行可行性分析。操作可行性分析校园助手微信小程序前台操作简单,提供了底部导航栏,各个模块功能一目了然,简洁明了。后台管理系统排版合理,提供了侧边导航栏,用户可以很方便快捷的找到自己需要的功能。本系统前台基于微信小程序,用户只需要安装好微信并且可以正常联网使用的手机便可运行。本系统操作逻辑简单,不需要额外的学习成本,便于入手。后台管理员系统基于web服务,管理员通过手机或者个人电脑都可以进入。整个系统的界面简介美观,并且具有较为完善的系统提示,操作简单,具有良好的用户体验。技术可行性分析本系统对硬件配置并没有特别的要求,用户只需要安装好微信并具备网络环境就可以使用。本系统后端采用的是SpringBoot+Mybatis-Plus框架,后台页面使用了vue.js+element-ui进行开发,后台采用的是uni-app+color-ui,UI界面简介美观,数据库采用的是MySql数据库。都是目前市面上主流的开发技术,性能卓越并且具有稳定性,广泛应用于各类项目中,因此在技术上可行性的是具备的。经济可行性分析本系统后端将使用IntelliJIDEA进行开发,而IDEA官方提供了免费的社区版本,具备了大部分需要的开发功能。若想使用功能更为丰富全面的旗舰版,可以通过学生认证用教育邮箱申请免费使用旗舰版本,本系统使用免费的社区版本即可满足开发需求。前端使用的VisualStudioCode+HbuilderX都是免费提供给用户使用的,而系统中使用的element-ui和color-ui更是提供了丰富的免费的组件库。由此可见,开发过程中的经济可行性是具备的。SpringBoot框架SpringBoot框架是一个作用于Spring的框架,能够简化Spring中的配置文件,在很短的时间内构建出一个新项目,可以很简单地对项目进行依赖管理,自动完成项目中所需要的配置文件,极大的提高了我们进行开发的效率[8]。以往使用Spring进行开发时,我们常常需要自己手动完成项目中的配置,当项目越做越大后,整个系统的配置文件则会变得又多又复杂,难以进行维护和管理[9]。而SpringBoot的出现则为我们解决了这一个问题,它将原本需要开发者手动完成的工作,交给Spring自己完成,简化了构建配置并尽可能的帮我们自动进行配置Sping,精简工作步骤,来提高效率。并且SpingBoot作为Spring的扩展,不会增加开发者额外的学习成本。vue前端框架vue.js是目前最流行、使用范围最广的前端框架之一,能够快速的构建出用户页面。vue.js的重点在于用户视图,不仅利于新手快速入门,而且可以很方便的与其它框架项目进行整合。vuecli是官方提供的手脚架工具。通过使用vuecli,开发者能够快速地创建和管理vue项目的,并且使得整个生态项目更加标准和具有规范性。vuecli能够智能管理项目配置,让开发者不用操心项目的配置问题,只需要专注于开发工作上,提高了开发效率。vuecli需要使用命令行进行操作,但是vuecli也提供了图形化操作界面,如图2.1,用户可以更加方便、直观的管理vue项目,创建、导入、删除等,容易入手。图2.1vuecli图形化界面目前项目上应用最为广泛的三大前端框架,vue.js,react以及angular。vue.js和react相比,它们都提供了响应式组件,具有可复用性。它们都为开发者提供了路由和全局状态管理等。但他们也有完全不一致的地方,其中的一点就是,react希望开发者使用JSX编写代码,react的独特之处在于它更加偏向于函数式编程。而开发者去编写类似HTML的模板,并且通过使用模板+JavaScript+CSS样式的组合呈现出单文件组件,这是vue更希望开发者去做的。vue的思维是更加契合传统的web开发者。而它们相似的地方很多,并且都拥有卓越的性能表现。vue和angular相比,性能上,这两个框架的性能都十分的优秀,差距十分微小;在项目的体积上,vue项目会比angular优化后的项目还要小得多,angular会显得比较臃肿;在学习成本上,vue需要开发者有良好的HTML、JavaScript以及CSS基础,这些都是传统web开发者应该具备的能力。有这些基础,vue的入手是十分容易的。angular的学习成本上要相对大一些,它的API比起vue要大得多,因此需要开发者花费时间理解更多概念才能开始有效的投入工作,这使它对于新手开发者会相对更难以入手;在灵活性上,有的开发者会喜欢严格的代码规范,也有喜欢灵活自由的,而vue不限制开发者去如何组织应用代码。vue.js,react和angular都是目前应用的最广泛、最受开发者欢迎的前端框架,都具备十分卓越的性能和生态,没有一个框架能让人明显感受到比另外两个更加优秀。本系统使用vue进行开发的原因更多的在于开发者个人的意愿和项目需要。uni-app前端框架uni-app是一个平台能力不受限制的前端框架,主要用来开发跨平台程序。uni-app的功能框架如图2.2所述。uni-app不会给开发者带来额外的学习成本,因为它是使用vue语法包括各类小程序的api进行开发,开发者需要有HTML、JavaScript以及CSS基础,而这些都是前端开发者都应具备的能力。用uni-app框架来开发小程序端的性能优于目前市场上使用的其他框架,具有较低的开发成本,它的平台能力不受限制,通过使用同一套代码,可以发布到不同的平台,如安卓、IOS、微信小程序等,并且具有卓越的性能体验,可以快速的加载新页面,并且支持自动更新数据。如果用uni-app框架来开发安卓原生APP端,支持原生渲染,具有非常良好的用户体验。uni-app的周边生态十分丰富且完善,在它的官方插件市场上,具有数千款插件,包括官方团队开发的插件以及其他第三方团队或用户开发,同时也支持NPM以及各种小程序组件。和腾讯官方原生开发小程序相比[10],uni-app采用并遵循vue.js的语法规则,而vue.js使用的是HTML、JavaScript以及CSS,是前端开发者都应具备的基础能力,不会给开发者增加额外的学习压力,更容易入手。而原生的开发语言是一种新的语法,与目前市场的已有的框架并不通用,开发者可能需要投入时间去学习和适应新的语法。并且使用vue组件开发会比微信小程序自定义组件开发更舒适,体验要更好。uni-app具有丰富的生态环境,在其官方插件市场上有着上千款插件以及自定义组件,只需引入到项目中就可以直接使用,在拥有卓越的性能的同时还支持跨平台使用,不仅兼容微信小程序,同一代码不需要进行修改就可以发布到其它的小程序平台,甚至是原生安卓以及H5端,降低了开发者的开发成本。原生开发只支持使用由腾讯公司发布的微信开发者工具,部分开发者可能不太习惯。uni-app可以使用uni-app开发团队出品的开发工具Hbuilder[11],如果使用Hbuilder进行开发,开发者也可以选择将项目运行到其它平台。当然开发者也可以使用市面上使用最为广泛的VisualStudio
Code,uni-app团队也提供了相应的支持。开发者可根据自身的习惯选择开发工具。图2.2uni-app功能框架图微信小程序2017年1月腾讯公司发布了微信小程序,上线仅仅一年时间就收获了庞大的用户量,活跃用户规模高达1.7亿。微型应用,免去了下载和安装,并且可以碎片化使用,这是腾讯副总裁、微信之父张小龙对于小程序的市场定位的描述。无论使用频率如何,用户都可以直接启动应用程序,而不用事先下载并安装好应用、注册或输入支付细节。这些应用程序以所谓的小程序的形式存在并运行,它们是在社交平台微信上托管的轻量级应用程序[12]。现如今的手机用户对现代服务的期望已经默认是需要提前下载服务商提供的APP,并且这个观点也越来越普遍。然而,虽然如今的手机应用商店层出不穷,商店规模不断扩大,收揽的应用程序越来越多,但是有65%的智能手机用户反映每月下载应用的次数基本为零[13]。对用户来说,不仅仅是从市场上大量零零散散的应用程序中进行选择是一种负担,更别说其中不乏充斥着各种广告的垃圾应用程序,并且使用前无法避免的先期安装过程对许多移动用户构成了巨大的障碍。用户不得不在自己的移动手机上实际下载、安装和存储一个应用程序,即便只是偶尔会使用到,也需要提前安装在你的设备上,这显然很大程度上降低了用户体验。小程序和本地的应用程序相比,不是单纯的比较使用哪一个方式的优点更多,能获得更大的优势,而是需要结合实际使用场景,判断哪种方式更加契合哪些使用的场景。对于许多规模较小的品牌或服务,微信小程序更具成本效益,对一个没有成本没有资源没有大量用户群体,不能支持开发一个本地应用程序的小团队或者是公司来说,毫无疑问是更加契合的开发策略。使用微信小程序能够弥补本地应用程序的一刀切的方针,能够更好的服务于一个小众的用户群体。并且微信小程序具有可用性、可试用性以及他们可以访问微信平台上广泛的潜在用户群体,因此丝毫没有任何理由去拒绝开发微信小程序。小程序和本地应用程序并不是相互排斥的关系,恰好相反,在实践中,小程序常常与本地应用程序相辅相成,相互补充渠道,这进一步扩大了微信小程序在各行各业的适用范围。MyBatis-PlusMyBatis-Plus(下文简称MP)是一个基于
MyBatis的增强工具,曾取得了2018最受欢迎国产开源软件的荣誉。它是在原来MyBatis的基础上进行二次开发和封装的一个增强型框架,提高用户的开发效率,是由国内的开发团队苞米豆发布。MP对MyBatis的内容不做任何修改只做增加,额外扩展了一些MyBatis上没有的功能,专注于简化使用MyBatis的过程[14]。在使用Mybatis的项目中引入MP不会对产生任何影响,如图2.3所示,MP的作者希望MP能够成为游戏魂斗罗中的2P一样,成为1P最好的合作伙伴,即Mybatis,帮助开发者提高效率。图2.3MyBatis-Plus与MyBatis与MyBatis相比,由于MP是基于MyBatis的扩展,因此MP完全支持原有的所有功能,没有进行任何修改。并且当用户在使用其扩展功能时,原生功能完全是可以正常使用的,并不会受到任何影响的。MP扩展了一个功能十分强大的条件构造器,封装并内置了Mapper和通用的Service,并且支持Lambda。用户只需要完成一些基本的配置,甚至不需要编写SQL语句,就能完成大部分的单表CRUD操作,可以实现用户的各种需求。但在使用MP的时候,要注意不要让MP去实现所有的数据操作,因为MP会更加轻易地造成代码结构混乱。它在提供比MyBatis更加方便的功能同时,如果没有合理的使用,可能会降低代码的可读性,因此使用前一定要做分析。本章小结本章主要介绍了校园助手微信小程序前端、后端等运用到的技术,从操作、技术以及经济进行了可行性分析,并且较为详细的介绍和分析了整个系统将会使用到的的框架和技术。在下个章节中,将介绍校园助手微信小程序的需求分析。第3章系统需求分析系统需求分析系统总体需求分析通过对市面上已有的校园助手应用程序的观察,以及对于市场需求已经有了较为充分的了解的基础上,设计了本校园助手微信小程序。本系统设计的目的就是为了使高校的大学生们可以获得更加全面广泛的校园信息,立足于本校的特色,量体裁衣,整合了高校学生获取信息资源的渠道,让用户可以随时了解到校园动态,可以认识到志同道合的朋友,丰富了校园生活,更加有趣。本系统主要由用户使用的小程序系统以及对应的后台管理系统组成,前台小程序系统包括了搜索功能,浏览文章,评论文章,查看用户空间,登录注册,查看黑名单,查看关注列表,聊天,修改账户信息,修改用户资料,查看浏览历史等。后台管理系统包括查看用户基本资料,管理帖子状态,管理话题,处理用户反馈,管理账户等。系统功能需求分析校园助手微信小程序系统主要分为用户模块和管理员模块,接下来将会分别对这两个部分进行功能需求分析。用户模块功能需求分析用户部分主要实现的需求如下:搜索、查看话题、注册、编辑用户资料、浏览帖子、顶踩帖子、评论、登录、查看用户空间、关注取关、黑名单管理、聊天、查看浏览记录、退出系统等。用户的用例图如图3.1所示。图3.1用户用例图用户更换绑定账户邮箱的用例如表3-1所述:表3-1用户换绑邮箱用例表用例名称换绑邮箱用例标识号U001参与者用户前置条件用户已登录系统基本事件流1.用户输入邮箱和验证码2.等待系统响应,系统提示换绑邮箱成功扩展事件流1a.用户输入的邮箱已被绑定,系统提示邮箱已被绑定1b.用户输入的验证码不正确,系统提示验证码存在错误后置条件用户换绑邮箱成功用户更改个人信息的用例如表3-2所述:表3-2用户更改个人信息用例表用例名称更改个人信息用例标识号U002参与者用户前置条件用户已登录系统基本事件流1.用户点击需要更改的个人信息2.用户输入要修改的信息3.等待系统响应,系统提示更改成功扩展事件流无后置条件用户更改个人信息成功用户发布文章用例如表3-3所述:表3-3用户发布文章用例表用例名称发布文章用例标识号U003参与者用户前置条件用户已登录系统基本事件流1.用户点击发布按钮2.用户输入文章标题和内容3.用户上传图片4.用户选择文章分类5.用户选择话题分类6.用户点击发布按钮扩展事件流无后置条件用户发布文章成功用户顶踩文章用例如表3-4所述:表3-4用户顶(踩)文章用例表用例名称顶踩文章用例标识号U004参与者用户前置条件用户已登录系统基本事件流1.用户点击顶或踩按钮2.系统提示顶(踩)成功扩展事件流1a.用户已经顶或踩过了,系统提示已经顶(踩)过了后置条件用户顶(踩)文章成功用户评论文章用例如表3-5所述:表3-5用户评论文章用例表用例名称评论文章用例标识号U005参与者用户前置条件用户已登录系统基本事件流1.用户进入文章详细页面2.用户输入评论内容3.等待系统响应,系统提示评论成功扩展事件流无后置条件用户评论成功用户关注取关用户用例如表3-6所述:表3-6用户关注(取关)用户用例表用例名称关注取关用户用例标识号U006参与者用户前置条件用户已登录系统基本事件流1.用户点击关注(取关)按钮2.等待系统响应,系统提示关注(取关)成功扩展事件流无后置条件用户关注(取关)成功管理员模块功能需求分析管理员功能模块的主要具备的功能有查看用户资料、管理用户账号状态、管理文章分类、管理帖子、管理话题分类、管理话题、处理用户反馈等。用例图如图3.2所示。图3.2管理员用例图管理员管理用户账号状态用例如表3-7所述:表3-7管理员管理用户账号状态用例表用例名称管理用户账号状态用例标识号U007参与者管理员前置条件管理员已登录系统基本事件流1.管理员选择选项2.管理员点击启用(禁用)按钮3.等待系统响应,系统提示账号启用(禁用)成功扩展事件流1a.管理员未选择账号,系统提示至少选择一项后置条件管理员管理用户账号状态成功管理员管理文章分类用例如表3-8所述:表3-8管理员管理文章分类用例表用例名称管理文章分类用例标识号U008参与者管理员前置条件管理员已登录系统基本事件流1.管理员添加(删除)文章分类2.等待系统响应,系统提示添加(删除)成功扩展事件流无后置条件管理员管理文章分类成功管理员管理话题用例如表3-9所述:表3-9管理员管理话题用例表用例名称管理话题用例标识号U009参与者管理员前置条件管理员已登录系统基本事件流1.管理员添加(修改、删除)话题2.等待系统响应,系统提示添加(修改、删除)成功扩展事件流无后置条件管理员管理话题分类成功管理员管理话题用例如表3-10所述:表3-10管理员处理用户反馈用例表用例名称处理用户反馈用例标识号U010参与者管理员前置条件管理员已登录系统基本事件流1.管理员选择用户反馈2.管理员点击处理按钮3.等待系统响应,系统提示更新成功扩展事件流1a.管理员未选择用户反馈,系统提示至少选择一项后置条件管理员处理用户反馈成功本章小结本章对校园助手微信小程序系统进行了详细的需求分析,并对系统的主要功能模块需求进行较为详细的分析以及说明,为本系统的设计提供支持与论证。在下个章节中,将会详细介绍系统的设计实现。第4章系统详细设计系统详细设计系统框架设计本系统采用SpringBoot+Mybatis-Plus为后端总体框架,uni-app+color-ui为前端微信小程序框架,vue+element-ui为前端后台管理系统框架,数据库为MySql。本系统主要使用的开发工具是IDEA+VSCode+HbuilderX。系统的整体结构如下图4.1所示。图4.1系统架构图系统总体流程设计用户端:用户进入小程序后,注册本系统的账号,后续可通过账号或直接使用验证码进行登录。登录成功后,用户在小程序的首页能够查看自己喜欢的类别的文章,可以进入动态页面下查看话题,也可通过搜索自行查找。点击帖子的作者头像,进入该用户的空间。可以浏览该用户发的所有文章,可以关注该用户,或将其拉黑,或着与该用户私聊。进入文章,可以顶、踩,发表评论。用户可在个人中心中查看自己的浏览记录,在设置中修改自己的账号信息或个人资料。提交用户反馈等。管理端:管理员进入后台管理系统并进行登录,登录成功后,可以查看用户的基本资料,管理用户账户状态,可以管理帖子、话题以及对应的分类信息,并且对所有的图片进行审核。管理员还可以对用户反馈进行追踪处理。系统总体功能如图4.2所示。图4.2系统结构图系统功能设计用户注册功能用户进入校园助手小程序后点击注册按钮进入注册页面,根据提示填写账户信息,内容需要填写完整才能点击按钮。系统会根据用户填写的信息,判断账号是否被注册过,若已被注册,系统提示账号已被注册过,若账号还未被注册,则判断用户两次输入的密码是否一致以及输入的验证码是否正确,所有信息都确认正确无误后,则系统账号注册成功。用户登录功能用户进入系统后点击登录按钮进入登录页面,若用户在未登录状态下,进行评论,发布文章等操作,系统则会自动跳转到登录页面。用户输入自己的账号信息或直接使用验证码进行登录,系统在后端核实用户数据是否正确,若输入的账号不存在,系统提示该账号不存在。所有数据都确认无误后,则用户登录成功。用户搜索功能用户点击搜索框可以进入搜索页面,在话题页面、用户界面也有相应的搜索框,分别搜索的是话题和用户。用户每次进行搜索后,系统会记录搜索历史,若用户搜索之前搜索过的内容,可直接点击搜索历史进行搜索,系统支持模糊搜索,根据用户搜索的内容展示不同的信息。用户修改密码功能用户登录后,在个人中心界面点击设置按钮进入设置页面,接着进入修改密码页面。用户输入表单内容,表单填写完整才能进行提交。系统会对用户输入的内容进行判断并提示错误信息,所有信息输入无误后修改成功,系统会清除登录信息,需要重新登录。用户换绑邮箱功能用户登录后,在个人中心界面点击设置按钮进入设置页面,选择换绑邮箱选项跳转到换绑邮箱页面。用户需要输入新邮箱的地址并获取验证码,邮箱填写正确后,系统发送验证码,用户需要把表单填写完整才能进行提交。系统会对用户输入的内容进行判断并提示错误信息。用户所有信息都正确后换绑邮箱成功,自动退出系统,需要重新进行登录。用户修改个人信息功能用户登录后,在个人中心界面点击设置按钮进入设置页面,选择资料编辑选项跳转到资料编辑页面。在资料编辑页面中,可以修改用户的头像、昵称、性别、学院、专业、家乡。点击用户头像,用户选择一张图片并上传作为账户头像,修改成功后,系统提示修改头像成功。修改昵称、学院、专业时,用户需要在输入框输入自己要修改的内容。修改性别和家乡时,系统会弹出相应的选项卡,用户根据自身情况进行选择即可,修改完成后系统提示修改资料成功。用户发布文章功能用户登录后,在首页中点击右上方“铅笔”按钮,进入发布页面。在发布页面中,用户必须需要输入文章的标题和内容,点击文章分类按钮选择文章类别。用户可以为文章添加话题,点击话题按钮选择想要的话题。用户可以点击图片按钮为文章添加图片,一篇文章最多可添加九张图片,添加的图片若不需要了可点击对应的图片右上角的回收站按钮进行删除,最后点击发布按钮进行发布,系统提示发布成功。用户评论文章功能用户登录后,进入文章详情页面后,可以对文章进行评论。直接在最下方的输入框输入评论内容并提交可以发布一级评论,选择文章已有的评论后系统会自动聚焦在评论输入框,用户输入评论内容后进行提交,则发布二级评论。用户关注取关功能用户登录后,可以点击文章上方右侧的关注按钮关注自己感兴趣的用户,也可以点击用户头像进入该用户的个人空间,点击个人空间的关注、取关按钮进行关注、取关,关注用户之后,该用户动态会在动态页面进行显示。用户黑名单功能用户登录后,点击用户头像进入该用户的个人空间,点击更多按钮,在弹框中相应的功能,即可将用户加入或移除黑名单列表。加入黑名单的用户无法与其进行聊天,查看该用户的动态。管理员管理账户状态功能登录系统后,在用户列表页面中,可以查看用户资料,也可根据昵称模糊搜索用户。管理员可以批量选择用户,对被选中的账户进行状态管理,被禁用的账户无法登录校园助手微信小程序前台系统。管理员处理用户反馈功能进入系统后,在用户反馈页面中,可以查看反馈信息,并进行相应的处理,反馈信息有未处理和已处理两种状态,管理员可以根据情况进行更新。管理员话题管理功能管理员登录后台管理系统后,进入话题分类页面中,管理员能够查看话题分类并进行相应的增删操作。在话题列表页面,管理员可以修改话题详情的标题、详情、封面,以及启用禁用话题状态。管理员文章管理功能登录系统后,在帖子分类列表中,可以查看每个文章分类信息,并且进行相应的增加和删除操作。在帖子列表中,可以浏览每个分类下的帖子详情,可以对不符合规范的帖子进行删帖处理。管理员图片管理功能在图片管理页面中,浏览所有的图片信息,可以删除违规的图片。本章小结本章节主要介绍了校园助手微信小程序的系统设计,详细描述了系统的总体框架和流程设计,以及具备的功能。在下一个章节中,将会描述本系统的数据库设计。第5章系统数据库设计系统数据库设计数据库平台环境本系统选择使用MySql对数据进行存储。系统环境使用的是Windows1064位系统,MySql版本号为8.0.22。E-R模型通过分析与设计,主要设计了用户表、话题分类表、话题表、文章分类表、文章表、黑名单表、评论表、关注表等多张表,系统E-R模型图如图5.1所示。图5.1E-R模型图数据库表设计(1)用户表user,如表5.1所示表5.1用户表字段名类型能否为空字段描述主外键idchar(19)NO用户id主键mailvarchar(255)NO用户邮箱passwordvarchar(255)NO用户密码nicknamevarchar(50)NO用户昵称avatarvarchar(255)YES用户头像sextinyintYES用户性别collegevarchar(255)YES学院professionvarchar(255)YES专业hometownvarchar(500)YES家乡is_disabledtinyintNO是否禁用1(true)已禁用,0(false)未禁用is_deletedtinyintNO逻辑删除1(true)已删除,0(false)未删除create_timeintYES创建时间update_timeintYES更新时间(2)话题分类表topic_type,如表5.2所示表5.2话题分类表字段名类型能否为空字段描述主外键idchar(19)NO话题分类id主键type_namevarchar(255)YES类别名称is_disabledtinyintNO是否禁用1(true)已禁用,0(false)未禁用create_timeintYES创建时间(3)话题表topic,如表5.3所示表5.3话题表字段名类型能否为空字段描述主外键idchar(19)NO话题id主键topic_type_idchar(19)NO话题分类id外键titlevarchar(255)YES话题名称covervarchar(255)YES话题封面descriptionvarchar(255)YES话题描述is_disabledtinyintNO是否禁用1(true)已禁用,0(false)未禁用create_timeintYES创建时间update_timeintYES更新时间(4)文章分类表post_type,如表5.4所示表5.4文章分类表字段名类型能否为空字段描述主外键idchar(19)NO文章分类id主键type_namevarchar(255)YES类别名称is_disabledtinyintNO是否禁用1(true)已禁用,0(false)未禁用create_timeintYES创建时间(5)文章表post,如表5.5所示表5.5文章表字段名类型能否为空字段描述主外键idchar(19)NO文章id主键user_idchar(19)NO用户id外键post_type_idchar(19)NO文章分类id外键topic_idchar(19)YES话题idtitlevarchar(255)YES文章标题contentvarchar(500)YES文章内容is_deletedtinyintNO逻辑删除1(true)已删除,0(false)未删除create_timeintYES创建时间update_timeintYES更新时间(6)点赞表likes,如表5.6所示表5.6点赞表字段名类型能否为空字段描述主外键idchar(19)NO操作id主键user_idchar(19)NO用户id外键post_idchar(19)NO文章id外键typetinyintYES类型0顶1踩create_timeintYES创建时间update_timeintYES更新时间(7)图片表image,如表5.7所示表5.7图片表字段名类型能否为空字段描述主外键idchar(19)NO图片id主键user_idchar(19)NO用户id外键post_idchar(19)NO文章id外键urlvarchar(255)YES图片地址create_timeintYES创建时间(8)关注表follow,如表5.8所示表5.8关注表字段名类型能否为空字段描述主外键idchar(19)NO关注id主键user_idchar(19)NO用户id外键follow_idchar(19)NO被关注用户id外键create_timeintYES创建时间(9)反馈表feedback,如表5.9所示表5.9反馈表字段名类型能否为空字段描述主外键idchar(19)NO反馈id主键user_idchar(19)NO用户id外键contentvarchar(500)NO反馈内容statustinyintYES状态1(true)已处理,0(false)未处理create_timeintYES创建时间update_timeintYES更新时间(10)评论表comment,如表5.10所示表5.10评论表字段名类型能否为空字段描述主外键idchar(19)NO评论id主键user_idchar(19)NO用户id外键post_idchar(19)NO文章id外键contentvarchar(500)NO评论内容fidchar(19)YES回复id0为一级回复fnumintYES回复数量create_timeintYES创建时间(11)黑名单表black,如表5.11所示表5.11黑名单表字段名类型能否为空字段描述主外键idchar(19)NO黑名单id主键user_idchar(19)NO用户id外键black_idchar(19)NO被拉黑用户id外键create_timeintYES创建时间(12)广告表ad,如表5.12所示表5.12广告表字段名类型能否为空字段描述主外键idchar(19)NO黑名单id主键srcvarchar(255)YES图片地址urlvarchar(255)YES广告地址typetinyintYES广告位置0动态轮播图1个人中心create_timeintYES创建时间update_timeintYES更新时间本章小结本章节介绍了系统运行使用的数据库环境,提供了数据库E-R模型,介绍了系统数据库表的结构。在下一章节中,将会详细介绍系统的开发与功能实现。第6章系统开发与实现系统开发与实现开发环境校园助手微信小程序的开发过程中,具体的开发环境如表6.1所示。表6.1系统开发环境软件版本JDK1.8.0_241SpringBoot2.4.1MySql8.0.22Mybatis-Plus3.0.5swagger2.8.0vue2.6.11vuecli4.3.0小程序功能实现用户注册页面用户第一次使用系统时,需要注册系统账户,输入邮箱、昵称、密码以及确认密码,并且需要进行邮箱验证,如图6.1所示。图6.1注册页面账号登录页面登录填入邮箱和密码,如图6.2所示,也可直接使用验证码登录。图6.2账号登录页面系统主界面系统首页大致分成两个部分,第一部分是最上方的搜索框和发帖按钮,触发搜索框后将会进入搜索文章页面,点击发帖按钮则跳转到发帖页面。第二部分是中间的导航栏以及下发的文章信息,对应的是不同分类的文章,用户可点击导航栏切换,也可以直接在屏幕上左右滑动切换到其他类别。用户可在下方进行上下滑动,浏览文章信息。如图6.3所示。图6.3系统主界面文章详情页面用户点击任一文章进入文章详情页面,可以查看文章的所有信息,可以进行关注、顶、踩、评论和分享操作。如图6.4、图6.5所示。图6.4文章详情页面1图6.5文章详情页面2文章分享页面用户进入文章详情页面后,可以点击右上角左边的胶囊按钮可以进行分享操作,可以分享给微信好友、朋友圈,也可将文章内容进行收藏。如图6.6、图6.7、图6.8所示。图6.6分享给好友图6.7分享到朋友圈图6.8文章收藏文章发布页面用户点击首页右上角的发布按钮即可进入文章发布页面,用户需要输入文章的标题、内容以及选择文章的分类,可选择话题分类,选择是否上传图片,图片最多只能上传9张,如图6.9。若不发布,可选择保存草稿,下次进入时可以继续完成上一次的内容,如图6.10所示。图6.9文章发布页面图6.10保存到草稿用户空间页面点击用户头像,可以进入该用户的个人空间。在此页面,可以看到用户的基本信息,如图6.11,以及该用户发布的所有帖子,如图6.12。可进行关注、取关操作。点击左上角的菜单按钮,可以将该用户加入黑名单或与该用户进行聊天,如图6.13。图6.11用户空间页面图6.12用户空间帖子图6.13用户空间主页关注页面关注用户后,可以在动态页面下的关注页面,查看自己关注的用户发的文章内容。如图6.14所示。图6.14关注页面话题页面在动态页下的话题页面,如图6.15。可以查看目前系统已有的话题,点击更多可以进入话题分类页面,如图6.16所示。图6.15话题页面图6.16话题分类话题详情页面点击任一话题,可进入话题详情页面,该页面包括两个部分,一是上方有关话题的描述,包括话题名称、封面以及介绍,二是下方文章部分会显示所有与话题相关的文章,可以选择按默认或最新进行排序,如图6.17所示。图6.17话题页面消息页面在消息页面,如图6.18所示,该页面会显示聊天过的用户,点击用户图标,进入朋友列表。图6.19所示,点击菜单,能够添加新朋友或是清空消息列表,点击添加好友进入的是搜索用户页面。图6.18消息列表图6.19菜单弹框好友列表页面该页面会显示目前已关注的用户以及用户的粉丝,触发上方搜索框进入搜索用户页面,如图6.20所示。图6.20好友列表页面搜索页面该页面会保存用户的搜索历史,如图6.21所示。可以搜索用户、话题以及文章,如图6.22、图6.23、图6.24所示。图6.21搜索页面图6.22搜索用户结果图6.23搜索话题结果图6.24搜索文章结果聊天页面在消息列表中选择任一聊天进入聊天页面,可以进行简单的文字聊天,根据用户聊天时间会显示时间间隔,如图6.25所示。图6.25聊天页面我的页面在下方导航栏点击我的,进入我的页面,如图6.26所示,可以查看用户浏览历史,如图6.27所示。图6.26我的页面图6.27浏览历史页面设置页面该页面用户可进行修改密码、换绑邮箱、资料编辑、意见反馈、清除缓存、退出登录功能,如图6.28所示。图6.28设置页面修改密码页面用户可对密码进行修改,如图6.29所示。图6.29修改密码页面换绑邮箱页面用户可修改绑定的邮箱,如图6.30所示。图6.30修改密码页面资料编辑页面用户可修改头像、昵称、性别、学院、专业以及家乡,如图6.31所示。图6.31资料编辑页面后台功能实现用户列表页面管理员可查看用户信息,管理用户账号状态,如图6.32所示。图6.32用户列表页面话题分类列表页面管理员可添加删除话题分类,查看已有的分类,如图6.33所示。图6.33话题分类列表页面话题列表页面管理员可查看话题信息并进行修改,管理话题状态,如图6.34所示。图6.34话题列表页面添加话题页面管理员可填写表单信息添加话题,如图6.35所示。图6.35添加话题页面帖子分类页面管理员可添加删除帖子分类,查看已有的分类,如图6.36所示。图6.36帖子分类页面帖子列表页面管理员可查看帖子信息,可以进行删帖操作,如图6.37所示。图6.37帖子列表页面图片管理页面管理员可对图片进行删除操作,如图6.38所示。图6.38图片管理页面用户反馈页面管理员可对用户反馈进行处理,如图6.39所示。图6.39用户反馈页面本章小结本章节介绍了系统主要的开发环境,展示了系统的大部分界面,下一个章节将会介绍本系统的测试。第7章系统测试系统测试测试目的在系统的开发过程中,存在一些问题与错误是无法避免的,因此需要对系统进行测试,要尽可能的找到系统中存在的错误,并且进行修复与完善。通过测试,可以减少系统出现的问题,提高软件的质量,提升用户体验。在测试过程中,需要编写测试报告,对问题进行说明和追踪,为之后系统的改善奠定基础。测试用例注册功能测试注册功能测试如表7.1所示。表7.1注册功能测试用例表用例标识test01测试功能注册前置条件无输入期望结果输入正确的信息提示注册成功符合预期输入已被注册的邮箱,其它项正常输入提示邮箱已被注册符合预期输入错误的验证码,其它项正常输入提示验证码错误符合预期输入的密码不一致,其它项正常输入提示输入的密码不一致符合预期登录功能测试登录功能测试如表7.2所示。表7.2登录功能测试用例表用例标识test02测试功能登录前置条件无输入期望结果输入正确的信息提示登录成功符合预期输入错误的账号,其它项正常输入提示账号不存在符合预期输入错误的密码,其它项正常输入提示密码错误符合预期输入错误的验证码,其它项正常输入提示验证码错误符合预期发帖功能测试发帖功能测试如表7.3所示。表7.3发帖功能测试用例表用例标识test03测试功能发帖前置条件已登陆输入期望结果输入正确的信息提示发帖成功符合预期标题为空,其它项正常输入提示请输入标题符合预期内容为空,其它项正常输入提示请输入内容符合预期未选择文章分类,其它项正常输入提示请选择文章分类符合预期未选择话题分类,其它项正常输入提示发帖成功符合预期修改密码功能测试修改密码功能测试如表7.4所示。表7.4修改密码功能测试用例表用例标识test04测试功能修改密码前置条件已登陆输入期望结果输入正确的信息提示修改密码成功符合预期输入错误的原密码,其它项正常输入提示原密码错误符合预期输入的密码不一致,其它项正常输入提示输入的密码不一致符合预期换绑邮箱功能测试换绑邮箱功能测试如表7.5所示。表7.5换绑邮箱功能测试用例表用例标识test05测试功能换绑邮箱前置条件已登陆输入期望结果输入正确的信息提示换绑邮箱成功符合预期输入已被注册的邮箱,其它项正常输入提示邮箱已被注册符合预期输入错误的验证码,其它项正常输入提示验证码错误符合预期账号管理功能测试账号管理功能测试如表7.6所示。表7.6账号管理功能测试用例表用例标识test06测试功能账号管理前置条件已登陆输入期望结果选择禁用的账号,点击启用提示账号启用成功符合预期选择启用的账号,点击禁用提示账号禁用成功符合预期选择禁用的账号,点击禁用提示账号已禁用符合预期选择启用的账号,点击启用提示账号已启用符合预期未选择,点击启用/禁用提示至少选择一项符合预期话题管理功能测试话题管理功能测试如表7.7所示。表7.7话题管理功能测试用例表用例标识test07测试功能话题管理前置条件已登陆输入期望结果点击话题列表系统显示话题列表符合预期选择话题分类系统显示分类下的话题符合预期选择任一话题进行修改系统跳转到该话题的修改页面符合预期修改话题信息系统提示修改成功符合预期选择任一话题禁用系统提示禁用成功符合预期选择任一话题启用系统提示启用成功符合预期点击添加话题系统跳转添加话题页面符合预期添加话题系统提示添加成功符合预期帖子管理功能测试帖子管理功能测试如表7.8所示。表7.8帖子管理功能测试用例表用例标识test08测试功能帖子管理前置条件已登陆输入期望结果点击帖子分类管理系统显示帖子分类列表符合预期添加帖子分类系统提示添加成功符合预期选择任一分类进行删除系统提示删除成功符合预期点击帖子列表系统显示帖子列表符合预期选择任一分类系统显示该分类下的帖子列表符合预期选择任一帖子进行删除系统提示删除成功符合预期未选择进行删除系统提示至少选择一项符合预期本章小结本章节介绍了系统测试的目的,并提供了系统部分功能测试用例。第8章总结与展望总结与展望总结本次课题开发选择使用微信小程序作为系统开发的首选平台,主要是看中其得天独厚的平台优势。现如今各类移动应用层出不穷,对用户来说,不仅从广大的应用市场中进行选择是一种负担,更别说其中充斥着
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体育跨境员工持股合同
- 基金关键增资扩股合同
- 短视频季度鉴定合同
- 山西省晋中市2027届六年级数学第一学期期末学业质量监测试题含解析
- 四川省部分地区2026-2027学年八上物理期末达标检测模拟试题含解析
- 展示牌标识定制合同三篇
- 2026年系统与设计测试题及答案
- 2026年数学专题测试题及答案
- 2026年小车碰撞测试题及答案
- 山东省德州市乐陵市铁营镇中学2025-2026学年八年级下学期7月期末历史试题(文字版含答案)
- 2026年青少年视力保护知识讲座总结
- 2026及未来5年中国pp塑料制品市场数据分析及竞争策略研究报告
- 2025年广东省深圳市宝安区七年级下学期生物学期末生物试卷(含答案)
- 2026高血压基层医生培训课件
- 雨课堂学堂在线学堂云《西方哲学史(武汉)》单元测试考核答案
- DGT-801微机发变组保护现场调试作业指导书
- 2025~2026学年湖北咸宁市咸安区上学期七年级数学期末考试试卷
- 重型货车司机奖惩制度
- 2026年乌鲁木齐一中分班测试题及答案
- 凉茶管理规范制度
- 税务免处罚申请报告(3篇)
评论
0/150
提交评论