《基于MQ的微信问答程序.doc》由会员分享,可在线阅读,更多相关《基于MQ的微信问答程序.doc(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘 要随着社会的发展,科技不断的进步,计算机、互联网等技术深入民心,无处不在。小程序无疑成为了一个新的科技方向。由于小程序的广泛应用,免于下载就能在微信上呈现出且具备更多的功能,能够形成线上线下的联系。本项目是以基于RabbitMQ算法来进行微信问答程序。RabbitMQ算法提供一个具有工业标准、安全、可靠的消息传输系统,它是控制和管理一个集成由多个分支模块之间通过传递消息完成的工作流程,其资源是消息与队列。在本项目中能够在不使用数据库的情况下传送消息。当前科技发展迅速,随着人与人之间的交流逐渐减少,而人自身遇到的困难以无从得到释放与解决。本项目能提供一个人与人之间通过问题交流从而在本质上解决
2、的平台。第一章首先介绍关于本项目的背景与目的,紧接着介绍研究现状,最后介绍要去实现的具体内容;第二章主要介绍本项目用到前端以及后端的相关技术;第三章是本项目设计与分析,具有功能化的细节呈现以及详细的图。第四章主要介绍本项目的系统测试情况;第五章介绍对本项目的总结以及与展望。 关键词:小程序;问答平台;MySQL;RabbitMQAbstractWith the development of society and the continuous advancement of science and technology, computers, the Internet and other tec
3、hnologies have become popular and are everywhere. Applets have undoubtedly become a new technological direction. Due to the wide application of mini programs, they can be displayed on WeChat without downloading and have more functions, which can form online and offline connections.This project is a
4、WeChat Q & A program based on RabbitMQ algorithm. The RabbitMQ algorithm provides an industry standard, secure, and reliable message transmission system. It controls and manages an integrated workflow that is completed by passing messages between multiple branch modules. Its resources are messages a
5、nd queues. In this project, messages can be transferred without using a database.The current rapid development of science and technology, with the gradual decrease of communication between people, the difficulties encountered by people themselves cannot be released and resolved. This project can pro
6、vide a platform for people to solve in essence through problem communication.The first chapter first introduces the background and purpose of the project, followed by the current research status, and finally introduces the specific content to be achieved; the second chapter mainly introduces the fro
7、nt-end and back-end related technologies used in the project; the third chapter is the project Design and analysis, with functionalized details and detailed drawings. The fourth chapter mainly introduces the system test situation of this project; the fifth chapter introduces the summary and prospect
8、 of this project.Keywords: applet; Q & A platform; MySQL; RabbitMQ目 录第一章 绪论11.1 课题背景和意义11.2 研究现状11.3 研究内容2第二章 系统开发技术32.1 MQ算法32.1.1 RabbitMQ算法介绍32.1.2 RabbitMQ算法应用32.2 开发工具IDEA42.2.1 IEDA的介绍42.2.1 框架SSM42.3 MySQL数据库52.4 微信小程序5第三章 系统分析与设计63.1 系统分析63.1.1 可行性63.1.2 功能需求分析63.1.3 性能需求分析73.2 系统设计73.2.1 系统
9、概述73.2.2 用户登录注册83.2.3 发表问题103.2.4 RabbitMQ流程123.2.5 首页与MQ圈页133.2.6 消息页面163.2.7 数据库设计17第四章 系统测试204.1 系统测试目的204.2 系统测试204.3 测试总结21第五章 总结与展望215.1 项目总结215.2 展望22参 考 文 献23致 谢2424第一章 绪论1.1 课题背景和意义每一天时代都在不断地进步,随着我们的蒸蒸日上的处理技术和信息技术逐渐成熟,身边的每一个细节都与科技有着密切的联系。小程序也无时无刻的伴随在我们周围。首先小程序是由微信呈现出来,紧接着到了支付宝、百度网盘等等的软件都能看见
10、它的身影。小程序无疑是一个新的科技方向,由于小程序的广泛应用,免于下载就能在其他软件上呈现出并具备更多的功能,能够形成线上线下联系。小程序对于用户来说,能够程序简化,优化用户体验;对于程序员来说,容易创新容易操控。此时此刻如果你有疑问,打开小程序进行在线提问,可以说方便至极。它的价值在于,减少下载软件的麻烦,能在第三方软件里不占储存空间的存在,能发表随心所欲的问题,能与别人产生交流互动。最终在线提问与在线回答的小程序的想法顺利诞生了。这个小程序不仅搭建了互联网的用户与用户直接交流的桥梁,而且成为了用户解决知识难题的重要途径之一。近年来,这种互动问答型的平台在软件里的始终保持着高速发展。显然,中
11、国具有上下五千年的历史,具备着蕴含博大精深的文化,如果我们把所有经历过的事情、发现的问题、吐槽大大小小类型的事都呈现在一个平台上出来,与此同时,能在其他用户感同身受的经验下解决你所困惑的问题,显然你所经历的困惑的一切逐渐轻松起,同时能让自己的情感逐渐释放。1.2 研究现状近年来,由于百度知道、微博、论坛等传统的在线问答网站的各式各样,因此得到的是,社会化问答平台显然具备谨慎、专业、理性的文化氛围。以国外来举例,国外较为成熟的社会化问答平台有美国的QUORA、AardVark、Google,我国代表有知乎网、百度知道等等。这些平台不仅各有特色,而且在不同程度上均体现出模式社会化、话题专业化、答案
12、原创化等等的特征。社会网络和意见领袖在用户间具备的特征有一定的相似性。相反,不太好的情况好比如,国外大量研究只关注于交互问答服务的产生,反之缺乏研究有关用户使用平台的态度和想法。像国外来说,类似于Google问答平台有很多。例如GoogleAnswer,它不单单是一个服务系统,还是一个专门为群众进行解答的专家。虽然在过往的四年里,GoogleAnswer几乎为用户提供了所有问题的答案,并指出相对于其他服务问答给予的答案更加准确。但结果往往出乎意料,雅虎问答服务相对于谷歌的问答服务,获得了更多用户的欢迎。问题来了,为什么答案正确但受欢迎程度远远不及其他?是因为用户比较喜欢雅虎提供的问答服务环境吗
13、?有国外学者研究了对各类型问答服务的出现以及对网络用户的影响。研究结果表明,用户想通过搜索得到知识,如果返回的只是列表结果,用户对此并不满意。我们国内具有代表性有知乎,知乎是网络问答社区,而且成为连接不同用户群体的桥梁。换言之,用户间分享着知识与经验,不断地提供多样化信息。同时用户还能对感兴趣话题、用户以及问题进行关注,另外有趣的地方在于发表提问的同时,能够选择指定的用户浏览,给予了一个隐私空间。知乎,对于一个小城市的老百姓来说,有了它的存在才能见识到智慧的光芒与世界的浩大。1.3 研究内容本项目专门为有困惑以及有不好的经历但难以说出,同时能有传播正确知识的人群开设的一个舒适的平台。显然,目的
14、很简单,拉近人与人之间的距离,过程中从中不断的释放出自己的烦恼,也可以得到更加准确的知识、甚至交到不同的朋友。本项目采用RabbitMQ算法作为后台的高级消息队列,提供一个具有安全且可靠的消息传输系统后台。本项目采用小程序作为平台,IDEA以SSM为框架,以MySQL作为数据库,结合多种技术开发问答小程序。通过RabbitMQ算法,把用户的指定内容传输给指定用户,成为一个消息传输系统。设计上,会在发表问题页面下方具备一个功能,可选择指定用户浏览问题,换言之只有指定的用户能看到,达到一个隐私的效果。运用IDEA与MySQL的技术,实现用户注册登录,简单浏览,对问题文章进行评论、收藏、私聊、点赞,
15、等等功能。在RabbitMQ算法的支持下发布问题可限制用户观看。第二章 系统开发技术2.1 MQ算法2.1.1 RabbitMQ算法介绍MQ算法其实是由一个消息传输系统和一个应用程序接口组成,换而言之就是消息与队列。消息就是一个信息单元,这个信息单元可以是报文、请求,而程序之间的通信是通过传递消息而不是直接调用程序;队列具备安全性,且能按顺序存储消息。但是本项目用的是RabbitMQ算法,其实本质上与MQ算法大致相同,但比MQ算法高级。RabbitMQ在原有高级消息队列协议的基础下,另外具备有异步确认消息接收的方法。RabbitMQ主要分为消费者与生产者。消费者负责订阅生产者的消息,生产者负责
16、生产消息,两者中间具备着一个消息代理,相当于经纪人,充当我们要集成的应用程序的消息协调器,能提供一个发送与接收消息的平台。当消费者收到消息后,会对消息进行确认发送确认消息,代理在接收确认消息之后,才会从队列中完全删除该消息。在特殊情况下,无法识别消息时,消息会返回给生产者,甚至消息被丢弃,或者将消息放入无用的队列中。使用RabbitMQ的主要好处是它是一个跨平台系统。它可以在包括Windows,Linux和Unix系统上运行Rabbit服务器。而且还具有支持许多不同编程环境的客户端库,例如Java,Python,C+等。RabbitMQ的这种跨平台性质意味着我们可以让不同编程语言编写的客户端轻
17、松地从受任何支持的环境中托管的RabbitMQ服务器发送和接收消息。2.1.2 RabbitMQ算法应用RabbitMQ算法的应用也相当于后台,通俗的比如:我发布一条提问之后,时间、问题以及问题的描述都是要写入数据库的,但是用户想提醒谁看,想要谁回答,是不需要写进数据库的,问题是该怎么去通知他们呢,这个时候就会用到RabbitMQ算法。首先安装Rabbit MQ服务器,紧接着登录RabbitMQ服务页面,最后直接使用。另外,RabbitMQ还能用于管理和监视用户WebUIRabbitMQ的。为了与RabbitMQ通信,需要去下载所需的编程语言的客户端库应用程序。RabbitMQ其中的好处与具体
18、的应用有以下几点。可靠性:因为消息代理已经建立在坚固、高性能、可靠的基础之上。不仅可以在重新启动服务器的情况下将消息保留在磁盘上,防止丢失消息,而且可以将消息传递确认发送给发件人,以便他们可以确保已接收并存储消息。路由方案:生产者发送消息给消费者时,传输途中将消息存储在队列中,具备多种交换类型可以执行路由,但也可以通过将交换绑定在一起来处理更复杂的路由方案。集群性:为了提高RabbitMQ的可靠性和可用性,它可以在本地网络上将多个服务器集群在一起,从而形成一个逻辑消息代理。如果服务器出现故障时,不会出现丢失任何消息的情况。2.2 开发工具IDEA2.2.1 IEDA的介绍IntelliJ ID
19、EA简称IDEA,是java编程语言开发的开发工具。本项目用到IEDA作为开发及后台是因为它能提供一个比较的智能且快速的好处。一般编辑器都有提示代码但由于速度过于怠慢,导致编写者等待时间较长。但IDEA不仅能提供快速可用的提示给编写者,且在编写中参数甚多,易混淆的过程中,IDEA能提醒你哪一个部分使用怎么样的参数。IEDA还有很多没发掘出来的优点,例如快速生成方法,写代码过程时会自动补充方法或类,会自动检查代码,强大的搜索功能等等。事实证明IDEA是一个方便的开发工具。没有什么是完美的,IEDA也不例外。开始写的时候会遇到一个问题,当打开一个新项目的时候,IDEA会自动建立索引。这时候,对大型
20、项目特别不友好,很大可能会出现卡顿现象。本项目出现过有点卡的情况并没有卡顿过于厉害。因优点甚多,依旧选择作为本项目的强大后台。2.2.1 框架SSM本项目使用IDEA中的SSM框架,Spring+SpringMVC+mybatis。大多数开发都使用SSM的框架,简化平时的编写对于创新的项目来说这个框架无疑是最保守也是最方便的。Spring能从配置文件中,指定特定的参数去调用实体类的构造方法来实例化对象,使用类时不用初始化,简化了很多步骤。另外,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。SpringMVC在项目中拦截用户请求并返回结果,相当于SSH框架中支柱。S
21、pring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。Mybatis相当于对jdbc的封装,具有数据库底层操作变透明的特点,是一个基于Java的持久层框架,并且能够自由控制以及管理sql。换言之,MyBatis是帮你管理数据且增删改查。2.3 MySQL数据库本项目用到的是MySQL数据库,它是一种关系型数据库管理系统并且能够增加数据的安全,以及能快速存储,灵活的查询。MySQL数据库还具备多线程、多用户的关系型数据库的优点。能够在表里处理多项增删改查,在数据库中不仅能优化查询算法,而且提高查询速度。在这基础上其他方面,例如安全也是比较完美的,
22、在权限上设置机制;在连接方面能够与TCP/IP、JDBC等多种途径进行数据库连接;在管理方面,MySQL提供多种工具可进行管理;占存方面当然也是极其小,能够不占用更多的资源。许多中小型网站为了节省成本,选择MySQL作为网站数据库。本项目也是看重MySQL的众多优点特意选取作为数据库。2.4 微信小程序微信小程序相当于一个Ajax响应式Web。在小程序中会使用WXML标签与WXSS样式,形成效果图;再利用一门语言,例如C#、PHP、Java等去开发后端接口。接着去使用JS,对语言开发的接口进行调用。最后调试与测试。在语言上,最主要用到的是WXML,微信标记语言最大的特点是以视图的方式串联界面元
23、素,并通过程序逻辑,将信息更新实时传递至视图层。而模板与引用方面用到WXSS微信样式表,支持使用模板与引用减少代码体积,可将多个模板写入至同一文件,还能在其他文件中进行引用。小程序中的JS是主体,它与前端开发使用的JS几乎没区别。区别在于小程序的JS新增了微信的API接口,并去除了不必要的功能。功能上除了点击,还有按住、开始触摸、松手等。当WXML中绑定一个事件后,在主体JS中能使用。微信小程序在开发过程中微信小程序仍需要HTML5大量的技术来辅助开发。同时在运行方面,微信小程序也需要在原有HYML5标准浏览器的基础上通过相关辅助设施的添加,来实现其运行。第三章 系统分析与设计3.1 系统分析
24、3.1.1 可行性一个项目的可行性最主要还是看技术、市场需求两大板块。 本项目在技术板块上,主要运用了RabbitMQ算法、小程序工具、IDEA后台,MySQL数据库。伴随科技的发达,开发所需工具也越简单。就此项目来讲,小程序开发方法简便,注册账号,导入项目就完成。RabbitMQ只需下载系统,连接本机输入账号密码,实行配置代码就可完成。IDEA也具有一定的开发性且带有圆滑性,能够针对所需提出建议;数据库有一定的安全性技术性。从技术上来看,基本的技术都可以满足,具备一定的可行性,十分可靠。本项目在市场需求上,无论老年青年还是幼年,都有烦恼与压力。慢慢积累的同时逐渐达到最大点,甚至影响到平时的生
25、活作息,本项目会推出通过发表问题以及回答问题的抒发平台。从中能把难以开口的事用文字表达出来,与此同时,其余用户看到此问题,会给予正确的解决方法互相帮助。这些人群正是需要这么一个平台去抒发,能在这个平台上了解到相关知识未尝不是一件好事。从市场需要来看,具备可行性。3.1.2 功能需求分析在功能需求方面,问答小程序需要一个比较合理的方案,由于此项目着重于发表问题以及评论,所以会涉及到界面问题,其次是用户的辅助功能问题。综合功能方面,大致会分为五个板块。第一是用户板块,需要进行登录注册,用户之间可以互相关注。第二是首页、MQ圈板块,首页板块展示推荐比较热门的问题文章,MQ圈板块展示一个隐私的小圈子,
26、发布问题文章时可选择特定的人浏览,被指定的用户就可以在MQ圈页面看到相关的问题文章,并且带有评论、收藏与点赞的功能。第三是发表板块,标题以及发表内容,可勾选指定哪些用户可看。第四是消息板块,与其他用户进行私信聊天,以及其他用户对你问题下的评论进行回复的提醒。第五是个人板块,曾发表的问题可编辑删除,收藏问题文章,关注用户。3.1.3 性能需求分析为了保障此项目能顺利进行,在设计与开发中会考虑一下几点。第一点:安全性。从古至今,信息固然是重中之重。伴随科技的发达,个人信息安全同样重要,需要对信息的安全性要有一定的保护。第二点:简化性。数据库拥有庞大的数据,数据较多则会变成复杂化。RabbitMQ算
27、法能把部分代码简化,对数据库起到减轻压力作用。第三点:有效性。用户打开项目时,涉及到界面与功能的有效性,对用户使用具有有效性,满足了用户需求。第四点:扩展性。不仅在心理上帮到用户的需求,同样,交流伴随着不同的知识的扩充,收益甚多,发挥了极大作用。第五点:整体化。从界面上吸引到用户,直接影响用户的提问感受与体验感。综合用户认知与心理的方面去进行整体化的改造。3.2 系统设计3.2.1 系统概述本项目主要有五个板块(如图3-1),第一个是用户板块,用户可以登录注册。第二个板块是首页和MQ圈,首页都是比较热门的推荐给用户的问题文章,MQ圈页面是为了保障用户的隐私问题,发布问题文章时可选择特定的人浏览
28、,而特定的用户就可以在MQ圈页面看到相关的问题文章,相反其他用户不能看到。问题文章都可点击进去具体浏览点赞以及评论与收藏。第三个是发布板块,通过RabbitMQ技术,用户发布标题及具体问题,可选择指定的人浏览。第四个是消息板块,与其他用户进行私信聊天以及,其他用户对你在其他问题文章评论被回复的提醒。第五个板块是个人板块,查看个人信息,以及回看用户发布过的问题可编辑删除。具体的实现不仅具备智能化还具备人性化。图3-1问答小程序的流程图3.2.2 用户登录注册当用户需要进入问答小程序时,该程序对用户进行注册登录。可以看到(图3-2)大致的流程。首先注册,填写一些信息,账号昵称以及密码。数据库的us
29、er表里建立新的用户,输入信息后按注册会显示成功(如图3-3)。登录时数据库会检查是否有这个用户,并且也要判断用户的账号密码是否对得上,如果账号密码正确,则自动跳转到首页(如图3-4)。如果输入的账号与密码不符合就会显示(如图3-5)登录失败。图3-2 注册登录流程图图3-3 注册成功图图3-4 登录图图3-5 登录失败图3.2.3 发表问题登录成功之后就可以进行发布问题了。大概的流程:(如图3-6)为了用户能够使用放心所以涉及到隐私的问题,具体会实现在发布问题的过程中可以点击下方众多用户选择自己想要提醒的用户(如图3-7),就可以只让部分用户进行浏览则其他用户看不到。发布成功(如图3-8)之
30、后就可以浏览其他其他页面。图3-6 发布问题流程图图3-7 发表页面图图3-8 发布成功图3.2.4 RabbitMQ流程第一步,安装Rabbit MQ服务器。第二步,在浏览器中输入HTTP加上本地主机的地址,进到登录RabbitMQ服务页面(如图3-9)。图3-9 RabbitMQ登录图RabbitMQ还提供了简单的管理界面,在使用这个管理界面之前,第一步需要将RabbitMQ服务端打开并启动服务,与此同时通过浏览器打开服务器的15672端口,把guest作为用户名密码登录,可看到 RabbitMQ的管理界面(如图3-10)。实际上,RabbitMQ是怎样的流程,怎么把信息传输?具体的流程如
31、下:(1) 消息生产者首先连接RabbitMQ。连接成功后建立一个连接对象,用户名与密码连接好指定的端口等。(2) 同时需要打开和创建通道连接。打开频道,连接接口可用来发送和接收消息。(3) 发送消息到交换器,并指定消息的队列名称、是否持久化等属性。(4) 交换器收到消息之后,根据路由键路由到当前交换机绑定的相匹配的队列里。(5) 消息消费者收到信息或者进行提取消息后,给予一个ack,告知消息已经被消费。(6) RabbitMQ收到ack后,从队列里面将对应的消息删除掉。(7) 关闭通道和连接。图3-10 RabbitMQ 运行图RabbitMQ在IDEA中设置的部分代码(如图3-11)。图3
32、-11 RabbitMQ部分配置3.2.5 首页与MQ圈页登录成功之后就可以进入首页,首页呈现出比较热门的问题文章(如图3-12),在首页还可以进行搜索功能与刷新功能(如图3-13)。MQ圈相当于一个隐私的小圈子,在发表问题时可选择特定的人浏览,发布成功之后特定的用户能在MQ圈看到相关的问题文章,反之,其他用户看不到(如图3-14)。分别用两个账号登录进行测试。在文章里面可以进行私信、点赞、收藏、评论(如图3-15)。图3-12 首页展示图3-13搜索与刷新功能图3-14 两个用户MQ圈图3-15 问题文章详情图3.2.6 消息页面在浏览其他用户问题文章过程中,对于感兴趣有共鸣的话题会主动去评
33、论或者私聊,达到一个互动的环境。在文章下方点击私信就可以进行私信(如图3-16),输入内容便可以送达对方的消息板块(如图3-17)。消息板块中除了私信功能还具有评论回复功能。评论回复功能显示的是其他用户对你在某用户的问题文章评论下,进行回复(如图3-18),起到一个你的评论被回复的一个提醒。图3-16 私信内容图图3-17 私信成功展示图图3-18 评论回复图3.2.7 数据库设计数据库的建立需要用户板块,发表问题文章板块,评论板块,收藏板块,点赞板块等,构建一个完整的板块。(1) 用户信息表:记录用户注册时信息(如表3-1)。列表数据类型长度说明idInt11用户编号USERNAMEvarc
34、har50账号PASSWORDvarchar50密码NAMEvarchar50用户名create_timevarchar20创建时间表3-1 用户表(2) 发表问题表:记录每个用户所发表的问题文章(如表3-2)。列表数据类型长度说明idInt11文章编号titlevarchar50问题文章题目contentvarchar500问题文章内容user_idInt11用户编号create_timevarchar20创建时间表3-2 发表问题表(3) 收藏列表:记录用户收藏的问题文章(如表3-3)。列表数据类型长度说明idInt11收藏编号user_idInt11用户编号article_idInt11
35、文章编号create_timevarchar20创建时间is_collectInt20是否收藏表3-3 收藏表(4) 评论列表:记录用户所评论的信息(如表3-4)。列表数据类型长度说明idInt11评论编号user_idInt11用户编号article_idInt11文章编号commentvarchar225评论内容create_timevarchar20创建时间表3-4 评论表(5) 关注列表:记录用户所关注的用户(如表3-5)。列表数据类型长度说明idInt11关注编号user_idInt11用户编号follow_user_idInt11被关注用户编号create_timevarchar2
36、0创建时间is_followInt2是否关注表3-5 关注表(6) 点赞列表:记录用户点赞的文章(如表3-6)。列表数据类型长度说明idInt11点赞编号user_idInt11用户编号article_idInt11文章编号create_timevarchar20创建时间表3-6 点赞表(7) 私信列表:记录用户之间的互信信息(如表3-7)。列表数据类型长度说明Idint11私信编号send_private_letter_user_idint11发送私信用户receive_private_letter_user_idint11接受私信用户Msgtext无私信内容create_timevarch
37、ar20创建时间表3-7 私信表(8) 回复表:记录评论中回复的信息(如表3-8)。列表数据类型长度说明idInt11回复编号user_idInt11用户编号comment_idInt11评论编号replyvarchar225回复内容create_timevarchar20创建时间comment_user_idInt11评论用户编号表3-8 回复表第四章 系统测试4.1 系统测试目的项目里未免少不了测试,完成一系列的测试本项目才是基本完成。测试的过程很重要,测试本项目的可行性、可靠性,从中能检测到项目中是否存在错误,或者哪一部分连接不上。一旦发现问题之后能够及时处理,以确保项目的完整性。综合上
38、诉,从RabbitMQ系统的可靠性、延时性,以及小程序,小程序功能上的可靠性、便捷性去深入探索,找出问题所在,测试是否能运行因而得出相应的结论,并且进行修改,以完美的状态呈现出来。4.2 系统测试通过测试,发现一些问题。RabbitMQ在本项目中使用的是3.7.10版本,但RabbitMQ的最新版本是3.7.13。首先可能会因为版本的不一样导致性能的差异。因此,深一步对RabbitMQ的测试应该更准确地显示出区别。次要可能会因为RabbitMQ的延时性。所幸的是,在计算机资源的统计数据中表示,统计数据没有延迟,所有的信息都被转发了实时处理任务。对于每个接收到的消息,无疑的是,RabbitMQ没
39、有延迟性。另一边,小程序以及它的功能也会涉及很多问题,不过有一个比较常见的就是是否会出现闪退的情况,本项目需要这个小程序的稳定性。首先用户需要去检查一下是否有新的版本更新,若有则更新,便会解决闪退问题。如果手机上显示微信小程序内存不足出现闪退问题,在小程序上删除自己不必要的小程序便会释出更多的空间。两个方法都会解决出现闪退问题。在测试RabbitMQ时,因为要不断在小程序上测试,甚至开启两到三个小程序,可能会出现延时性,数据库能够及时更新相反小程序并未呈现出。操作的时候要保持尽量少后台,给更大的空间让小程序发挥作用。还有一个方面,IDEA后台的问题。由于IDEA会出现卡顿以及代码的完整性问题,
40、是否会影响小程序的运行?能否提供一个便捷的环境给予用户呢?测试时着重观察系统运行速度,是否出现卡顿。在小程序上,每一个功能进行点击,测试是否可行,是否出现报错现象。功能上会多从用户者的角度去体验,多次体验得出最佳的答案进行修改。4.3 测试总结本章中进行多方面的测试,在多个方面进行修改以便达到最佳效果。本次测试RabbitMQ中,给予能够深入了解RabbitMQ是如何工作的机会,首次了解原来消息队列,也是首次实行算法背后的流程。在测试小程序过程中,系统基本完善,对错误的部分进行修改并改进,达到满足用户的需求。测试的过程,不仅学习到之前没有学过的知识,了解到更深入的背后运作,能在发现错误的过程中
41、多一份细心。本项目测试完成,基本能完成所需要的步骤。第五章 总结与展望5.1 项目总结经过数月的精心研究和在毕业指导老师的教育下,小程序终于简略而出。在规定的时间里完成了基本的任务。一开始有对本项目没信心、焦虑等的情绪出现,直到在指导老师的建议以及指导下,不断放下心来去学习,从中不断地改进甚至发掘更加深的知识,终于完成了成果。简约的小程序,简约的界面适用于任何年龄段的人群,里面包含的功能,操作起来方便,也具有人性化。通过软件用户可以在平台上抒发自己的情感问题,以及传播正确的知识改正错误,互相帮助之余还很方便,不用特意去下载新的一个软件。前端后端的搭建基本完善,总的来说此项目基本成功。本项目通过
42、小程序开发软件来实现,借助RabbitMQ算法搭建一个后台,加上MySQL数据库、Idea的spring + springMVC + mybatis框架、微信小程序来完成此项目。因为考虑到用户的隐私问题,才会与指导老师的指引下使用到RabbitMQ的算法。这样的一个整体设计不仅提高效率而且提高了性能。例如在RabbitMQ方面不仅提高效率而且分担了数据库的压力,使整个小程序不仅在编写的过程变得容易而且用户使用感大大提高,同时具有保护自己隐私的作用。在编写代码的过程中遇到很多问题,太多的类以至于自己混淆,导致不能运行等等。在Idea的SSM框架中,虽然有时候把自己混淆,但是这个框架能够快速能够帮
43、我搭建起来。在小程序的细节上的确没有做得很好。 写论文的过程中,把在大学期间学到知识都运用到了毕业论文里,不仅可以做到学以致用而且也丰富了我的经历与实践。虽然说,整体上真的不太完美,很多细节没有写好,文笔也没有特别的畅顺,但是这过程学到了平时学不到的东西。对于我来说不仅巩固了知识,还锻炼了自己思考、解决以及思维能力,加上动手让项目的每一部分都极力参与,对以后也有极大的帮助。5.2 展望本项目是基于MQ算法的问答小程序,基本可以呈现出来,但是还有不足的地方,仍然需要更多的改进。需要不断去优化才能满足更多的用户需求。系统界面的设计美观以及返回模式不清晰,还有其他不够完善,后端问题有待优化。在此项目
44、中,相比于现在的软件里面的多样化是绝对不够的,文章里虽然可以点赞,但是想回看点赞哪些文章是看不到的,界面的美化太过于简略,太过于普通还可以挖掘比较新奇的想法,去丰富界面。第二点,如果发生页面崩溃页面卡顿等出现错误的地方,加多一个反馈功能可能会比较好,能够收集到某个用户的意见,通过这些意见可以进行改进。第三点,RabbitMQ的技术还没能保证不出错,需要进一步的提高。因为考虑到用户的隐私问题,才会出现RabbitMQ算法,所以可能会出现隐私泄露的问题。暂时此项目的RabbitMQ是可以的,但仍需要多加留意。第四点,没有考虑到注册用户名字密码重复这个问题,输入相同的密码,用户名以及账号还是可以注册
45、。在完成项目的过程中虽然可以巩固知识,但是离别人优秀的距离还是挺远,很多知识还是有点理不清容易混淆,仍需加倍努力。网站上比较有创新可记下,日后翻看再综合别人的意见与自己学到的知识,弥补与完善小程序,令小程序更加完美与健全。不过这一次做的项目令自己有很大的进步,巩固知识之余还可以去实践,运用到设计项目中。虽然此项目还是有不足的地方,但是希望日后更加的努力,迎接新的挑战。参 考 文 献1 肖国华,何雪梅.网络开发问答模式的可行性分析与方案构想.中国科学院成都文献情报中心.20072 陈娟,邓胜利.社会化问答平台用户体验影响因素实证分析 图书情报工作.20153 王婷婷.微信小程序开发 信息技术与信
46、息化出版社.20184 樊泊伸,展程,张硕,于歆悦.基于微信平台的网络版巡课系统开发与研究.无线互联科技. 20185 匡文波,李芮,任卓如.微信小程序面面观.新闻论坛.20176 郭继盛.微信小程序认识误区分析.产业与科技论坛.20177 刘雨农,刘敏榕.社会化问答平台的社区网络形态与意见领袖特征.中国人民大学书报资料中心出版.20178 詹庆东,郑成铭.基于问题-回答的信息服务模式比较研究.福州大学.20109 孙晓峰.基于轻量级框架的互动问答平台的设计与实现 中国地质大学.200810 毛先领,李晓明.问答系统研究综述.北京大学信息科学技术学院.2012致 谢几个月的努力终于来到了最后一步,蓦然回首,每一步的努力都是来之不易。从满脑子的想法到去实现时烦躁以及空白的大脑,这过程对于一个不太厉害的我来说是有点难。一开始找了很久的资料,毕业设计到底想做什么呢?是做网页还是去尝试新的?思考了很久,决定尝试去做小程序。