Java基于微信小程序的校园通知系统,附前后端代码,教程

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W+、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌

1 简介

该系统主要是实现校园内各种通知消息的发布打卡反馈以及作业发布批阅等统一校园内消息的整合处理。

系统主要功能模块包括:事项管理、数据抽取、系统管理。

基于微信小程序的校园通知小程序系统的用户是系统最根本使用者,按需要分析系统包括三类用户:学生、老师、管理员。这三类用户对系统的需求简要如下。

2 技术栈

说明技术栈备注
后台Java
前端小程序
数据库MYSql
架构B/S 结构

第三章 系统分析

3.1初步需求分析

3.1.1 系统背景描述

该系统主要是实现校园内各种通知消息的发布打卡反馈以及作业发布批阅等统一校园内消息的整合处理。

系统主要功能模块包括:事项管理、数据抽取、系统管理。

基于微信小程序的校园通知小程序系统的用户是系统最根本使用者,按需要分析系统包括三类用户:学生、老师、管理员。这三类用户对系统的需求简要如下。

3.2 系统用例分析

3.2.1 公告管理用例分析

管理员用户登录系统,进行公告的管理,选择相关的公告名称,并上传公告信息,管理员用户查看公告。用例分析图如图3.1所示:

img

图3.1 公告信息管理用例分析图

公告信息管理用例规约如表3.1所示。

表3.1 公告管理用例规约

项目基于微信小程序的校园通知小程序系统公告管理
简要说明收集公告信息,修订删除公告信息,管理相关联的其它基础内容。
前置条件成功运行基于微信小程序的校园通知小程序系统,并获取登录授权。
后置条件存储信息到数据库,并成功生成公告信息列表。
过程流1、公告信息的收集有三种途径,第一,文档中导入公告信息。第二,从其他相关系统中通过接口把公告信息导入到本数据库。最后通过界面录入,把公告的信息保存到数据库。2、对公告信息的删除,如果录入错误或者历史公告,需要定期进行删除操作,并验证是否删除成功。3、公告信息的修改,是遇到录入错误的情况下,或者公告基本信息发生改变,对公告信息进行修改。修改后验证数据库记录是否同步。4、公告信息的查询,在列表页面,检索数据库中所有的公告信息加载到列表。通过特定条件查询公告信息。5、如果发生异常,提示产生异常的原因,或者返回到主页面联系管系管理员进行处理。

3.2.2 系统管理用例分析

系统管理是指系统的用户登录、系统注销、修改密码等功能。系统管理的用例分析图如图3.2所示:

img

图3.3 系统管理用例分析图

其中管理员登录用例规约如以下几个方面。

​ 表3.2 管理员登录用例规约

项目基于微信小程序的校园通知小程序系统用户登录
简要说明验证用户权限。
前置条件成功运行基于微信小程序的校园通知小程序系统。
后置条件登录成功,生成用户操作权限列表。
过程流1、验证用户名信息是否为空,是否符合规范、长度是否合法验。2、证密码信息密码是否规范,过滤关键字如select、delete等关键字,防止SQL注入。3、查询数据库中是否存在用户输入的信息,查询该用户的权限信息,生成权限列表。4、如果发生异常,提示产生异常的原因,或者返回到主页面联系管系管理员进行处理。

3.2.3 学生信息用例分析

用户信息包括管理员信息、学生、教师信息。其中学生信息管理的用例分析图如图3.3所示:

img

图3.4 学生信息管理用例分析图

学生信息管理用例规约如表3.3所示。

项目基于微信小程序的校园通知小程序系统学生管理
简要说明收集学生信息,修订删除学生信息,管理相关联的其它基础内容。
前置条件成功运行基于微信小程序的校园通知小程序系统,并获取登录授权。
后置条件存储信息到数据库,并成功生成学生信息列表。
过程流1、通过界面录入,把学生的信息保存到数据库。2、对学生信息的删除,如果录入错误或者历史学生,需要定期进行删除操作,并验证是否删除成功。3、学生信息的修改,是遇到录入错误的情况下,或者学生基本信息发生改变,对学生信息进行修改。修改后验证数据库记录是否同步。4、学生信息的查询,在列表页面,检索数据库中所有的学生信息加载到列表。通过特定条件查询学生信息。5、如果发生异常,提示产生异常的原因,或者返回到主页面联系管系管理员进行处理。

3.2.4 事项管理用例分析

教师用户登录系统,录入事项,包括事项名称、通知时间、学号、姓名、内容等信息,用户登录后可以进行信息修改。

小程序学生登录后,查看事项,参与事项打卡,通知回收管理。

事项管理的用例分析图如图3.6所示:

img

图3.6 事项信息管理用例分析图

事项管理用例规约如3.4所示:

表3.4 事项管理用例规约

项目基于微信小程序的校园通知小程序系统事项管理
简要说明收集事项信息,修订删除事项信息,管理相关联的其它基础内容。
前置条件成功运行基于微信小程序的校园通知小程序系统,并获取登录授权。
后置条件存储信息到数据库,并成功生成事项信息列表。
过程流1、通过界面录入,把事项的信息保存到数据库。2、对事项信息的删除,如果录入错误或者历史事项,需要定期进行删除操作,并验证是否删除成功。3、事项信息的修改,是遇到录入错误的情况下,或者事项基本信息发生改变,对事项信息进行修改。修改后验证数据库记录是否同步。4、事项信息的查询,在列表页面,检索数据库中所有的事项信息加载到列表。通过特定条件查询事项信息。5、如果发生异常,提示产生异常的原因,或者返回到主页面联系管系管理员进行处理。

第四章 系统设计

4.1系统功能设计

校园通知小程序系统的用户是系统最根本使用者,按需要分析系统包括用户:学生、老师、管理员。

管理员通过后台的登录页面,选择管理员权限后进行登录,管理员的权限包括学生信息管理、老师信息管理和文章公告管理。通知公告管理,添加通知公告信息,给学生发布一些学校的公告内容,为学习提前做准备,管理员管理后点击退出,注销登录信息。

学生用户只要实现了前台信息的查看,打开首页,查看网站介绍、事项信息、信息公告等,学生用户通过账户账号登录,登录后查看事项、事项打卡,事项回收操作。

用户功能结构图如4.1所示:

img

图4.1:用户功能结构图

该系统主要是实现校园内各种通知消息的发布打卡反馈以及作业发布批阅等统一校园内消息的整合处理。

系统主要功能模块包括:事项管理、数据抽取、系统管理

事项管理:主要包括事项创建、对事项优先级排列、事项打卡(定位/文件附件上传)、事项的二次推送。

数据抽取:主要包括数据抽取请求审核、数据合并、数据分析事项完成度(比例图展现)。

系统管理:主要对用户、角色、权限和系统公示的管理功能。

4.2 系统总体设计

4.2.1 系统流程图

基于微信小程序的校园通知小程序系统包括学生、老师和管理员。登录后维护个人信息,在线查看通知信息。管理员管理用户信息、管理通知信息。其中系统流程图如图4.2所示。

img

图4.2 系统流程图

4.2.2 数据流图

基于微信小程序的校园通知小程序系统数据流程图描述系统数据流程,它将数据独立抽象出来,展现信息的来龙去脉。其中基于微信小程序的校园通知小程序系统的数据流程图如4.3所示:

img

图4.3系统数据流图

4.4 数据库设计

4.4.1 ER图设计

本基于微信小程序的校园通知小程序系统实体清晰,所以这里只绘制系统整体E-R图,其它的略去E—R图的绘制。

(1)管理员信息实体E-R图:

img

图4.3管理员E-R图

(2)公告信息实体E-R图

img

图4.4公告信息实体E-R图

(3)教师信息实体E-R图

img

图4.5教师信息E-R图

(4)学生信息实体E-R图

img

图4.6 学生信息实体E-R图

(5) 事项信息E-R图

img

图4.7 事项信息实体E-R图

(6)事项打卡信息E-R图

img

图4.8 事项打卡信息实体E-R图

4.4.2 数据库表设计

基于微信小程序的校园通知小程序系统包括多个数据库表,下面对数据表进行详细的介绍,每个数据库表包括这个名称,对于类型是否逐渐、是否与空字段的备注信息等。

表: config信息表

编号数据字段名称对应类型主键允许空字段的备注信息
No1C_idbigint(8)PKNo主键
No2C_namenvarchar(200)NONo配置参数名称
No3C_valuenvarchar(200)NONull配置参数值

表: shixiangxinxi信息表

编号数据字段名称对应类型主键允许空字段的备注信息
No1C_idbigint(8)PKNo主键
No2C_addtimetimestamp(8)NONo创建时间
No3C_shixiangmingchengnvarchar(400)NONull事项名称
No4C_suoshubanjinvarchar(400)NONull所属班级
No5C_youxianjinvarchar(400)NONull优先级
No6C_shixiangneirongtext(16)NONull事项内容
No7C_shixiangtupiannvarchar(400)NONull事项图片
No8C_fabushijiandatetime(8)NONull发布时间
No9C_jiezhishijiandatetime(8)NONull截止时间
No10C_jiaoshibianhaonvarchar(400)NONull教师编号
No11C_jiaoshixingmingnvarchar(400)NONull教师姓名
No12C_useridbigint(8)NONull用户id

表: news信息表

编号数据字段名称对应类型主键允许空字段的备注信息
No1C_idbigint(8)PKNo主键
No2C_addtimetimestamp(8)NONo创建时间
No3C_titlenvarchar(400)NONo标题
No4C_introductiontext(16)NONull简介
No5C_picturenvarchar(400)NONo图片
No6C_contenttext(16)NONull内容

表: users信息表

编号数据字段名称对应类型主键允许空字段的备注信息
No1C_idbigint(8)PKNo主键
No2C_usernamenvarchar(200)NONo用户名
No3C_passwordnvarchar(200)NONo密码
No4C_rolenvarchar(200)NONull角色
No5C_addtimetimestamp(8)NONo新增时间

表: tongzhihuishou信息表

编号数据字段名称对应类型主键允许空字段的备注信息
No1C_idbigint(8)PKNo主键
No2C_addtimetimestamp(8)NONo创建时间
No3C_shixiangmingchengnvarchar(400)NONull事项名称
No4C_tongzhineirongtext(16)NONull通知内容
No5C_tongzhishijiandatetime(8)NONull通知时间
No6C_tongzhitupiannvarchar(400)NONull通知图片
No7C_jiaoshibianhaonvarchar(400)NONull教师编号
No8C_xuehaonvarchar(400)NONull学号
No9C_xingmingnvarchar(400)NONull姓名
No10C_sfshnvarchar(400)NONull是否审核
No11C_shhftext(16)NONull审核回复
No12C_useridbigint(8)NONull用户id

表: storeup信息表

编号数据字段名称对应类型主键允许空字段的备注信息
No1C_idbigint(8)PKNo主键
No2C_addtimetimestamp(8)NONo创建时间
No3C_useridbigint(8)NONo用户id
No4C_refidbigint(8)NONull收藏id
No5C_tablenamenvarchar(400)NONull表名
No6C_namenvarchar(400)NONo收藏名称
No7C_picturenvarchar(400)NONo收藏图片
No8C_typenvarchar(400)NONull类型(1:收藏,21:赞,22:踩)
No9C_inteltypenvarchar(400)NONull推荐类型

表: shixiangdaka信息表

编号数据字段名称对应类型主键允许空字段的备注信息
No1C_idbigint(8)PKNo主键
No2C_addtimetimestamp(8)NONo创建时间
No3C_shixiangmingchengnvarchar(400)NONull事项名称
No4C_suoshubanjinvarchar(400)NONull所属班级
No5C_dakashijiandatetime(8)NONull打卡时间
No6C_wanchengjindunvarchar(400)NONull完成进度
No7C_wanchengneirongtext(16)NONull完成内容
No8C_wanchengtupiannvarchar(400)NONull完成图片
No9C_jiaoshibianhaonvarchar(400)NONull教师编号
No10C_xuehaonvarchar(400)NONull学号
No11C_xingmingnvarchar(400)NONull姓名
No12C_sfshnvarchar(400)NONull是否审核
No13C_shhftext(16)NONull审核回复
No14C_useridbigint(8)NONull用户id
No15C_longitudemoney(8)NONull经度
No16C_latitudemoney(8)NONull纬度
No17C_fulladdressnvarchar(400)NONull地址

表: jiaoshi信息表

编号数据字段名称对应类型主键允许空字段的备注信息
No1C_idbigint(8)PKNo主键
No2C_addtimetimestamp(8)NONo创建时间
No3C_jiaoshibianhaonvarchar(400)NONo教师编号
No4C_mimanvarchar(400)NONo密码
No5C_jiaoshixingmingnvarchar(400)NONo教师姓名
No6C_xingbienvarchar(400)NONull性别
No7C_shoujinvarchar(400)NONull手机
No8C_touxiangnvarchar(400)NONull头像

表: xuesheng信息表

编号数据字段名称对应类型主键允许空字段的备注信息
No1C_idbigint(8)PKNo主键
No2C_addtimetimestamp(8)NONo创建时间
No3C_xuehaonvarchar(400)NONo学号
No4C_mimanvarchar(400)NONo密码
No5C_xingmingnvarchar(400)NONo姓名
No6C_xingbienvarchar(400)NONull性别
No7C_zhuanyenvarchar(400)NONull专业
No8C_banjinvarchar(400)NONull班级
No9C_touxiangnvarchar(400)NONull头像

第五章 系统实现

5.1小程序功能的实现

5.1.1 学生注册界面

点击导航菜单中的注册即可打开注册页面,注册页面是由文本框、选择框、和注册按钮组成,在文本框中输入需要填写的基本注册信息,点击注册进行信息提交。

如下图所示:

img

图5-1学生注册界面

首先验证填写的信息是否为空,如果通过验证,才把信息构造为插入语句,调用数据库保存操作,插入信息到数据库,返回保存成功的信息到界面,进行登陆,或者返回到首页。

5.1.2 首页界面

搭建微信小程序环境后,进入到系统首页,首页包括头部的logo,导航条,中间为文章公告信息。

小程序首页如下图所示:

img

图5-2 首页

首页是在index页面中,该页面包括头部文件header、文章公告读取数据库中最新的信息,显示图片和对应的链接。在首页中先引入相关的JS和CSS样式。在对应模块中调用数据库操作方法,把读取的结果赋赋给RS数据集合对象,通过循环显示信息。

5.1.3 公告列表界面

用户打开本系统后,可以查看公告列表信息。如下图所示:

img

图5-4公告界面

点击公告,先打开公告的列表界面,在列表界面读取信息,详细表达所有相关公告信息,通过JAVA的数据库操作,把列表绑定到result数据集合中,使用while循环,把所有的信息显示到公告界面。点击公告,通过该条信息的ID值传递到公告的详情页面,在详情页面根据当前的ID值查询对应的具体信息。包括标题名称和内容。

5.1.4 事项界面

用户打开本系统后,可以查看事项信息,通过关键字查询对应的事项信息,并进行打卡。如下图所示:

img

图5-5事项信息界面

点击事项,先打开事项的列表界面,在列表界面读取信息,详细表达所有相关事项信息,通过JAVA的数据库操作,把列表绑定到result数据集合中,使用while循环,把所有的信息显示到事项界面。点击事项,通过该条信息的ID值传递到事项的详情页面,在详情页面根据当前的ID值查询对应的具体信息。包括标题名称和内容。

5.1.5 事项打卡界面

用户登录本系统后,可以进行事项打卡操作。如下图所示:

img

图5-6事项打卡界面

事项打卡包括事项打卡信息的提交和查询显示,事项打卡前需要先进行登录,如果没有登。录界面提示登录后才能进行上传事项打卡,登陆后的信息是通过session进行判断。如果session存在登录信息,就说明已经登录,在事项打卡中输入事项打卡的内容,点击提交,把事项打卡信息保存到数据库中,事项打卡结束之后进行查询。查询通过当前信息的ID进行条件查询,查询的结果保存在数据集合中,对数据集合进行循环显示。

5.2后台模块的实现

5.2.1 老师管理

在系统主界面中的导航菜单中,有老师按钮,点击按钮,就可以在老师界面进行信息添加和管理。

其中,老师管理界面为5.7所示:

img

图5.7:老师管理页面

5.2.2 学生信息管理

在系统主界面中的导航菜单中,有学生信息按钮,点击按钮,就可以在学生信息界面进行信息添加和管理。

其中,学生信息管理界面为5.8所示:

img

图5.8:学生信息管理页面

在学生页面加载学生的信息列表,当执行该页面初始化的时候,调用业务逻辑层的学生查询方法。该方法先定义学生实体类,然后调用数据库中的学生查询方法,把查询结果绑定在list集合中。循环集合,把数据逐条绑定在学生实体对象,最终返回到界面。将得到的学生集合循环绑定到界面控件,根据字段名和数据结果进行映射,最终显示。

5.2.3 公告管理

管理员查看公告信息。其中,公告信息管理界面为5.9所示:

img

图5.9:公告页面

在公告页面加载公告的信息列表,当执行该页面初始化的时候,调用业务逻辑层的公告查询方法。该方法先定义公告实体类,然后调用数据库中的公告查询方法,把查询结果绑定在list集合中。循环集合,把数据逐条绑定在公告实体对象,最终返回到界面。将得到的公告集合循环绑定到界面控件,根据字段名和数据结果进行映射,最终显示。

5.2.4 事项信息管理

在系统主界面中的导航菜单中,有事项管理按钮,点击按钮,就可以在事项管理界面进行事项信息添加和管理。其中事项添加的界面如下:

img

图5.6:事项添加页面

首先对事项页面进行布局,完成界面设计。在事项页,输入事项的内容,点击保存,执行保存事件,在该事件中进行数据保存操作。该事件方法先获取用户输入的事项内容,把这些数据绑定到事项实体方法中,对事项的信息进行验证,包括是否为空,是否符合规范数据格式等。通过验证后,调用事项的业务逻辑方法,业务逻辑层先执行事项的唯一性验证,通过验证后,调用数据库操作方法。将在线保修的数据使用插入语句,提交到数据库中。数据库操作方法返回操作成功的信息到业务逻辑层,业务逻辑层再把结果返回到在线保修页面,完成插入操作。

5.2.5 事项打卡审核管理

在系统主界面中的导航菜单中,有事项打卡管理按钮,点击按钮,就可以在事项打卡管理界面进行信息审核和管理。

其中,事项打卡管理界面为5.7所示:

img

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

stormjun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值