基于SpringBoot的在线教育平台的设计与实现—免费毕设源码分享20192

摘 要

本文详细阐述了基于SpringBoot框架构建的在线教育平台的设计与实现细节。该平台致力于为用户提供灵活、高效且全面的在线学习解决方案。

设计方面,SpringBoot框架的采用确保了后端服务的稳健与高效,前端则运用了响应式设计原则,以适配不同设备,提供一致且流畅的用户体验。数据库层面,MySQL关系型数据库被选定,以维护数据的一致性和完整性,为平台运行提供坚实支撑。

平台功能涵盖了课程管理、在线学习、考试测评、用户互动及个人中心等关键模块。课程管理功能使教师能够便捷地发布课程详情、上传教学资源,而学生则可以轻松浏览课程列表,根据个人需求选择学习内容。在线学习模块集成了视频播放、文档下载等功能,为用户随时随地获取知识提供了极大便利。考试测评模块则通过线上考试与自动评分机制,有效检验了用户的学习成效。此外,用户互动模块促进了师生间的有效沟通,进一步增强了学习效果。

在实现过程中,系统采用了微服务架构和前后端分离的设计策略,以提高系统的可扩展性和可维护性。同时,为了保障系统安全,实施了严格的用户认证与授权流程,并对敏感数据进行了加密处理,为用户信息的安全保驾护航。

关键字:SpringBoot框架;在线教育平台;微服务架构;系统安全性;用户体验优化;

Abstract

This paper details the design and implementation of the online education platform built based on the SpringBoot framework. The platform is dedicated to providing users with flexible, efficient and comprehensive online learning solutions.

In terms of design, the adoption of the SpringBoot framework ensures the stability and efficiency of the back-end services, while the front-end uses the responsive design principle to adapt to different devices and provide a consistent and smooth user experience. At the database level, the MySQL relational database is selected to maintain the consistency and integrity of the data and provide a solid support for the operation of the platform.

The platform functions cover key modules such as course management, online learning, examination and assessment, user interaction and personal center. The course management function enables teachers to easily publish course details and upload teaching resources, while students can easily browse the course list and choose the learning content according to their personal needs. The online learning module integrates video playback, document download and other functions, which provides great convenience for users to acquire knowledge anytime and anywhere. The test evaluation module effectively tests the learning effect of users through the online test and the automatic scoring mechanism. In addition, the user interaction module promotes the effective communication between teachers and students, and further enhances the learning effect.

In the implementation process, the system adopts a design strategy of micro-service architecture and front and rear end separation to improve its scalability and maintainability. At the same time, in order to ensure the security of the system, a strict user authentication and authorization process has been implemented, and the sensitive data has been encrypted to escort the security of user information.

Keywords: SpringBoot framework; online education platform; micro-service architecture; system security; user experience optimization;


目 录

第1章 绪 论

1.1 项目背景与意义

1.1.1 研究背景

1.1.2 研究意义

1.2 国内外研究现状

国外研究现状

国内研究现状

1.3 主要研究内容

第2章 开发环境及技术架构

2.1 开发环境与工具

2.2 技术架构

2.2.1 B/S模式

2.2.2 SpringBoot框架

第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系统管理界面

第6章 系统测试

6.1 测试目的

6.2 功能测试

6.3 性能测试

6.4 测试结果

第7章 总结与展望

参考文献

致 谢

第1章绪 论

1.1 项目背景与意义

1.1.1 研究背景

随着信息技术的飞速发展,互联网已成为人们获取知识、提升技能的重要途径。在线教育平台,作为互联网与教育深度融合的产物,正逐渐成为人们学习的新选择。它不仅打破了传统教育的时空限制,使得优质教育资源得以广泛传播,还通过多样化的学习方式和互动机制,提高了学习的趣味性和效率。

然而,当前市场上的在线教育平台参差不齐,存在功能单一、用户体验不佳、系统稳定性不足等问题。因此,开发一个功能全面、稳定可靠、用户体验优秀的在线教育平台显得尤为重要。

SpringBoot框架以其简洁性、高效性和易用性,在Java后端开发中占据了重要地位。它不仅能够快速构建稳定的服务,还提供了丰富的功能组件和工具,为开发者提供了极大的便利。因此,基于SpringBoot框架构建在线教育平台,不仅可以提高开发效率,还能确保系统的稳定性和可扩展性。

本研究旨在设计并实现一个基于SpringBoot的在线教育平台,以满足用户多样化的学习需求。通过整合优质教育资源,提供丰富的学习内容和互动机制,以及友好的用户界面和流畅的用户体验,为用户打造一个高效、便捷、有趣的在线学习环境。同时,通过深入研究SpringBoot框架的相关技术和应用,为在线教育平台的发展提供新的思路和技术支持。

综上所述,基于SpringBoot的在线教育平台的设计与实现,不仅符合当前教育信息化的发展趋势,也是解决现有在线教育平台存在问题、提升用户体验的重要途径。

1.1.2 研究意义

在理论层面,该研究有助于深化对在线教育平台构建技术的理解。通过采用SpringBoot框架,可以探索其在教育领域的适用性、优势以及潜在挑战,为在线教育平台的技术选型提供理论依据。同时,研究过程中涉及的系统设计、功能实现、性能优化等方面的探讨,有助于丰富在线教育平台设计的理论体系,为后续研究提供借鉴和参考。

在实践层面,该研究的成果能够直接应用于在线教育领域,提高在线教育平台的质量和效率。基于SpringBoot构建的在线教育平台,具备快速响应、易于扩展、稳定可靠等特点,能够满足用户多样化的学习需求,提升用户体验。此外,通过整合优质教育资源、提供丰富的互动机制和学习工具,有助于激发用户的学习兴趣和积极性,提高学习效果。

更重要的是,该研究对于推动教育信息化进程、促进教育公平具有积极意义。在线教育平台的普及和应用,可以打破地域、经济等因素对教育资源的限制,使得更多人能够享受到优质的教育资源和服务。这对于缩小教育差距、提升国民素质、推动社会进步具有重要意义。

综上所述,基于SpringBoot的在线教育平台的设计与实现研究,不仅有助于深化在线教育平台构建技术的理解,还能直接应用于实践,提高在线教育平台的质量和效率,推动教育信息化进程,具有重要的理论和实践意义。

1.2 国内外研究现状

随着信息技术的快速发展,在线教育平台逐渐成为教育领域的重要组成部分。国内外学者和开发者通过不同的技术手段,设计和实现了多种在线教育平台,旨在提升教育资源的可访问性、教学效率和学习体验。

1.2.1国外研究现状

在国外,随着在线教育的普及和技术的不断进步,研究者们致力于探索如何提升在线教育平台的质量和用户体验。例如Zijian Zhang等 在《Sustainability》期刊中研究了大学教师在“新常态”下持续使用在线教学平台的意愿及其影响因素。他们通过调查和分析,探讨了技术普及和网络访问对在线教育质量的影响,并提出了提升教育信息化水平的策略。该研究为在线教育平台的持续使用提供了理论支持和实践指导[1]。Mohamed Elsayed Ahmed和Shinobu Hasegawa 在《Education Sciences》期刊中提出了一种新的专门学习平台,旨在提升学生在设计和制作在线教育有声书(ETBs)方面的技能。他们开发了一个基于Web的系统,包含多种创新工具和学习内容,通过准实验设计验证了平台的有效性。该研究为在线教育平台的功能扩展提供了新的思路[2]。Xiuying Dong和Zhijun Guo 在《Mobile Networks and Applications》期刊中提出了一种改进的在线教育平台信息共享方法。他们基于熵值法和K-means算法,解决了信息孤岛和数据稀疏问题,并通过奇异值分解(SVD)算法实现了信息降维,提升了信息共享效率。该研究为在线教育平台的信息管理提供了技术参考[3]。

1.2.2国内研究现状

在国内,随着教育信息化的推进,越来越多的学者和开发者开始关注在线教育平台的设计与实现。例如:郑若鹢 在《信息记录材料》期刊中应用Spring Cloud框架开发了一个在线教育平台。该平台通过注册中心、配置中心、服务网关等构建支撑服务,后端基础服务包括用户服务、课程服务、资源服务等,前端应用Vue、Element Plus、Axios等技术构建。通过结合Resilience4j和链路监控,构建了一个松耦合、可容错、易扩展的在线教育系统[4]。李启东 在《福建电脑》期刊中设计并实现了一款基于微服务架构的在线教育平台。该平台使用Vue.js作为前端框架,后端采用SpringBoot和SpringCloud构建微服务架构,持久层采用关系型数据库和缓存技术。通过对讲师管理、课程内容、权限分配等关键领域的微服务模块划分,提升了系统的可靠性和可扩展性[5]。张琳吝和张亮 在《中国战略新兴产业》期刊中设计了一款个性化学习资源推荐系统。该系统基于协同过滤推荐算法,完成了系统架构和数据库设计,实现了用户登录、数据采集、数据预处理、数据分析和个性化推荐等功能。结果表明,该系统具有操作简单、智能高效、推荐精确度高、安全可靠等特点[6]。

另外宋锦华 在《电脑编程技巧与维护》期刊中采用SSM框架和MySQL数据库设计了一个在线教育平台。该平台不仅支持教师和学生进行线上教学,还为学生提供了系统性和专业性的引导和服务,为学生自学创造了条件,也为教师和学生提供了良好的沟通条件[7]。薛航 在《信息技术与信息化》期刊中开发了一个基于B/S的在线教育平台。后台采用Spring、SpringMVC、MyBatis快速搭建环境,使用Shiro进行权限控制,使用MySQL存储数据,使用Redis存储缓存数据,采用青牛云存储平台存储系统文件。页面采用Bootstrap前端框架实现,核心功能包括课程管理、课程信息录入、教师答疑等[8]。

综上所述,国内外学者和实践者在基于SpringBoot的在线教育平台设计与实现方面取得了显著成果。国外研究更注重平台使用意愿的影响因素分析以及专门平台的开发,而国内研究则侧重于架构设计、微服务应用、个性化推荐等方面的探索。这些研究为在线教育平台的进一步优化和发展提供了宝贵的参考和借鉴。未来,随着技术的不断进步和教育理念的不断创新,在线教育平台的设计和实现将更加智能化、个性化和高效化。

1.3 主要研究内容

在开发在线教育平台时,后端采用了Java作为编程语言,并利用了SpringBoot框架,这使得复杂的业务逻辑和数据操作得以高效完成。与此同时,系统的数据存储和管理通过MySQL数据库实现。结合Vue.js作为前端框架,具有数据绑定和组件化的特点,能够有效地提升用户体验和开发效率。在开发工具的选取上,使用了eclipse,它的强大功能和易用性使得编程工作更为高效;而Navicat作为数据库管理工具,使得数据库操作更为方便和快捷。这样的技术选择,确保了管理系统的开发流程既高效又稳定。本系统主要实现包括系统用户、课程类型管理、课程信息管理、签到信息管理、作业信息管理、提交作业管理、消息通知管理、积分商城管理、商品类型管理、兑换信息管理、系统管理、公告通知管理、资源管理、在线考试。等功能进行管理。

第2章开发环境及技术架构

2.1 开发环境与工具 

在线教育平台使用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)Mybatis

Mybatis是一个优秀的持久层框架,它支持定制化SQL、存储过程和高级映射。Mybatis可以消除大部分的JDBC代码和参数的手工设置,让开发者更方便地操作数据库。Mybatis可以和Spring框架完美地集成,提高开发效率和性能。

(4)Tomcat

Tomcat是一种免费的服务器,它能够有效地处理大量的网络访问,特别是在访问量较少的情况下。当将Tomcat安装在电脑上时,它能够自动分析前端HTML页面的请求,从而提高网络的性能。事实上,Tomcat是对Apache的一种延伸[7],但它与Apache之间的关系更加紧密,因为它们在不同的进程中运行,而且它们之间也有着自己的独立性。

(5)Vue.js

Vue.js是一个轻量级的、用于构建用户界面的渐进式框架。它与其他大型框架不同,Vue.js采用了自底向上的设计思想,可以逐层地应用到项目中。Vue.js的核心库只关注视图层,易于上手,也便于与第三方库或现有项目集成。另一方面,Vue.js也可以与现代化的工具链和各种支持库结合使用,从而实现复杂的单页应用程序。

2.2 技术架构

本系统是基于SpringBoot、Mysql、Vue的前后端完全分离的后台管理系统。

2.2.1 B/S模式

B/S模式,即浏览器/服务器模式,是一种常见的网络应用架构模式。在B/S模式中,用户通过浏览器作为客户端与服务器进行交互。在浏览器/服务器(browser / Server Architecture)系统中,用户只需通过浏览器,就能够轻松地向分布在网络各处的众多服务器发送海量的请求。B/S系统大大地简化了客户端的工作,让用户体验更加便捷。

2.2.2 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使开发者能够专注于业务逻辑的编码,而不用在配置和业务之间切换思维,这在很大程度上提高了开发效率,缩短了项目开发周期。

第3章需求分析

3.1 可行性分析

通过综合考虑经济、操作、技术等因素,可以对基于SpringBoot的在线教育平台的设计与实现的可行性进行全面评估。这将有助于确定项目的成功概率,并为项目规划提供坚实的基础。

3.1.1 经济可行性分析

经济可行性在此仅代表系统的运维成本,开发成本不在此考虑。

目前该模式下的相关系统的数量日益增多,信息管理系统的平民化、普及化使用户人数呈上升趋势,当用户人数庞大了,运维成本可以由广告费进行填补,包括开发成本。

所以经济可行性没有问题。

3.1.2 操作可行性分析

此次项目设计参考了几个该模式下系统的开发案例,对他们的操作界面分析,将众多案例结合在一起,突出以人为本简化操作,所以具有基本计算机知识的人都会操作本项目。

因此操作可行性也没有问题。

3.1.3 技术可行性分析

技术可行性指的是对于搭建框架的可行性,以及有更优秀的技术出现时系统的技术更新换代的纳新性如何,开发时间成本费用比如何。

现有的JAVA语言能够迎合所有系统的搭建。开发这个在线教育平台的时候我采用了JAVA+SpringBoot+Vue 用以运行整体程序。

综上所述技术可行性也没有问题。

3.2 功能需求分析

通过对应的功能做了需求分析以后该在线教育平台各角色主要包括的功能说明如下:

一、普通用户功能描述:

登录注册:用户可以通过手机号或邮箱进行注册和登录,确保个人信息安全。

首页:展示推荐课程、热门新闻及最新公告,方便用户快速获取重要信息。

在线考试:提供线上考试服务,用户可参与测试检验学习成果。

公告通知:实时展示平台重要公告,确保用户及时获取关键信息。

新闻资讯:发布行业动态、学习资源等新闻,助力用户拓宽视野。

课程信息:展示所有课程列表,用户可根据需求选择学习。

作业信息:查看教师布置的作业,并在线提交答案。

积分商城:用户可通过学习积分兑换商品,享受学习成果。

我的账户:管理个人信息、密码等,确保账户安全。

个人中心:包括个人首页、签到信息、提交作业、消息通知、兑换信息、错题记录、收藏、评论管理等功能,全面记录学习历程。

在线教育平台普通用户角色用例图如下所示。

图3-1 普通用户角色用例图

二、教师用户功能描述:

登录注册:教师同样通过手机号或邮箱进行注册和登录。

后台首页:教师专属管理界面,展示教学相关重要信息。

课程信息管理:发布、编辑、删除课程,管理课程资源。

签到信息管理:查看学生签到情况,确保课堂出勤率。

作业信息管理:布置、批改作业,查看学生完成情况。

提交作业管理:查看学生作业提交情况,进行在线批改。

在线考试:创建、发布、批改在线考试试卷,评估学生学习效果。

在线教育平台教师用户角色用例图如下所示。

图3-2 教师用户角色用例图

三、管理员功能描述:

登录:管理员通过专用账号登录平台。

后台首页:展示平台全局信息,便于管理员管理。

系统用户:管理所有用户信息,确保平台安全。

课程类型管理:分类管理课程,提高课程查找效率。

课程信息管理:审核、发布、下架课程,确保课程质量。

签到信息管理:统计学生签到数据,评估课堂出勤。

作业信息管理:监控作业布置与完成情况,优化作业管理。

提交作业管理:查看并管理学生作业提交情况。

消息通知管理:发送平台公告、通知,确保信息传达。

积分商城管理:管理积分商品、兑换规则,提升用户体验。

商品类型管理:分类管理积分商城商品,便于用户查找。

兑换信息管理:记录用户兑换信息,确保兑换流程顺畅。

系统管理:配置平台参数,确保系统稳定运行。

公告通知管理:发布、编辑、删除平台公告,确保信息更新及时。

资源管理:管理课程资源、教学资料,优化资源利用。

在线考试:监控考试流程,确保考试公平公正。

在线教育平台管理员角色用例图如下所示。

图3-3 管理员角色用例图

综上所述,基于SpringBoot的在线教育平台的设计与实现设计与实现的功能需求分析应充分考虑普通用户、教师用户和管理员的不同需求,确保系统功能的丰富性、实用性和安全性。

3.3 性能需求分析

用户操作响应时间:系统应保证用户在操作系统时的响应速度,例如在线教育等操作应该迅速响应。

系统稳定性:系统应具备一定的容错能力和稳定性,防止因为意外情况导致系统崩溃。

数据安全:用户信息等敏感数据需要加密存储,确保数据安全性。

系统并发能力:系统应考虑到可能大量用户同时访问的情况,保证系统的并发处理能力。

日志记录:系统需要记录用户操作日志、异常日志等,便于排查问题和分析用户行为。

基于以上性能需求将确保在线教育平台能够稳定、高效地运行,能够很好地满足用户和管理员的需求。

3.4 系统流程分析

3.4.1 用户注册流程图

注册的过程,第一部分是账号的注册,第二部分是信息完善。在业务开展过程中,管理员可对用户信息进行修改等管理操作,注册流程如图3-4所示。

图3-4 用户注册流程图

3.4.2 用户登录流程图

登录时,用户填写用户名、密码、选择身份进行登录,在登录过程中后端会对发送过来的信息进行验证和判断,具体的登录流程如图3-5用户登录流程图所示。

图3-5 用户登录流程图

第4章系统设计

4.1 系统功能设计

4.1.1 前台功能模块

基于SpringBoot的在线教育平台的设计与实现采用前后端分离的设计,游客可以浏览系统前台信息,注册成为普通用户,登录后才可进行其他操作。普通用户登录后,可搜索和浏览新闻资讯、课程信息、作业信息、积分商城等信息。系统前台功能模块图如下图所示。

图4-1系统前台功能模块图

4.1.2 后台功能模块

后台功能主要分为教师用户和管理员两大模块。其中管理员是系统最高权限拥有者,可系统用户、课程类型管理、课程信息管理、签到信息管理、作业信息管理、提交作业管理、消息通知管理、积分商城管理、商品类型管理、兑换信息管理、系统管理、公告通知管理、资源管理、在线考试等信息进行管理,并保证及时更新系统信息,维护系统正常运行。教师用户可对课程信息管理、签到信息管理、作业信息管理、提交作业管理、在线考试等信息进行管理。系统后台功能模块图如下图所示。

图4-2系统后台功能模块图

4.2 数据库设计

数据库的设计是系统的设计中比较重要的一部分内容,数据库设计是一切系统设计的基础,首先需要进行概念模型E-R图的设计,然后进行关系模型物理模型的建立。

4.2.1 概念模型

本文在系统分析阶段就抽取了一些实体,根据实体之间的关系,经过分析进行系统E-R图的设计。在线教育平台总体E-R图如下图所示。

图4-3系统总体E-R图

4.2.2 物理模型

本系统采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

更新时间:

表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:

表course_information (课程信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

course_information_id

int

10

0

N

Y

课程信息ID

2

course_name

varchar

64

0

Y

N

课程名称

3

course_type

varchar

64

0

Y

N

课程类型

4

cover_photo

varchar

255

0

Y

N

封面图片

5

course_video

varchar

255

0

Y

N

课程视频

6

course_materials

varchar

255

0

Y

N

课程资料

7

release_personnel

int

10

0

Y

N

0

发布人员

8

teachers_name

varchar

64

0

Y

N

教师姓名

9

release_date

date

10

0

Y

N

发布日期

10

course_content

longtext

2147483647

0

Y

N

课程内容

11

hits

int

10

0

N

N

0

点击数

12

praise_len

int

10

0

N

N

0

点赞数

13

collect_len

int

10

0

N

N

0

收藏数

14

comment_len

int

10

0

N

N

0

评论数

15

sign_in_information_limit_times

int

10

0

N

N

0

签到限制次数

16

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

17

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表course_type (课程类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间

表exam_question_database (试题库)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表exchange_information (兑换信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

exchange_information_id

int

10

0

N

Y

兑换信息ID

2

product_code

varchar

64

0

Y

N

商品编号

3

product_name

varchar

64

0

Y

N

商品名称

4

product_type

varchar

64

0

Y

N

商品类型

5

required_points

double

9

2

Y

N

0.00

所需积分

6

ordinary_users

int

10

0

Y

N

0

普通用户

7

user_name

varchar

64

0

Y

N

用户姓名

8

user_points

double

9

2

Y

N

0.00

用户积分

9

phone_number

varchar

64

0

Y

N

手机号码

10

exchange_date

date

10

0

Y

N

兑换日期

11

remarks_details

text

65535

0

Y

N

备注详情

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

14

source_table

varchar

255

0

Y

N

来源表

15

source_id

int

10

0

Y

N

来源ID

16

source_user_id

int

10

0

Y

N

来源用户

表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:

表homework_information (作业信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

homework_information_id

int

10

0

N

Y

作业信息ID

2

assignment_name

varchar

64

0

Y

N

作业名称

3

course_type

varchar

64

0

Y

N

课程类型

4

teacher_users

int

10

0

Y

N

0

教师用户

5

teachers_name

varchar

64

0

Y

N

教师姓名

6

cover_photo

varchar

255

0

Y

N

封面图片

7

homework_attachment

varchar

255

0

Y

N

作业附件

8

release_date

date

10

0

Y

N

发布日期

9

homework_details

longtext

2147483647

0

Y

N

作业详情

10

hits

int

10

0

N

N

0

点击数

11

praise_len

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

submit_homework_limit_times

int

10

0

N

N

0

提交限制次数

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表message_notification (消息通知)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

message_notification_id

int

10

0

N

Y

消息通知ID

2

ordinary_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

notification_date

date

10

0

Y

N

通知日期

5

notification_content

text

65535

0

Y

N

通知内容

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表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

更新时间:

表ordinary_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

ordinary_users_id

int

10

0

N

Y

普通用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_age

varchar

64

0

Y

N

用户年龄

4

user_gender

varchar

64

0

Y

N

用户性别

5

phone_number

varchar

16

0

N

N

手机号码

6

user_points

double

9

2

Y

N

0.00

用户积分

7

examine_state

varchar

16

0

N

N

已通过

审核状态

8

user_id

int

10

0

N

N

0

用户ID

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表points_mall (积分商城)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

points_mall_id

int

10

0

N

Y

积分商城ID

2

product_code

varchar

64

0

Y

N

商品编号

3

product_name

varchar

64

0

Y

N

商品名称

4

product_type

varchar

64

0

Y

N

商品类型

5

cover_photo

varchar

255

0

Y

N

封面图片

6

required_points

double

9

2

Y

N

0.00

所需积分

7

product_specifications

varchar

64

0

Y

N

商品规格

8

product_details

longtext

2147483647

0

Y

N

商品详情

9

hits

int

10

0

N

N

0

点击数

10

praise_len

int

10

0

N

N

0

点赞数

11

collect_len

int

10

0

N

N

0

收藏数

12

comment_len

int

10

0

N

N

0

评论数

13

exchange_information_limit_times

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

更新时间

表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已取消

表product_type (商品类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

product_type_id

int

10

0

N

Y

商品类型ID

2

product_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

更新时间

表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:

表sign_in_information (签到信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

sign_in_information_id

int

10

0

N

Y

签到信息ID

2

course_name

varchar

64

0

Y

N

课程名称

3

course_type

varchar

64

0

Y

N

课程类型

4

release_personnel

int

10

0

Y

N

0

发布人员

5

teachers_name

varchar

64

0

Y

N

教师姓名

6

ordinary_users

int

10

0

Y

N

0

普通用户

7

user_name

varchar

64

0

Y

N

用户姓名

8

phone_number

varchar

16

0

Y

N

手机号码

9

sign_in_points

varchar

64

0

Y

N

签到积分

10

check_in_time

datetime

19

0

Y

N

签到时间

11

sign_in_remarks

text

65535

0

Y

N

签到备注

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

14

source_table

varchar

255

0

Y

N

来源表

15

source_id

int

10

0

Y

N

来源ID

16

source_user_id

int

10

0

Y

N

来源用户

表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

更新时间:

表subject

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

表subject_exam (考试)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

出题人

表subject_exam_question (试题)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

8

0

N

N

所属试卷

10

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表subject_user_answer (用户答题)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_answer_id

mediumint

8

0

N

Y

2

user_id

mediumint

7

0

N

N

用户ID:[0,8388607]用户获取其他与用户相关的数据

3

exam_id

mediumint

8

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

更新时间:

13

comment_desc

varchar

255

0

Y

N

评语

表submit_homework (提交作业)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

submit_homework_id

int

10

0

N

Y

提交作业ID

2

assignment_name

varchar

64

0

Y

N

作业名称

3

course_type

varchar

64

0

Y

N

课程类型

4

teacher_users

int

10

0

Y

N

0

教师用户

5

teachers_name

varchar

64

0

Y

N

教师姓名

6

ordinary_users

int

10

0

Y

N

0

普通用户

7

user_name

varchar

64

0

Y

N

用户姓名

8

homework_submission

varchar

255

0

Y

N

作业提交

9

submission_time

datetime

19

0

Y

N

提交时间

10

submit_remarks

text

65535

0

Y

N

提交备注

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

13

source_table

varchar

255

0

Y

N

来源表

14

source_id

int

10

0

Y

N

来源ID

15

source_user_id

int

10

0

Y

N

来源用户

表teacher_users (教师用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

teacher_users_id

int

10

0

N

Y

教师用户ID

2

teacher_id

varchar

64

0

Y

N

教师工号

3

teachers_name

varchar

64

0

Y

N

教师姓名

4

teacher_gender

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

更新时间

表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

email

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_answer_wrong (用户答题)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

8

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

更新时间:

第5章系统实现

5.1 系统实现概述

本文研究的在线教育平台基于SpringBoot框架开发,旨在提供用户便捷的在线教育在线教育体验。系统支持用户注册和登录,浏览公告通知、新闻资讯、课程信息等信息。系统还包括管理员功能,用于管理用户、在线考试、资源管理、公告通知管理、系统管理等。整体设计追求简洁高效,以提升用户体验和系统运行效率为目标。

本设计的前端系统每个页面都具备必要的交互设计,较好地呈现了在线教育平台的基础功能。组件的构建上思路清晰,易于理解,扁平风格突出简洁,配色清新。游客注册成为普通用户即可登录系统前台实现各项操作。

5.2系统前台模块

5.2.1普通用户登录界面

用户输入用户名和密码后,系统首先对这些输入进行基本的格式验证,确保用户名和密码符合系统设定的格式要求(如长度、特殊字符要求等)。系统接收到用户输入后,会根据用户名查找系统中存储的用户信息数据库或者其他持久化存储方式。系统需要验证密码的正确性,验证成功即可成功登录。

            • 5.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, "账号或密码不正确");

        }

    }

5.2.2用户注册界面

用户注册时,系统要求用户提供必要的信息,例如用户名、密码、电子邮件地址等。这些信息通常由用户在注册表单中输入,并通过前端验证确保格式的正确性。注册过程完成后,系统会为新用户创建一个账户。这包括分配一个唯一的用户ID和设置初始的权限或者角色。

            • 5.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);

}     

5.2.3普通用户首页界面

普通用户登录系统后首先进入首页界面,展示推荐课程、热门考试、最新公告等关键信息,帮助用户迅速捕捉学习重点。

例如,普通用户前台首页主界面图如下所示。

            • 5.3普通用户首页主界面设计

例如,普通用户前台首页课程信息界面图如下所示。

            • 5.4普通用户课程信息详情界面设计

例如,普通用户前台首页公告通知界面图如下所示。

            • 5.5普通用户公告通知详情界面设计

5.2.4普通用户个人中心界面

个人中心包括个人首页、签到信息、提交作业、消息通知、兑换信息、错题记录、收藏、评论管理等功能。用户可以在个人首页查看自己的学习进度、成绩等信息;签到信息记录用户的签到情况,鼓励用户保持学习热情;提交作业功能方便用户在线提交作业;消息通知功能确保用户能够及时接收到平台的消息提醒;兑换信息记录用户的积分兑换情况;错题记录功能帮助用户回顾和巩固错误知识点;收藏功能方便用户收藏感兴趣的课程或资讯;评论管理功能允许用户对课程或资讯进行评论和互动。

例如,普通用户个人中心主界面设计如下所示。

            • 5.6普通用户个人中心主界面设计

例如,提交作业界面图如下所示。

            • 5.7普通用户提交作业界面设计

例如,错题记录界面图如下所示。

            • 5.8普通用户错题记录界面设计

5.3教师用户模块

5.3.1课程信息管理界面

教师可以发布、编辑、删除课程信息,管理课程资源,确保课程内容的准确性和完整性。

例如,教师用户课程信息列表界面图如下所示。

            • 5.9教师用户课程信息列表界面设计

例如,课程信息添加界面图如下所示。

            • 5.10课程信息添加界面设计

5.3.2作业信息管理界面

教师可以布置、批改作业,查看学生的完成情况,及时给予反馈和指导,帮助学生提升学习效果。

例如,教师用户作业信息列表界面图如下所示。

            • 5.11教师用户作业信息列表界面设计

            • 5.12教师用户作业信息添加界面设计

5.3.3课签到信息管理界面

教师可以查看学生的签到情况,统计课堂出勤率,了解学生的学习态度。

例如,教师用户签到信息管理界面图如下所示。

            • 5.13教师用户签到信息管理界面设计

5.4后台管理模块

5.4.1系统用户管理界面

管理员可对普通用户、教师用户和管理员等用户信息进行管控,可以查看和编辑所有系统用户的信息。

            • 5.14系统用户管理界面设计

增删改代码如下:

新增一条数据,通过post传入一个json对象,然后经过request.getReader(),最后经过readBody()转成一个Map,含有String和Object,key用的是字段名,Object存放数据,最终得到Map,insert用拼装sql,读取body,组装成一个insert对象,runCountSql()语句,代码如下:

    @PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

public Map<String, Object> addMap(Map<String,Object> map){

    service.insert(map);

     return success(1);

 }

修改一个数据,原理与add基本一致,不同点在于通过readConfig()读取关键字,以及通过readQuery()获取URL后面?指定位置的标识,转成Map对象后,执行update操作,同样通过拼接的sql语句执行,执行过程读取query,toWhereSql()语句完成数据库操作,body为修改对象的值,代码如下:

    @PostMapping("/set")

@Transactional

    public Map<String, Object> set(HttpServletRequest request) throws IOException {

        service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));

        return success(1);

    }

删除一条数据,通过readQuery(),获取URL后面的对象地址,删除FROM具体的table,query删除查询FindConfig语句,代码如下:

    @RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

    }

    public void delete(Map<String,String> query,Map<String,String> config){

        QueryWrapper wrapper = new QueryWrapper<E>();

        toWhereWrapper(query, "0".equals(config.get(FindConfig.GROUP_BY)),wrapper);

        baseMapper.delete(wrapper);

        log.info("[{}] - 删除操作:{}",wrapper.getSqlSelect());

    }

5.4.2公告通知管理界面

管理员可查看所有公告通知信息,进行发布、编辑、删除系统的公告通知,确保用户及时获取重要信息。

            • 5.15公告通知管理界面设计

5.4.3课程信息管理界面

管理员可查看所有课程信息管理信息,进行查询和删除操作,确保课程信息的准确性和完整性。

            • 5.16课程信息管理详情界面设计

5.4.4系统管理界面

管理员可对首页的轮播图进行管理,进行增删改查操作,可点击详情进行查阅。

            • 5.17系统管理设计界面

图片/文件/视频等的上传方法通过MultipartFile,代码如下:

   @PostMapping("/upload")

    public Map<String, Object> upload(@RequestParam("file") MultipartFile file) {

        log.info("进入方法");

        if (file.isEmpty()) {

            return error(30000, "没有选择文件");

        }

        try {

            //判断有没路径,没有则创建

            String filePath = System.getProperty("user.dir") + "/src/main/resources/static/";

            File targetDir = new File(filePath);

            if (!targetDir.exists() && !targetDir.isDirectory()) {

                if (targetDir.mkdirs()) {

                    log.info("创建目录成功");

                } else {

                    log.error("创建目录失败");

                }

            }

            String fileName = file.getOriginalFilename();

            File dest = new File(filePath + fileName);

            log.info("文件路径:{}", dest.getPath());

            log.info("文件名:{}", dest.getName());

            file.transferTo(dest);

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("url", "/api/upload/" + fileName);

            return success(jsonObject);

        } catch (IOException e) {

            log.info("上传失败:{}", e.getMessage());

        }

        return error(30000, "上传失败");

    }

第6章系统测试

6.1 测试目的

在对该系统进行完详细设计和编码之后,就要对在线教育平台的程序进行测试,检测程序是否运行无误,反复进行测试和修改,使之最后成为完整的软件,满足用户的需求,实现预期的功能。系统测试的目的在于确保软件正常运作,并实现其应有的功能,促进行中出现的错误和逻辑问题。系统测试不但可以找见程序运行中的系统错误,还可以找见程序运行的需要改进的地方,并去协助改良程序运行使其获得最高幅度的完备。世界一流的安装测试员可以增加软件品质,将软件系统错误概率降至最少。

6.2 功能测试

本系统的主要功能就是普通用户登录后,可搜索和浏览课程信息,教师用户和管理员登录系统后台后可对课程信息进行管理,包括增改删查操作。测试设计如下所示:

  1. 登录模块功能测试

用户登录前首先需注册成为系统用户,使用账号和密码可进行登录。用户登录功能测试用例设计如下表所示:

表6-1 用户登录功功能测试用例

测试编号

测试目的

测试步骤

预期结果

实际结果

是否通过

TC001

验证有效登录

1. 输入正确的用户名和密码 <br> 2. 点击登录按钮

显示登录成功,跳转至用户首页

登录成功,跳转至用户首页

通过

TC002

验证空用户名登录

1. 不输入用户名,输入正确密码 <br> 2. 点击登录按钮

显示用户名不能为空提示信息

显示用户名不能为空提示信息

通过

TC003

验证空密码登录

1. 输入正确用户名,不输入密码 <br> 2. 点击登录按钮

显示密码不能为空提示信息

显示密码不能为空提示信息

通过

TC004

验证错误用户名登录

1. 输入错误的用户名和正确密码 <br> 2. 点击登录按钮

显示用户名或密码错误提示信息

显示用户名或密码错误提示信息

通过

TC005

验证错误密码登录

1. 输入正确用户名和错误密码 <br> 2. 点击登录按钮

显示用户名或密码错误提示信息

显示用户名或密码错误提示信息

通过

  1. 课程信息模块功能测试

课程信息模块测试包括课程信息展示功能测试、课程信息添加功能测试、课程信息搜索等功能测试。课程信息模块测试用例如表6.2-6.4所示。

课程信息展示功能测试用例设计如下表所示:

表6-2 课程信息展示功能测试用例

测试编号

测试目的

测试步骤

预期结果

实际结果

是否通过

TC001

验证正常展示课程信息

1. 进入课程信息展示页面 <br> 2. 浏览展示的课程信息内容

能够正常显示课程信息内容

课程信息内容正常显示

通过

TC002

验证课程信息链接跳转

1. 进入课程信息展示页面 <br> 2. 点击课程信息链接

能够跳转至相应课程信息详情页面

成功跳转至课程信息详情页面

通过

TC003

验证搜索功能

1. 进入课程信息展示页面 <br> 2. 使用搜索功能搜索课程信息

显示符合搜索条件的课程信息列表

显示符合搜索条件的课程信息列表

通过

TC004

验证科目分类展示

1. 进入课程信息展示页面 <br> 2. 选择科目分类

显示该分类下的课程信息列表

成功显示该分类下的课程信息列表

通过

TC005

验证课程信息的评论功能

1. 进入课程信息详情展示页面 <br> 2. 查看课程信息并发表评论

评论成功显示在课程信息页面

评论成功显示在课程信息页面

通过

课程信息添加功能测试用例设计如下表所示:

表6-3 课程信息添加功能测试用例

测试编号

测试目的

测试步骤

预期结果

实际结果

是否通过

TC001

验证添加课程信息

1. 进入课程信息添加界面 <br> 2. 输入课程信息信息 <br> 3. 点击添加按钮

课程信息成功添加到系统页面中

课程信息成功添加到系统页面中

通过

TC002

验证课程信息科目分类选择

1. 进入课程信息添加界面 <br> 2. 选择科目分类 <br> 3. 输入课程信息信息 <br> 4. 提交课程信息信息

根据选择的课程信息科目分类成功添加课程信息

根据选择的课程信息类型成功添加课程信息

通过

TC003

验证课程信息内容输入

1. 进入课程信息添加界面 <br> 2. 输入正确课程信息内容和答案 <br> 3. 点击添加按钮

课程信息内容成功录入系统

课程信息内容成功录入系统

通过

TC004

验证课程信息图片上传

1. 进入课程信息添加界面 <br> 2. 上传课程信息相关图片 <br> 3. 点击添加按钮

图片成功上传并与课程信息关联

图片成功上传并与课程信息关联

通过

课程信息搜索功能测试用例设计如下表所示:

表6-4 课程信息搜索功能测试用例

测试编号

测试目的

测试步骤

预期结果

实际结果

是否通过

TC001

验证课程信息输入物品名称搜索

1. 进入课程信息搜索界面 <br> 2. 输入物品名称 <br> 3. 确认并搜索

根据选择的物品名称关键词显示相关课程信息信息

根据选择的物品名称关键词成功显示相关课程信息信息

通过

TC002

验证课程信息输入科目分类搜索

1. 进入课程信息搜索界面 <br> 2. 输入科目分类 <br> 3. 确认并搜索

根据选择的科目分类关键词显示相关课程信息信息

根据选择的科目分类关键词成功显示相关课程信息信息

通过

TC003

验证课程信息选择审核状态搜索

1. 进入课程信息搜索界面 <br> 2. 输入审核状态 <br> 3. 确认并搜索

根据选择的审核状态关键词显示相关课程信息信息

根据选择的审核状态关键词成功显示相关课程信息信息

通过

6.3 性能测试

  1. 兼容性测试

表6-7 兼容性测试用例

用例编号

测试类型

测试目标

操作过程

预期结果

兼容性_01

设备兼容性

测试系统在不同设备上的表现

在多种设备上访问系统并记录表现

系统在各种设备上都能正常加载和显示页面

兼容性_02

浏览器兼容性

测试系统在不同浏览器上的表现

在多种浏览器中访问系统并记录表现

系统在各种主流浏览器上都能正常加载和显示页面

兼容性_03

分辨率兼容性

测试系统在不同分辨率下的显示效果

在不同分辨率的设备上访问系统并记录表现

系统在各种分辨率下都能适应并正常显示内容

兼容性_04

操作系统兼容性

测试系统在不同操作系统上的运行情况

在不同操作系统上访问系统并记录表现

系统能够在常用操作系统上正常运行和显示

  1. 性能测试

表6-8 性能测试用例

用例编号

测试类型

测试目标

操作过程

预期结果

性能_01

负载测试

测试系统在正常负载下的性能

逐步增加用户数来模拟不同的负载情况

系统能够稳定处理并响应不同数量的用户请求

性能_02

压力测试

测试系统在极端负载下的性能

以超过系统承受极限的用户数来测试系统

系统能够在高负载情况下仍然保持正常运行

性能_03

并发测试

测试系统能同时处理多少并发用户请求

同时发送多个并发用户请求来测试系统性能

系统能够有效地处理多个并发请求

性能_04

数据量测试

测试系统在大数据量下的性能

向系统添加大量数据并测试系统响应时间

系统能够在大数据量情况下保持较快的响应时间

6.4 测试结果

全部测试用例都已通过,且不存在漏洞,实现了本论文开始时所作要求和期望。本系统运行稳定,使用流畅,可以满足客户需求。试运行后进行系统评估,可以认为该系统达到预定的目标要求,可以满足用户的需求,也满足了系统开发前所作目标。系统在经过大量重复测试后运行十分稳定,安全实用,功能模块已经达到预定目标所需。在规定的时间内实现系统的大部分功能,且满足要求,节省开发成本,有助于提高科学管理水平,符合本人经济情况。

简而言之,经过严格的测试,可以发现该系统的功能和性能非常出色,它的精度、可靠性、稳健性都达到了极高的水平,而且它还支持快速、精细的点击操作,使用者的使用感受更加良好。此外,它还支持各种主流浏览器,满足不同的使用要求。

第7章总结与展望

在基于SpringBoot框架下的在线教育平台设计与实现中,通过普通用户、教师用户以及管理员等角色的划分,实现了多层次的系统用户管理和权限控制。通过课程信息管理、课程类型管理等功能模块,提供了便捷高效的在线教育体验。同时,系统用户管理、课程信息管理、课程类型管理、系统管理、公告通知管理、资源管理、评论管理等功能的引入,进一步增强了系统的交互性和用户满意度,有效保障了在线教育的公平性和系统的稳定运行。资源管理和评论管理的实施,不仅丰富了系统的内容,也促进了用户之间的信息交流与互动。

在未来的发展中,可以进一步优化系统的响应速度和用户体验,加强对用户行为的深度分析,以实现个性化推荐和精准营销。同时,结合先进技术,提升系统的智能化水平,为用户提供更加智能化、便捷化的服务。此外,加强对安全性的防护和隐私保护,是系统未来发展的重要方向之一,保障用户信息的安全与私密性,维护良好的用户口碑和品牌形象。

通过不断优化和创新,基于SpringBoot的在线教育平台的设计与实现将更好地满足用户的多样化需求,成为用户信赖和选择的首要系统之一。通过本次项目,我不仅深入理解了SpringBoot框架的应用和在线教育平台的设计思路,也积累了丰富的实际开发经验。未来,我将进一步优化系统的稳定性和安全性,引入更多智能化和个性化的功能,以更好地满足用户需求和市场变化。

参考文献

  1. Zhang Z ,Lin Y ,Wang X , et al.Pathways to Resilient and Sustainable Online Education in the New Normal: Interpreting University Teachers’ Willingness to Use Online Teaching Platforms Consistently[J].Sustainability,2024,16(23):10532-10532.
  2. Ahmed E M ,Hasegawa S .The Impact of a New Specialized Learning Platform on Enhancing Students’ Skills in Designing and Producing Online Educational Talking Books[J].Education Sciences,2024,14(12):1323-1323.
  3. Dong X ,Guo Z .Efficient Information Sharing Methods for Online Education Platforms[J].Mobile Networks and Applications,2024,(prepublish):1-14.
  4. 郑若鹢.应用Spring Cloud的在线教育平台的设计与实现[J].信息记录材料,2024,25(11):240-242.DOI:10.16009/j.cnki.cn13-1295/tq.2024.11.024.
  5. 李启东.微服务架构的在线教育平台设计与实现[J].福建电脑,2024,40(05):97-101.DOI:10.16707/j.cnki.fjpc.2024.05.018.
  6. 张琳吝,张亮.在线教育平台的个性化学习资源推荐系统设计和实现[J].中国战略新兴产业,2024,(08):51-53.
  7. 宋锦华.基于SSM框架的在线教育平台设计与实现[J].电脑编程技巧与维护,2022,(05):27-29.DOI:10.16184/j.cnki.comprg.2022.05.048.
  8. 薛航.在线教育平台的设计与实现[J].信息技术与信息化,2021,(06):185-187.
  9. 刘晓羽.面向K12的在线教育直播平台的设计与实现[J].数字技术与应用,2023,41(09):193-195+201.DOI:10.19695/j.cnki.cn12-1369.2023.09.60.
  10. 刘聪.基于Hadoop的在线教育分析平台的设计与实现[D].华东师范大学,2023.DOI:10.27149/d.cnki.ghdsu.2023.002725.
  11. 吴栋申.基于云原生架构的在线教育平台的设计与实现[D].华东师范大学,2023.DOI:10.27149/d.cnki.ghdsu.2023.000703.
  12. 徐智勇.基于Golang的在线教育平台设计与实现[D].武汉工程大学,2023.DOI:10.27727/d.cnki.gwhxc.2023.000535.
  13. 赵开未.基于联盟链的在线教育平台设计与实现[D].华中科技大学,2022.DOI:10.27157/d.cnki.ghzku.2022.000025.
  14. 姚鹏.基于gRPC的在线教育中间件平台的设计与实现[D].华中科技大学,2022.DOI:10.27157/d.cnki.ghzku.2022.000030.
  15. 方孝君.数据驱动的可扩展在线教育平台的设计与实现[D].华东师范大学,2022.DOI:10.27149/d.cnki.ghdsu.2022.000528.
  16. 达泓宇,田少卿,杜美玲,等.基于大数据的在线教育平台的设计与实现[J].微型电脑应用,2021,37(04):21-24.
  17. 余社平,刘自立,何芳.基于RabbitMQ构建在线教育培训平台的设计与实现[J].大学,2021,(11):113-114.
  18. 洪柏桦,毛文琪,瞿少成.一种基于微服务架构的在线教育平台设计与实现[J].电脑知识与技术,2021,17(04):10-12.DOI:10.14004/j.cnki.ckt.2021.0305.
  19. 吉国昌.基于微服务架构的在线直播教育平台的设计与实现[D].华中科技大学,2020.DOI:10.27157/d.cnki.ghzku.2020.006973.
  20. 李嘉蕊.基于SpringCloud的在线教育平台的设计与实现[D].华中科技大学,2020.DOI:10.27157/d.cnki.ghzku.2020.004593..

在完成本论文的研究与写作过程中,我深切感受到了来自各方的帮助和支持。在此,我衷心地向所有给予我帮助的人表示最诚挚的感谢。

首先,我要特别感谢我的导师,不仅在学术上给予我无私的指导,而且在生活上给予我关怀和支持。是您严谨的学术态度和勤奋的工作精神将永远激励我不断前进。

其次,我要感谢所有教导过我的老师们,是你们精彩课堂和深入的指导为我的研究工作提供了宝贵的知识和灵感。

我还要感谢我的家人,他们的理解和支持是我完成学业的坚强后盾。在我遇到困难和挑战时,他们总是给予我鼓励和力量。

此外,我也要感谢我的朋友和同学们,你们的陪伴和帮助使我的研究生活更加丰富多彩。我们共同度过的时光将成为我一生中宝贵的回忆。

最后,我要感谢所有支持本项目,为本项目提供建设性意见的人员,没有他们的协助,本论文无法顺利完成。

再次感谢所有帮助和支持我的人,是你们的帮助使我的研究之路不再孤单

免费领取项目源码,请关注❥点赞收藏并私信博主+v,谢谢~  

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值