【基于微信小程序的大学生知识分享平台设计8200字(论文)】_第1页
【基于微信小程序的大学生知识分享平台设计8200字(论文)】_第2页
【基于微信小程序的大学生知识分享平台设计8200字(论文)】_第3页
【基于微信小程序的大学生知识分享平台设计8200字(论文)】_第4页
【基于微信小程序的大学生知识分享平台设计8200字(论文)】_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于微信小程序的大学生知识分享平台设计目录1前言 12相关理论与技术 22.1知识分享 22.2开发采用的技术 32.2.1微信小程序开发者工具 32.2.2HTML5 32.2.3CSS3 32.2.4Javascript 32.2.5Node.js 32.2.6MongoDB 43大学生知识分享平台的需求分析与功能设计 43.1可行性分析 43.2开发环境需求分析 43.3大学生知识分享平台功能需求分析 53.4大学生知识分享平台功能设计 53.4.1用户端的主要功能 53.4.2后台管理系统的主要功能 63.5大学生知识分享平台用例图 64大学生知识分享平台的开发 74.1搭建开发环境 74.1.1小程序注册 74.1.2微信开发者工具 74.1.3数据库 84.1.4VSCode 84.2大学生知识分享平台的功能开发 84.2.1数据库 84.2.2知识分享平台用户端 114.2.3知识分享平台后台系统 234.2.4知识分享平台程序测试 285总结与展望 295.1论文总结 295.2不足之处 295.3展望 29参考文献 30 【摘要】目前市场上已存在许多种类丰富、涉及范围广阔的知识分享平台和网络课堂平台等,但这些平台都缺少一定的针对性,难以满足大学生对专业知识的需求。本文主要基于微信小程序和node.js等技术设计和开发一款针对大学生进行知识分享的平台,该平台主要功能有:知识快速搜索、热门知识推荐、知识分类、知识分享。大学生可以在平台上随时随地、不受限制地根据自身需求,查询和学习相关专业知识和技能,同时用户还可以将自己所熟悉的专业领域知识和技能分享在平台上帮助他人解决问题,达到知识分享、合作互利的目的,能够极大地方便大学生对专业知识和技能的学习和再利用。【关键字】知识分享;微信小程序;node.js。1前言从古至今,知识改变命运的理念深入人心,知识不仅是个人发展进步的源泉,也是国家社会前进的动力。目前,庞大的未经过分类、针对性弱的知识体系,都不利于高校大学生对知识的分享、传播和再利用,加之学生的精力和时间都有限,不可能一个人就掌握大量的知识,更不可能涉及知识的方方面面。因此,本文将设计并开发一款针对大学生的知识分享平台。该知识分享平台具有操作简便、浏览清晰、分类明确、针对性较强等特点,它能够较好地发挥分享机制的作用,为知识分享的研究提供一些基础和支持,为促进高校学生进行专业知识分享和再利用、发挥专业知识在日常生活学习中的作用、调动学生积极主动参与知识分享活动、辅助和提升课堂教学成果、营造一种学习交流、知识创新的良好环境都有着重要的作用。本文设计开发的知识分享平台主要基于微信小程序,如今高校大学生的手机普及率为100%,微信是大学生日常学习生活中使用最广泛的社交通讯软件,而微信小程序恰好是在微信生态下研发出的一项创新技术。在2017年1月份,腾讯公司在互联网上正式推出微信小程序,使用微信小程序能够省去传统APP下载安装的繁琐操作,只需在微信扫一扫或搜索功能里即可打开应用,大大提高用户体验感[1]。同时,开发者可以使用微信公众平台提供的微信开发者工具,操作简单方便,能够高效地进行开发和运行。本文开发的知识分享平台使用的是微信开发者工具中的小程序调试模式,该小程序调试模式能够帮助实现各类API和不同页面的代码编辑、测试、预览和体验等功能[2]。2相关理论与技术2.1知识分享知识的分享主要指许多人共同使用一个人创造的各种类型知识,依据时间划分,知识分享又表现为两种性质的知识分享:历时性分享和共时性分享。前者是指前人通过不断探索知识,总结和积累并从中创造出新的知识的过程,这些知识为当今人们沿用,其具有普遍性和适用性,只需拿过来用即可;后者是指在当今社会,个人分享自己经过一定时间总结的知识经验,以及在此基础上创造出新的知识给其他人借鉴和使用的过程。如今我们所说的知识分享主要是指共时性分享,它是知识管理的主要目的之一。它是一个共赢的过程,两个人都有一份知识,当他们进行知识分享的时候,他们就拥有了两份知识,甚至更多。知识分享就是一个“一变二、二变多”的过程,不仅可以将自己的知识分享给别人,还可以查看他人分享的知识,完善自己的知识缺陷和对知识进行创新。2.2开发采用的技术2.2.1微信小程序开发者工具微信小程序开发者工具是微信公众平台提供给开发者的辅助开发工具,其特点是简单、高效,相应地,微信开发者平台还提供了包含应用开发使用的框架、组件和API等相关的开发文档。2.2.2HTML5HTML5是当前最新的HTML版本。HTML是一种描述性语言,是构成WEB内容的基础,称为超文本标记语言。用户使用任何手段开发和浏览网页都是通过HTML技术实现的,HTML编写的内容在浏览器中通过一定方式加以处理和渲染后,能给转化成通俗易懂的信息[3]。HTML5的主要标签有文本、视频、音频、图像、动画等,同时还规范了设备之间的交互,使开发者在进行网页开发时内容更加丰富。2.2.3CSS3CSS3是指层叠样式表,可由任意文本编辑工具编写,在实际开发中为了方便操作,一般会新建后缀名为css的样式文件。CSS3是CSS的最新版本,使用CSS3的主要优点是开发者可以直接获取到HTML标签中指定的某一元素,无需使用多余的类名、ID名或JavaScript。使用CSS3可以实现页面背景和边框的样式设置、文字大小特效、多栏布局等功能[4]。2.2.4JavascriptJavaScript是一种网页脚本语言,可以直接编译,它主要由浏览器对象模型和文档对象模型组成。使用JavaScript编写的代码能够直接置于WEB页面中,操作页面元素标签,从而实现WEB页面元素的动态效果和各种特效功能,其中包括:动态改变页面HTML标签元素内容;响应浏览器事件;验证表单数据等。2.2.5Node.jsNode.js是一个JS的运行环境,它可以使JS运行在服务器端。与传统的服务器环境相比,Node.js可以通过非阻塞和事件驱动的方法,让请求在服务器上顺利执行而不会造成程序阻塞,同时还能减少不必要的内存占用。Node.js技术主要用于响应前端发送来的请求,必要时连接数据库并对数据库进行一系列操作,最后返还数据给前端,实现前后端的交互。2.2.6MongoDBMongoDB是一款NoSQL类型的数据库管理系统,与传统数据库相比,它既不属于关系型数据库也不属于非关系型数据库,主要用于WEB应用程序开发并为WEB应用提供一种简洁且易于扩展的数据存储的方案[5]。它的主要特点是:(1)MongoDB数据库能够提高代码在生产环境中的读写效率[3]。(2)MongoDB数据库支持多种查询语言,虽然MongoDB数据库不属于关系型数据库,却可以在单表中实现类似关系数据库的查询功能[6]。(3)MongoDB数据库采用的是BSON数据结构,使得MongoDB数据库在使用时无需建立多个表,在同一个表中即可实现丰富、多层级的数据结构。3大学生知识分享平台的需求分析与功能设计3.1可行性分析大学生知识分享平台面向的是高校大学生,本文可行性分析从两个方面深入,一是开发该平台的可行性:大学不同于其他的学习阶段,大学生有较多的课余时间,学习的自觉性高,对自己感兴趣的东西都会孜孜不倦追求和学习,同时大部分大学生都乐于将自己擅长的知识领域的经验和方法传授给身边同学,最常见的就是学长学姐给学弟学妹开展经验交流分享会等,但这种方式耗费的资源较大,而开发一个大学生知识分享平台能很好地解决这个问题,学生利用知识平台可以随时随地查阅和分享相关专业的知识和经验,不仅能促进自己和他人的发展进步,同时也能对大学课堂起到一个很好的辅助提升作用。二是基于微信小程序开发的可行性:微信小程序不同于传统的APP,它的使用和开发维护成本都很低,微信是大学生的必备社交软件,大学生通过微信扫一扫或搜索功能即可进入平台,简单方便。同时,微信小程序自推出以来,一直保持着快速更新的状态,功能技术都趋于成熟稳定,且微信公众官方平台还提供开发使用的相关文档,包括各类API和一些基本功能技术,降低了开发的难度。3.2开发环境需求分析在开发环境上,首先需要一台服务器,为方便操作和进行自定义处理,笔者选择使用Node.js技术搭配MongoDB数据库自建本地服务器;接着由于该知识分享平台用户端是基于于微信小程序,因此用户端的开发仅需在微信开发者工具编写代码并测试即可;最后平台管理系统需要在WEB端运行,结合具体情况,选择了VSCode集成环境和谷歌浏览器进行开发。3.3大学生知识分享平台功能需求分析作为一款针对大学生的知识分享平台,用户端具备以下的主要功能:知识搜索、热门推荐、知识分类、知识分享等。知识搜索就是通过对数据库知识列表进行检索,快速查找到想要的知识内容。热门推荐是通过对知识文章点击量、点赞量等进行排序,优先展示平台内热门的知识文章。知识分类是该平台的一个重要功能,目前该平台是针对本专业进行设计开发的,因此只对本专业课程进行一个明确的分类。分类细分为一级分类和二级分类,目的是为了能让用户更好、更准确地查找到某一类知识。知识分享是另一个重要的功能,只有用户不断在平台上分享自己的知识经验等,才能不断丰富平台的知识量,提供更多个性化知识。此外,还需设计一个后台管理系统,管理系统只对管理员开放,在管理系统中,管理员可以查看知识分享平台用户的个人信息、已发布的知识文章,对用户在用户端上传发布的知识进行审核,规范平台的使用。3.4大学生知识分享平台功能设计3.4.1用户端的主要功能授权登录用户首次进入知识分享平台,需要点击登录进行授权,授权后方可查看用户信息、进行知识分享、展示用户点赞、转发和发布的文章。公告、通知栏发布一些重要的公告、通知等。搜索功能用户在搜索界面输入关键字后,就能展示搜索到的文章标题,点击对应标题可以进入知识详情进行阅读。热门推荐热门推荐主要是优先展示知识分享平台中点击量和点赞量较高的文章,为用户提供优质内容。知识分类知识分类界面分为两级分类目录,如英语为一级目录,二级目录可以细分为大学英语、英语四六级等,更具有针对性。点击某一个二级分类后,还应具有按点击量、发布时间等进行知识排序的功能。知识详情知识详情界面应包含文章的标题、作者信息、发布时间、文章内容,同时给用户提供点赞、转发功能,点赞转发的文章将保存在用户个人中心,方便用户再次查找阅读。知识分享用户依次选择要发布的文章的类别、输入文字标题和内容,文字内容的输入框使用富文本输入框,能支持文章内容字体加粗等个性化设计,同时支持插入图片等,编辑完成后点击保存发布文章,等待管理员审核通过即可上传到平台。3.4.2后台管理系统的主要功能注册登录管理员需使用正确的账号和密码才能登录后台管理系统。用户、文章管理管理用户信息和已发布的文章。审核文章管理员对用户申请发布的文章查看并审核。3.5大学生知识分享平台用例图图1大学生知识分享平台学生用例图2大学生知识分享平台管理员用例4大学生知识分享平台的开发4.1搭建开发环境4.1.1小程序注册打开微信公众平台官网,注册账号,选择小程序开发模式,在小程序开发管理界面,使用者可以获取到AppID,AppID在后续的开发中可以用于测试和发布程序等。图3获取微信小程序AppID4.1.2微信开发者工具打开安装好的微信开发者工具,输入AppID创建小程序即可进入工具进行开发。图4在微信开发者工具创建小程序4.1.3数据库本平台使用MongoDB数据库,下载MongoDB数据库并配置好环境变量,在命令行执行”mongod–dbpath文件路径”,启动数据库。4.1.4VSCodeVSCode主要负责:连接数据库,编写Node.js代码来处理小程序发送来的请求,对数据库进行增删改查等操作;开发知识分享平台后台管理系统。在官网下载好VSCode软件就可以直接打开使用。4.2大学生知识分享平台的功能开发4.2.1数据库数据库总体设计数据库建表通过下载并引入mongoose库,使用mongoose库的Schema方法定义所需的各字段,构造生成一个模型model,引用该model可以实现数据库生成表和操作表。为实现知识分享平台预期功能,数据库建表主要包括:admins(管理员信息)、bannerimages(轮播图)、categorys(知识分类目录)、knowledge(已发布文章)、publishknowledges(待发布文章)、users(用户信息)。图5数据库主要建表数据库各表字段说明admins表:管理员信息表主要存放管理员的用户名和密码。图6admins建表bannerimages:轮播图表主要存放轮播图的名称和图片路径。图7bannerimages建表categorys:知识分类目录表主要存放每个知识分类的id、名称、该分类的父亲id和该分类的子分类数组。图8categorys建表publishknowledges:待发布文章表主要存放待发布文章id、文章分类id、标题、内容、作者id、发布时间。图9publishknowledges建表knowledges:已发布文章表主要存放已发布文章id、文章分类的id、文章标题和内容、作者id、发布时间、点击量、点赞量、点赞的用户、转发的用户。图10knowledges建表users:用户信息表主要存放用户微信昵称、头像地址、openId。图11users建表4.2.2知识分享平台用户端个人中心模块图12个人中心 图13授权登录用户进入个人中心页面,就会触发wx.login()方法,通过该方法可以获取到code和用户的openid并缓存到本地,openid作为用户的唯一标识。该功能核心代码如下:点击登录,再点击授权调用wx.getUserProfile方法获取用户信息缓存到本地,发送请求时将这些信息写入数据库用户信息表中,本平台主要使用用户的昵称和头像。授权通过后即可在个人中心界面展示用户微信昵称和头像。该模块核心代码如下:在个人中心界面,用户查看自己发布、点赞的文章等信息时会调用request方法向后台发送请求,从数据库查找到相应信息返回给微信小程序进行渲染。查看点赞文章功能核心代码如下(发布、转发类似):首页模块图14首页微信小程序首页设有一个搜索框,用户点击搜索框进入搜索界面,小程序首先会通过点击事件获取到用户输入的关键字,接着将获取到的值传给后台,后台再根据发送来的数据对数据库进行查找,返回结果即可查看到相关文章,点击目标文章就会触发对应文章id,进入文章详情页面阅读。该模块核心代码如下:轮播图可以查看一些通知和活动等。轮播图核心代码如下:公告栏用于展示一些线下活动的预约通知,点击公告进入公告详情,详情界面除了基本的信息外,还设有预约按钮,用户点击预约按钮并允许程序发送通知后,在活动开始前小程序会将活动通知通过订阅消息的方式推送至微信聊天界面。图15订阅消息 图16消息推送该功能核心代码如下:用户可以在热门推荐下浏览当前平台最热门文章。热门功能主要是通过对数据库中现有每篇文章的点击量和点赞量进行统计,按照降序排序方法依次展示文章。同时为节约资源,对每次获取的文章量做限流处理,页面初次加载时,只获取10条数据,只有当用户下拉触底时再触发下一次请求。热门推荐核心代码如下:知识详情模块图17知识详情 图18点赞、转发按钮用户点击某篇文章后,进入文章详情界面,该界面有文章标题、作者、内容等,获取知识详情核心代码如下:文章详情界提供用户点赞转发的功能,当用户点赞或者转发文章,就会向数据库里该篇文章添加点赞或转发的用户的openid,同时更新个人中心的点赞和转发文章。点赞、取消点赞核心代码如下(转发、取消转发类似):知识分类模块图19知识分类界面知识分类界面左边设有一级菜单栏,右边设有每个一级菜单栏下的若干个子目录,为二级菜单栏。用户点击某个二级目录就会将这个分类的id传至后台,后台接收后根据该分类id查找数据库的知识列表。第一次获取到分类菜单栏后进行数据缓存处理并设定过期时间。知识分类界面核心代码如下:用户在每个分类界面,都可以按综合、点击量和发布时间的排序方式查看该分类的文章。该功能核心代码如下:知识分享模块在分享界面,设有文章操作、文章分类、文章标题、文章内容四个模块。图20知识分享界面文章分类:根据数据库已有的知识分类,用户点击下拉选项框即可选择要分享的文章的分类并将点击的下拉框的索引值缓存到本地。该功能核心代码如下:文章标题:用户点击文章标题输入框进行标题输入,输入完成程序将自动缓存标题到本地。该功能核心代码如下:文章内容:文章内容输入框使用editor富文本编辑器组件,可以使输入的内容带上html的标签。使用前程序先调用onEditorReady()函数初始化编辑器,清空本地缓存数据,接着用户可以根据自身需求编辑个性化内容。该功能核心代码如下:文章操作:文章操作分为保存和发布,用户点击保存获取到富文本编辑器的内容,缓存到本地,点击发布后,获取本地缓存中的分类、标题、正文并将这些数据发送至后台。该功能核心代码如下:4.2.3知识分享平台后台系统登录模块图21登录界面管理员输入账号密码,点击登录,系统向后台发送Ajax请求,验证通过进入后台管理系统主页并在当前网页路由地址加上管理员账号名。该功能核心代码如下:用户管理模块图22用户管理界面(a)(b)管理员登录后,可以在用户管理界面查看到用户详细信息。该功能核心代码如下:文章管理模块图23文章管理界面(a)(b)(c)在文章管理界面,管理员可以对已发布文章进行查看和删除操作。该功能核心代码如下:发布管理模块图24文章发布管理界面(a)(b)(c)(d)当用户在微信小程序平台发布文章后,管理员就可以在文章发布管理界面对用户申请发布的文章进行查看、审核和删除操作。通过的文章会在已发布界面展示,同时微信小程序平台也能查看到。该功能核心代码如下:4.2.4知识分享平台程序测试微信小程序在开发完成后,需要进行性能、体验和最佳实践三方面的测试,保证小程序发布上线后可以正常运行。在微信开发者工具中,提供了有针对小程序的测试工具,只需选择调试器下的Audits面板,单击运行即可进行测试。在测试过程中,在预览区操作小程序,并且尽可能的使用到小程序的每个功能按钮、前后端的交互和页面,方便体验评分工具能够给出全面的评价。利用这款工具可以检测小程序在设计上是否有缺陷,并给出相应的优化建议。图25知识分享平台微信小程序体验评分经过测试,小程序在性能、体验和最佳实践三个方面都表现良好,程序能够正常运行。5总结与展望5.1论文总结本文旨在设计和开发一款针对大学生的知识分享平台,通过探索知识分享的特点,再结合大学生的社交习惯、大学生对知识需求的特性以及微信小程序发展现状等方面的研究结果,最终选择开发一款基于微信小程序的大学生知识分享平台。知识分享平台的开发工作主要分为对知识分享的理论性研究、平台可行性分析、功能需求分析、功能设计、功能开发、程序测试等。本平台分为学生用户端和管理员后台系统。学生用户端设计的主要功能有:知识搜索、知识推荐、知识分享等;管理员后台系统设计的主要功能有:查看用户的信息、管理平台已发布文章和待发布文章等。设计并确定好平台的主要功能后,笔者根据自身的编程能力,决定在学生用户端主要采用微信小程序提供的组件和API等进行开发,在后端和管理员后台系统则通过前端技术(包括HTML5、CSS3、javascript、node.js等)进行开发,准备好工作后便着手于程序的开发,并在论文中对各功能模块进行代码展示和详细阐述。知识分享平台开发完成后,对程序进行基本的测试,保证程序能够顺利执行。5.2不足之处虽然目前知识分享平台经过测试可以顺利执行,也能满足功能需求分析中对各功能模块的要求,但由于个人时间有限和技术水平限制,程序还存在一些漏洞和不足,在实际运用中还需进一步解决以下几个问题:(1)平台上的知识分类较少,目前只针对于计算机专业学生;加之平台的资源类型较为单一,不够丰富,还需不断扩充。(2)有些界面还不够美观,用户之间互动性也较少,还需进一步调整和优化。(3)该知识分享平台的试用对象数量较少,没有进行小规模的试用和改进,且研究对象均为本专业学生,因此对于平台的推广性和普遍适用性还需进一步深入研究。5.3展望随着技术和社会的不断发展,知识对于每个大学生来说都变得至关重要,本文开发的平台就是借助微信小程序,将大学生专业知识通过现代网络平台进行分享交流,促进学生间合作学习,与传统课堂相

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论