《基于微信小程序的宿舍管理系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于微信小程序的宿舍管理系统设计与实现.docx(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘 要21世纪,随着移动设备的普及和信息软件快速发展的步伐,人类日常生活与终端软件互相依赖的现象也已成为现代科学技术发展的现状。其中,微信App作为我国通信社交应用程序最为普遍的软件之一,它的实用性对于用户来说,是至关重要的存在因素。微信在其本身的功能基础上延伸出的微信小程序平台、支付功能等,使它演变为远远不仅是具有社交意义的应用程序。如今,微信小程序给予我们非常多的日常操作,且对于应用开发者的开发成本,在微信小程序平台开发项目的开发成本会比APP低许多,宣传方式也比APP更便捷,效果更好。因此,微信小程序平台的开发,已经是软件开发重视的方面之一。考虑到小程序开发的用户需要是具有针对性、用户群
2、体庞大,并且可以经常使用微信管理日常生活的群体,便可以快速发现到“大学生”这一特别的用户群。大学生是引领时代步伐的重要群体,他们使用微信和小程序的频率高,操作熟练,是我们开发项目能考虑到的十分合适的用户对象。大学生的共同点有班级、宿舍、社团等,在市面上已有许多针对班级的APP存在,而社团的流动性大、管理范围广,不利于使用微信小程序进行管理;所以本次我们的开发项目便是针对大学住宿生,开发一款“基于微信小程序的宿舍管理系统”平台的主意由此诞生。大学住宿生用户群可以来源于微信,通过搜一搜或扫一扫的方式进入小程序的可能性更大,这也将为开发带来了庞大的用户群。“基于微信小程序平台的宿舍管理系统”功能主要
3、分为三个模块:宿舍通知、宿舍管理和个人账户管理。对信息的管理功能是本平台在基于大学生宿舍群体上所针对的项目意义,这一功能包括宿舍集体管理和个人信息管理。要求在同一宿舍的成员加入使用这一小程序,方便宿舍日常的成员管理、信息通知、值日安排等宿舍操作。项目运用小程序开发平台进行开发,运用JavaScript语言编写,使用API端口等,最后在微信小程序中实现功能运行。该项目包括前后端的开发,前端由微信小程序平台实现,主要使用JavaScript语言编写。后端使用golang + beego + redis 技术栈。整个后端设计基于MVC架构模式。“基于微信小程序平台的宿舍管理系统”平台最终实现了较为理
4、想和完善的产品功能,但仍有部分功能需要进一步优化升级。关键词:微信小程序;宿舍管理;Beego开发框架。目录第一章 绪论11.1 引言11.2 开发背景11.3 开发现状21.4 开发目的41.5 论文结构4第二章 平台总体设计52.1 总体设计思维导图52.2 平台功能需求52.3 宿舍核心通知功能62.4 宿舍管理功能62.5 个人账户信息功能82.6 本章小结8第三章 平台主要技术概述93.1 产品前端开发相关语言93.2 Beego框架技术基础103.3 本章小结11第四章 平台功能的实现流程与技术说明124.1 宿舍服务通知的实现124.2 登录功能的实现134.3 宿舍管理功能的实
5、现144.3.1 宿舍信息功能实现说明144.3.2 宿舍规定功能实现流程154.3.3 宿舍卫生功能实现说明154.3.4 宿舍收支记录的实现流程164.4 加入宿舍功能的实现流程164.5 个人账户管理的实现过程174.6 本章小结18第五章 平台测试195.1 产品测试需求195.2 开通权限195.3 登录账号测试195.4 加入宿舍功能测试205.5 宿舍通知页面测试215.6 宿舍信息页面测试225.7 宿舍新规定通知测试235.8 宿舍卫生安排功能测试245.9 宿舍经济页面测试255.10 我的页面功能测试265.11 关于室友功能测试275.12 退出登录功能测试275.13
6、 本章小结28结论291. 项目工作总结292. 项目开发期望29参考文献30致谢31第一章 绪论1.1 引言在21世纪的今天,随着移动互联网通信行业的迅速普及和发展,移动互联网和智能手机已经逐渐成为每个人日常生活的基本标配。其中,大学生作为一个激进而活跃的群体,起到了推动整个互联网发展时代的作用。智能手机已然被当代大学生作为日常社交与生活行为的依赖,围绕大学生群体为设计的应用软件也数不胜数。然而,大学生宿舍管理的应用并不普遍,高校宿舍群体是大学生群体的重要组成部分,对于今天的中国大学生网络交流而言,微信已经逐渐成为了不可能被替代的一种应用和选择,其小程序的发展也给大学生的日常生活带来了诸多便
7、利。在这一背景下,围绕大学生宿舍制作的宿舍管理微信小程序,成为本次的课题设计。1.2 开发背景在信息技术化的时代,我国移动技术也层出不穷。提到国内软件使用普遍率最高的软件,毫无疑问,人们首先想到的会是微信。微信作为一款风靡中国的软件,其生态功能日益丰富,它的功能和用户体验也得到了有效的迭代、升级和优化。基于大众对微信的使用,其附属功能小程序平台已经成为众多软件开发人员青睐和追捧的开发平台,也已成为许多企业主要的获得用户的渠道。微信为什么开发小程序,小程序又为什么能够成为当今许多商家和用户都依赖的应用渠道呢?这便要从小程序的特点和发展趋势进行分析。首先,当今科技发展的大背景是以互联网形式存在,在
8、这样的背景下,移动开发时所需的流量获取和想要赚取利润的成本都很高。普通的应用程序软件,即APP,作为一个封闭环绕的生态系统,不谈本身的优劣,其获取流量和挽留客户的方式都已遇到了瓶颈期。这对于普通的电商业务和大部分线上运营来说,想要跨出第一步都有些艰难。他们需要一个平台与渠道,为他们主动带来用户与流量,缓解运营成本所带来的压力,让重点放在应用的开发。这时微信小程序便成为了他们首选的平台,及时地解决B端商家的问题,使这些企业能够将自己的产品呈现给终端用户,从而给他们带来商机。那么,如何在众多企业的小程序中生存,如何把握众多微信用户和目标群体呢?这需要小程序明确地针对目标用户进行业务操作,还需要考虑
9、如何方便和优化这个应用程序,从而给用户的日常生活带来的影响。只要能够达到这个目的,平台项目便能够实现用户的粘性需求,成为用户日常必要的生活平台,并以长效发展为目标对小程序进行无限的改版更新。经过思考,对于2020年这一以90后与00后为主导发展的时代,其中的大学生群体是独立且与时代共同发展的重要组成部分。而大学生这一类体绝大部分都是以宿舍作为主要生活场景,宿舍的日常便也成为大学生的主要标志之一。在这样的背景下,每个宿舍群体都在不断经历着各种各样的故事,关于大学宿舍生活的报道同样是数不胜数。不同的宿舍生活可以为一名大学生带来完全不同的大学生活。那么,对于大学生宿舍生活这一生活场景作为用户群体的背
10、景,开发一款以微信小程序开发平台的宿舍管理小程序平台,用于规范、通知和管理宿舍生活与成员,是很有必要与可用性的。1.3 开发现状近七到八年间,随着移动设备的的普及,诞生于智能手机上的应用软件也源源不断的呈现在大众面前,为人们的日常生活或娱乐活动带来需求。微信作为我国崛起的主要通讯软件,已经大面积实现了覆盖于国内的移动互联网用户。去年,腾讯针对微信和小程序平台给出了季度财务报告。报告中显示,截止至去年的第三季度,微信的月活跃账户已经达到了11.51亿人次,占据我国人口总数将近百分之八十,其中,微信小程序的日活跃账户也达到了3亿人次。由此数据可知,微信的用户群体十分庞大,这可观的流量数据也为小程序
11、带来一定数量的用户群,并且为小程序项目的开发和运营带来了巨大的基础条件和基础利益。由下图1-1 2014-2019年微信用户月活跃增长示意图可知,虽然微信用户增长速率在减慢,但依然用户数量逐年增长的现象。同时考虑近几年内,微信在较大可能的情况下仍然是我国首先选择使用的通讯工具。微信在国内处于如此领先的地位,不管是它的用户规模还是商业化能力,其优势是其他已存在的社交产品无法比拟的。图1-1 2014-2019年微信用户月活跃增长示意图基于这一现状,对于开发者和运营商在开发小程序时需考虑的用户流量或平台运营等问题,微信平台都能够为其缓解一定的压力。截止至2020年1月2日,阿拉丁小程序统计平台呈现
12、的数据显示,微信小程序的数量已经突破了300万个,并且在2018年,据艾媒咨询的结果可以发现,到2020年时,微信小程序的数量可能突破400万个左右。微信小程序的的数量增长也会继续呈加速趋势,其用户规模预计达到5.8亿人次。通过这些数据分析得知,微信小程序的发展迅速,小程序具有充分的爆发力。小程序的整体生态产业将继续扩大,产业链将进一步完善。属于小程序的时代已经到来。图1-2 2017-2019年小程序增长数量图表和课题“基于微信小程序平台的宿舍管理系统”类似的项目产品很多,每个产品都有针对的方面和对象需求。但是至今市场上没有一个产品是单独针对宿舍这一对象所开发生产的,因此针对宿舍的通知和日常
13、管理的小程序平台来说,这个产品可能是最具有针对性的产品。相关的产品类别主要包括有:校园通知类产品、金融理财类产品、大学课表类产品等。跟校园通知类产品的最大区别在于,“基于微信小程序平台的宿舍管理系统”平台所针对的是宿舍内部的通知推送,具有很大的封闭和私密性。且对比普通应用软件,微信小程序具有轻便易用、用户流量大等特点。用户可以避免使用下载app的行为,就能够享受到同应用软件一样的功能与服务。并且它与常用的通讯工具微信相连,可以实现及时通知,灵活性强。与金融理财产品相比,平台可以实现多人财务分配和管理。项目本身设计的目的是针对大学生群体、给予他们在大学期间能够拥有更舒适规范的宿舍生活,由此可见与
14、许多常见的应用程序的目的相对不同。1.4 开发目的在我国当今发展步伐迅速的时代,人们在各自的领域工作与生活。在不同的领域、不同的场景下,都会有不同的群体存在。没有规矩不成方圆,对于群体这一具有不定性和随机性的对象,对其进行规范化的管理是必要且具有重要意义的。因此,结合科技发展现状,通过终端来进行人员的管理,最为符合当代社会人们与智能手机并存的社会现象。本项目“基于微信小程序平台的管理系统”针对于大学生宿舍群体,这一群体具有持久性与固定性,易于规范。如果能够通过一个平台来永久规范和约束这一群体,对于学校来说,将能够更直观的面对这一群体,从而为他们打造符合本校的宿舍规范和宿舍环境,让校园具有更加良
15、好的宿舍氛围和学生风气。截止至2019年第四季度,国内的大学生总数已达2700万人次,若平台能够广泛应用至国内所有学生宿舍群体,对社会来说,也将实现有一个公共平台来积极地规范和约束大学生宿舍群体,并且可以针对这一群体作出有效的正能量引导,这将对于社会的发展具有一定的推动作用。基于目前的开发背景和现状,如何开发一款既能管理宿舍,又能进行通知的平台,成为了一个问题。因此,当拥有了微信小程序平台这一普遍性高、实用性强的产品时,针对宿舍管理通知的功能便可以通过这一产品实现。在本项目平台的定义中,目标群体是大学生宿舍群体,实现讯息的推送和传递都要及时通知到每个宿舍成员。而“基于微信小程序平台的宿舍管理系
16、统”平台的主要目的就是通知发送。当学生加入宿舍之后,当有关于宿舍通知的时候,直接通过宿舍的平台进行通知,便可以及时有效的通知到宿舍的所有成员。使得通知消息的及时性和有效性得到很好的保证。对于通知功能,通过这一平台直观且有效的进行信息传递,也为大学生活提供更方便的帮助。在管理方面,在管理方面,主要基于宿舍的规定、卫生安排、宿舍成员和宿舍的经济收支进行管理,以此来针对宿舍的各种可能会出现的矛盾和交互情况进行管理。因此,不管是对于宿舍、班级、甚至是社会的管理来说,开发用于规范管理大学生宿舍群体的平台是具有重要意义的。1.5 论文结构论文共分为四章。第一章节讲述了关于这一项目的开发背景、开发目的和研究
17、现状的信息;第二章主要介绍了微信小程序平台开发的总体设计和各功能模块的简要说明;第三章主要阐述了项目各模块功能的设计与实现;本文的第四章是项目最终实施的论证和效果的论证。第二章 平台总体设计2.1 总体设计思维导图 “基于微信小程序的宿舍管理系统”是针对大学生进行宿舍管理的平台,其核心功能是消息的通知。针对宿舍这一概念,平台的功能设计便衍生出宿舍规定、宿舍制度、值日安排、成员管理和宿舍经济等。针对上述的功能,我们便可以大致将项目以图2-1平台模块划分的思路作出平台的思维导图。图2-1平台模块划分由上图可知,平台的主要框架是以登录注册、通知、宿舍常用功能、用户个人信息构成,并在这个框架上延伸出具
18、体的功能模块。其中,登录注册是用户初次登陆平台所需要经历的步骤,其余三个主功能则将分别作为独立页面展现在平台中,并通过导航栏的方式指引用户快速到达。在了解了平台的的主要框架构成和功能模块的思维导图后,下文便开始针对平台的各个功能进行介绍和功能分析。2.2 平台功能需求“基于微信小程序的宿舍管理系统”平台,主要基于微信的小程序平台,后台由开发者所操作、自己管理用户的产品。项目的主要功能有:微信通知功能、宿舍管理功能、个人账户功能等。由于微信通知功能直接与微信账户绑定,从而将通知显示至用户聊天页面,实现了宿舍的及时通知,保证了用户的隐私。宿舍管理功能主要基于管理成员、安排宿舍日常活动、宿舍收支等规
19、则。其通过积分制规范宿舍成员,主要保障了宿舍的原则及规章制度。个人账户功能主要针对宿舍成员个人的积分和个人财产的记录,达到用户个人使用体验。2.3 宿舍核心通知功能“基于微信小程序平台的宿舍管理系统”平台的主要板块功能便是通知功能,而这一功能的存在也是为用户拥有更好的用户体验所设计的。平台中,有很多需要及时通知给宿舍成员的信息。例如宿舍值日安排、学校班级关于宿舍的执行通知、宿舍日常的财政收支、宿舍活动安排等的内容,都需要通过通知功能通知到同一宿舍的所有成员。通知的环境可以分为以下几种情况:1、小程序正在前台运行时;2、小程序在后台运行时;3、小程序没有运行时。这三种情况的推送提醒都能够及时推送
20、给用户,并且用户能够及时到达小程序查看。通知模块的功能需求主要在于,当宿舍某一成员在平台上发布通知消息时,微信将通过服务订阅号的方式,将通知消息推送给其余宿舍成员。成员接收消息的方式可以分为:微信弹窗提醒、移动设备通知栏提醒,并通过移动设备的振动、提示音的方式实时通知。此外,微信软件的应用程序图标有一个消息角标,来显示通知消息的数量。由于消息一般是从微信服务订阅号,在微信聊天窗口显示。消息推送给用户后,用户可以单击聊天页面的订阅号直接跳转到小程序,并加载相应的消息通知页面。当小程序在后台运行、消息以弹窗方式推送时,用户同样可以通过点击弹窗,运行小程序,从而到达通知页面。在项目中,通知页和通详情
21、都以列表方式展示,刷新能够展示最新发布的通知信息。页面将已读和未读的通知一同展现,并且显示发布者和发布时间等标志信息,未读的通知会标识未读,使用户在浏览通知页面时能够迅速捕捉有用信息。2.4 宿舍管理功能宿舍管理功能是服务于宿舍内所有成员的存在,通过宿舍规定、值日安排、经济收支和成员管理,同时对宿舍成员的服务与管理。在对成员进行管理时,小程序加入了利用积分制的形式,用于针对成员对各自宿舍的日常行为操作实行奖惩制度。例如,当某位成员完成了当日的值日安排,他将得到值日相应增加的积分;当成员没有按时完成某项宿舍规定,导致为宿舍或班级带来损失,将会扣除规定的相应积分。而成员可在一段时间(例如一学期)后
22、通过积分的数目,进行奖惩。这是统一宿舍、管理宿舍成员的必要手段。宿舍管理功能分为宿舍信息、宿舍规定、卫生安排、宿舍经济四个板块。宿舍信息是关于宿舍主要信息的显示,包括学校、宿舍号、室长、宿舍成员和宿舍财务等信息。成员可通过宿舍信息实时监督宿舍的财务,来判断是否收取宿舍费和购买宿舍公用物资及活动安排。除此之外,成员可通过选择新舍长的操作,转换舍长职权,达到及时对宿舍成员进行管理的目标。宿舍制度是本产品的主要核心功能。没有规矩不成方圆,宿舍里的每个人都有自己的生活习惯。但当一群人生活在一个空间中时,则需要每个人遵循空间内部相应的规范与原则,从而约束个人的行为习惯。因此,正确制定有效的宿舍制度是规范
23、宿舍成员的重要途径。宿舍的规定页面以列表的形式显示,规定的显示有具体的内容、发布时间和发布日期。成员可以通过刷新查看最新的宿舍规定,宿舍规定的发布也会及时通过微信服务订阅号,推送给成员,以保证宿舍成员能够及时获取新规定。每条规定都可设定规定所代表的成员积分,用来表示当某成员完成或未完成规定时,应增加或扣除的积分。增加新规定的操作只能由室长身份的成员进行,可删除已发布的规定,发布消息时也会默认通知除发布人之外的宿舍成员。宿舍值日卫生安排是每个宿舍都十分重视的必要环节,它不仅保证了宿舍成员的生活环境,同时对成员日常良好的卫生习惯进行了约束。宿舍的公共卫生需要成员们共同严格执行,以积分制为遵守依据,
24、完成个人值日任务的成员将获得统一数量的积分;相反,若没有及时完成个人值日任务,则会扣除相应积分。当宿舍成员完成当日的值日安排后,可在小程序中点击确认“已完成值日”的结果,从而增加积分。结果将会以消息提醒的形式推送给其他成员,以便由其他成员检查监督。值日安排由宿舍长负责。安排的内容有天数和对应的积分数。宿舍长有权根据宿舍成员的执行情况,随时修改值日的天数和积分。当某一宿舍成员完成值日并间隔相应天数后,消息会推送提醒下一位该值日的宿舍成员。关于宿舍经济功能,这一模块将显示宿舍的所有收支内容、宿舍剩余财产、收支对象与时间信息。在宿舍生活中,经常会有宿舍统一收支,例如水电费、宿舍共用物品、网费等。若不
25、能及时将宿舍的收支公开,使财务透明化,有时将会引来不必要的误会与矛盾。相对于传统的纸质版记账,在平台上实时发布与推送的方式,更有利于对数据信息的更新与保存,从而使宿舍成员及时了解宿舍经济的流动情况。收支内容以列表的形式展示,其内容将说明支出或收入的金额、支出或收入的用途与方式、账单的发布者和发布时间。当新账单发布时,所有成员同样能够收到消息推送,使其他成员及时了解宿舍的经济财政状况。添加新账单可供宿舍全体成员操作,成员需在进行金额使用后及时在平台上反馈并发布,从而有效管理宿舍经济。成员在发布新账单时,需选择财务的收入或支出,并写明具体数额,详细说明金额的使用方式。宿舍剩余财产会在添加新账单后,
26、实时反映在宿舍经济页面。这一功能使得宿舍经济公平公正公开,透明化经济流动,促进宿舍成员之间的包容和理解,同时提高学生管理和使用金钱的能力。2.5 个人账户信息功能小程序的个人信息模块,包括了用户的个人资料(账号、学校、宿舍等主要信息)、小程序中所获得的个人积分、个人的学习课程表和宿舍相关的个人收支。小程序的个人账号管理,主要通过绑定用户的微信账号进行授权登录,保证了微信信息通知的同步。用户在第一次登入小程序时,需要完成加入宿舍的相关信息填写。加入宿舍时,由于每个宿舍成员只允许加入同一个宿舍一次,用户无需通过舍长的确认。填写的宿舍信息包括学校、宿舍号、姓名和学号等,并以此作为信息支撑。加入对应的
27、宿舍后,成员便可在小程序查看宿舍通知列表、接收来自小程序的信息提醒。宿舍长一职由第一个加入宿舍的成员临时持有,用户也可以通过小程序的交互功能来改变宿舍舍长一职。个人积分为宿舍成员在日常的值日安排等活动积攒积分,积分可用作宿舍成员间其他活动的奖惩机制的根据。个人收支功能是对成员个人的财政收支的记录,成员可通过此功能查看日常的收入与支出,从而衡量自己的收支水平,对自己的个人财务管理有一定的认识和掌握。个人收支将以列表的形式展现。2.6 本章小结本节主要内容是对平台项目各个功能模块的详细描述,并且详细分析了功能对于用户的需求,同时对项目的大致结构和功能划分、需求进行了拆解、体现对项目实现的具体目标。
28、第三章 平台主要技术概述3.1 产品前端开发相关语言“基于微信小程序平台的宿舍管理系统”平台前端开发主要使用JavaScript语言。JavaScript是一门前端脚本开发的编程性语言,是目前世界上脚本语言中最为流行的。它属于web的开发语言,适用于网页(即PC端)、移动设备、笔记本电脑等。JavaScript一般与HTML和CSS一起完成前端的开发,并将动态文本嵌入至HTML页面中,从而对事件作出动态响应1。JavaScript与HTML、CSS相辅相成。它们互相是外表、身体和灵魂。例如,我们可以把HTML当作是静态的代码,它主要体现页面的结构和内容;CSS则是一种将内容美化的标记语言,用于
29、定义每个元素的样式和形态;而JavaScript则是让这些内容在用户的操作下,对用户作出响应的语言,也是最能反映和控制页面效果的工具。三者之间的关系展示如图3-3所示。图3-3 JavaScript、HTML、CSS存在关系示意图通俗的说,JavaScript决定了用户的交互体验,即用户在交互时的操作是否友好,主要取决于它。在开发微信小程序时,JavaScript主要用于向事件添加动态函数,使前端页面实现响应操作。例如简单来说,在运用JavaScript时,将变量与字符串连结起来,我们通常在变量中存储有用的值,然后通过操作“字符串”2,将变量链接到字符串,接着运行代码使网页对特定事件作出响应,
30、形成动态函数功能。除此之外,JavaScript也可用于开发小程序框架逻辑层、调用API接口获取所需的信息数据。基于使用JavaScript开发微信小程序,微信团队为了便于开发者提高开发效率,适当的做了一些修改。其中,电子支付、扫一扫等特有的方式便来源于团队提供了充裕的API3。在开发小程序时,开发者能够通过调用API接口,从而获取到用户信息、本地储存和其他有用的数据信息。而这个利用网络请求、调用API接口来获取数据的过程,也是通过JavaScript语言实现。总之,JavaScript能够为实现这个项目平台发挥许多实用性的编程效果:它不仅使页面更具用户交互性,还能确保数据信息和用户能够以表单
31、的形式传递有效信息等等,是本产品在开发时高效适用的开发语言之一。3.2 Beego框架技术基础“基于微信小程序平台的宿舍管理系统”平台,是一个以通知为核心功能,基于微信小程序平台的产品。其通知功能以微信的服务号通知机制,功能的实现技术为“模板消息”。由小程序通过服务号通知推送给用户,为用户提供高效可触发的提醒通知能力,为用户带来安全且封闭的用户体验。开发本项目平台的主要框架是HTTP框架4,它是Beego这一开发Go应用的典型框架,可用来快速开发API及后端服务器。Beego操作简单,流程模块化,执行智能化;它作为开发框架适用于云平台,开发服务也可用于分布式部署。以下是对Beego执行过程的简
32、要分析。Beego开发框架是典型的MVC(Model-View-Controller)架构模式5,执行逻辑流程如图3-1所示。图3-1 Beego框架执行流程示意图上图中,contrller可以通过调用Model、辅助工具包、日志、会话管理和缓存处理这五个模块用于业务处理。处理完成后,将其返回给请求者。监听的默认端口是端口8080。当用户请求到达端口8080时,下一个beego框架便会开始处理。在找到路由器之前,用户需要通过BeforeRouter过滤器并执行,对象是否是静态文件也将会影响接下来的执行捕捉,因此在执行过滤器同时,也会判断对象的性质。如果不是静态文件,则初始化会话管理模块,并将文
33、件加至AfterStatic过滤器中。执行AfterStatic过滤器后,开始进入根据路由规则查找匹配对象的路由功能。若对象不匹配,固定规则是不会进行匹配的,它会进行参数的过滤。下一步,当对象对应的controller被找到时,输出流程就会被开始执行。对象会先通过BeforeExec过滤器进行数据的输出过滤(在过滤器的执行过程中,若responseWriter已有数据输出,则将会直接此结束请求,跳转至Finish函数判断逻辑;若没有输出,则会通过执行Render函数,将模板输出),此时Controller会开始有次执行Init函数、Prepare函数,Finish函数,和Destructor函
34、数,并在Finish函数中将初始化的数据信息进行释放。当执行完输出执行,所有逻辑都到达监控判断后,请求访问的连接将会传送给监控程序(默认进程内监控为一个8080端口),来记录访问的QPS和请求访问的时间、访问的链接等。这便完成了一次Beego框架的执行。3.3 本章小结本章节的主要内容是对“基于微信小程序平台的宿舍管理系统”平台的开发语言和框架技术作出的介绍与分析。对于JavaScript开发语言,本章节也对其应用思路和功能作用进行了简单扼要的分析说明,其在开发平台项目时反映在对用户数据的响应和获取上,是本产品开发的基本语言。本平台项目将Beego开发框架作为基础的开发框架。对于后端服务器,B
35、eego充分体现了速度和智能的优势。其Model-View-Controller体系结构设计模式极大地提高了各模块间数据传输的效率和代码的实用性。在本文之后的内容中,我们将会简述和说明本平台项目的每一个模块功能,并解释它们的实现过程。同时,平台的相关技术基础知识JavaScript语言、Beego开发框架等开发相关技术也将被展现于项目的设计实现过程中。 第四章 平台功能的实现流程与技术说明4.1 宿舍服务通知的实现 “基于微信小程序平台的宿舍管理系统”平台是一个以通知为核心功能的产品。当用户在小程序中发布通知、规章制度、宿舍安排、经济收支变化时,小程序通过订阅号将消息实时推送给用户,达到及时通
36、知的效果。微信小程序支持基于微信的消息推送,但在开发过程中,实现订阅号的通知机制是有限制的。并且,微信小程序需要与订阅号或服务号进行关联。下面将会讲述微信小程序订阅号通知机制的思路及实现流程。在开发之前,我们需要将小程序绑定到订阅号,并通过调用接口wx.getUserInfo获得unionid6(用户的unionid是唯一的)。此过程中使用的接口、小程序和订阅号需要通过各自不同的appid和secret获取access_token。在完成开发前的准备工作完成后,我们需要获取并储存formid 7。将form报表提交添加到report-submit。然后,当用户提交表单时,可以获得相应的form
37、id。在订阅号推送时需要使用这个formid才能实现推送。在提交表单的同时,后台数据库也会将formid的信息进行储存。如图4-1所示。图4-1接下来,我们需要获得后台接口调用小程序AccessToken令牌的凭据来进行身份验证,在小程序调用接口和在开发过程中的一些重要功能都需要用到它。我们需要到小程序后台的Settings- development Settings获取小程序的AppSecret,然后使用get方法传递AppID和AppSecret。此时,微信会返回并解析一个JSON数据包,在数据包中,我们可以获取到小程序的AccessToken。如图4-2所示。图4-2通过formid和a
38、ccessToken,我们便可以发送一个消息推送。新建用于封装消息模板方法的js文件,通过获取到的formid放到推送字段,通过小程序的推送接口,完成推送功能。4.2 登录功能的实现“基于微信小程序平台的宿舍管理系统”平台的登录功能,是通过绑定微信个人账号,来获取用户信息。用户在初次进入小程序时,若无法读取到用户的本地数据,那么微信便会想方法得到用户的登录信息,主要是通过调用接口实现获取过程,同时判断用户的个人信息有没有存在于数据库。若不存在,就会向用户发出注册请求以获取登录信息。用户允许授权后,后台将获取到用户的头像和昵称,并将其内容保存在小程序中。若用户不是初次进入程序,则成功检测用户注册
39、过,直接进行登录,进入动态首页。下图4-3是微信官方给出的登录流程逻辑图。图4-3 微信登录流程逻辑图8简单地组织下上图的逻辑。当用户登录到小程序时,他将使用wx.login登录以从平台获取临时code,并将其传递回开发者的后端服务器。然后调用API接口,获取到此用户的openid和密钥session_key;后端服务器将定义一个新的session_key,并将其返回到前端,并将其与新的openid和session_key关联起来。最后,前端使用新的密钥发送请求,后端会在解析后返回业务数据在本次毕业设计的制作过程中,我要向给予我支持和指导的辛伟彬老师表示衷心诚挚的感谢。不管是毕业设计流程、相关
40、文档的规范与解答,还是开发技术方面的问题,辛老师都十分耐心与热心地给予我及时的回复和正确的指导。在此非常感谢老师这段时间以来的帮助。感谢对于本项目的思路与开发过程都给予极大帮助的林宇炀同学。感谢在毕业设计期间对我提出的问题都进行解答的黄丽菲同学。感谢在疫情期间在家完成毕业设计、给予我关心与支持的家人。9。4.3 宿舍管理功能的实现 宿舍管理页包括了宿舍信息管理、宿舍规定、宿舍卫生安排、以及宿舍经济管理四个主功能。每个小功能其实都基于宿舍总管理,因此可通过总分的形式,以宿舍这个大板块来管理四个小版块。在图4-4宿舍管理总分逻辑图可看出,在宿舍页面中,四个小板块以列表的形式呈现给用户,使得四个部分
41、可以单独完成各自的功能操作。图4-4宿舍管理总分逻辑图上图即展现了宿舍管理的板块的总分情况。从图中可明显得到,每个小版块都可独自建立Model-View-Controller的架构模式,从而方便对每个小版块的功能处理。4.3.1 宿舍信息功能实现说明宿舍信息是宿舍基本信息的显示,包括学校、宿舍号、宿舍的成员、宿舍成立时间、以及改变宿舍长的功能。基本信息数据来源于后台服务器,并皆以文本的形式展示。宿舍成员点击更换舍长按钮时,会根据用户的信息数据判断是否为舍长,只有舍长有更换舍长的操作权,其余成员的更换舍长的按钮将是不可点击状态。4.3.2 宿舍规定功能实现流程宿舍规定是以列表呈现,用户可实现规定
42、的增、删、改。当用户打开宿舍规定列表页面,前端请求服务器获取宿舍制度列表,获取成功后便将在终端上显示。而修改宿舍规定是舍长特权,用户在操作修改规定时,需判断用户的身份是否为舍长。只有符合身份的用户,才能够通过成功跳转到修改规定页,并将修改后的规定信息提交至服务器。在成功提交后,页面将会退回宿舍规定列表页,同时程序会推送消息给宿舍成员。下图4-5到4-6展现了具体的流程。 图4-5 图4-64.3.3 宿舍卫生功能实现说明宿舍卫生功能是为宿舍成员提供每日值日安排的板块,其中主要展示当日值日的成员、值日日期以及否完成值日的状态、值日积分等信息。完成值日的成员可提交在页面中提交已完成,成员的个人积分
43、业户得到相应的增减。服务器会将当前页面中的值日安排加入至已完成事件,同时会在下一次值日时间到来时,刷新值日安排。只有舍长有权规定宿舍的值日安排。并且在值日安排刷新后,程序也会通过订阅号的推送形式提醒到宿舍成员。4.3.4 宿舍收支记录的实现流程宿舍经济管理功能主要是对宿舍财务收支的记录和展示。账单页面以列表的形式呈现,在每笔收支发布时,宿舍成员都能够通过消息推送的形式接收。宿舍每个成员都可以随时添加新账单,并将账单数据发送至服务器后,宿舍的剩余金额将得到相应的增减。宿舍经济部分的功能也是基于Model-View-Controller的体系结构模式。通过把宿舍经济收支的每一笔财务数据做为一个mo
44、del,然后将每个cell以ViewCell的形式显示在controller中。图4-7为宿舍收支记录的流向。图4-7宿舍收支记录流程4.4 加入宿舍功能的实现流程 加入宿舍功能是用户首次登录“基于微信小程序平台的宿舍管理系统”平台时必须完成的流程。当登录到小程序时,可以通过向服务器请求个人信息来确定用户是否已经加入宿舍。若是,用户能够直接到达小程序的主功能页面;若无,用户则需进入填写信息页面,填写学校、宿舍号、入学年份等个人信息。此时根据用户填写的宿舍号信息,判断数据库中是否存在此宿舍。若没有,则此名用户将会自动成为舍长,并新建宿舍。如果已有宿舍信息,用户则将以普通宿舍成员的身份加入宿舍。图
45、4-8展示了用户加入宿舍具体过程的逻辑示意图。 图4-8 加入宿舍流程图4.5 个人账户管理的实现过程个人账户管理包含显示个人信息、变更个人信息的功能。当用户到达“个人信息获取”页面时,获取个人信息需要向服务器请求个人资料卡;当用户需要修改个人信息时,服务器首先判断这是否是自己的资料卡的数据。如果是,用户进入修改页面修改个人信息;如果不是,用户就没有修改的权利。用户修改个人信息并提交后,页面将自行退出个人资料修改页面。并刷新修改后的个人信息。图4-9是用户修改个人信息流程图。图4-8 加入宿舍流程图4.6 本章小结本章节是对平台项目各个功能实现流程的说明,和功能实现的技术设计。功能部分的项目架
46、构设计基于Model-View-Controller模型,使各部分能够独立、完整地实现功能的同步运行效果。数据储存的后端服务器主要运用了Beego开发框架,使得参数能够通过对应的controller准确输出到达前端。通过对本项目平台的各项功能的设计与实现进行了简要的技术说明后,其框架流程和设计思路也取得了一定的展示效果。第五章 平台测试5.1 产品测试需求在软件产品的开发流程中,产品测试是非常重要的一个环节。测试一般是对产品的功能是否完善、性能是否达标的探测性行为,是对产品在预计效果和实际产出间进行审核并比较的一个过程。在将产品交付至软件厂商之前,必须要进行产品测试,及时对存在的错误进行改正、
47、对功能进行完善,才能够在产品上线时呈现最理想的效果。在正式实现用户使用本平台产品前,我们需要对其进行测试。本产品是基于微信APP的小程序平台,操作系统主要是iOS系统和Android系统。产品的兼容性问题小,通常适用于各种手机屏幕尺寸。对于功能的测试,我们可以把微信小程序作为单独的应用程序测试。我们需要测试程序接口,检查程序是否以需求输出和产生正确的信息,从而检测每个功能是否完善,也就是对小程序进行黑盒测试。5.2 开通权限测试本平台项目功能前,“所有者账户”在小程序官方的开发平台上需要开发者前往注册,并且需要添加开发者权限和操作者权限。如5-1测试权限测试图所示。图5-1 测试权限测试图5.3 登录账号测试第一次登录时,如图5-2所示的小程序申请账号截图,本项目平台将使用微信提供的官方登录功能,向用户申请是否允许获取用户的个人信息,从而绑定用户的微信账户,获取用户的身份标识。图5-2小程序申请用户账号图当用户选择允许应用程序的申请后,小程序后台可以直接获取用户的个人微信信息。并登入至小程序页面,进入小程序,但不需要注册新账号。5.4 加入宿舍功能测试