信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。基于微信小程序的智能班务管理系统等问题,对基于微信小程序的智能班务管理系统进行研究分析,然后开发设计出基于微信小程序的智能班务管理系统以解决问题。
基于微信小程序的智能班务管理系统的设计是采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采用的数据库是Mysql,使用Spring Boot框架技术构建的一个管理系统,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。基于微信小程序的智能班务管理系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现基于微信小程序的智能班务管理系统的部署运行使用它。
关键词:智能班务管理系统小程序 ;Spring Boot框架;Mysql数据库;
In the information society, there is a need for targeted information acquisition channels, but the expansion of these channels is basically the direction that people are striving for. Due to the deviation in their perspective, people often have access to different types of information, which is also the most difficult problem for technology to overcome. Research and analyze the intelligent class management system based on WeChat mini programs, and then develop and design an intelligent class management system based on WeChat mini programs to solve the problems.
The design of an intelligent class management system based on WeChat mini program adopts an object-oriented development mode for software development and hardware installation, which can well meet the actual needs of use, improve the corresponding software installation and program coding work, use MySQL database, and use Spring Boot framework technology to build a management system, realizing all functions of this system. This report first analyzes the background, role, and significance of the research, laying the foundation for the rationality of the research work. The various requirements and technical issues of an intelligent class management system based on WeChat mini programs were analyzed, proving the necessity and technical feasibility of the system. Then, a basic introduction was made to the technical software and design ideas required for designing the system. Finally, the deployment and operation of the intelligent class management system based on WeChat mini programs were implemented.
Keywords:Intelligent class management system mini program; Spring Boot framework; MySQL database;
在当前信息化教育背景下,微信小程序因其便捷性、高效性和广泛的用户群体,在教育教学管理中展现出了巨大的应用潜力。基于微信小程序的智能班务管理系统选题正是响应了这一时代需求。该系统旨在利用先进的信息技术手段,将传统的班务管理流程如课程信息管理、学生信息管理、打卡签到管理、布置作业管理、完成作业管理、班级通知管理、学习资源管理、请假申请管理等环节进行智能化整合与优化,实现线上一站式操作,极大提高班务管理效率,减轻教师工作负担。
同时,通过微信小程序平台,可以实现教师对学生在校情况的实时掌握和有效参与,增强教师和学生互动,提升教育透明度,有助于形成良好的家庭教育与学校教育协同机制。此外,智能班务管理系统还能为学生提供个性化服务,帮助其合理规划学习生活,培养自主管理能力,对全面促进学生成长具有重要意义。
因此,研发基于微信小程序的智能班务管理系统不仅符合我国教育现代化的发展趋势,而且对于推动教育公平、提升教育质量、构建智慧校园环境等方面均具有深远的社会价值和实践意义。
国内外对于基于微信小程序的智能班务管理系统的研究与应用呈现出快速发展态势。在国内,随着移动互联网技术的广泛应用以及微信小程序生态系统的日趋完善,众多学者和开发者正积极投入相关领域的研究与实践。他们围绕着如何借助微信小程序平台实现便捷高效的班级事务管理展开深入探索,包括但不限于自动化的考勤签到、灵活的课程信息管理、实时的成绩发布以及多元化的家校沟通渠道等功能的研发与优化。这些研究不仅提升了学校的行政管理效率,也大大增强了教育服务的智能化水平与用户体验。
在国外,尽管微信小程序的影响力相对有限,但基于轻量化应用进行教育管理的理念和技术实践已获得广泛认可。许多国家和地区也在积极推动类似的移动教育管理工具的研发,采用诸如手机应用程序、云服务平台等方式来实现智能班务管理。相关的研究成果同样注重于提高数据处理效率、优化用户界面交互体验,以及强化教育过程中的多方沟通协作等核心问题。
总之,无论国内还是国外,基于轻型应用平台的智能班务管理系统已成为教育信息化发展的重要方向,而微信小程序作为国内极具代表性的平台之一,其在此领域的研究与应用展现出勃勃生机,持续推动着教育管理向更高层次的智能化迈进。
第一章:引言,介绍研究背景和动机,概述研究目的和意义,概括国内外研究现状,并提供论文结构概述。
第二章:系统需求分析,通过用户需求分析和功能需求分析,明确用户对系统的需求和系统应具备的功能。
第三章:系统设计,设计系统架构,包括选择合适的架构模式和数据库设计,以及各个模块的详细设计。
第四章:系统实现,选择合适的技术工具和框架,逐一实现各个模块,建立数据库连接并实现前端界面开发。
第五章:系统测试,进行单元测试、集成测试和整体系统测试,确保系统功能的正确性、协调性和稳定性。
第六章,总结,总结研究工作的主要内容和成果,评价系统的优点和不足,并提出改进和进一步研究的建议,强调研究的意义和影响。
基于微信小程序的智能班务管理系统采用了Spring Boot框架,开发了功能完备、使用简单的前端应用程序,并建立、维护了一个数据完整、安全、稳定性强的后台数据库系统。
系统使用Spring Boot框架和Mysql数据库作为设计工具,可简单易行地学习操作。用户角色之间的相结合开发一套基于微信小程序的智能班务管理系统是值得尝试的,数据完整性和许多品质为数据的功能分配和管理提供了依据。它也是数据库安全平台的重要组成部分,是提高和增强数据安全性的重要手段。此外,为了提供更平滑,更智能和更有效的基本控制方法,定义了同时构建对安全计算环境的支持所需的步骤,并帮助维护安全性。因为在这两种开发工具中,功能强大且免费且界面良好,所以基于微信小程序的智能班务管理系统在技术方面是可行的。
基于微信小程序的智能班务管理系统管理的开发是由开发者自己开发,不需要购买其他软件或者端口之类的,而且在基于微信小程序的智能班务管理系统管理的开发之前所做的市场调研及其他的基于微信小程序的智能班务管理系统,都是没有任何费用的,通过开发者自己的努力,所有的工作的都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于基于微信小程序的智能班务管理系统的开发在经济上是完全可行的,没有任何费用支出的。
使用Spring Boot框架是比较成熟的技术,所以基于微信小程序的智能班务管理系统的开发在经济上是没有问题的。
可操作性主要是对基于微信小程序的智能班务管理系统系统设计完成后,用户的使用体验度,对于管理员可以通过系统随时管理相关的数据信息,并且对于管理员、学生、教师用户桑个用户角色,都可以简单明了的进入到自己的系统界面,通过界面导航菜单可以简单明了地操作功能模块,方便用户信息需求和课程信息管理数据信息,对于系统的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以在系统的可操作性是完全可以的。本系统的操作使用的也是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。
基于微信小程序的智能班务管理系统我划分为了用户管理模块和管理员模块及教师用户模块这三大部分。
学生用户功能:
(1)登录:基于微信小程序的智能班务管理系统前台注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码后,点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到基于微信小程序的智能班务管理系统的首页中;否则将会提示相应错误信息。
(2)课程信息:当用户点击下方导航栏“课程信息”这一菜单按钮,会显示管理员在后台发布的所有的课程信息,可以查看详情,进行点赞、评论等。
(3)班级通知:当用户点击下方导航栏“班级通知”这一菜单按钮,会显示管理员在后台发布的所有的班级通知,可以查看详情,进行点赞、评论等。
(4)学习资源:当用户点击下方导航栏“学习资源”这一菜单按钮,会显示管理员在后台发布的所有的学习资源,可以查看详情,进行收藏、点赞、评论等。
(5)请假申请:当用户点击下方导航栏“请假申请:”这一菜单按钮,会显示相关信息,可以填写并进行提交等。
(6)我的模块:学生用户在前台点击“我的”可以对用户的基本信息、收藏、学生信息、打卡签到、布置作业、完成作业、请假申请、论坛管理)等信息进行管理。
管理员端:
(1)系统用户:包括用户账号的添加、编辑和删除操作,可以查看用户信息、修改用户权限、冻结或解冻用户账号等。
(2)请假申请管理:点击“请假申请”这个菜单,可以查看到所有请假申请详情,可以进行增删改查等操作。
(3)学生信息管理:点击“学生信息”这个菜单,可以查看到所有学生信息详情,可以进行增删改查等操作。
(4)学习资源管理:点击“学习资源”这个菜单,可以查看到所有学习资源详情,可以进行增删改查等操作。
(5)系统管理:当管理员点击“系统管理”时,可查看轮播图管理,如需添加新的轮播图,点击右侧“新增”按钮,上传图片,输入标题,点击“确认”按钮进行添加。
(6)系统公告管理:当管理员点击“系统公告管理”时,可查看系统公告,如需添加新的系统公告,点击左侧“添加”按钮,输入标题和正文,点击“提交”按钮进行添加。同时可对系统公告进行增删改查。
(7)交流管理:当管理员点击“交流管理”时,可查看交流论坛,如需添加新的交流论坛,点击左侧“添加”按钮,输入标题和正文,点击“提交”按钮进行添加。同时可对交流论坛进行增删改查。
(8)考试管理:点击“考试管理”这个菜单,可以查看到科目列表、试题库、错题记录、试卷列表等功能,进行查询,添加、删除等操作。
教师用户端:
(1)个人信息:管理员和用户点击“个人信息”按钮,可以对个人的头像、昵称、手机号码等信息进行更新。
(2)修改密码:管理员和员工点击“修改密码”按钮,可以对登录密码进行更改,首先输入原密码,然后再输入新密码和确认密码,当原密码正确,输入两次新密码一致,
(3)布置作业管理,点击“布置作业”这个菜单,可以查看到所有作业详情进行查询,添加、删除等操作。
(4)完成作业管理,点击“完成作业”这个菜单,可以查看到所有学生完成的作业详情,进行批改、查询,添加、删除等操作。
(5)课程信息管理,点击“课程信息”这个菜单,可以查看到所有课程信息详情,进行查询,添加、删除等操作。
(6)学生信息管理,点击“学生信息”这个菜单,可以查看到所有学生信息信息详情,进行查询,添加、删除等操作。
(7)班级通知管理,点击“班级通知”这个菜单,可以查看到所有班级通知详情,进行查询,添加、删除等操作。
非功能性分析旨在评估基于微信小程序的智能班务管理系统的非功能需求和性能要求。通过对性能、可靠性、安全性、可用性和扩展性等方面进行评估,确保平台能够满足用户和系统运行的要求。具体如下3-1表格中:
表2.1 基于微信小程序的智能班务管理系统非功能需求表
非功能性要求 | 说明 |
性能 | 评估响应时间、并发用户数、吞吐量等指标,以确保平台稳定高效地运行。 |
可靠性 | 评估系统的稳定性、容错能力和数据完整性,保障系统在故障情况下正常运行。 |
安全性 | 评估用户身份认证、数据加密和访问控制等,保护用户信息和交易的安全。 |
可用性 | 评估系统的稳定性、故障处理能力和用户界面友好性,提供良好的用户体验。 |
扩展性 | 评估系统的可扩展性和灵活性,以便根据需求进行功能扩展和升级。 |
系统用例分析是对基于微信小程序的智能班务管理系统中各个功能模块的用户需求和行为进行分析,以识别和描述不同的用户用例。通过系统用例分析,可以深入了解用户在平台上的操作流程,为系统设计和开发提供指导,并确保平台能够满足用户的需求和期望。
基于微信小程序的智能班务管理系统中学生用户角色/教师用户角色用例图如图2.1所示:
图2.1学生用户/教师用户角色用例图
基于微信小程序的智能班务管理系统中管理员用例图如图2.2所示:
图2.2 管理员用例图
在系统分析的章节中,我们通过可行性分析、功能分析和系统用例分析等方法,全面评估了基于微信小程序的智能班务管理系统的可行性、功能需求以及用户需求。这些分析为后续的系统设计和开发提供了重要的指导和决策依据,确保平台能够满足用户需求,并实现预期目标和效益。
基于微信小程序的智能班务管理系统总体设计包括系统架构、数据库设计、用户界面设计等方面。通过三层架构模式,确保系统的可靠性和可扩展性。设计规范化的数据库结构,以存储和管理商品信息、用户数据等。同时,注重用户界面的友好性和易用性,提供便捷的功能操作和良好的用户体验。总体设计的目标是实现一个稳定、安全、高效的基于微信小程序的智能班务管理系统,满足用户的需求。
在系统架构设计中,我们将确定系统的整体结构和组件之间的关系。这包括选择适当的架构风格,划分系统的层次结构,并定义各个模块的职责和交互方式。架构图如下图所示。
图3-1基于微信小程序的智能班务管理系统架构设计图
表现层(Presentation Layer):负责与用户进行交互,将系统的功能和数据以易于理解和操作的方式展示给用户。通常包括用户界面、页面设计和用户输入验证等。
业务逻辑层(Business Logic Layer):处理系统的核心业务逻辑,包括对用户请求的处理、业务规则的执行以及数据的处理和转换。它独立于表现层和数据层,实现了业务逻辑的封装和复用。
数据层(Data Layer):负责数据的存储、访问和管理,包括数据库和持久化机制。数据层提供了对数据的增删改查操作,并与业务逻辑层进行交互,使系统能够有效地存储和检索数据。
这三个层次相互独立,通过明确的接口和协议进行通信,实现了系统的模块化和可扩展性。表现层负责将用户的请求传递给业务逻辑层,业务逻辑层处理请求并返回结果,最后数据层负责与数据库交互并提供数据支持。这种分层架构有助于实现系统的可维护性、灵活性和可测试性。
通过整体功能模块设计,我们将根据需求分析的结果,将系统的功能划分为不同的模块。每个模块负责实现特定的功能,并与其他模块进行协作。我们将详细定义每个模块的输入、输出、处理逻辑和相互依赖关系。具体的功能模块图如图3.1所示。
图3.1 基于微信小程序的智能班务管理系统功能模块图
数据库设计是系统开发中至关重要的一环,它涉及到数据的组织、存储和管理。在数据库设计中,我们将根据系统的需求设计数据库的概念结构和逻辑结构,包括定义实体、属性、关系和约束等。
数据库概念结构设计主要涉及数据库的实体和实体之间的关系。通过实体-关系模型或者其他适当的模型,我们将定义系统中涉及的各个实体以及它们之间的联系。下面是整个基于微信小程序的智能班务管理系统的总E-R关系图。
图3.2 基于微信小程序的智能班务管理系统总E-R关系图
数据库逻辑结构设计则是在概念结构的基础上,进行具体的数据库表设计。我们将定义每个表的结构、字段和约束,并建立表与表之间的关系。具体如下。
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | assign_homework_id | int | 10 | 0 | N | Y | 布置作业ID | |
2 | assignment_number | varchar | 64 | 0 | Y | N | 作业编号 | |
3 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
4 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
5 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
6 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
7 | responsible_teacher | int | 10 | 0 | Y | N | 0 | 负责老师 |
8 | screenshot_of_homework | varchar | 255 | 0 | Y | N | 作业截图 | |
9 | assignment_content | text | 65535 | 0 | Y | N | 作业内容 | |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | check_in_id | int | 10 | 0 | N | Y | 打卡签到ID | |
2 | management_number | varchar | 64 | 0 | Y | N | 管理编号 | |
3 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
4 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
5 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
6 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
7 | responsible_teacher | int | 10 | 0 | Y | N | 0 | 负责老师 |
8 | student_photos | varchar | 255 | 0 | Y | N | 学生照片 | |
9 | check_in_date | date | 10 | 0 | Y | N | 打卡日期 | |
10 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
11 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
12 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | class_notification_id | int | 10 | 0 | N | Y | 班级通知ID | |
2 | notification_title | varchar | 64 | 0 | Y | N | 通知标题 | |
3 | notification_cover | varchar | 255 | 0 | Y | N | 通知封面 | |
4 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
5 | notification_date | date | 10 | 0 | Y | N | 通知日期 | |
6 | notification_content | text | 65535 | 0 | Y | N | 通知内容 | |
7 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
8 | teacher_id | varchar | 64 | 0 | Y | N | 教师工号 | |
9 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
10 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | course_information_id | int | 10 | 0 | N | Y | 课程信息ID | |
2 | course_name | varchar | 64 | 0 | Y | N | 课程名称 | |
3 | cover | varchar | 255 | 0 | Y | N | 封面 | |
4 | course_type | varchar | 64 | 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_teacher | int | 10 | 0 | Y | N | 0 | 课程老师 |
9 | teacher_id | varchar | 64 | 0 | Y | N | 教师工号 | |
10 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
11 | course_introduction | text | 65535 | 0 | Y | N | 课程介绍 | |
12 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | course_type_id | int | 10 | 0 | N | Y | 课程类型ID | |
2 | course_type | 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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | exam_question_id | mediumint | 8 | 0 | N | Y | ||
2 | subject_name | varchar | 255 | 0 | Y | N | 科目名称 | |
3 | type | varchar | 20 | 0 | Y | N | 类型 | |
4 | title | varchar | 255 | 0 | Y | N | 题目 | |
5 | question_item | varchar | 500 | 0 | Y | N | 选项 | |
6 | answer | varchar | 500 | 0 | Y | N | 参考答案 | |
7 | score | double | 9 | 2 | Y | N | 总分 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | finish_ones_homework_id | int | 10 | 0 | N | Y | 完成作业ID | |
2 | assignment_number | varchar | 64 | 0 | N | N | 作业编号 | |
3 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
4 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
5 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
6 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
7 | completion_date | date | 10 | 0 | Y | N | 完成日期 | |
8 | responsible_teacher | int | 10 | 0 | Y | N | 0 | 负责老师 |
9 | complete_image | varchar | 255 | 0 | Y | N | 完成图片 | |
10 | complete_description | text | 65535 | 0 | Y | N | 完成描述 | |
11 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
12 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | forum_id | mediumint | 8 | 0 | N | Y | 论坛id | |
2 | display | smallint | 5 | 0 | N | N | 100 | 排序 |
3 | user_id | mediumint | 8 | 0 | N | N | 0 | 用户ID |
4 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
5 | praise_len | int | 10 | 0 | Y | N | 0 | 点赞数 |
6 | hits | int | 10 | 0 | N | N | 0 | 访问数 |
7 | title | varchar | 125 | 0 | N | N | 标题 | |
8 | keywords | varchar | 125 | 0 | Y | N | 关键词 | |
9 | description | varchar | 255 | 0 | Y | N | 描述 | |
10 | url | varchar | 255 | 0 | Y | N | 来源地址 | |
11 | tag | varchar | 255 | 0 | Y | N | 标签 | |
12 | img | text | 65535 | 0 | Y | N | 封面图 | |
13 | content | longtext | 2147483647 | 0 | Y | N | 正文 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
16 | avatar | varchar | 255 | 0 | Y | N | 发帖人头像: | |
17 | type | varchar | 64 | 0 | N | N | 0 | 论坛分类:[0,1000]用来搜索指定类型的论坛帖 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
3 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
4 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
5 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
6 | icon | varchar | 255 | 0 | Y | N | 分类图标: | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | learning_resource_id | int | 10 | 0 | N | Y | 学习资源ID | |
2 | resource_name | varchar | 64 | 0 | Y | N | 资源名称 | |
3 | cover | varchar | 255 | 0 | Y | N | 封面 | |
4 | resource_type | varchar | 64 | 0 | Y | N | 资源类型 | |
5 | data_source | varchar | 64 | 0 | Y | N | 资料来源 | |
6 | resource_attachments | varchar | 255 | 0 | Y | N | 资源附件 | |
7 | resource_introduction | longtext | 2147483647 | 0 | Y | N | 资源介绍 | |
8 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
9 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
10 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | leave_application_id | int | 10 | 0 | N | Y | 请假申请ID | |
2 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
3 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
4 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
5 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
6 | responsible_teacher | int | 10 | 0 | Y | N | 0 | 负责老师 |
7 | leave_date | date | 10 | 0 | Y | N | 请假日期 | |
8 | screenshot_of_leave_request | varchar | 255 | 0 | Y | N | 请假截图 | |
9 | leave_days | int | 10 | 0 | Y | N | 0 | 请假天数 |
10 | reason_for_leave | text | 65535 | 0 | Y | N | 请假原因 | |
11 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
12 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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已取消 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | resource_type_id | int | 10 | 0 | N | Y | 资源类型ID | |
2 | resource_type | 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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | student_information_id | int | 10 | 0 | N | Y | 学生信息ID | |
2 | management_number | varchar | 64 | 0 | Y | N | 管理编号 | |
3 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
4 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
5 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
6 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
7 | responsible_teacher | int | 10 | 0 | Y | N | 0 | 负责老师 |
8 | student_photos | varchar | 255 | 0 | Y | N | 学生照片 | |
9 | limit_times | int | 10 | 0 | N | N | 0 | 限制次数 |
10 | limit_type | tinyint | 4 | 0 | N | N | 1 | 限制次数类型1-每天次,2-总计次 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | student_users_id | int | 10 | 0 | N | Y | 学生用户ID | |
2 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
3 | student_id | varchar | 64 | 0 | N | N | 学生学号 | |
4 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | subject_id | int | 10 | 0 | N | Y | ||
2 | name | varchar | 255 | 0 | Y | N | ||
3 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | exam_id | mediumint | 8 | 0 | N | Y | 考试id | |
2 | subject_name | varchar | 255 | 0 | Y | N | ||
3 | name | varchar | 32 | 0 | N | N | 考试名称:[2,32] | |
4 | duration | int | 10 | 0 | Y | N | 答题时长 | |
5 | score | double | 9 | 2 | Y | N | 总分 | |
6 | status | varchar | 10 | 0 | Y | N | 状态:启用、禁用 | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | user_id | int | 10 | 0 | Y | N | 出题人 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | exam_question_id | mediumint | 8 | 0 | N | Y | ||
2 | subject_name | varchar | 255 | 0 | Y | N | 科目名称 | |
3 | type | varchar | 20 | 0 | Y | N | 类型 | |
4 | title | varchar | 255 | 0 | Y | N | 题目 | |
5 | question_item | varchar | 500 | 0 | Y | N | 选项 | |
6 | answer | varchar | 500 | 0 | Y | N | 参考答案 | |
7 | score | double | 9 | 2 | Y | N | 总分 | |
8 | question_order | int | 10 | 0 | Y | N | 排序 | |
9 | exam_id | mediumint | 7 | 0 | Y | N | 所属试卷 | |
10 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_answer_id | mediumint | 8 | 0 | N | Y | ||
2 | user_id | mediumint | 7 | 0 | N | N | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
3 | exam_id | mediumint | 7 | 0 | N | N | 0 | 考试id |
4 | score | double | 9 | 2 | Y | N | 0.00 | 分数 |
5 | answers | text | 65535 | 0 | Y | N | 答案 | |
6 | score_detail | text | 65535 | 0 | Y | N | 评分详情 | |
7 | objective_score | double | 9 | 2 | Y | N | 0.00 | 客观题得分 |
8 | subjective_score | double | 9 | 2 | Y | N | 0.00 | 主观题得分 |
9 | score_state | tinyint | 4 | 0 | Y | N | 0 | 评分状态 |
10 | nickname | varchar | 255 | 0 | Y | N | 提交人 | |
11 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | teacher_users_id | int | 10 | 0 | N | Y | 教师用户ID | |
2 | teacher_id | varchar | 64 | 0 | N | N | 教师工号 | |
3 | teachers_name | 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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 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 | 创建时间: |
15 | vip_level | varchar | 255 | 0 | Y | N | 会员等级 | |
16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 会员折扣 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_answer_id | mediumint | 8 | 0 | N | Y | ||
2 | subject_name | varchar | 255 | 0 | Y | N | 科目名称 | |
3 | question_item | varchar | 255 | 0 | Y | N | 选项 | |
4 | title | varchar | 255 | 0 | Y | N | 题目 | |
5 | type | varchar | 255 | 0 | Y | N | 题目类型 | |
6 | exam_id | mediumint | 7 | 0 | N | N | 0 | 考试id |
7 | score | double | 9 | 2 | Y | N | 0.00 | 分数 |
8 | answers | text | 65535 | 0 | Y | N | 用户提交的答案 | |
9 | answer | text | 65535 | 0 | Y | N | 参考答案 | |
10 | score_detail | text | 65535 | 0 | Y | N | 评分详情 | |
11 | objective_score | double | 9 | 2 | Y | N | 0.00 | 客观题得分 |
12 | subjective_score | double | 9 | 2 | Y | N | 0.00 | 主观题得分 |
13 | score_state | tinyint | 4 | 0 | Y | N | 0 | 评分状态 |
14 | nickname | varchar | 255 | 0 | Y | N | 提交人 | |
15 | user_id | int | 10 | 0 | N | N | 提交人ID | |
16 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
17 | update_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 | 更新时间: |
用户登录界面用于已注册用户进行账号登录,用户需要输入正确的用户名和密码才能成功登录系统。登录界面应对用户的输入进行验证,并提供密码找回或重新注册的选项。界面如下图所示。其主界面展示如下图4.1所示。
图4.1 登录界面图
登录代码如下:
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> 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<String, String> 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, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
//查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
Duration duration = Duration.ofSeconds(7200L);
redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
用户注册界面用于新用户进行账号注册,用户需要填写必要的个人信息并选择合适的用户名和密码。注册界面应该进行输入验证和数据格式检查,确保用户提供有效的信息。界面如下图所示。其主界面展示如下图4.2所示。
图4.2 注册界面图
注册代码如下:
/**
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> 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);
}
课程信息:当用户点击下方导航栏“课程信息”这一菜单按钮,会显示管理员在后台发布的所有的课程信息,可以查看详情,进行收藏、点赞、评论等。界面如下图所示。
图4.3 课程信息查看界面图
课程信息管理:点击“课程信息”这个菜单,可以查看到所有课程信息详情,可以进行增删改查等操作。界面如下图所示。
图4.4 课程信息添加界面图
请假申请:当用户点击下方导航栏“请假申请”这一菜单按钮,可以查看详情,进行相对应操作等。界面如下图所示。
图4.5 请假申请查看界面图
请假申请管理:可以查看到所有请假申请详情,进行查询,添加、删除等操作。界面如下图所示。
图4.6请假申请管理界面图
学生信息:当用户点击下方导航栏“学生信息”这一菜单按钮,可以查看详情,进行相对应操作等界面如下图所示。
图4.7 学生信息界面图
学生信息管理:可以查看到学生信息详情,进行查询,添加、删除等操作,界面如下图所示。
图4.8 学生信息管理界面图
系统用户:包括用户账号的添加、编辑和删除操作,可以查看用户信息、修改用户权限、冻结或解冻用户账号等。界面如下图所示。
图5.9系统用户界面图
修改密码:管理员和用户点击“修改密码”按钮,可以对登录密码进行更改,首先输入原密码,然后再输入新密码和确认密码,当原密码正确,输入两次新密码一致,界面如下图所示。
图5.10修改密码界面图
修改密码代码如下:
/**
* 修改密码
* @param data
* @param request
* @return
*/
@PostMapping("change_password")
public Map<String, Object> change_password(@RequestBody Map<String, String> data, HttpServletRequest request){
// 根据Token获取UserId
String token = request.getHeader("x-auth-token");
Integer userId = tokenGetUserId(token);
// 根据UserId和旧密码获取用户
Map<String, String> query = new HashMap<>();
String o_password = data.get("o_password");
query.put("user_id" ,String.valueOf(userId));
query.put("password" ,service.encryption(o_password));
int count = service.selectBaseCount(service.count(query, service.readConfig(request)));
if(count > 0){
// 修改密码
Map<String,Object> form = new HashMap<>();
form.put("password",service.encryption(data.get("password")));
service.update(query,service.readConfig(request),form);
return success(1);
}
return error(10000,"密码修改失败!");
}
测试目的是为了验证系统的功能、性能和稳定性,以确保系统在实际应用中能够达到预期的要求。通过测试,可以发现潜在的问题和缺陷,并及时进行修复和改进。测试还可以评估系统的可靠性、安全性和用户体验,以提供一个高质量和可信赖的产品。此外,测试也有助于验证系统是否满足用户需求和预期,是否符合相应的标准和规范。总之,测试的目的是为了确保系统的质量和可靠性,从而为用户提供良好的使用体验和价值。
表5.1 用户注册测试用例
测试编号 | 测试内容 | 预期结果 |
TC-001 | 输入有效信息 | 注册成功,跳转到登录页面 |
TC-002 | 输入已存在账号 | 显示账号已存在的提示信息 |
TC-003 | 输入无效信息 | 显示注册失败的提示信息,要求重新输入有效信息 |
表5.2 用户登录测试用例
测试编号 | 测试内容 | 预期结果 |
TC-004 | 输入正确的账号密码 | 登录成功,跳转到个人主页 |
TC-005 | 输入错误的账号密码 | 显示登录失败的提示信息,要求重新输入正确的账号密码 |
表5.3 修改密码测试用例
测试编号 | 测试内容 | 预期结果 |
TC-006 | 输入有效密码 | 密码修改成功,显示修改成功的提示信息 |
TC-007 | 输入无效密码 | 显示密码无效的提示信息,要求重新输入有效密码 |
TC-008 | 输入错误原密码 | 显示原密码错误的提示信息,要求重新输入正确原密码 |
表5.4 学生信息测试用例
测试编号 | 测试内容 | 预期结果 |
TC-009 | 输入有效的学生信息信息 | 学生信息成功,显示记录成功的提示信息 |
TC-010 | 输入无效的学生信息信息 | 显示记录失败的提示信息,要求重新输入有效信息 |
表5.5 查看课程信息测试用例
测试编号 | 测试内容 | 预期结果 |
TC-011 | 点击查看商品 | 显示当日的课程信息 |
TC-012 | 选择其他日期 | 显示所选日期的课程信息 |
TC-013 | 无可用商品信息 | 显示暂无商品的提示信息,提醒用户重新选择日期 |
表5.6 查看请假申请测试用例
测试编号 | 测试内容 | 预期结果 |
TC-014 | 点击查看请假申请 | 显示请假申请页面,展示相关的文章、新闻等内容 |
TC-015 | 选择其他分类 | 显示所选分类下的相关文章、新闻等内容 |
TC-016 | 无可用请假申请信息 | 显示暂无请假申请的提示信息,提醒用户重新选择分类 |
综上所述,基于微信小程序的智能班务管理系统在功能测试中表现良好,通过了所有测试用例。系统提供的用户注册、登录、修改密码、学生信息、查看课程信息和查看请假申请等主要功能都能正常运行,并能够给出预期的提示信息和结果。然而,为了确保系统的全面稳定性和质量,仍建议进行更多的综合性测试,包括性能测试、安全性测试和用户体验测试等,以进一步验证和改进系统的功能和性能。
本研究设计并实现了基于微信小程序的智能班务管理系统。通过对系统进行功能测试和评估,得出以下结论:该系统在功能上经过验证,用户注册、登录、学生信息、课程信息等功能都能正常运行;技术上具备稳定性和可扩展性,小程序提供跨平台应用,springboot框架简化开发,MySQL数据库支持数据存储与查询;从经济角度看,小程序开发成本低,springboot和MySQL均为免费且开源;操作上易用性好,小程序界面简洁明了,springboot的自动化部署与MySQL的管理工具提供便捷操作。
综上所述,基于微信小程序的智能班务管理系统在功能、技术、经济和操作上均具有优势。满足用户需求并提供更好的用户体验。
[1]王晓俊,易雪,赵旭等. 微信小程序在手术室医疗设备管理中的应用 [J]. 检验医学与临床, 2024, 21 (04): 552-555.
[2]李鹏,高燕,王思源. 基于微信小程序的智能语音家居系统 [J]. 微型电脑应用, 2024, 40 (02): 225-228.
[3]陈锦. 校园智能导览小程序的设计与实现 [J]. 襄阳职业技术学院学报, 2024, 23 (01): 88-92.
[4]陆歆,容泳珊. 基于旅游体验的游戏化导览小程序设计研究 [J]. 美与时代(上), 2024, (02): 24-27. DOI:10.16129/j.cnki.mysds.2024.02.005.
[5]孙梦菲,周天源,王天澍. 基于微信小程序的校园社团管理系统设计与实现 [J]. 现代信息科技, 2024, 8 (03): 40-44. DOI:10.19850/j.cnki.2096-4706.2024.03.009.
[6]白茹鑫. 基于SpringBoot+SSM框架的企业安全培训管理系统设计与实现 [J]. 现代信息科技, 2024, 8 (01): 44-49. DOI:10.19850/j.cnki.2096-4706.2024.01.009.
[7]武际斌,段良华,金永亮. 基于Vue+SpringBoot的课程思政素材库的设计与实现[C]// 百色学院马克思主义学院. 2023年思想政治教育论坛论文集. 山东信息职业技术学院;, 2023: 3. DOI:10.26914/c.cnkihy.2023.087218.
[8]吴昊,张丹. 基于SpringBoot框架的大学生网上兼职系统设计与实现 [J]. 电脑知识与技术, 2023, 19 (35): 68-72. DOI:10.14004/j.cnki.ckt.2023.1860.
[9]Wang R ,Zhao Z ,Chen S . Research on the Application of Wechat Mini Program in Rural Revitalization – Taking Yanping Jukou Township in Nanping as An Example [J]. Journal of Social Science Humanities and Literature, 2023, 6 (5):
[10]秦燕桦. 基于生物特征识别的考务管理系统设计 [J]. 电脑知识与技术, 2023, 19 (26): 49-51+59. DOI:10.14004/j.cnki.ckt.2023.1354.
[11]Lu R ,Li Y ,Zeng H , et al. Design and Implementation of Child Missing Registration and Mutual Aid Mini Program Based on Java [J]. Advances in Computer, Signals and Systems, 2023, 7 (7):
[12]Junhao S ,Weize L ,Zhiheng Z , et al. Design and Implementation of the Remote Use of the Table Tennis Ball Recovery and Cleaning Machine Based on Wechat Mini Program [J]. Academic Journal of Engineering and Technology Science, 2023, 6 (9):
[13]孙惠芬. 基于小程序的考务管理系统设计和实现 [J]. 信息与电脑(理论版), 2023, 35 (01): 134-136.
[14]贾胜颖. 基于MVC模式考务管理系统的设计与实现 [J]. 信息与电脑(理论版), 2023, 35 (01): 147-149.
[15]罗言. 基于区块链的研招考务管理系统的研究与实现[D]. 北京林业大学, 2022. DOI:10.26949/d.cnki.gblyu.2022.000390.
[16]刘晓莉,刘晓静. 基于指纹识别技术的考务管理系统设计 [J]. 无线互联科技, 2021, 18 (17): 43-44.
[17]刘晓莉,刘晓静. 基于指纹识别技术的考务管理系统 [J]. 办公自动化, 2021, 26 (07): 61-62.
[18]张俊,饶晓燕,吴建伟等. 智慧村务管理系统的设计与实现 [J]. 贵州农业科学, 2020, 48 (12): 160-164.
[19]王鑫,黎伟强. 基于微信小程序的考务管理系统设计与实现 [J]. 科学技术创新, 2020, (07): 56-57.
[20]赵海波,梁聪. 基于微信小程序的高校班务管理系统设计与实现 [J]. 科技视界, 2020, (07): 247-248. DOI:10.19694/j.cnki.issn2095-2457.2020.07.091.
在完成本论文的过程中,我要由衷感谢所有支持和帮助我的人。首先,我要感谢我的指导教师,他们给予了我宝贵的指导和建议,帮助我顺利完成研究工作。他们的专业知识和经验对我产生了深远的影响。此外,我要感谢我的家人和朋友,他们在我整个研究过程中给予了我无尽的鼓励和支持。他们相信我能够克服困难、坚持不懈地追求目标,这让我时刻保持积极向上的心态。最重要的是,我要感谢自己。在研究的过程中,我遇到了各种挑战和困难,但我从未放弃,始终保持着坚定的信念和努力的精神。正是这种勇气和毅力使我能够完成这项研究工作,并取得了令人满意的成果。
通过这次研究,我学到了很多知识和技能,也收获了自信和成长。我相信,只要我坚持努力和持续学习,就能够实现更大的成就和突破。因此,我将继续努力,为自己的梦想奋斗,成为一个有影响力和价值的人。最后,我再次向所有支持和帮助过我的人表示深深的感谢。你们的支持是我前进的动力,我会铭记于心,并用更好的成绩回报你们的期望和信任。谢谢!
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~