可白嫖源码--基于微信小程序的校园助手的设计与实现36117(案例分析)-附源码
摘 要
本文旨在探讨基于微信小程序的校园助手的设计与实现过程。随着移动互联网技术的飞速发展,微信小程序作为一种轻量级的应用形式,以其便捷性和即用即走的特性,深受用户喜爱。针对校园生活中存在的信息不对称、服务不便捷等问题,本文设计并实现了一款基于微信小程序的校园助手,旨在为学生提供一站式校园生活服务平台。
本系统设计与实现基于SpringBoot框架和微信小程序平台,致力于打造一个高效、用户友好的线上微信小程序的校园助手。该系统主要功能包括系统用户、课程表管理、班级名称管理、考试成绩管理、失物招领管理、闲置交换管理、物品类型管理、家校咨询管理、系统管理、学期公告管理、资源管理等,覆盖了学生在校园生活中的多个方面。通过微信小程序,学生可以随时随地获取所需信息,享受便捷的服务,极大地提高了校园生活的效率和便利性。在设计过程中,我们充分考虑了用户体验和系统性能,采用了简洁明了的界面设计和高效的数据处理技术。同时,为了确保系统的安全性和稳定性,我们还对系统进行了严格的测试和优化。我们不仅提高了校园生活的便利性,还为微信小程序在校园服务领域的应用提供了新的思路和方法。
关键词:基于微信小程序的校园助手、SpringBoot框架、微信小程序。
Abstract
This article aims to explore the design and implementation process of a campus assistant based on WeChat Mini Programs. With the rapid development of mobile internet technology, WeChat Mini Programs, as a lightweight application form, have become popular among users due to their convenience and the characteristic of being ready to use and leave. To address the issues of information asymmetry and inconvenient services in campus life, this article designs and implements a campus assistant based on WeChat Mini Programs, aiming to provide students with a one-stop campus life service platform.
The system design and implementation are based on the SpringBoot framework and WeChat Mini Program platform, dedicated to creating an efficient and user-friendly online WeChat Mini Program campus assistant. The main functions of the system include system users, course schedule management, class name management, exam score management, lost and found management, exchange of idle items management, item type management, home-school consultation management, system management, semester announcement management, and resource management, covering various aspects of students\' campus life. Through WeChat Mini Programs, students can access the information they need anytime and anywhere, enjoy convenient services, and greatly improve the efficiency and convenience of campus life. In the design process, we fully considered user experience and system performance, adopting a clear and concise interface design and efficient data processing technology. At the same time, to ensure the security and stability of the system, we also conducted strict testing and optimization. We not only improved the convenience of campus life but also provided new ideas and methods for the application of WeChat Mini Programs in the field of campus services.
Keywords: WeChat Mini Program-based Campus Assistant, SpringBoot framework, WeChat Mini Programs.
目 录
第1章 绪 论
1.1 选题背景和意义
1.2 国内外研究现状
1.3 研究方法
第2章 相关技术介绍
2.1 开发环境与工具
2.2 技术架构
2.2.1 B/S模式
2.2.2 SpringBoot框架
2.2.3 Java 语言
2.2.4 MySQL 数据库
2.2.5 Redis 缓存技术
2.3 微信开发者工具
2.4 小程序框架以及目录结构介绍
第3章 需求分析
3.1 可行性分析
3.1.1 经济可行性分析
3.1.2 操作可行性分析
3.1.3 技术可行性分析
3.2 功能需求分析
3.3 性能需求分析
3.4 系统流程分析
3.4.1 用户注册流程图
3.4.2 用户登录流程图
第4章 系统设计
4.1 系统功能设计
4.1.1 前台功能模块
4.1.2 后台功能模块
4.2 数据库设计
4.2.1 概念模型
4.2.2 物理模型
第5章 系统实现
5.1 系统实现概述
5.2 系统前台学生用户功能模块的实现
5.2.1 课程表模块
5.2.2 校园资讯模块
5.2.3 考试成绩模块
5.2.4 我的模块
5.3 系统家长用户功能模块的实现
5.3.1 留言建议模块
5.3.2 课程表模块
5.3.3 家校咨询模块
5.4 系统后台管理员功能模块的实现
5.4.1 系统用户模块
5.4.2 班级名称管理模块
5.4.3 课程表管理模块
5.4.4 失物招领管理模块
5.4.5 系统管理模块
5.4.6 资源管理模块
5.4.7 闲置交换管理模块
第6章 系统测试
6.1 测试目的
6.2 功能测试
6.3 性能测试
6.4 测试结果
第7章 总结与展望
参考文献
致 谢
- 绪 论
- 选题背景和意义
随着移动互联网技术的飞速发展,智能手机已经成为人们日常生活中不可或缺的一部分。微信作为当前国内最流行的社交软件之一,其小程序功能更是为用户提供了极大的便利[1]。在这样的背景下,开发一款基于微信小程序的校园助手,旨在解决校园生活中遇到的各种问题,提升校园生活的便捷性和舒适度[2]。
校园助手小程序能够整合校园内的各类资源,如留言建议、课程表、考试成绩、家校咨询等,让学生通过一个平台就能轻松获取所需信息[3]。此外,它还可以提供校园导航、失物招领、闲置交换等实用功能,进一步丰富校园生活体验[4]。从意义上看,校园助手小程序不仅能够提高校园生活的效率,还能增强学生对校园文化的认同感和归属感,促进校园信息化建设的发展[5]。
-
- 国内外研究现状
本课题旨在设计和实现基于微信小程序的“校园小助手”,失物招领、闲置交换等功能,为学生提供一站式便捷服务平台。通过数字化手段,优化校园管理和服务流程,提升学生的日常生活便利性和效率。近年来,随着移动互联网和微信小程序的普及,校园生活服务的数字化转型成为研究热点[6]。
在国外,一些发达国家的高校已经将校园助手小程序与学校的信息化建设紧密结合,通过小程序实现校园服务的数字化转型。这些小程序通常具有良好的用户体验设计,功能全面,且与学校的教务系统、图书馆系统等后端服务紧密集成,为用户提供无缝的校园生活体验[8]。
在国内,微信小程序的普及率非常高,校园助手小程序也得到了广泛的应用。国内高校和企业开发的校园助手小程序,不仅功能丰富,而且在推广和使用上更加注重与学生日常生活的紧密结合。例如,一些小程序集成了校园卡功能,学生可以直接通过小程序进行校园内的消费支付,极大地方便了校园生活[7]。
然而,无论是国内还是国外,校园助手小程序在发展过程中也面临着一些挑战。例如,如何保护用户隐私、确保数据安全,如何持续更新功能以满足不断变化的用户需求,以及如何在众多小程序中脱颖而出,吸引更多的用户使用等。这些问题的解决,将直接影响校园助手小程序的未来发展方向和应用前景。
-
- 研究方法
首先,通过引擎搜索或者查阅相关文献资料,了解了本系统开发的背景及意义和国内外研究现状,收集用户需求信息。其次,在开发工具上,最终确定是基于Mysql数据库,在Java的springboot框架设计的基础上实现,设计出系统大致的功能模块。主要从方便系统用户和系统管理员的角度进行分析,明确该系统应该具有的功能。最终是测试系统,通过用例测试发现存在的问题并找到解决的方案。利用现有的开发平台,结合自己所学的知识,在老师的指导帮助下来完成该设计,确保系统的可用性、实用性。
- 相关技术介绍
- 开发环境与工具
学的使用Java语言作为主要开发语言,前端采用Vue.js框架,后端基于SpringBoot框架开发,数据存储采用广泛应用的MySQL数据库,同时结合微信小程序技术,提供便捷的移动端服务。系统所使用的系统开发环境如下表2-1所示。
表2-1系统开发环境
操作系统版本:
Win10
数据库环境:
MySQL5.7
JDK版本:
JDK1.8.0_191
主要技术:
Springboot2、Apache Tomcat8.5、Webpack 4.0、Vue.js、Element UI、Navicat、bootstrap、微信小程序开发工具……
浏览器:
Chrome
(1)MySQL
MySQL是一款广受欢迎的关系数据库管理系统,它能够高效地存储和处理大量的数据。MySQL在Web应用程序中有着卓越的表现,是众多开发者的首选。MySQL遵循SQL语言的标准,这是一种通用的数据库操作语言,简单易学,功能强大。结合Apache服务器,MySQL可以构建出一个优秀的开发环境。
(2)SpringBoot
SpringBoot是一个新颖的框架,由Pivotal团队推出,旨在简化Spring应用的创建和开发过程。SpringBoot通过提供一些默认的配置和约定,避免了开发者重复编写模板化的代码。SpringBoot力求成为快速应用开发领域的领导者,让开发者能够更专注于业务逻辑。
(3)Tomcat
Tomcat是一种免费的服务器,它能够有效地处理大量的网络访问,特别是在访问量较少的情况下。当将Tomcat安装在电脑上时,它能够自动分析前端HTML页面的请求,从而提高网络的性能。事实上,Tomcat是对Apache的一种延伸[7],但它与Apache之间的关系更加紧密,因为它们在不同的进程中运行,而且它们之间也有着自己的独立性。
(4)Vue.js
Vue.js是一个轻量级的、用于构建用户界面的渐进式框架。它与其他大型框架不同,Vue.js采用了自底向上的设计思想,可以逐层地应用到项目中。Vue.js的核心库只关注视图层,易于上手,也便于与第三方库或现有项目集成。另一方面,Vue.js也可以与现代化的工具链和各种支持库结合使用,从而实现复杂的单页应用程序。
-
- 技术架构
本系统是基于SpringBoot、Mysql、Vue的前后端完全分离的后台管理系统。
-
-
- B/S模式
-
B/S模式,即浏览器/服务器模式,是一种常见的网络应用架构模式。在B/S模式中,用户通过浏览器作为客户端与服务器进行交互。在浏览器/服务器(browser / Server Architecture)系统中,用户只需通过浏览器,就能够轻松地向分布在网络各处的众多服务器发送海量的请求。B/S系统大大地简化了客户端的工作,让用户体验更加便捷。
-
-
- SpringBoot框架
-
Spring是一个知名的开源框架,它于2003年诞生于Rod Johnson的《Expert One-on-One Java EE Development and Design》一书中。Spring的初衷是为了解决企业级应用开发的复杂性,它让简单的JavaBean也能够实现原本只有EJB才能做到的功能。Spring不仅适用于服务器端的开发,它还能够为任何Java应用程序带来简洁、可测试和低耦合的优势。尽管Spring的组件代码很轻量级,但是它的配置却很繁琐。最初,Spring是使用XML配置的,但是随着项目的增长,XML配置也变得越来越多。
为了改进和优化Spring的缺点,SpringBoot框架应运而生,它基于约定优于配置的理念,让开发者无需编写大量的配置文件,只需遵循一些简单的规则即可。SpringBoot使开发者能够专注于业务逻辑的编码,而不用在配置和业务之间切换思维,这在很大程度上提高了开发效率,缩短了项目开发周期。
-
-
- Java 语言
-
Java语言是一种广泛应用于企业级开发的编程语言,它具有跨平台、面向对象、泛型编程等特点。Java语言以其强大的内存管理和异常处理机制,确保了应用程序的稳定性和安全性。在开发学时,Java语言能够提供良好的性能和可扩展性,满足系统对于数据处理和业务逻辑复杂性的需求。此外,Java语言的广泛社区和丰富的第三方库也为开发过程提供了强大的支持。
-
-
- MySQL 数据库
-
MySQL数据库是一个开源的关系型数据库管理系统,它使用SQL语言进行数据操作。MySQL数据库具有高性能、可靠性和易用性等特点,能够满足系统对于数据存储和查询的需求。在学时管理系统中,MySQL数据库用于存储用户信息、学时记录、课程信息等核心数据,确保了数据的完整性和一致性。同时,MySQL数据库还支持多种存储引擎,可以根据不同的应用场景选择合适的存储引擎,进一步提高系统的性能和可靠性。
-
-
- Redis 缓存技术
-
Redis是一种高性能的、开源的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis支持多种类型的数据结构,如字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)与范围查询、bitmaps、hyperloglogs和地理空间(geospatial)索引半径查询。Redis内置了复制(replication)、LUA脚本(Lua scripting)、LRU驱动事件(LRU eviction)、事务(transactions)和不同级别的磁盘持久化(persistence),并通过Redis Sentinel和自动分区(Cluster)提供高可用性(high availability)。在构建学时,Redis可以用作缓存,提高数据访问速度,减轻数据库的负担,从而提升系统的整体性能。
-
- 微信开发者工具
微信开发者工具是一款专为小程序开发而设计的应用,它不断改进,提供了便捷的操作方式,并且在开发过程中可以通过微信扫描二维码来访问,从而实现快速、准确的小程序开发和调试。
根据用户的需求,我们将采用不同的屏幕大小来制作小程序。
在完成了视图布置之后,可以通过执行编辑功能,快速更改当前的视图界面。
控制台:方便调试打印输出信息。
将代码上传至腾讯服务器,并在审核过程中填写版本号和备注信息,以确保代码的安全性和准确性。
通过查看资源文件,我们可以快速地调整相关项目的文件目录,从而实现断点调试。
使用远程调试技术,无论是在手机端还是PC端,都能够轻松地进行开发工作。
本地数据存储:显示的是本地存储的数据。
通过使用子父层级结构,我们可以更容易地进行视图调试。
微信的代码体积应该保持在2M 以内,而且在开发过程中,应该严格检查合法域名信息,并且为小程序的后台配置服务器域名。
微信开发者工具已经成为了开发过程中不可或缺的一部分,并且正在不断地改进和完善。
-
- 小程序框架以及目录结构介绍
这款微信小程序的设计旨在帮助用户快速、便捷地创建出一款拥有完全独特色的应用。它由一套完善的框架结构,将用户界面、操作界面、功能界面等多种功能完美结合,使用户只需要一点点的操作,就能轻松实现微信小程序的创建。框架的核心功能是一个快速的数据绑定机制,它能够轻松地将用户的信息和界面进行一致性的管理。它不仅支持对用户信息的实时监控,还能够根据用户的需求,实现对界面的快速调整和优化,从而使用户能够轻松地构建强大的微信小程序。
- 需求分析
- 可行性分析
通过综合考虑经济、操作、技术等因素,可以对基于微信小程序的基于微信小程序的校园助手的的可行性进行全面评估。这将有助于确定项目的成功概率,并为项目规划提供坚实的基础。
-
-
- 经济可行性分析
-
经济可行性在此仅代表平台的运维成本,开发成本不在此考虑。
目前该模式下的相关系统的数量日益增多,信息管理系统的平民化、普及化使用户人数呈上升趋势,当用户人数庞大了,运维成本可以由广告费进行填补,包括开发成本。
所以经济可行性没有问题。
-
-
- 操作可行性分析
-
此次项目设计参考了几个该模式下系统的开发案例,对他们的操作界面分析,将众多案例结合在一起,突出以人为本简化操作,所以具有基本计算机知识的人都会操作本项目。
因此操作可行性也没有问题。
-
-
- 技术可行性分析
-
技术可行性指的是对于搭建框架的可行性,以及有更优秀的技术出现时系统的技术更新换代的纳新性如何,开发时间成本费用比如何。
现有的JAVA语言能够迎合所有系统的搭建。小程序是一种流行的移动应用开发平台,提供了便捷的开发和部署支持。开发这个基于微信小程序的校园助手的时候我采用了JAVA+SpringBoot+Vue 用以运行整体程序。
综上所述技术可行性也没有问题。
-
- 功能需求分析
通过对应的功能做了需求分析以后该基于微信小程序的校园助手的各角色根据使用该系统可以划分为学生用户、家长用户和管理员,具体如下所示。
学生用户角色:
1. 首页:这是学生进入系统后的首要界面。首页展示了一些重要的信息板块,如校园公告的简短预览,方便学生快速获取学校的最新通知,如活动安排、课程调整等。同时,还会有热门校园资讯推荐,这些资讯涵盖学术讲座、社团活动、校园文化等多方面内容,让学生能够第一时间了解校园动态。
2. 校园资讯: 此板块专门为学生提供了全面的校园资讯服务。学生可以在这里查看各类校园新闻,包括学校的学术动态,也能浏览到校园生活的资讯,资讯分类清晰,方便学生根据自己的兴趣和需求进行查看。
3. 我的: 作为学生个性化信息的集中展示与管理区域。“我的”板块里包含了学生的学习相关信息,例如留言建议、失物招领、闲置交换、已选课程的列表,还有个人的成绩查询入口,学生能够及时了解自己在各门课程上的学习成果。此外,也可能包含个人设置选项,如账号信息修改、密码重置等,为学生提供便捷的个性化管理功能。
4. 关于我们 : 在这个板块里,详细介绍了学校的基本概况,包括学校的历史沿革、办学理念、校训等内容。这有助于学生深入了解自己就读的学校,增强对学校的认同感和归属感。同时,也可能展示学校的组织架构和各部门职能,方便学生在有需求时能准确找到对应的部门进行咨询和沟通。
5. 网站公告:学生可以在此获取学校各类重要信息的重要窗口。快速查看学校发布的最新公告,例如学校的重大活动通知,还能及时了解到学校的政策调整,确保学生第一时间知晓学校的重要动态。
6. 留言建议 : 这是为学生提供了一个表达想法、反馈问题的渠道。学生可以针对校园的任何方面,如教学质量、校园设施、生活服务等提出自己的意见和建议。学校相关部门可以及时查看并根据这些反馈进行处理改进,促进学校管理和服务水平的不断提升。
7.课程表:课程表功能为学生提供了清晰的课程学习安排指引。学生可以在此查看自己当周或当学期的课程安排,了解每天上午、下午以及晚上的具体课程内容,记录该课程的特殊要求或自己的学习计划,帮助学生更好地规划自己的学习生活。
8.考试成绩:考试成绩功能是学生关注自身学习成果的重要窗口。学生能够查看自己在学校组织的各类考试中的成绩,帮助学生直观地了解自己学习成绩的变化趋势,从而有针对性地调整学习策略,提高学习成绩。
9.失物招领:失物招领功能方便学生在生活中找回遗失的物品。详细描述物品的特征、遗失或拾取的地点和时间等内容。学生可以通过搜索失物信息或者关注板块的最新消息,查看是否有自己丢失物品的相关记录,如果找到自己的物品,还能与拾到者联系沟通,领取失物。
10.闲置交换:闲置交换功能为学生提供了一个资源再利用的平台。学生可以将自己闲置但仍然有使用价值的物品,如旧书籍、文具、生活用品等发布到这个板块,并填写物品的详细信息、交换意愿以及联系方式等。其他有需求的同学可以发布自己想要的物品信息。当双方协商一致后,就可以进行物品交换,既可以减少资源浪费,又能满足彼此的需求。
基于微信小程序的校园助手的学生用户角色用例图如下3.1所示。
图 3-1学生用户角色用例图
家长用户角色:
1. 首页: 首页是家长进入系统后的核心界面,它整合了关键信息以方便家长快速了解学生的整体情况。家长在此能够查看学校的重要通知,这些通知涵盖学校的各项安排,如放假时间、重要活动等。同时,还会展示学生的一些基本信息摘要,例如学生在学校的考勤状态,让家长第一时间掌握孩子的出勤情况。
2. 校园资讯: 该板块为家长提供了丰富的校园信息。家长可以查看学校的教育教学动态,还会发布校园文化活动资讯,如运动会、文艺汇演等,让家长知晓孩子在校园中丰富多彩的活动。同时,也会有一些校园安全的温馨提示和信息发布,使家长对校园安全情况有所了解。
3. 我的 : 这是家长个性化的功能区域。在这里,家长可以设置和查看自己与修改相关的个人信息和留言建议。
4. 留言建议: 此功能板块允许家长与学校进行有效的沟通交流。家长可以就孩子在学校的学习、生活等方面提出自己的疑问、建议或者反馈遇到的问题。学校管理人员会及时查看并回复家长的留言,共同促进孩子在良好的环境中成长。
5. 课程表 : 家长可以通过课程表了解孩子一周或一学期的课程安排。这里详细列出了孩子每天的课程内容、上课时间、任课教师等信息,让家长对孩子的学习任务有清晰的了解。同时,课程表还可能提供一些辅助信息,如课程的重点内容提示、考试安排等,帮助家长合理规划孩子的学习时间。
6. 考试成绩: 该板块是家长关注孩子学业成果的重要窗口。家长能够查看孩子在不同阶段的考试成绩,家长可以根据这些内容了解孩子的学习优势和不足,与老师共同探讨帮助孩子提高学习成绩的方法。
7. 家校咨询 : 这一功能为家长提供了与学校老师进行一对一沟通的渠道。家长可以就孩子在学习、生活中遇到的具体问题向相关老师咨询,老师会及时通过线上或线下的方式给予家长专业的建议和指导,形成家校共育的良好氛围,助力孩子的健康成长。
8. 网站公告:此板块是家长获取学校各类重要信息的重要窗口。家长可以在这里快速查看学校发布的最新公告,例如学校的重大活动通知,还能及时了解到学校的政策调整,确保家长第一时间知晓学校的重要动态。
9.关于我们: “关于我们”板块为家长提供了深入了解学校的多维度信息。一方面,家长可以查看学校的详细介绍,了解学校的教育风格和发展方向;另一方面,还会呈现学校的师资力量介绍,包括教师的专业背景、教学经验等信息,让家长对孩子在学校接受教育的教学质量放心;此外,该板块可能还会展示学校的硬件设施,使家长对孩子的生活学习环境有一定直观的感受。
基于微信小程序的校园助手的家长用户角色用例图如下3.2所示。
图 3-2家长用户角色用例图
管理员角色:
1. 后台首页:后台首页是管理员进入系统后首先看到的界面,管理员可以在此快速获取学生、家长等用户的注册和登录活跃情况,还会显示系统的重要提示和待办事项,方便管理员及时了解系统的整体运行状况。
2. 系统管理:管理员可对系统的用户权限的精细化设置,根据不同角色(如管理员、学生、家长等)分配相应的操作权限,确保系统的安全和数据的保密性;还能对系统的各项参数添加、删除、重置进行调整。
3. 课程表管理:课程表管理是管理员进行教学安排的重要工具。能根据教学需求对课程表进行添加、删除、重置,如临时变动老师的授课安排、调整课程的时间等,确保教学活动的顺利进行。
4. 班级名称管理:允许管理员对班级名称进行统一管理和维护。可以对现有的班级名称进行新增、修改和删除操作;能够批量设置或更新班级的班名、班号等信息;还能与学生信息进行关联,确保学生的班级分配准确无误。
5.考试成绩管理:板块为管理员提供了全面、高效的考试数据处理能力。管理员可以导入、导出学生的考试成绩,方便进行成绩的统计和分析;能够根据不同的考试科目、年级、班级等维度对成绩进行查询筛选,并生成各类成绩报表,如班级成绩排名、学生个人成绩分析等,为教学质量的评估提供数据支持。
6.失物招领管理:失物招领管理让管理员能够方便地管理学生在校园内的失物信息。可以查看学生提交的失物详细情况,如丢失地点、物品特征等,并及时发布相关信息,帮助失主找回失物;同时,对失物进行分类管理和搜索查询,提高失物处理的效率。
7.闲置交换管理:闲置交换管理功能使管理员能够对学生在校园内交换闲置物品的信息进行有效管控,审核物品交换的合理性,确保交换公平、安全;能够对闲置物品信息进行展示和查询,促进校园内物品的合理利用,减少资源浪费。
8.物品类型管理:功能为管理员提供了对物品类型的定义和管理能力。管理员可以根据学校的实际需求,方便对不同类型物品进行统一管理;还能对物品类型的属性进行编辑和删除操作,确保物品类型信息的准确性和完整性。
9.家校咨询管理板:管理员处理家校沟通的重要平台。管理员可以查看学生家长和学生与教师之间的咨询信息和留言建议,及时进行沟通回复;能够对咨询信息进行分类管理和统计分析,了解家校关注的焦点问题;还能通过该功能引导和规范家长与教师之间的沟通交流,维护良好的家校关系。
10.学期公告管理:功能使管理员能够对不同学期的公告进行有效发布和管理。管理员可以根据学期计划,制定并发布学期开始的各项通知,还能对往期的公告进行查询和编辑,确保公告信息的及时、有效传播。
11.系统管理:管理员可对系统中的轮播图进行删除、重置、添加维护。
12.资源管理:功能为管理员提供了对系统中校园资讯、资讯分类进行高效管理和整合的工具。管理员能够对学校的各类教育资源进行分类管理,如图片、文档、视频等教学资料的上传、编辑、删除等操作;可以根据不同的学科、年级或教学阶段对资源进行筛选和查询,方便在教学中快速定位和使用所需资源;同时,还能设置资源的访问权限,确保资源的安全性和合法性,保障用户能够合法、合规地使用系统资源。
基于微信小程序的校园助手的管理员角色用例图如下3.3所示。
图 3-3管理员角色用例图
-
- 性能需求分析
系统稳定性:平台应具备一定的容错能力和稳定性,防止因为意外情况导致系统崩溃。
数据安全:用户个人信息、压力数据记录等敏感数据需要加密存储,确保数据安全性。
系统并发能力:平台应考虑到可能大量用户同时访问的情况,保证系统的并发处理能力。
日志记录:系统需要记录用户操作日志、异常日志等,便于排查问题和分析用户行为。
基于以上性能需求将确保基于微信小程序的校园助手的能够稳定、高效地运行,能够很好地满足用户和管理员的需求。
-
- 系统流程分析
- 用户注册流程图
- 系统流程分析
注册的过程,第一部分是账号的注册,第二部分是信息完善。在业务开展过程中,管理员可对用户信息进行修改等管理操作,注册流程如图3-4用户注册流程图所示。
图 3-4用户注册流程图
-
-
- 用户登录流程图
-
登录时,用户填写用户名、密码、选择身份进行登录,在登录过程中后端会对发送过来的信息进行验证和判断,具体的登录流程如图3-5用户登录流程图所示。
图 3-5用户登录流程图
- 系统设计
- 系统功能设计
- 前台功能模块
- 系统功能设计
基于微信小程序的校园助手采用前后端分离的设计,游客可以浏览系统前台信息,平台为用户提供了全面的校园助手信息支持与资源,分为学生用户、家长用户和管理员权限。对于学生用户而言,首页提供了一个概览式的入口,能够便捷地访问校园资讯、我的、网站公告、关于我们、留言建议、课程表、考试成绩、失物招领、闲置交换等。
针对家长用户,平台同样提供了校园资讯、我的、网站公告、关于我们、留言建议、课程表、考试成绩、家校咨询的功能,也能在平台上查看通知公告了解最新的校园资讯,并且可以在“我的”部分管理自己的留言建议。系统前台功能模块图如下图所示。
图 4-1系统前台功能模块图
-
-
- 后台功能模块
-
后台功能管理员平台整合了后台首页、系统用户、课程表管理、班级名称管理、考试成绩管理、失物招领管理、闲置交换管理、物品类型管理、家校咨询管理、系统管理、学期公告管理、资源管理等多项功能,旨在提供一个全面且高效的后台管理系统,确保基于微信小程序的校园助手的顺畅运作和用户体验的持续优化。系统后台功能模块图如下图所示。
图 4-2系统后台功能模块图
-
- 数据库设计
数据库的设计是系统的设计中比较重要的一部分内容,数据库设计是一切系统设计的基础,首先需要进行概念模型E-R图的设计,然后进行关系模型物理模型的建立。
-
-
- 概念模型
-
本文在系统分析阶段就抽取了一些实体,根据实体之间的关系,经过分析进行系统E-R图的设计。基于微信小程序的校园助手的实现与设计总体E-R图如下图所示。
图 4-3系统总体E-R图
-
-
- 物理模型
-
本系统采MySQL数据库管理系统对数据进行管理。下面是对各个表中的表中各个字段数据类型、大小等做简短描述。基于微信小程序的校园助手的实现与设计所需要的部分数据结构表如下表所示。
表access_token (登陆访问时长)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
token_id
int
10
0
N
Y
临时访问牌ID
2
token
varchar
64
0
Y
N
临时访问牌
3
info
text
65535
0
Y
N
4
maxage
int
10
0
N
N
2
最大寿命:默认2小时
5
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
6
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
7
user_id
int
10
0
N
N
0
用户编号:
表article (文章:用于内容管理系统的文章)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
article_id
mediumint
8
0
N
Y
文章id:[0,8388607]
2
title
varchar
125
0
N
Y
标题:[0,125]用于文章和html的title标签中
3
type
varchar
64
0
N
N
0
文章分类:[0,1000]用来搜索指定类型的文章
4
hits
int
10
0
N
N
0
点击数:[0,1000000000]访问这篇文章的人次
5
praise_len
int
10
0
N
N
0
点赞数
6
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
7
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
8
source
varchar
255
0
Y
N
来源:[0,255]文章的出处
9
url
varchar
255
0
Y
N
来源地址:[0,255]用于跳转到发布该文章的网站
10
tag
varchar
255
0
Y
N
标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开
11
content
longtext
2147483647
0
Y
N
正文:文章的主体内容
12
img
varchar
255
0
Y
N
封面图
13
description
text
65535
0
Y
N
文章描述
表article_type (文章分类)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
type_id
smallint
5
0
N
Y
分类ID:[0,10000]
2
display
smallint
5
0
N
N
100
显示顺序:[0,1000]决定分类显示的先后顺序
3
name
varchar
16
0
N
N
分类名称:[2,16]
4
father_id
smallint
5
0
N
N
0
上级分类ID:[0,32767]
5
description
varchar
255
0
Y
N
描述:[0,255]描述该分类的作用
6
icon
text
65535
0
Y
N
分类图标:
7
url
varchar
255
0
Y
N
外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置
8
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
9
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
表auth (用户权限管理)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
auth_id
int
10
0
N
Y
授权ID:
2
user_group
varchar
64
0
Y
N
用户组:
3
mod_name
varchar
64
0
Y
N
模块名:
4
table_name
varchar
64
0
Y
N
表名:
5
page_title
varchar
255
0
Y
N
页面标题:
6
path
varchar
255
0
Y
N
路由路径:
7
parent
varchar
64
0
Y
N
父级菜单
8
parent_sort
int
10
0
N
N
0
父级菜单排序
9
position
varchar
32
0
Y
N
位置:
10
mode
varchar
32
0
N
N
_blank
跳转方式:
11
add
tinyint
3
0
N
N
1
是否可增加:
12
del
tinyint
3
0
N
N
1
是否可删除:
13
set
tinyint
3
0
N
N
1
是否可修改:
14
get
tinyint
3
0
N
N
1
是否可查看:
15
field_add
text
65535
0
Y
N
添加字段:
16
field_set
text
65535
0
Y
N
修改字段:
17
field_get
text
65535
0
Y
N
查询字段:
18
table_nav_name
varchar
500
0
Y
N
跨表导航名称:
19
table_nav
varchar
500
0
Y
N
跨表导航:
20
option
text
65535
0
Y
N
配置:
21
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
22
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
表class_name (班级名称)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
class_name_id
int
10
0
N
Y
班级名称ID
2
class_name
varchar
64
0
Y
N
班级名称
3
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
4
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表class_schedule_card (课程表)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
class_schedule_card_id
int
10
0
N
Y
课程表ID
2
course_number
varchar
64
0
N
N
课程编号
3
course_name
varchar
64
0
Y
N
课程名称
4
cover_image
varchar
255
0
Y
N
封面图
5
class_name
varchar
64
0
Y
N
班级名称
6
course_duration
varchar
64
0
Y
N
课程时间
7
course_location
varchar
64
0
Y
N
课程地点
8
course_introduction
longtext
2147483647
0
Y
N
课程介绍
9
hits
int
10
0
N
N
0
点击数
10
collect_len
int
10
0
N
N
0
收藏数
11
comment_len
int
10
0
N
N
0
评论数
12
timer_title
varchar
64
0
Y
N
计时器标题
13
timing_start_time
datetime
19
0
Y
N
计时开始时间
14
timing_end_time
datetime
19
0
Y
N
计时结束时间
15
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
16
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表code_token
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
code_token_id
int
10
0
N
Y
2
token
varchar
255
0
Y
N
3
code
varchar
255
0
Y
N
验证码
4
expire_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
失效时间
5
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间
6
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
表collect (收藏)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
collect_id
int
10
0
N
Y
收藏ID:
2
user_id
int
10
0
N
N
0
收藏人ID:
3
source_table
varchar
255
0
Y
N
来源表:
4
source_field
varchar
255
0
Y
N
来源字段:
5
source_id
int
10
0
N
N
0
来源ID:
6
title
varchar
255
0
Y
N
标题:
7
img
varchar
255
0
Y
N
封面:
8
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
9
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
表comment (评论)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
comment_id
int
10
0
N
Y
评论ID:
2
user_id
int
10
0
N
N
0
评论人ID:
3
reply_to_id
int
10
0
N
N
0
回复评论ID:空为0
4
content
longtext
2147483647
0
Y
N
内容:
5
nickname
varchar
255
0
Y
N
昵称:
6
avatar
varchar
255
0
Y
N
头像地址:[0,255]
7
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
8
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
9
source_table
varchar
255
0
Y
N
来源表:
10
source_field
varchar
255
0
Y
N
来源字段:
11
source_id
int
10
0
N
N
0
来源ID:
表exam_results (考试成绩)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
exam_results_id
int
10
0
N
Y
考试成绩ID
2
student_id
varchar
64
0
Y
N
学生学号
3
student_name
varchar
64
0
Y
N
学生姓名
4
exam_subjects
varchar
64
0
Y
N
考试科目
5
class_name
varchar
64
0
Y
N
班级名称
6
score_score
double
9
2
Y
N
0.00
成绩分数
7
score_evaluation
longtext
2147483647
0
Y
N
成绩评语
8
hits
int
10
0
N
N
0
点击数
9
comment_len
int
10
0
N
N
0
评论数
10
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
11
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表hits (用户点击)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
hits_id
int
10
0
N
Y
点赞ID:
2
user_id
int
10
0
N
N
0
点赞人:
3
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
4
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
5
source_table
varchar
255
0
Y
N
来源表:
6
source_field
varchar
255
0
Y
N
来源字段:
7
source_id
int
10
0
N
N
0
来源ID:
表home_school_consultation (家校咨询)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
home_school_consultation_id
int
10
0
N
Y
家校咨询ID
2
contacts
varchar
64
0
Y
N
联系人
3
identity_type
varchar
64
0
Y
N
身份类型
4
contact_number
varchar
16
0
Y
N
联系号码
5
home_address
varchar
64
0
Y
N
家庭住址
6
responsible_for_the_class
varchar
64
0
Y
N
负责班级
7
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
8
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表idle_exchange (闲置交换)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
idle_exchange_id
int
10
0
N
Y
闲置交换ID
2
item_name
varchar
64
0
N
N
物品名称
3
item_images
varchar
255
0
N
N
物品图片
4
type_of_item
varchar
64
0
N
N
物品类型
5
item_specifications
varchar
64
0
N
N
物品规格
6
detailed_introduction
text
65535
0
Y
N
详细介绍
7
publisher
int
10
0
Y
N
0
发布人
8
student_id
varchar
64
0
Y
N
学生学号
9
student_name
varchar
64
0
Y
N
学生姓名
10
phone_number
varchar
16
0
Y
N
手机号码
11
hits
int
10
0
N
N
0
点击数
12
collect_len
int
10
0
N
N
0
收藏数
13
comment_len
int
10
0
N
N
0
评论数
14
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
15
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表lost_and_found (失物招领)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
lost_and_found_id
int
10
0
N
Y
失物招领ID
2
item_name
varchar
64
0
Y
N
物品名称
3
item_images
varchar
255
0
Y
N
物品图片
4
type_of_item
varchar
64
0
Y
N
物品类型
5
pick_address
varchar
64
0
Y
N
拾取地址
6
situation_description
text
65535
0
Y
N
情况说明
7
publisher
int
10
0
Y
N
0
发布人
8
student_id
varchar
64
0
Y
N
学生学号
9
student_name
varchar
64
0
Y
N
学生姓名
10
phone_number
varchar
16
0
Y
N
手机号码
11
hits
int
10
0
N
N
0
点击数
12
collect_len
int
10
0
N
N
0
收藏数
13
comment_len
int
10
0
N
N
0
评论数
14
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
15
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表message (留言板)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
message_id
int
10
0
N
Y
留言板ID:
2
user_id
int
10
0
N
N
0
用户ID:
3
title
varchar
64
0
Y
N
标题:
4
content
longtext
2147483647
0
N
N
内容:
5
nickname
varchar
32
0
N
N
昵称:
6
avatar
varchar
255
0
Y
N
头像:
7
varchar
125
0
Y
N
留言者邮箱
8
phone
varchar
11
0
Y
N
留言者手机号码
9
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
10
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
11
reply
longtext
2147483647
0
Y
N
回复
12
reply_state
tinyint
4
0
Y
N
0
回复状态
表notice (公告)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
notice_id
mediumint
8
0
N
Y
公告id:
2
title
varchar
125
0
N
N
标题:
3
content
longtext
2147483647
0
Y
N
正文:
4
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
5
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
表parent_users (家长用户)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
parent_users_id
int
10
0
N
Y
家长用户ID
2
parents_name
varchar
64
0
Y
N
家长姓名
3
name_of_child
varchar
64
0
Y
N
子女姓名
4
examine_state
varchar
16
0
N
N
已通过
审核状态
5
user_id
int
10
0
N
N
0
用户ID
6
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
7
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表praise (点赞)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
praise_id
int
10
0
N
Y
点赞ID:
2
user_id
int
10
0
N
N
0
点赞人:
3
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
4
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
5
source_table
varchar
255
0
Y
N
来源表:
6
source_field
varchar
255
0
Y
N
来源字段:
7
source_id
int
10
0
N
N
0
来源ID:
8
status
bit
1
0
N
N
1
点赞状态:1为点赞,0已取消
表schedule (日程管理)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
schedule_id
smallint
5
0
N
Y
日程ID:[0,32767]
2
content
varchar
255
0
Y
N
日程内容
3
scheduled_time
datetime
19
0
Y
N
计划时间
4
user_id
int
10
0
N
N
用户id
5
create_time
datetime
19
0
Y
N
创建时间
6
update_time
datetime
19
0
Y
N
更新时间
表score (评分)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
score_id
int
10
0
N
Y
评分ID:
2
user_id
int
10
0
N
N
0
评分人:
3
nickname
varchar
64
0
Y
N
昵称:
4
score_num
double
5
2
N
N
0.00
评分:
5
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
6
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
7
source_table
varchar
255
0
Y
N
来源表:
8
source_field
varchar
255
0
Y
N
来源字段:
9
source_id
int
10
0
N
N
0
来源ID:
表slides (轮播图)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
slides_id
int
10
0
N
Y
轮播图ID:
2
title
varchar
64
0
Y
N
标题:
3
content
varchar
255
0
Y
N
内容:
4
url
varchar
255
0
Y
N
链接:
5
img
varchar
255
0
Y
N
轮播图:
6
hits
int
10
0
N
N
0
点击量:
7
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
8
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
表student_users (学生用户)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
student_users_id
int
10
0
N
Y
学生用户ID
2
student_id
varchar
64
0
N
N
学生学号
3
student_name
varchar
64
0
N
N
学生姓名
4
phone_number
varchar
16
0
Y
N
手机号码
5
class_name
varchar
64
0
Y
N
班级名称
6
examine_state
varchar
16
0
N
N
已通过
审核状态
7
user_id
int
10
0
N
N
0
用户ID
8
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
9
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表type_of_item (物品类型)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
type_of_item_id
int
10
0
N
Y
物品类型ID
2
type_of_item
varchar
64
0
Y
N
物品类型
3
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
4
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表upload (文件上传)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
upload_id
int
10
0
N
Y
上传ID
2
name
varchar
64
0
Y
N
文件名
3
path
varchar
255
0
Y
N
访问路径
4
file
varchar
255
0
Y
N
文件路径
5
display
varchar
255
0
Y
N
显示顺序
6
father_id
int
10
0
Y
N
0
父级ID
7
dir
varchar
255
0
Y
N
文件夹
8
type
varchar
32
0
Y
N
文件类型
表user (用户账户:用于保存用户登录信息)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
user_id
int
10
0
N
Y
用户ID:[0,8388607]用户获取其他与用户相关的数据
2
state
smallint
5
0
N
N
1
账户状态:[0,10](1可用|2异常|3已冻结|4已注销)
3
user_group
varchar
32
0
Y
N
所在用户组:[0,32767]决定用户身份和权限
4
login_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
上次登录时间:
5
phone
varchar
11
0
Y
N
手机号码:[0,11]用户的手机号码,用于找回密码时或登录时
6
phone_state
smallint
5
0
N
N
0
手机认证:[0,1](0未认证|1审核中|2已认证)
7
username
varchar
16
0
N
N
用户名:[0,16]用户登录时所用的账户名称
8
nickname
varchar
16
0
Y
N
昵称:[0,16]
9
password
varchar
64
0
N
N
密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成
10
varchar
64
0
Y
N
邮箱:[0,64]用户的邮箱,用于找回密码时或登录时
11
email_state
smallint
5
0
N
N
0
邮箱认证:[0,1](0未认证|1审核中|2已认证)
12
avatar
varchar
255
0
Y
N
头像地址:[0,255]
13
open_id
varchar
255
0
Y
N
针对获取用户信息字段
14
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
表user_group (用户组:用于用户前端身份和鉴权)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
group_id
mediumint
8
0
N
Y
用户组ID:[0,8388607]
2
display
smallint
5
0
N
N
100
显示顺序:[0,1000]
3
name
varchar
16
0
N
N
名称:[0,16]
4
description
varchar
255
0
Y
N
描述:[0,255]描述该用户组的特点或权限范围
5
source_table
varchar
255
0
Y
N
来源表:
6
source_field
varchar
255
0
Y
N
来源字段:
7
source_id
int
10
0
N
N
0
来源ID:
8
register
smallint
5
0
Y
N
0
注册位置:
9
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
10
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
- 系统实现
- 系统实现概述
在系统实现阶段,我们首先根据需求分析的结果,设计了系统的整体架构和各个模块的功能。系统采用了前后端分离的设计模式,前端使用Vue.js框架进行开发,负责与用户进行交互;后端使用SpringBoot框架,负责业务逻辑的处理和数据的存储。
在数据库设计方面,我们根据上文中的数据库表结构,创建了相应的数据库和表,并建立了表之间的关系。同时,为了优化数据库性能,我们还对数据库进行了索引和分区等优化操作。
前端页面设计方面,我们根据用户需求和系统设计,设计了简洁明了的页面布局和操作流程。前台登录界面布局如下图:
图 5-1前台登录UI界面
登录关键代码如下:
/**
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping(\"login\")
public Map login(@RequestBody Map data, HttpServletRequest httpServletRequest) {
log.info(\"[执行登录接口]\");
String username = data.get(\"username\");
String email = data.get(\"email\");
String phone = data.get(\"phone\");
String password = data.get(\"password\");
List resultList = null;
Map map = new HashMap();
if(username != null && \"\".equals(username) == false){
map.put(\"username\", username);
resultList = service.selectBaseList(service.select(map, new HashMap()));
}
else if(email != null && \"\".equals(email) == false){
map.put(\"email\", email);
resultList = service.selectBaseList(service.select(map, new HashMap()));
}
else if(phone != null && \"\".equals(phone) == false){
map.put(\"phone\", phone);
resultList = service.selectBaseList(service.select(map, new HashMap()));
}else{
return error(30000, \"账号或密码不能为空\");
}
if (resultList == null || password == null) {
return error(30000, \"账号或密码不能为空\");
}
前台注册界面布局如下图:
图 5-2前台注册UI界面
注册关键代码如下:
/**
* 注册
* @param user
* @return
*/
@PostMapping(\"register\")
public Map signUp(@RequestBody User user) {
// 查询用户
Map query = new HashMap();
Map map = JSON.parseObject(JSON.toJSONString(user));
query.put(\"username\",user.getUsername());
List list = service.selectBaseList(service.select(query, new HashMap()));
if (list.size()>0){
return error(30000, \"用户已存在\");
}
map.put(\"password\",service.encryption(String.valueOf(map.get(\"password\"))));
service.insert(map);
return success(1);
}
前台首页模块是系统的主入口,为用户提供导航和重要信息展示。通过清晰的界面布局和内容展示,为用户提供良好的导航菜单、轮播图、推荐内容、公告通知和信息浏览体验,引导用户进行登录、注册及系统内相关操作。
前台首页界面布局如下图:
图 5-3前台首页UI界面
-
- 系统前台学生用户功能模块的实现
- 课程表模块
- 系统前台学生用户功能模块的实现
课程表模块是为学生提供了清晰的课程学习安排指引。学生可以在此查看自己当周或当学期的课程安排,了解每天上午、下午以及晚上的具体课程内容,记录该课程的特殊要求或自己的学习计划,帮助学生更好地规划自己的学习生活。课程表界面布局如下图:
图 5-4课程表详情页UI界面
-
-
- 校园资讯模块
-
校园资讯模块是为学生提供了全面的校园资讯服务。学生可以在这里查看各类校园新闻、校园生活的资讯,资讯分类清晰,方便学生根据自己的兴趣和需求进行查看。校园资讯详情界面布局如下图:
图 5-5校园资讯详情UI界面
-
-
- 考试成绩模块
-
考试成绩模块是学生关注自身学习成果的重要窗口。学生能够查看自己在学校组织的各类考试中的成绩,了解自己在各科目中的优势与不足。帮助学生直观地了解自己学习成绩的变化趋势,从而有针对性地调整学习策略,提高学习成绩。考试成绩界面布局如下图:
图 5-6我的:考试成绩UI界面
-
-
- 我的模块
-
我的模块作为学生个性化信息的集中展示与管理区域。“我的”板块里包含了学生的学习相关信息,此外,也可能包含个人设置选项,如账号信息修改、密码重置等,为学生提供便捷的个性化管理功能。我的界面布局如下图:
图 5-7我的UI界面
-
- 系统家长用户功能模块的实现
- 留言建议模块
- 系统家长用户功能模块的实现
留言建议模块是此功能板块允许家长与学校进行有效的沟通交流。家长可以就孩子在学校的学习、生活等方面提出自己的疑问、建议或者反馈遇到的问题。学校管理人员会及时查看并回复家长的留言,共同促进孩子在良好的环境中成长。留言建议界面布局如下图:
图 5-8留言建议UI界面
-
-
- 课程表模块
-
课程表模块是家长可以通过课程表了解孩子一周或一学期的课程安排。让家长对孩子的学习任务有清晰的了解。同时,课程表还可能提供一些辅助信息,帮助家长合理规划孩子的学习时间。课程表界面布局如下图:
图 5-9课程表UI界面
-
-
- 家校咨询模块
-
家校咨询模块是这一功能为家长提供了与学校老师进行一对一沟通的渠道。家长可以就孩子在学习、生活中遇到的具体问题向相关老师咨询,形成家校共育的良好氛围,助力孩子的健康成长。家校咨询界面布局如下图:
图 5-10家校咨询UI界面
-
- 系统后台管理员功能模块的实现
- 系统用户模块
- 系统后台管理员功能模块的实现
系统用户模块是系统后台管理员管理用户信息的关键功能。该模块提供了用户信息的增删改查功能,允许管理员查看所有用户基本信息,如用户名、联系方式、注册时间等。管理员可以通过此模块对用户信息进行必要的修改或删除,以确保用户信息的准确性和安全性。系统用户管理界面布局如下图:
图 5-11系统用户管理UI界面
-
-
- 班级名称管理模块
-
班级名称管理:允许管理员对班级名称进行统一管理和维护。可以对现有的班级名称进行新增、修改和删除操作;能够批量设置或更新班级的班名、班号等信息;还能与学生信息进行关联,确保学生的班级分配准确无误。班级名称管理界面布局如下图:
图 5-12班级名称管理添加UI界面
-
-
- 课程表管理模块
-
课程表管理:课程表管理是管理员进行教学安排的重要工具。能根据教学需求对课程表进行添加、删除、重置,如临时变动老师的授课安排、调整课程的时间等,确保教学活动的顺利进行。课程表管理界面布局如下图:
图 5-13课程表管理UI界面
-
-
- 失物招领管理模块
-
失物招领管理:让管理员能够方便地管理学生在校园内的失物信息。可以查看学生提交的失物详细情况,如丢失地点、物品特征等,并及时发布相关信息,帮助失主找回失物;同时,对失物进行分类管理和搜索查询,提高失物处理的效率。失物招领管理界面布局如下图:
图 5-14失物招领管理UI界面
-
-
- 系统管理模块
-
系统管理:功能涵盖了轮播图的添加、删除和查询操作。具体来说,用户可以通过系统管理界面轻松地上传新的轮播图,以便在网站或应用的显眼位置展示重要信息或活动。系统管理界面布局如下图:
图 5-15系统管理UI界面
-
-
- 资源管理模块
-
资源管理:管理员管理校园资讯内容,包括添加、删除和查询资讯,以及管理资讯分类,确保用户能够获取到最新的校园相关信息。资源管理界面布局如下图:
图 5-16资源管理UI界面
-
-
- 闲置交换管理模块
-
闲置交换管理:闲置交换管理功能使管理员能够对学生在校园内交换闲置物品的信息进行有效管控,审核物品交换的合理性,确保交换公平、安全;能够对闲置物品信息进行展示和查询,促进校园内物品的合理利用,减少资源浪费。闲置交换管理界面布局如下图:
图 5-17闲置交换管理UI界面
- 系统测试
- 测试目的
在对该系统进行完详细设计和编码之后,就要对基于微信小程序的校园助手的实现与设计的程序进行测试,检测程序是否运行无误,反复进行测试和修改,使之最后成为完整的软件,满足用户的需求,实现预期的功能。系统测试的目的在于确保软件正常运作,并实现其应有的功能,促进行中出现的错误和逻辑问题。系统测试不但可以找见程序运行中的系统错误,还可以找见程序运行的需要改进的地方,并去协助改良程序运行使其获得最高幅度的完备。世界一流的安装测试员可以增加软件品质,将软件系统错误概率降至最少。
-
- 功能测试
本系统的主要功能就是用户登录后,可搜索和浏览校园信息,管理员登录系统后台后可对校园信息进行管理,包括增改删查操作。测试设计如下所示:
- 登录模块功能测试
用户登录前首先需注册成为系统用户,使用账号和密码可进行登录。用户登录功能测试用例设计如下表所示:
表6-1 用户登录功功能测试用例
测试编号
测试目的
测试步骤
预期结果
实际结果
是否通过
TC001
验证有效登录
1. 输入正确的用户名和密码
2. 点击登录按钮
显示登录成功,跳转至用户首页
登录成功,跳转至用户首页
通过
TC002
验证空用户名登录
1. 不输入用户名,输入正确密码
2. 点击登录按钮
显示用户名不能为空提示信息
显示用户名不能为空提示信息
通过
TC003
验证空密码登录
1. 输入正确用户名,不输入密码
2. 点击登录按钮
显示密码不能为空提示信息
显示密码不能为空提示信息
通过
TC004
验证错误用户名登录
1. 输入错误的用户名和正确密码
2. 点击登录按钮
显示用户名或密码错误提示信息
显示用户名或密码错误提示信息
通过
TC005
验证错误密码登录
1. 输入正确用户名和错误密码
2. 点击登录按钮
显示用户名或密码错误提示信息
显示用户名或密码错误提示信息
通过
- 校园信息模块功能测试
校园信息模块测试包括校园信息展示功能测试、校园信息添加功能测试、校园信息搜索功能测试、校园信息咨询功能测试。校园信息模块测试用例如表6.2-6.4所示。
校园信息展示功能测试用例设计如下表所示:
表6-2校园信息展示功能测试用例
测试编号
测试目的
测试步骤
预期结果
实际结果
是否通过
TC001
验证正常展示校园信息
1. 进入校园信息展示页面
2. 浏览展示的校园信息内容
能够正常显示校园信息内容
校园信息内容正常显示
通过
TC002
验证校园信息链接跳转
1. 进入校园信息展示页面
2. 点击校园信息链接
能够跳转至相应校园信息详情页面
成功跳转至校园信息详情页面
通过
TC003
验证搜索功能
1. 进入校园信息展示页面
2. 使用搜索功能搜索校园信息
显示符合搜索条件的校园信息列表
显示符合搜索条件的校园信息列表
通过
TC004
验证物品分类展示
1. 进入校园信息展示页面
2. 选择物品分类
显示该分类下的校园信息列表
成功显示该分类下的校园信息列表
通过
TC005
验证校园信息的评论功能
1. 进入校园信息详情展示页面
2. 查看校园信息并发表评论
评论成功显示在校园信息页面
评论成功显示在校园信息页面
通过
TC006
验证校园信息咨询页面跳转
1. 进入校园信息详情展示页面
2. 点击校园信息咨询按钮
能够跳转至相应校园信息咨询页面
成功跳转至校园信息咨询页面
通过
TC007
验证校园信息下单页面跳转
1. 进入校园信息详情展示页面
2. 点击校园信息下单按钮
能够跳转至相应校园信息下单页面
成功跳转至校园信息下单页面
通过
校园信息添加功能测试用例设计如下表所示:
表6-3 校园信息添加功能测试用例
测试编号
测试目的
测试步骤
预期结果
实际结果
是否通过
TC001
验证添加校园信息
1. 进入校园信息添加界面
2. 输入校园信息信息
3. 点击添加按钮
校园信息成功添加到系统页面中
校园信息成功添加到系统页面中
通过
TC002
验证校园信息分类选择
1. 进入校园信息添加界面
2. 选择分类
3. 输入校园信息信息
4. 提交校园信息信息
根据选择的校园信息分类成功添加校园信息
根据选择的校园信息类型成功添加校园信息
通过
TC003
验证校园信息内容输入
1. 进入校园信息添加界面
2. 输入正确校园信息内容和答案
3. 点击添加按钮
校园信息内容成功录入系统
校园信息内容成功录入系统
通过
TC004
验证校园信息图片上传
1. 进入校园信息添加界面
2. 上传校园信息相关图片
3. 点击添加按钮
图片成功上传并与校园信息关联
图片成功上传并与校园信息关联
通过
校园信息搜索功能测试用例设计如下表所示:
表6-4校园信息搜索功能测试用例
测试编号
测试目的
测试步骤
预期结果
实际结果
是否通过
TC001
验证校园信息输入物品名称搜索
1. 进入校园信息搜索界面
2. 输入名称
3. 确认并搜索
根据选择的名称关键词显示相关校园信息信息
根据选择的名称关键词成功显示相关校园信息信息
通过
TC002
验证校园信息输入分类搜索
1. 进入校园信息搜索界面
2. 输入物品分类
3. 确认并搜索
根据选择的分类关键词显示相关校园信息信息
根据选择的分类关键词成功显示相关校园信息信息
通过
TC003
验证校园信息选择审核状态搜索
1. 进入校园信息搜索界面
2. 输入审核状态
3. 确认并搜索
根据选择的审核状态关键词显示相关校园信息信息
根据选择的审核状态关键词成功显示相关校园信息信息
通过
-
- 性能测试
- 兼容性测试
表6-5兼容性测试用例
用例编号
测试类型
测试目标
操作过程
预期结果
兼容性_01
设备兼容性
测试系统在不同设备上的表现
在多种设备上访问系统并记录表现
系统在各种设备上都能正常加载和显示页面
兼容性_02
浏览器兼容性
测试系统在不同浏览器上的表现
在多种浏览器中访问系统并记录表现
系统在各种主流浏览器上都能正常加载和显示页面
兼容性_03
分辨率兼容性
测试系统在不同分辨率下的显示效果
在不同分辨率的设备上访问系统并记录表现
系统在各种分辨率下都能适应并正常显示内容
兼容性_04
操作系统兼容性
测试系统在不同操作系统上的运行情况
在不同操作系统上访问系统并记录表现
系统能够在常用操作系统上正常运行和显示
- 性能测试
表6-6性能测试用例
用例编号
测试类型
测试目标
操作过程
预期结果
性能_01
负载测试
测试系统在正常负载下的性能
逐步增加用户数来模拟不同的负载情况
系统能够稳定处理不同数量的用户请求
性能_02
压力测试
测试系统在极端负载下的性能
以超过系统承受极限的用户数来测试系统
系统能够在高负载情况下仍然保持正常运行
性能_03
并发测试
测试系统能同时处理多少并发用户请求
同时发送多个并发用户请求来测试系统性能
系统能够有效地处理多个并发请求
性能_04
数据量测试
测试系统在大数据量下的性能
向系统添加大量数据并测试系统时间
系统能够在大数据量情况下保持较快的时间
-
- 测试结果
全部测试用例都已通过,且不存在漏洞,实现了本论文开始时所作要求和期望。本系统运行稳定,使用流畅,可以满足客户需求。试运行后进行系统评估,可以认为该系统达到预定的目标要求,可以满足用户的需求,也满足了系统开发前所作目标。系统在经过大量重复测试后运行十分稳定,安全实用,功能模块已经达到预定目标所需。在规定的时间内实现系统的大部分功能,且满足要求,节省开发成本,有助于提高科学管理水平,符合本人经济情况。
简而言之,经过严格的测试,可以发现该系统的功能和性能非常出色,它的精度、可靠性、稳健性都达到了极高的水平,而且它还支持快速、精细的点击操作,使用者的使用感受更加良好。此外,它还支持各种主流浏览器,满足不同的使用要求。
- 总结与展望
在开发基于SpringBoot框架和微信小程序的校园助手过程中,我们划分了学生用户、家长用户和管理员等不同用户角色,实现了多级用户管理和权限控制。这不仅提供了便捷高效的预约服务,还提升了平台的互动性和用户满意度,确保了平台的稳定运行。同时,资源和公告信息的管理丰富了平台内容,促进了用户间的交流与互动。
展望未来,我们计划进一步提升系统的速度和用户体验,深入分析用户行为,以便提供个性化推荐和精准营销。结合大数据分析,我们将提高平台的智能化水平,为用户带来更加智能和便捷的服务。此外,加强安全防护和隐私保护是未来发展的关键,确保用户信息安全,维护良好的品牌形象。
随着不断的优化和创新,基于SpringBoot和微信小程序的校园助手将更好地满足用户多样化的需求,成为用户首选的平台之一。通过这次项目,我不仅深入掌握了SpringBoot框架的应用和微信小程序校园助手的设计与实现,还积累了宝贵的开发经验。未来,我将继续提升系统的稳定性和安全性,增加更多实用和个性化功能,以适应用户需求和市场变化。
参考文献
- 袁江琛.校园二手交易网的设计与实现[J].福建电脑,2024,40(09):108-110.
- 李静,常齐月.基于微信小程序的校园互助平台设计[J].软件,2023,44(06):104-106+143.
- 胡成文,徐灿.基于微信小程序的高校校园跑腿App的设计与实现[J].信息与电脑(理论版),2023,35(02):137-140.
- 刘帅,姜旭涛,刘进芬.基于微信小程序的智能食堂系统的设计与实现[J].网络安全技术与应用,2021,(09):60-62.
- Liu Y .Campus Second-Hand Textbook Trading Platform based on Vue 3 and SpringBoot[J].International Core Journal of Engineering,2024,10(6):
- 巩云飞.大学生校园助手APP设计与开发[J].电脑编程技巧与维护,2020,(06):67-68+78.
- 王静.基于用户体验的校园闲置物品交易小程序界面设计研究[D].江苏大学,2020.
- 刘琤,赵桓鑫,王先勇.基于SpringBoot技术的微信平台校园食堂智能点餐系统设计[J].无线互联科技,2019,16(15):37-38.
- 肖翀,黄柯达,曾魏伟,等.基于Android平台的校园助手APP设计研究[J].数字通信世界,2019,(04):165.
- 魏瑾言,刘贺,李爱英,等.校园跑腿APP系统分析与设计[J].中小企业管理与科技(上旬刊),2021,(02):188-189.
- 徐红玉.目标导向视角下的高校食堂点餐服务APP交互设计[D].南京理工大学,2022.
- 武千禧,周丰婕.共享经济背景下二手闲置物品交易平台租赁模式研究[J].河北企业,2021,(07):33-35.
- 赵俊杰,葛敬军,朱文婷.基于微信小程序的校园二手书交易平台的设计与实现[J].科技与创新,2024,(09):7-11+15.
- 何涛,杨振南,潘学文.基于小程序的定位健康打卡系统[J].电脑知识与技术,2021,17(10):83-84+89.
- Yuan J ,Zhang Y ,Wang Y .Research on design and implementation of campus second-hand platform based on WeChat mini program[J].Advances in Computer, Signals and Systems,2024,8(4):
- Liu H .Comparative Application of Teaching Methods in C Language and JAVA Programming Courses[J].International Journal of New Developments in Education,2024,6(1):
- Liu S .Explore Java Language and Android Mobile Software Development[J].International Journal of Frontiers in Engineering Technology,2021,3.0(2.0):
- 陈指南,吴艳. 关于校园助手APP的设计[N]. 山西科技报, 2023-12-25 (B06).
- 王辰. 智慧校园App系统设计 [J]. 电脑编程技巧与维护, 2023, (06): 68-72.
- 肖江,杨佳慧,何晓晴,等. 基于Vue的齐齐哈尔大学校园微助手系统设计与实现 [J]. 信息与电脑(理论版), 2021, 33 (19): 165-167.
致 谢
在完成本论文的研究与写作过程中,我深切感受到了来自各方的帮助和支持。在此,我衷心地向所有给予我帮助的人表示最诚挚的感谢。
首先,我要特别感谢我的导师,不仅在学术上给予我无私的指导,而且在生活上给予我关怀和支持。是您严谨的学术态度和勤奋的工作精神将永远激励我不断前进。
其次,我要感谢所有教导过我的老师们,是你们精彩课堂和深入的指导为我的研究工作提供了宝贵的知识和灵感。
我还要感谢我的家人,他们的理解和支持是我完成学业的坚强后盾。在我遇到困难和挑战时,他们总是给予我鼓励和力量。
此外,我也要感谢我的朋友和同学们,你们的陪伴和帮助使我的研究生活更加丰富多彩。我们共同度过的时光将成为我一生中宝贵的回忆。
最后,我要感谢所有支持本项目,为本项目提供建设性意见的人员,没有他们的协助,本论文无法顺利完成。
点赞+收藏+关注 →私信领取本源代码、数据库
关注博主下篇更精彩
一键三连!!!
一键三连!!!
一键三连!!!
感谢一键三连!!!