基于react+springboot校园管理平台的设计与实现

2023-10-29

一、项目介绍

     随着信息科学技术的不断发展,很多高校、中学甚至小学都配备了一套管理系统来有效便捷的进行校园管理、学生信息管理、会议管理等。这些系统极大的提高了学校教学的效率与质量,满足了学校对信息管理的要求。但是,在实际应用过程中,这些管理系统还存在许多明显的缺陷,对于一些普遍的需求还并不能满足,在相关性能、功能上有所欠缺,有待进一步改善。因此,本设计针对这些系统中存在的普遍问题,设计一套更为完善的校园管理系统。

二、技术栈

本系统前端采用react框架,以阿里巴巴的Ant Design UI框架为辅助。后端采用javaSpringBoot框架、Mybatis框架。数据库采用MySql数据库,方便灵巧。

三、项目结构

系统分为学生端、教师端、管理/行政人员端,三个端口可以进行实时交互。

 

四、部分技术代码

1,登陆注册逻辑代码

前端

  $.get(url, {
            username: values.username,
            password: values.password
        }, function (res) {
            if (res.length > 0 && values.vercode == code) {
                // return alert('登陆成功');
                // console.log(res[0].name);
                //      console.log(res[0].avatar);


                if (text == '学生登录') {
                    if (res[0].name != null)
                        localStorage.setItem('username', res[0].name);
                    localStorage.setItem('user', res[0].username);
                    localStorage.setItem('password', res[0].password);
                    $.get('http://localhost:8001/stuinfo', {
                        username: values.username,
                    }, function (res) {

                        localStorage.setItem('name', res[0].name);
                        localStorage.setItem('sex', res[0].sex);
                        localStorage.setItem('dept', res[0].dept);
                        localStorage.setItem('classname', res[0].classname);
                        localStorage.setItem('Sno', res[0].sno);
                        localStorage.setItem('grade', res[0].grade);
                        localStorage.setItem('address', res[0].address);
                        localStorage.setItem('Tep', res[0].tep);
                        localStorage.setItem('nation', res[0].nation);
                        localStorage.setItem('isselectclass', res[0].chooseclassid);


                    });

                    localStorage.setItem('avatar', headJpg);


                } else if (text == '教师登录') {
                    if (res[0].name != null)
                        localStorage.setItem('teacherusername', res[0].name);
                    localStorage.setItem('teacheruser', res[0].username);
                    localStorage.setItem('teacherpassword', res[0].password);
                    $.get('http://localhost:8001/teacher/getteacherinfo', {
                        username: values.username
                    }, function (res) {
                        localStorage.setItem('position', res[0].position);
                        localStorage.setItem('teachsubject', res[0].teachsubject);
                        localStorage.setItem('teachername', res[0].name);
                        localStorage.setItem('teachersex', res[0].gender);
                        localStorage.setItem('depart', res[0].depart);
                        localStorage.setItem('Tno', res[0].tno);
                        localStorage.setItem('teacheraddress', res[0].address);
                        localStorage.setItem('teacherTep', res[0].tep);
                        localStorage.setItem('teachernation', res[0].nation);
                    })

                } else {

                }
                $.get('http://localhost:8001/student/schoolinfo', {
                    title: '',
                    depart: '',
                    time: ''
                }, function (res) {
                    for (var i = 0; i < res.length; i++) {
                        res[i].key = i;
                    }
                    console.log(res);
                    localStorage.setItem('schoolinfo', JSON.stringify(res));
                });
                message.success('登陆成功');
                return setTimeout(() => {
                    navigate("/");
                    navigate(pagePath);
                    // window.location.reload();
                }, 1500);

            } else if (res.length == 0) {

                // VCode.Log();
                document.getElementById('code').click();
                return message.error('账号或密码错误');
            } else {

                document.getElementById('code').click();
                return message.warning('验证码错误');
            }
        })
    };

后端

 @Select("select * from t_student where username = #{username} and password = #{password};")
    @Transactional
    List<User> counterUser(User user);

五、系统展示

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于react+springboot校园管理平台的设计与实现 的相关文章

随机推荐

  • 数字签名MD4、MD5

    在本文中 模二加 记为 bigoplus 是二进制位的异或操作 如1模二加1和0模二加1都等于0 1模二加0等于1 模 2 32
  • 对机器进行免密之后还是不能免密登录

    查看远程机器的 var log secure日志 有以下错误 Authentication refused bad ownership or modes for directory home loanusr ssh Authenticati
  • Dynamics CRM2013 Lookup Filtering using addCustomFilter

    dynamics crm中对lookup视图的过滤是一个很平常性的需求 在2011的时候都是用添加自定义视图的方式例如下面这段示例代码 span style font size 18px var pEntityName sc stock v
  • Rust学习资料

    Installing Rust Rustup the Rust installer and version management tool Windows Subsystem for Linux Cargo the Rust build t
  • Spring Security Oauth2 刷新token源码分析

    刷新token请求接口 oauth token 参数 grant type refresh token client id client secret 源码解析 1 grant type为固定值 grant type refresh tok
  • 解决Win10家庭版不能使用grpedit.msc

    前言 大家都认为 Windows 10家庭版中并不包含组策略 其实不然 它是有相关文件的 只是不让你使用而已 那么我们让系统允许你使用就好了 操作步骤 1 首先你需要在桌面上新建一个txt文本文档 然后将以下代码复制到这个新建的txt文本文
  • 常见模拟电路设计 三(含仿真) :文氏桥正弦波发生电路

    参加电赛的过程中遇到了一个需要制作正弦波发生器的任务 这里分享一下方案 对于低频 几十K以下 的正线波信号 完全可以由RC振荡器来实现而不需要引入电感L 文氏桥电路的基本结构 首先 红色箭头标明的是文氏桥电路的桥臂 桥臂既是选频部分 也是正
  • ubuntu 20.04中sources.list文件恢复系统默认源

    前言 ubuntu 20 04中sources list文件恢复系统默认源 小白学习 误该后改不回来 找了很久才找到 做个记录 一 sources list文件恢复系统默认源 1 进入编辑 sources list 代码如下 sudo ge
  • JWT解密和python反序列化之[CISCN2019 华北赛区 Day1 Web2]ikun

    知识点 JWT 和cookie一个类型 用于认证身份 将jwt值放在JSON Web Tokens jwt io解密 可以得到结果 但是想要伪造其他的用户的话需要密钥 密钥使用c jwt cracker 中的 jwtcrack 进行破解 破
  • 浏览器辅助神器:油猴脚本使用教程

    油猴脚本 是一段脚本代码 通过它可以让浏览器实现各种各样的扩展功能 和浏览器扩展的作用类似 比如获去链接重定向 微博页面精简 去广告等 相当于给浏览器开了个挂 可以说是浏览器的辅助神器了 相信很多用户都是通过度盘下载脚本认识它的 但它的功能
  • 华为机试OD真题 javaScript和java 叠积木 堆积木

    叠积木 javascript和java两种方式实现 题目描述 给出一个列表如 6 7 5 4 3 2 表示木块的长和宽 当木块的长和宽不大于另个木块的长和宽时 就可以放在上面 此外数组还可以左右翻转 求最多能搭多少层 输入描述 一个二维数组
  • Shell实现自动更新目录名称与文件中版本号信息与时间戳

    背景 修改如下样例目录下所有目录的版本号信息与时间戳 修改如下样例文件中的版本号信息与时间戳 样例目录 find template patch dir template patch dir template patch dir ONIP S
  • 【爬虫实例】下载英雄联盟所有英雄的皮肤

    爬虫 下载英雄联盟所有英雄的皮肤 import requests import os def download pifu ip response requests get ip result response json print resu
  • MongoDB导出命令

    MongoDB导出 1 MongoDB导出命令 1 MongoDB导出命令 在MongoDB的安装目录的bin目录下 有mongoexport这个命令 可以用于mongo的数据导出 mongoexport h ip port port d
  • linux x64 asm 参数传递,NASM汇编学习系列(1)——系统调用和参数传递

    0 说明 本学习系列代码几乎完全摘自 asmtutor com 如果英文可以的 也可以用谷歌浏览器翻译看 可以直接看asmtutor com上的教程 系统环境搭建 我用的是ubuntu18 04 4 server 安装gcc g sudo
  • unix环境高级编程 /ls的实现,以及目录这种文件等

    ls的思路 a gt 目录 b gt 文件名 想要获取某目录下 比如a目下 b文件的详细信息 我们应该怎样做 1 首先 我们使用opendir函数打开目录a 返回指向目录a的DIR结构体c 指向 目录a 的 DIR结构体指针c opendi
  • 全球及中国高端装备制造产业销售前景及投资战略规划研究报告2021-2027年版

    全球及中国高端装备制造产业销售前景及投资战略规划研究报告2021 2027年版 HS HS HS HS HS HS HS HS HS HS HS HS HS HS 修订日期 2021年10月 搜索鸿晟信合研究院查看官网更多内容 第一章 高端
  • 做网络赚钱成功的诀窍

    作者 芊蓝小编 日期 2010年07月30日 来源 互联网 1 不要把网络看得多么深奥难懂 它只是你挣钱的一个工具而已 2 问10个人 不如你自己动脑和手真正解析一件事情 3 不要试图掌握网络上的每个知识 谁都不可能学得完 学会跟你工作最相
  • 2012网易校园招聘杭州站笔试

    恩 今天去参加了网易的笔试 题目随后更新 1 长度为M字符串匹配与长度为N的字符串匹配的时间复杂度 我查了查 O M N KMP能做到 这里 http blog csdn net meixr article details 6456896
  • 基于react+springboot校园管理平台的设计与实现

    一 项目介绍 随着信息科学技术的不断发展 很多高校 中学甚至小学都配备了一套管理系统来有效便捷的进行校园管理 学生信息管理 会议管理等 这些系统极大的提高了学校教学的效率与质量 满足了学校对信息管理的要求 但是 在实际应用过程中 这些管理系