【微信小程序学习交流平台】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案

摘 要

当今社会已经步入了科学技术进步和经济社会快速发展的新时期,国际信息和学术交流也不断加强,计算机技术对经济社会发展和人民生活改善的影响也日益突出,人类的生存和思考方式也产生了变化。传统学习交流管理采取了人工的管理方法,但这种管理方法存在着许多弊端,比如效率低下、安全性低以及信息传输的不准确等,同时由于学习交流管理中会形成众多的个人文档和信息系统数据,通过人工方法对课程信息、购买课程、学习资料、学习课程、学习进度等进行集中管理会形成检索、更改和维护等较为麻烦的管理问题,同时由于广大用户对网络技术的需求也日益高涨,于是信息技术也需要继续开展全新的改革以满足时代的需求。根据此问题,研发一套微信小程序的学习交流平台,既能够大大提高信息的检索、变更与维护的工作效率,也能够方便微信小程序的管理运用,从而减少信息管理成本,提高效率。

该微信小程序的学习交流平台采用Uni-weixin、SpringBoot架构技术,前端以小程序页面呈现给用户,结合后台java语言使页面更加完善,后台使用MySQL数据库进行数据存储。该微信小程序主要设计并完成了管理过程中的用户注册登录、个人信息修改、课程信息、考试、互动交流、奖励活动等功能。该微信小程序操作简便,界面设计简洁,不但可以基本满足本行业的日常管理工作,同时又可以有效减少人员成本和时间成本,为学习交流管理工作提供了方便。

关键词:微信小程序的学习交流平台;java语言;springboot框架;

Abstract

Today's society has entered a new era of scientific and technological progress and rapid economic and social development. International information and academic exchanges are also constantly strengthening, and the impact of computer technology on economic and social development and the improvement of people's lives is becoming increasingly prominent. The way humans survive and think has also changed. Traditional learning and communication management adopts manual management methods, but this management method has many drawbacks, such as low efficiency, low security, and inaccurate information transmission. At the same time, due to the formation of numerous personal documents and information system data in learning and communication management, centralized management of course information, purchase of courses, learning materials, learning courses, learning progress, etc. through manual methods will result in retrieval The more complicated management issues such as changes and maintenance, as well as the increasing demand for network technology from users, require information technology to continue to undergo new reforms to meet the needs of the times. Based on this issue, developing a learning and communication platform for WeChat mini programs can greatly improve the efficiency of information retrieval, change, and maintenance, as well as facilitate the management and application of WeChat mini programs, thereby reducing information management costs and improving efficiency.

The learning and communication platform of this WeChat mini program adopts Uni Weixin and SpringBoot architecture technology. The front-end presents the mini program page to users, and the back-end uses Java language to make the page more complete. The back-end uses MySQL database for data storage. This WeChat mini program mainly designs and completes functions such as user registration and login, personal information modification, course information, exams, interactive communication, and reward activities during the management process. This WeChat mini program is easy to operate and has a simple interface design. It can not only meet the daily management needs of the industry, but also effectively reduce personnel and time costs, providing convenience for learning, communicating, and managing work.

Keywords: a learning and communication platform for WeChat mini programs; Java language; Springboot framework;

目 录

[摘 要 I](#摘 要 I)

[Abstract I](#Abstract I)I

[++++1 概 述++++](#1 概 述)

[++++1.1 课题研究背景++++](#1.1 课题研究背景)

[++++1.2 微信小程序意义介绍++++](#1.2 微信小程序意义介绍)

[++++1.3++++ ++++国内外++++ ++++研究++++ ++++现状++++ 1](#1.3 国内外研究现状 1)

[++++2 系统开发环境及相关技术++++ 2](#2 系统开发环境及相关技术 2)

[++++2.1 系统开发环境++++ 2](#2.1 系统开发环境 2)

[++++2.2 系统开发技术++++ 2](#2.2 系统开发技术 2)

[++++2.2.1 Spring Boot框架介绍++++](#2.2.1 Spring Boot框架介绍)

[++++2.2.2 Java介绍++++](#2.2.2 Java介绍)

[++++2.2.3 MySQL数据库++++](#2.2.3 MySQL数据库)

++++2.2.4小微信公众号开发技术++++

[++++3 系统需求分析++++](#3 系统需求分析)

[++++2.1 可行性分析++++](#2.1 可行性分析)

[++++3.2 功能需求分析++++](#3.2 功能需求分析)

[++++3.3 系统流程分析++++](#3.3 系统流程分析)

[++++3.3.1 登录流程++++](#3.3.1 登录流程)

[++++3.3.2 添加信息流程++++](#3.3.2 添加信息流程)

[++++3.3.3 收藏信息流程++++](#3.3.3 收藏信息流程)

[++++4 系统设计++++](#4 系统设计)

[++++4.1 功能模块设计++++](#4.1 功能模块设计)

[++++4.2 系统数据库设计++++](#4.2 系统数据库设计)

[++++4.2.1 数据库系统++++](#4.2.1 数据库系统)

[++++4.2.2 数据库概念设计++++](#4.2.2 数据库概念设计)

[++++4.2.3 数据表设计++++](#4.2.3 数据表设计)

[++++4.2.4 数据表的建立++++](#4.2.4 数据表的建立)

[++++5 系统实现++++](#5 系统实现)

++++5.1用户微信端模块实现++++

++++5.2管理员服务端模块实现++++

[++++6 系统测试++++](#6 系统测试)

++++6.1软件测试过程++++

++++6.2测试用例++++

[++++结 论++++](#结 论)

[++++致 谢++++](#致 谢)

[++++参 考 文 献++++](#参 考 文 献)

1 概 述

1.1 课题研究背景

近年来,由于计算机技术和互联网技术的飞速发展,所以各企事业单位内部的发展趋势是数字化、信息化、无纸化,随着这一趋势,而各种决策小程序、辅助小程序也就应运而生了,其中,微信小程序是其中重要的组成部分[1]。

学习交流管理工作向来都是在学校中不可或缺的一部分,然而多年以来人们大都习惯使用传统方法,即人工来完成用户、课程信息、购买课程、学习资料、学习课程、学习进度、奖励活动等管理,但是这种方法存在着工作效率低以及保密性差的问题,同时还会生成大量的文本和数据,在检索数据时极大不便。随着科技发展进步,我们已进入了信息化社会,仅仅依靠传统的表格管理方式已不能适应时代的要求。因此使用计算机来进行接手传统方式已经势在必行[2]。

而通过计算机技术来实现的微信小程序的学习交流平台拥有对信息的快速检索、保存了大量的信息、信息系统保存的稳定性高和维护成本低等优点,对学习交流管理的工作效率也能提高。如今,传统的人工管理方法、文件和图表打印等信息传输方法已经不能满足当下学习交流管理的发展需求,计算机科学与互联网技术的蓬勃发展,颠覆了人们的生活以及思维方式。微信小程序的学习交流平台的出现,利用信息技术将学习交流管理融于网络平台中,成为学校提高管理水平的有利手段,将会成为未来发展的新模式[3]。

1.2 微信小程序意义介绍

如今微信已是亚洲地区最大用户群体的移动即时社交通信软件,并且微信已不止社交这么简单,它包含了生活、支付、娱乐、媒体等人们生活中经常用到的多种服务。第一个微信小程序于2017年1月问世,便是利用微信官方提供的服务接口而生的最新的应用技术[4]。微信的这项功能是开放申请的,无论是个人还是政府、媒体或其他组织都可以申请注册并开发小程序,并且微信官方提供了一套专门的开发工具给开发者。微信的小程序和订阅号、服务号和公众号是并行体系,它们有些像,但又不一样。微信之父张小龙表示:现在太多人做公众号而非APP,于是导致现在微信公众号变成了一个媒体化的平台,但是我们的本意并非如此,我们想要提供服务而不是传播推广信息,于是就有了小程序。在手机应用层出不穷且手机存储能力有限的今天,微信小程序作为一种轻度云端应用正好符合了目前人们的需求。根据微信官方的说法,小程序是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或者搜一下即可打开应用。应用将无处不在,随时可用,但又无须安装卸载[5]。可以说未来随着网络和云的发展,手机应用程序将不再局限于本地模式,而是逐渐向着云端体验进化。

1.3国内外研究现状

在国外,微信小程序的学习交流平台管理技术,早已变成了一款非常成熟的技术,那各种各样的针对广大用户的微信小程序的学习交流平台也随即出现,在当时来讲数据库是一个很大的问题,因此为了整体的提高工作状态,当时的开发者又根据具体的情况开发出了存储型的软件。此时的软件有了各方面技术的支撑,其中最主要的一点就是该软件借助了很多通讯的技术,而且集合了交叉了很多学科。由于系统工程融入了当时非常成熟的技术,所以这个时期的微信小程序的学习交流平台都更加的安全,系统维护起来也更有保障[6]。

在我国,微信小程序的学习交流平台的理论研究已经很深入了,以促进用户全面发展为指导思想,形成了社会规范化的微信小程序的学习交流平台机制。我国技术人数目众多,对微信小程序的学习交流平台管理也有了非常丰富的经验成果:一是从科学管理入手,将微信小程序的学习交流平台与其它主题结合;二是寻求微信小程序的学习交流平台的创新点,比如采用新的管理技术手段来有效地进行微信小程序的学习交流平台。

2 系统开发环境及相关技术

2.1 系统开发环境

本管理系统采用的集成开发环境为Eclipse,使用java等语言及springboot框架进行开发,其中硬件环境和软件环境如下:

  1. 硬件环境

处理器:Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz 3.00GHz

内存:8GB

  1. 软件环境

操作系统:windows 10 64位操作系统

开发工具:Eclipse

2. 2 系统开发技术

微信小程序的学习交流平台采用Uni-weixin、SpringBoot架构技术,前端以小程序页面呈现给用户,为B/S(Browser/Server)架构进行设计开发。在B/S架构下,用户在浏览器端进行使用,主要工作通过服务器端进行实现,用户通过网站进行访问大大节约了成本。本系统使用java等语言进行开发,使用MySQL进行数据存储。

2. 2. 1 Spring Boot框架 介绍

该框架拥有自己独特的配置方式,网站开发人员不需要再进行大量重复的样板 式的配置工作,开箱即用,不会生成额外代码量,不需要进行XML文件的配置。2.2 .2 Java介绍

Java 最大的两个特点就是功能强大和简单易用。Java可以让程序员进行复杂的编程而不必为储存管理对象等问题所烦恼,把精力和时间更多的放在研发与设计上,极大地提高了开发者的工作效率和工作热情。

2.2.3 MySQL数据库

MySQL是一款小型关系型数据库管理系统(Relational Database Management System),开发商为瑞典MySQLAB公司。关系型数据库将数据存放在不同的表中,使数据更加规范化。MySQL因其体积小、速度快、源码开放的特点,很多网站开发都将MySQL作为首选。

2.2.4 微信公众号开发技术

  1. 微信开发者工作是微信官方提供的针对微信小程序的开发工具,集中了开发,调试,预览,上传等功能。微信团队发布了微信小程序开发者工具、微信小程序开发文档和微信小程序设计指南,全新的开发者工具,集成了开发调试、代码编辑及程序发布等功能,帮助开发者简单和高效地开发微信小程序。

2.启动工具时,开发者需要使用已在后台绑定成功的微信号扫描二维码登录,也可通过帐号密码进行登录,后续所有的操作都会基于这个微信的帐号.

3.早期微信应用的开发是一件非常痛苦的事情,因为基于微信的网页涉及到调用微信的接口,所以网页必须在微信的内置浏览器打开才能看到实际的运行效果。做过前端开发的同学都知道,Chrome和firefox都自带强大的调试工具,使用非常方便。但是基于微信的网页不能在这两种PC端浏览器中运行,所以调试是一个很大的问题。

4.幸运的是,现在这个问题已经不存在了,微信技术团队在去年年底的时候推出了微信web开发者工具:微信公众平台为开发者提供web开发者工具,用于帮助开发基于微信的网页或者webapp。它是一个桌面应用,通过模拟微信客户端的表现使得开发者可以使用这个工具方便地在PC或者Mac上进行开发和调试工作。

3 系统需求分析

在当今的社会生活中,互联网已经变得非常普遍和重要。充分利用互联网大数据等技术可以解决很多问题。目前,学习交流管理也面临着自身的问题。根据这一普遍现象,该系统可以很好地解决这些问题[7]。系统中这二类用户的数据在系统中非常关键,因此系统数据应该被组织起来,因为数据是以某种格式存储的,而不是无序的。其概念是,它可以根据长期稳定的格式在计算机内存中共享。数据库管理系统主要用于保存、修改和添加索引数据以及设置数据库。为了确保系统数据管理的顺利进行,一些有能力的处理器可以在不需要专业人员处理的情况下管理数据。创建数据表时,可以调整、重新组织和重建数据表中的数据,以确保数据可靠性。在数据库系统设计中,MySQL主要用于实现数据的集中管理。各方面表现良好[8]。

2.1 可行性分析

根据微信小程序的学习交流平台所拥有的功能情况,通过经济效益、技术难度和管理方式进行全面的可行性分析,来提供准确的可行性依据。以下是本微信小程序的可行性分析:

  1. 经济可行性

使用了免费版的Eclipse节省了开发成本,在购买服务器后部署项目便能通过浏览器进行访问。

  1. 技术可行性

本管理系统采用B/S架构和java语言进行设计,通过分层分包的方法,有利于日常的维护,同时降低了代码之间的耦合。

  1. 管理可行性

本管理系统所需要的管理难度低,只需要一个管理员便能进行用户、课程信息、购买课程、学习资料、学习课程、学习进度等信息的删除、修改和添加[9]。

3.2 功能需求分析

微信小程序的学习交流平台综合网络空间开发设计要求。目的是将学习交流通过网络平台将传统管理方式转换为在网上操作,方便快捷、安全性高、交易规范做了保障,目标明确。微信小程序的学习交流平台可以将功能划分为用户和管理员功能[10]。

(1)、用户关键功能包含用户注册登陆、课程信息、考试、互动交流、奖励活动、我的等有关功能。用户用例如下:

图3-1 用户用例图

(2)、管理员的权限是最高的,可以对系统所在功能进行查看,修改和删除等,管理员用例如下:

图3-2管理员用例图

3.3 系统流程分析

3.3.1 登录流程

每个用户都有专属的密码和账号,在输入合法的账号和密码之后即可进入系统。登录流程如图3-3所示:

图3-3 登录流程图

3.3.2 添加信息流程

管理层人员有添加用户信息等信息功能。添加信息流程如图3-4所示:

图3-4 添加信息流程图

3.3.3 收藏信息流程

在微信小程序的学习交流平台中,用户登录后,浏览课程信息、考试、互动交流、奖励活动等详情界面能进行信息收藏,用户收藏信息的流程图如图3-5所示:

图3-5 用户收藏信息流程图

4 系统设计

4.1 功能模块设计

微信小程序的学习交流平台根据权限类型进行分类,主要可分为用户微信端和管理员服务端二大模块。用户微信端模块主要实现了修改个人信息,查看课程信息、考试、互动交流、奖励活动等操作,加强了用户的操作体验。管理员服务端模块主要根据管理员对整个系统的管理进行设计,提高了管理的效率和规范[11]。系统总体模块设计如下图所示:

图4-1 系统总体模块设计

4.2 系统数据库设计

4.2.1 数据库系统

本系统采用MySQL来进行数据库的管理。基于WEB的MySQL体积小、速度快、成本低,能够及时处理上千万条记录,初步满足和支持大型的数据库高并发的读写和高效率读写等要求。

4.2.2 数据库概念设计

概念模型用于对信息世界建模,并与指定的数据库管理系统分离。它有助于将真实世界的事物抽象为适合于数据库管理系统的数据库模型。人们往往把现实世界抽象成信息世界,再把信息世界变成机器世界。也就是说,将现实世界的目标抽象成独立于专用计算机软件和专用数据库管理系统的信息结构的数据模型,然后将物理模型转化为适合电子计算机的数据库管理系统。事实上,数据模型是从现实世界到机器世界的中间层。

信息世界的基本要素包括实体和关联。实体(entity) 客观存在并可相互区别的事物称为实体。实体可以是实际的人、事或物,还可以是抽象化的概念或联络。以下是对部分主要的关键实体E-R如下:

用户信息实体E-R图如下图4-2所示。

图4-2用户信息实体E-R图

学习课程实体E-R图如下图4-3所示。

图4-3学习课程实体E-R图

学习资料实体E-R图如下图4-4所示。

图4-4学习资料实体E-R图

购买课程实体E-R图如下图4-5所示。

图4-5购买课程实体E-R图

微信小程序的学习交流平台总体E-R图如下图4-5所示。

图4-5微信小程序的学习交流平台总体E-R图

4.2.3 数据表设计

本管理系统的数据表的设计根据管理过程中的具体流程所需,方便了管理员对数据进行新增、删除、修改和查询的操作。

4.2.4 数据表的建立

系统使用MySQL工具对数据库进行操作,它有着简便的数据库管理操作以及强大的数据处理能力。以下是数据表的建立情况:

表4-1:考试评估表

|---------|-----------|-----|----------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| name | varchar | 200 | 考试评估名称 | | |
| time | int | | 考试时长(分钟) | | |
| status | int | | 考试评估状态 | | 0 |

表4-2:公告信息

|--------------|-----------|------------|--------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| title | varchar | 200 | 标题 | | |
| introduction | longtext | 4294967295 | 简介 | | |
| typename | varchar | 200 | 分类名称 | | |
| name | varchar | 200 | 发布人 | | |
| headportrait | longtext | 4294967295 | 头像 | | |
| clicknum | int | | 点击次数 | | 0 |
| clicktime | datetime | | 最近点击时间 | | |
| thumbsupnum | int | | 赞 | | 0 |
| crazilynum | int | | 踩 | | 0 |
| storeupnum | int | | 收藏数 | | 0 |
| picture | longtext | 4294967295 | 图片 | | |
| content | longtext | 4294967295 | 内容 | | |

表4-3:课程信息评论表

|-----------|-----------|------------|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| refid | bigint | | 关联表id | | |
| userid | bigint | | 用户id | | |
| avatarurl | longtext | 4294967295 | 头像 | | |
| nickname | varchar | 200 | 用户名 | | |
| content | longtext | 4294967295 | 评论内容 | | |
| reply | longtext | 4294967295 | 回复内容 | | |

表4-4:用户

|----------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| yonghuzhanghao | varchar | 200 | 用户账号 | | |
| yonghuxingming | varchar | 200 | 用户姓名 | | |
| mima | varchar | 200 | 密码 | | |
| shoujihao | varchar | 200 | 手机号 | | |
| jifen | int | | 积分 | | |
| xingbie | varchar | 200 | 性别 | | |
| touxiang | longtext | 4294967295 | 头像 | | |
| xueximubiao | varchar | 200 | 学习目标 | | |
| xuexijingli | longtext | 4294967295 | 学习经历 | | |
| xingquaihao | longtext | 4294967295 | 兴趣爱好 | | |

表4-5:课程信息

|------------------|-----------|------------|--------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| kechengbianhao | varchar | 200 | 课程编号 | | |
| kechengmingcheng | varchar | 200 | 课程名称 | | |
| kechengfenlei | varchar | 200 | 课程分类 | | |
| kechengfeiyong | double | | 课程费用 | | |
| kechengfengmian | longtext | 4294967295 | 课程封面 | | |
| kechengfujian | longtext | 4294967295 | 课程附件 | | |
| kechengbiao | longtext | 4294967295 | 课程表 | | |
| fabushijian | date | | 发布时间 | | |
| kechengxiangqing | longtext | 4294967295 | 课程详情 | | |
| clicktime | datetime | | 最近点击时间 | | |
| clicknum | int | | 点击次数 | | 0 |
| discussnum | int | | 评论数 | | 0 |
| storeupnum | int | | 收藏数 | | 0 |

表4-6:奖励活动评论表

|-----------|-----------|------------|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| refid | bigint | | 关联表id | | |
| userid | bigint | | 用户id | | |
| avatarurl | longtext | 4294967295 | 头像 | | |
| nickname | varchar | 200 | 用户名 | | |
| content | longtext | 4294967295 | 评论内容 | | |
| reply | longtext | 4294967295 | 回复内容 | | |

表4-7:课程分类

|---------------|-----------|------------|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| kechengfenlei | varchar | 200 | 课程分类 | | |
| image | longtext | 4294967295 | image | | |

表4-8:学习资料

|-----------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| ziliaobianhao | varchar | 200 | 资料编号 | | |
| ziliaomingcheng | varchar | 200 | 资料名称 | | |
| ziliaofengmian | longtext | 4294967295 | 资料封面 | | |
| ziliaoneirong | longtext | 4294967295 | 资料内容 | | |
| ziliaofujian | longtext | 4294967295 | 资料附件 | | |
| fabushijian | date | | 发布时间 | | |
| yonghuzhanghao | varchar | 200 | 用户账号 | | |
| yonghuxingming | varchar | 200 | 用户姓名 | | |
| ziliaoxiangqing | varchar | 200 | 资料详情 | | |

表4-9:配置文件

|-------|---------|-----|--------|----|-----|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| name | varchar | 100 | 配置参数名称 | | |
| value | varchar | 100 | 配置参数值 | | |
| url | varchar | 500 | url | | |

表4-10:积分兑换

|------------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| huodongbianhao | varchar | 200 | 活动编号 | | |
| huodongbiaoti | varchar | 200 | 活动标题 | | |
| fengmian | longtext | 4294967295 | 封面 | | |
| jifen | int | | 兑换积分 | | |
| yonghujifen | int | | 用户积分 | | |
| huodongrenshu | int | | 参与人数 | | |
| duihuanshijian | datetime | | 兑换时间 | | |
| yonghuzhanghao | varchar | 200 | 用户账号 | | |
| yonghuxingming | varchar | 200 | 用户姓名 | | |
| duihuanxiangqing | longtext | 4294967295 | 兑换详情 | | |

表4-11:学习课程

|------------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| kechengbianhao | varchar | 200 | 课程编号 | | |
| kechengmingcheng | varchar | 200 | 课程名称 | | |
| xuexijindu | varchar | 200 | 学习进度 | | |
| jifen | int | | 学习积分 | | |
| tupian | longtext | 4294967295 | 图片 | | |
| xuexishijian | date | | 学习时间 | | |
| yonghuzhanghao | varchar | 200 | 用户账号 | | |
| yonghuxingming | varchar | 200 | 用户姓名 | | |
| xuexixiangqing | longtext | 4294967295 | 学习详情 | | |

表4-12:关于我们

|----------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| title | varchar | 200 | 标题 | | |
| subtitle | varchar | 200 | 副标题 | | |
| content | longtext | 4294967295 | 内容 | | |
| picture1 | longtext | 4294967295 | 图片1 | | |
| picture2 | longtext | 4294967295 | 图片2 | | |
| picture3 | longtext | 4294967295 | 图片3 | | |

表4-13:奖励活动

|------------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| huodongbianhao | varchar | 200 | 活动编号 | | |
| huodongbiaoti | varchar | 200 | 活动标题 | | |
| fengmian | longtext | 4294967295 | 封面 | | |
| jifen | int | | 所需积分 | | |
| huodongrenshu | int | | 活动人数 | | |
| kaishishijian | datetime | | 开始时间 | | |
| jieshushijian | datetime | | 结束时间 | | |
| huodongdidian | varchar | 200 | 活动地点 | | |
| huodongxiangqing | longtext | 4294967295 | 活动详情 | | |
| discussnum | int | | 评论数 | | 0 |

表4-14:学习进度

|------------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| kechengbianhao | varchar | 200 | 课程编号 | | |
| kechengmingcheng | varchar | 200 | 课程名称 | | |
| kechengfenlei | varchar | 200 | 课程分类 | | |
| jifen | int | | 积分 | | |
| tupian | longtext | 4294967295 | 图片 | | |
| fabushijian | date | | 发布时间 | | |
| yonghuzhanghao | varchar | 200 | 用户账号 | | |
| yonghuxingming | varchar | 200 | 用户姓名 | | |
| jinduxiangqing | longtext | 4294967295 | 进度详情 | | |

表4-15:购买课程

|-------------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| kechengbianhao | varchar | 200 | 课程编号 | | |
| kechengmingcheng | varchar | 200 | 课程名称 | | |
| kechengfenlei | varchar | 200 | 课程分类 | | |
| tupian | longtext | 4294967295 | 图片 | | |
| kechengfeiyong | double | | 课程费用 | | |
| shenqingshijian | date | | 申请时间 | | |
| yonghuzhanghao | varchar | 200 | 用户账号 | | |
| yonghuxingming | varchar | 200 | 用户姓名 | | |
| shenqingxiangqing | longtext | 4294967295 | 申请详情 | | |
| ispay | varchar | 200 | 是否支付 | | 未支付 |

表4-16:用户表

|----------|-----------|-----|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| username | varchar | 100 | 用户名 | | |
| password | varchar | 100 | 密码 | | |
| image | varchar | 200 | 头像 | | |
| role | varchar | 100 | 角色 | | 管理员 |
| addtime | timestamp | | 新增时间 | | CURRENT_TIMESTAMP |

表4-17:token表

|---------------|-----------|-----|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| userid | bigint | | 用户id | | |
| username | varchar | 100 | 用户名 | | |
| tablename | varchar | 100 | 表名 | | |
| role | varchar | 100 | 角色 | | |
| token | varchar | 200 | 密码 | | |
| addtime | timestamp | | 新增时间 | | CURRENT_TIMESTAMP |
| expiratedtime | timestamp | | 过期时间 | | CURRENT_TIMESTAMP |

表4-18:互动交流

|-----------|-----------|------------|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| title | varchar | 200 | 帖子标题 | | |
| content | longtext | 4294967295 | 帖子内容 | | |
| parentid | bigint | | 父节点id | | |
| userid | bigint | | 用户id | | |
| username | varchar | 200 | 用户名 | | |
| avatarurl | longtext | 4294967295 | 头像 | | |
| isdone | varchar | 200 | 状态 | | |
| istop | int | | 是否置顶 | | 0 |
| toptime | datetime | | 置顶时间 | | |

表4-19:系统简介

|----------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| title | varchar | 200 | 标题 | | |
| subtitle | varchar | 200 | 副标题 | | |
| content | longtext | 4294967295 | 内容 | | |
| picture1 | longtext | 4294967295 | 图片1 | | |
| picture2 | longtext | 4294967295 | 图片2 | | |
| picture3 | longtext | 4294967295 | 图片3 | | |

表4-20:考试记录表

|--------------|-----------|------------|----------------------------------------------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| userid | bigint | | 用户id | | |
| username | varchar | 200 | 用户名 | | |
| paperid | bigint | | 考试评估id(外键) | | |
| papername | varchar | 200 | 考试评估名称 | | |
| questionid | bigint | | 试题id(外键) | | |
| questionname | varchar | 200 | 试题名称 | | |
| options | longtext | 4294967295 | 选项,json字符串 | | |
| score | bigint | | 分值 | | 0 |
| answer | varchar | 200 | 正确答案 | | |
| analysis | longtext | 4294967295 | 答案解析 | | |
| ismark | bigint | | 是否批卷 | | 0 |
| type | bigint | | 试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空) 4:主观题 | | 0 |
| myscore | bigint | | 试题得分 | | 0 |
| myanswer | varchar | 200 | 考生答案 | | |

表4-21:收藏表

|-----------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| userid | bigint | | 用户id | | |
| refid | bigint | | 商品id | | |
| tablename | varchar | 200 | 表名 | | |
| name | varchar | 200 | 名称 | | |
| picture | longtext | 4294967295 | 图片 | | |
| type | varchar | 200 | 类型 | | 1 |
| inteltype | varchar | 200 | 推荐类型 | | |
| remark | varchar | 200 | 备注 | | |

表4-22:试题库表

|--------------|-----------|------------|----------------------------------------------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| questionname | varchar | 200 | 试题名称 | | |
| options | longtext | 4294967295 | 选项,json字符串 | | |
| score | bigint | | 分值 | | 0 |
| answer | varchar | 200 | 正确答案 | | |
| analysis | longtext | 4294967295 | 答案解析 | | |
| type | bigint | | 试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空) 4:主观题 | | 0 |
| sequence | bigint | | 试题排序,值越大排越前面 | | 100 |

表4-23:试题表

|--------------|-----------|------------|---------------------------------------------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| paperid | bigint | | 所属考试评估id(外键) | | |
| papername | varchar | 200 | 考试评估名称 | | |
| questionname | varchar | 200 | 试题名称 | | |
| options | longtext | 4294967295 | 选项,json字符串 | | |
| score | bigint | | 分值 | | 0 |
| answer | varchar | 200 | 正确答案 | | |
| analysis | longtext | 4294967295 | 答案解析 | | |
| type | bigint | | 试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空)4:主观题 | | 0 |
| sequence | bigint | | 试题排序,值越大排越前面 | | 100 |

表4-24:公告信息分类

|----------|-----------|-----|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| typename | varchar | 200 | 分类名称 | | |

5 系统实现

5. 1用户微信端 模块 实现

当游客打开微信小程序的网址后,首先看到的就是微信小程序首页界面。在这里,游客能够看到微信小程序的学习交流平台的导航条显示首页、课程信息、考试、互动交流、奖励活动、我的等,如图5-1所示。

图5-1微信小程序首页界面图

当用户进入微信小程序进行相关操作前必须先注册登录,在注册页面填写用户账号、密码、确认密码、用户姓名、头像、性别、手机号、学习目标等信息,然后点击注册,如图5-2所示。

图5-2用户注册界面图

用户登录,用户在登录页面通过填写账号、密码,完成登录,如图5-3所示。

图5-3用户登录界面图

用户点击奖励活动,在奖励活动页面的搜索栏输入活动编号,进行搜索,然后可以查看活动编号、活动标题、封面、所需积分、活动人数、开始时间、结束时间、活动地点、评论数等信息,如有需要进行参与或者评论等操作,如图5-4所示。

图5-4奖励活动界面图

用户点击课程信息,在课程信息页面的搜索栏输入课程名称,进行搜索,然后可以查看课程编号、课程名称、课程分类、课程费用、课程封面、课程附件、课程表、发布时间等信息,如有需要点击购买或者收藏等操作,如图5-5所示。

图5-5课程信息界面图

用户点击我的页面,在我的页面可以对购买课程、学习资料、学习课程、学习进度、积分兑换、考试记录、错题本、我要发帖、我的发帖、修改密码,进行详细操作,如图5-6所示。

图5-6我的界面图

5.2 管理员服务端 模块实现

管理员登录,在登录页面选择需要登录的角色,在正确输入用户名和密码后,点击登录操作;如图5-7所示。

图5-7 管理员登录界面

管理员进入系统主页面,主要功能包括对系统首页、用户管理、课程分类管理、课程信息管理、购买课程管理、学习资料管理、学习课程管理、学习进度管理、奖励活动管理、积分兑换管理、我的收藏管理等进行操作。如图5-8所示:

图5-8管理员主界面

用户信息功能在视图层(view层)进行交互,比如点击"新增"按钮或填写用户信息表单。这些用户信息动作被视图层捕获并作为请求发送给相应的控制器层(control1er层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查询、新增或删除用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用户信息功能可以看到最新的信息或相应的操作反馈。在用户信息的输入栏中输入用户账号进行查询,可以查看到用户详细信息,并根据需要进行修改或者删除等操作。如图5-9所示。

图5-9用户管理界面图

学习课程功能在视图层(view层)进行交互,比如点击"新增"按钮或填写学习课程信息表单。这些学习课程动作被视图层捕获并作为请求发送给相应的控制器层(control1er层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如搜索、新增或删除学习课程,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便学习课程能可以看到最新的信息或相应的操作反馈。在学习课程的输入栏中输入课程编号、课程名称进行搜索,可以查看到学习课程详细信息,并根据需要进行修改或者删除等操作。如图5-10所示。

图5-10学习课程管理界面图

管理员点击课程分类管理,在课程分类管理页面的输入课程分类等信息,进行查询、新增或者删除课程分类等操作,如图5-11所示。

图5-11课程分类管理界面图

管理员点击课程信息管理,在课程信息管理页面的对课程编号、课程名称、课程分类、课程费用、课程封面、课程附件、课程表、发布时间、点击次数、评论数、收藏数等信息,进行查询、新增或者删除课程信息等操作,如图5-12所示。

图5-12课程信息管理界面图

管理员点击购买课程管理,在购买课程管理页面的对课程编号、课程名称、课程分类、图片、课程费用、申请时间、用户账号、用户姓名、是否支付等信息,进行查询或者删除购买课程等操作,如图5-13所示。

图5-13购买课程管理界面图

管理员点击学习资料管理,在学习资料管理页面的对资料编号、资料名称、资料封面、资料附件、发布时间、用户账号、用户姓名、资料详情等信息,进行查询或者删除学习资料等操作,如图5-14所示。

图5-14学习资料管理界面图

管理员点击学习进度管理,在学习进度管理页面的对课程编号、课程名称、课程分类、积分、图片、发布时间、用户账号、用户姓名等信息,进行查询或者删除学习进度等操作,如图5-15所示。

图5-15学习进度管理界面图

管理员点击奖励活动管理,在奖励活动管理页面的对活动编号、活动标题、封面、所需积分、活动人数、开始时间、结束时间、活动地点、评论数等信息,进行查询或者删除奖励活动等操作,如图5-16所示。

图5-16奖励活动管理界面图

6 系统测试

软件测试是一系列过程活动的总和,本系统采用黑盒测试,用于检测用户和管理员二个角色在操作中存在的问题[12]。黑盒测试注重于测试软件的功能需求。

6.1软件测试过程

软件测试是软件设计的收尾阶段,它是贯穿整个设计过程的,是一个巨大的任务。软件测试需要对程序所有的部分进行测试。且对每个部分的测试都是不一样的,需要在进行测试之前将它们分为以下几个阶段:

软件测试是软件设计的最后阶段,它贯穿于整个设计过程,是一项巨大的任务。软件测试需要测试程序的所有部分。每个部分的测试是不同的,在测试前需要分为以下几个阶段:

(1)模块测试

它是一种检查软件程序代码的测试。用于软件的最小单元部分。单元测试分为手动测试和动态测试。为了保证程序算法的正确性,静态检测应规范程序的逻辑性、规范性和正确性。这一步是检测尽可能多的错误。动态检测是通过比较实际结果和期望结果来发现误差[13]。

(2)集成测试

集成测试是在单元测试的基础上对系统各个功能模块进行测试。任何软件设计都会有集成阶段,因此集成测试是软件测试过程中必不可少的一部分。在集成测试中,由于测试是在各个模块之间进行的,所以在测试过程中可能没有发现问题,但会暴露整个测试。同时,在进行集成测试时要注意模块连接时的数据丢失。还要注意,虽然单个模块的错误可能很少,但它们可以拼凑在一起,对系统产生重大影响。

(3)系统测试

系统测试紧随集成测试之后。系统测试将通过集成测试的部分作为整个系统的一部分。与电子设备的各种软硬件一起,通过实际操作来检测,在模拟的实际环境中是否存在误差。需要将系统测试与计划的理想情况进行比较,并找出与预期不同的地方。通过设计师的分析确定如何修改。在软件的实际操作过程中,会出现很多意想不到的错误,测试人员可能无法在第一时间解决问题。因此,系统测试应尽量在实际操作下进行,以达到更好的测试目的。

(4)验收测试

验收测试是系统在设计和发布前的最后一次测试,需要了解用户和合作伙伴的需求。并与他们一起完成测试,同时根据他们的需求进行具体的修改,使软件更好地满足这三个需求[14]。

6.2测试用例

本管理系统的登录模块测试,主要包括了密码测试,具体测试情况如下:

  1. 密码登录测试

密码登录要求用户输入用户名和密码进行核对,如果用户登录成功,会自动跳转到系统主页,如果登录失败,则会弹出" 用户名或密码输入有误,请重新输入!",系统会根据用户不同的角色加载相应的菜单,具体测试用例见表6-1。

表6-1 账号密码登录测试用例表

|----|------------------|----------------------|----------------------|
| 用例 | 用户名/密码/角色 | 预计结果 | 实际结果 |
| 1 | 1001/123 /用户 | 弹出"密码输入有误,请重新输入!"的提示 | 弹出"密码输入有误,请重新输入!"的提示 |
| 2 | 1001/a123456 /用户 | 登录成功并跳转至主页 | 登录成功并跳转至主页 |
| 3 | 1002/admin1 /管理员 | 登录成功并跳转至主页,同时显示不同的菜单 | 登录成功并跳转至主页,同时显示不同的菜单 |

结 论

通过本次毕业设计对微信小程序的学习交流平台的设计与实现,让我能够将所学的一个个知识联系起来形成了一个整体,对于整个系统的运行流程有了一个清楚的认识。从前端通过接口请求数据到后端控制层调用业务层再到数据库访问层对数据库进行查找,然后将数据进行封装后一个一个层传输最后到前端以及后端进行显示的过程中,每一个流程都需要仔细的分析调试。在这之间,也遇到了许许多多的困难,走了很多的弯路,但正是因为克服了这些困难,才能开发出这个系统,实现对学习交流的电子化管理,提高了工作的效率。

致 谢

晃眼间四年大学时光即将过去。当我在完成大学里最后一个任务模块时,我意识到自己将要毕业了,将离开陪伴了自己四年快乐时光的校园。回首四年往事,让我深有感触学校四年的点点滴滴,有太多无法忘记的事事非非。学校的室友,同学,老师,图书馆,教学楼等,这些都是我无法抹去的记忆,已使我的心里很不是滋味。在此我要首先感谢我的指导老师。从最开始的论文选题、分析,老师就根据我们所选的课题提供了参考资料并且帮助我们进行系统的功能分析。他认真的工作态度、辛勤的工作精神,对我的影响深远,当我遇到问题以及疑惑时,老师总能指出问题的所在,让我收获了许多,再次感谢老师对我的帮助,以及还要感谢我的家人和朋友,正因为有了他们的支持,使我今后的人生有了更多的意义。

同时我还要感谢我的室友们。虽然我这几年的生活一直很困难,但是每当我遇到困难或者不开心的时候,他们都会给我建议,让我不难过。每当我生日的时候,他们都会聚在一起为我庆祝。和他们交流之后,我就会走出坏心情,变得快乐。因此,我感谢他们这四年的努力。

时光飞逝,四年的大学生活转眼就要过去了。此时此刻,四年的时光在我的脑海中再次上演。我的舍友、同学、老师,这一刻,我已经止不住的流泪了。我有太多的记忆永远刻在脑子里,我不会忘记他们的点点滴滴。与此同时,我也会积极准备考研,吸取第一次失败的经验,争取在二战中取得好成绩,考上心中理想的学校。我一定会加油的!

参 考 文 献

  1. 罗旭.宜宾一微信小程序的志愿者管理系统设计与实现[D].电子科技大学,2020.
  2. 吴丽娟. 基于springboot的贵州省财政学校人事管理系统设计与实现[D]. 厦门大学, 2019.
  3. 陈键.基于java和MySQL的酒店预订管理系统的设计[J].电脑与信息技术,2020, 06:48-49.
  4. 崔炜.基于PowerBuilder社区管理系统的研究与实现[J].清远职业技术学院学报,2020,06:63-66.
  5. 刘立. MVVM 模式分析与应用[J].微型电脑应用, 2019, 8(12): 57-60.
  6. 王志任.基于java的开发平台的设计与实现[D].广东工业大学,2020
  7. 刘敏.基于springboot框架社交网络平台的设计与实现[D].湖南大学,2021.
  8. 姜萍.基于MySql的房地产销售管理系统设计与开发[D].吉林大学,2020.
  9. 颜清,苗壮,赖鑫生,等.大数据时代关系数据库MySQL的创新与发展[J].科技风, 2020(20):75-76.
  10. 马景娣,田稷.基于J2EE 的科技查新综合信息系统的设计与实现[J].现代图书情 报技术 2019(08):75-80.
  11. 张玮.浅析白盒测试和黑盒测试[J].无线互联科技,2019(06):136.

免费领取项目源码,请点赞❤️关注收藏并私信博主,谢谢!

免费领取项目源码,请点赞❤️关注收藏并私信博主,谢谢!

免费领取项目源码,请点赞❤️关注收藏并私信博主,谢谢!

相关推荐
9号达人1 小时前
优惠系统演进:从"实时结算"到"所见即所得",前端传参真的鸡肋吗?
java·后端·面试
q***07141 小时前
Spring Boot 中使用 @Transactional 注解配置事务管理
数据库·spring boot·sql
AAA简单玩转程序设计2 小时前
Java进阶小妙招:ArrayList和LinkedList的"相爱相杀"
java
无垠的广袤2 小时前
【工业树莓派 CM0 NANO 单板计算机】本地部署 EMQX
linux·python·嵌入式硬件·物联网·树莓派·emqx·工业物联网
lkbhua莱克瓦242 小时前
集合进阶8——Stream流
java·开发语言·笔记·github·stream流·学习方法·集合
m***92382 小时前
【SQL】MySQL中的字符串处理函数:concat 函数拼接字符串,COALESCE函数处理NULL字符串
数据库·sql·mysql
20岁30年经验的码农2 小时前
Java Elasticsearch 实战指南
java·开发语言·elasticsearch
okseekw2 小时前
Java 中的注释与关键字的初步学习
java
luv_sw2 小时前
JavaSE-面向对象-构造器
java