博主介绍:✌擅长Java、微信小程序、Python、Android等,专注于Java技术领域和毕业项目实战✌
文末获取源码联系
精彩专栏推荐订阅 不然下次找不到哟
Java项目精品实战案例(300套)
Java微信小程序项目实战(200套)
Python项目精品实战案例(100套)
目录
一、效果演示
二、前言介绍
三、主要技术
四、系统设计
4.1、主要功能模块设计
4.2、系统登陆流程设计
五、功能截图
5.1、首页
5.2、管理员登录
5.3、后台页面
5.4、 班级管理
5.4、新闻咨询
5.5、学生注册
5.6、用户管理
六、数据库设计(部分)
七、代码实现
八、源码获取
一、效果演示
二、前言介绍
信息技术永远是改变生活的第一种创新方式,各种行业的发展更是脱离不了科技化的支持。原本传统的行业正在被科技行业的切入悄悄的发生变化。就拿我们生活当中常见的事情举例而言,在外卖行业还没有发展的快速的时候,方便面等速食成了快速吃饱的首要选择,但当外卖行业出现而来,影响最大的缺是这些行业。更换言之,越来越多的人们正在享受着科技带来的变化。而在这种信息化大潮当中,各样各业的企业如果想提高自己的工作效率,必然需要符合自己需要的软件公办工具。对于学校而言,校园信息化一直都是社会多方位多层次被关注的一个方向。校园实验室数据管理一直是一个令管理者比较烦恼的一件事情,不能够及时有效的进行实验室数据管理的管理。如果可以利用信息化的手段进行管理的话,那将非常有效。
三、主要技术
技术名 |
作用 |
SpringBoot |
后端框架 |
Vue |
前端框架 |
MySQL |
数据库 |
四、系统设计
4.1、主要功能模块设计

4.2、系统登陆流程设计

五、功能截图
5.1、首页
网站的前台可以来说是一个门面,如何能让使用者进入网站后感受到优美的图案、整齐的布局、便捷的操作按钮,对于网站设计者来说还是有一定的难度的。本网站前台页面在设计前期,就将页面的图案设计、布局考虑进去了。首先进入前台的就是一个大的banner图,将其网站的主题风格直现到用户面前。banner图从一定程度上来说也是需要体现设计元素的,设计元素的美观程度直接体现的就是网站的美观程度。在设计前台页面的时候,我还特意的参考了几个大的网站的banner图,将其风景图进行了些比对,还请教了些美工的同学们。其页面如下图所示:

5.2、管理员登录
作为管理系统而言,那肯定是没有那些电商的绚丽前台页面儿了,那么最能体现他们管理系统的页面呢?就是管理员以及其他角色登录时候的页面,那么通过管理员。以及其他角色的区分呢,我们将主题进行一个体现。通过这个页面呢,就可以知道我们是什么系统,什么角色进行的一些登陆,需要输入什么,有什么样的功能,登陆之后大致也就明白了。

5.3、后台页面
后台管理页面是整个设计当中必不可少的一个部分,那么,后台管理页面通常都是以左边是树状形式将所有的功能菜单列出,右边是工作区域。这样一来,机可以方便管理者通过左边快速浏览到所有的功能,也可以通过右边较大的区域进行每个功能的操作。如下图所示

5.4、 班级管理
当我们系统中需要展现一些。人或物的属性信息的时候,我们就要采用列表的这种方式。这样做的好处呢,就是可以很好的将这些属性信息一一列出来,通过列举的方式呢,可以让用户清楚的可以看到。

5.4、新闻咨询
在系统的新闻资讯中我们可以看到相关系统的一些信息,这都是为了方便我们及时了解相关政策

5.5、学生注册
不论是系统也好还是网站也罢,最直接给用户感受的就是页面了,那页面的布局以及页面的功能都是要经过仔细的考虑的。本次设计呢就是在最初时进行了当下的同行业类型进行参考而做的,同时,为了能够使系统更加贴近生活,所以我们在设计元素上也有所考虑。

5.6、用户管理
系统当中用户的管理一方面可以让管理者知道系统中使用者的数量,另一方面也可以对于用户进行一个有效的管理。用户是系统的根本,用户也是系统所存在的意义。试想一下,一个系统如果没有了用户的支持可以说也没有了存在的必要了。所以说用户管理在系统当中可以说是一个必不可少的功能。

这里功能太多,就不一一展示啦~
六、数据库设计(部分)
E-R图
数据库是计算机信息系统的基础。目前,电脑系统的关键与核心部分就是数据库。数据库开发的优劣对整个系统的质量和速度有着直接影响。
数据库概念结构设计采用实体-关系(E-R)模型设计方法。 e-R模型方法的组成部分为实体、属性和连接。 E-r模型用E-r图表示、提醒用户工作环境中所涉及事物,属性是对实体特征具体描述。 数据库在系统设计中起着决定性关键作用、 部分设计如下。
管理员信息属性有:用户名、密码、编号。如下图所示。

用户信息属性包括:编号,姓名,性别,年龄,电话,邮箱,地址,身份证号。具体如下图所示。

七、代码实现
package com.example.controller;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.*;
import com.example.exception.CustomException;
import com.example.service.AdminInfoService;
import com.example.service.JiaoshiInfoService;
import com.example.service.XueshengInfoService;
import org.springframework.web.bind.annotation.*;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import cn.hutool.json.JSONUtil;
import java.util.*;
import java.util.stream.Collectors;
@RestController
public class AccountController {
@Value("${authority.info}")
private String authorityStr;
@Resource
private AdminInfoService adminInfoService;
@Resource
private JiaoshiInfoService jiaoshiInfoService;
@Resource
private XueshengInfoService xueshengInfoService;
@PostMapping("/login")
public Result login(@RequestBody Account account, HttpServletRequest request) {
if (StrUtil.isBlank(account.getUsername()) || StrUtil.isBlank(account.getMima()) || account.getLevel() == null) {
throw new CustomException(ResultCode.PARAM_LOST_ERROR);
}
String level = account.getLevel();
Account login = new Account();
if (level.equals("管理员")) {
login = adminInfoService.login(account.getUsername(), account.getMima());
}
if (level.equals("教师")) {
login = jiaoshiInfoService.login(account.getUsername(), account.getMima());
//yoxusxhenhe if(login.getStatus().equals("否")){return Result.error("500","帐号未审核通过,请联系管理员");}
}
if (level.equals("学生")) {
login = xueshengInfoService.login(account.getUsername(), account.getMima());
//yoxusxhenhe if(login.getStatus().equals("否")){return Result.error("500","帐号未审核通过,请联系管理员");}
}
// if (2 == level) {
// login = sellerInfoService.login(account.getUsername(), account.getMima());
// }
// if (level.equals("用户")) {
// login = userInfoService.login(account.getUsername(), account.getMima());
// if(login.getStatus().equals("否")){
// return Result.error("500","状态异常,请联系管理员");
// }
// }
// if (level.equals("员工")) {
// login = yuangongxinxiInfoService.login(account.getUsername(), account.getMima());
// if(login.getStatus().equals("否")){
// return Result.error("500","状态异常,请联系管理员");
// }
// }
request.getSession().setAttribute("user", login);
return Result.success(login);
}
@GetMapping("/logout")
public Result logout(HttpServletRequest request) {
request.getSession().setAttribute("user", null);
return Result.success();
}
@GetMapping("/auth")
public Result getAuth(HttpServletRequest request) {
Object user = request.getSession().getAttribute("user");
if(user == null) {
return Result.error("401", "未登录");
}
return Result.success(user);
}
@GetMapping("/getAccountInfo")
public Result
八、源码获取
大家点赞、收藏、关注、评论啦 、查看获取联系方式
精彩专栏推荐订阅:在下方专栏
Java项目精品实战案例(300套)
Java微信小程序项目实战(200套)
Python项目精品实战案例(100套)