基于SpringBoot框架课程思政资源平台(附源代码及数据库)

简介: 基于SpringBoot框架课程思政资源平台(附源代码及数据库)

项目详情


根据系统开发关键内容得出该系统主要功能性需求为:


(1)用户管理,系统中需要包含多种用户角色,不同的角色的用户,功能不同,但是用户均需要登录成功以后才可以操作教学资源。对于该系统而言,需要包含系统管理员和普通用户两类。


(2)教学资源管理,该平台主要作用是将高校中的各类课程思政教学教学资源发布并传播给高校的学生。其中管理员负责发布、编辑、删除教学资源,教学资源发布至平台后,平台客户端可以查看、下载以及收藏该教学资源。


(3)教学资源审查管理,当教学资源发布至系统后,需要接受广大阅读者的审查,当阅读者认为教学资源有误或者有疑问时可以通过评论功能发表个人见解。


细节阐述


(1)登录,管理员使用思政资源平台功能的前提是使用个人账号登录系统,在登录过程中需要输入管理员的账号、密码以及随机验证码。


(2)系统管理员管理,管理员在思政资源平台中的重要作用是管理普通管理员的人事档案,对于管理员用户来说需要可以为其他资源管理员创建个人账号 也可以修改和删除其他资源管理员。


(3)注册用户管理,管理员可以通过后台管理查看并管理注册用户账号等信息。


(4)新闻信息管理,管理员可以发布新闻信息,划分新闻种类和管理个人发布新闻的功能。


(5)高校动态管理,管理员具有录入高校动态信息和课程思政资源平台中高校动态记录的功能。


(6)思政课堂管理,管理员具有录入思政课堂资源以及管理其资源记录的功能。


bb872be0814e4c3fb7e6567a2733b109.png

b300462bdc064117b320416ad86af9bb.png



登录界面


16f4620c63e74bcea63550593348131a.png


数据库展示


cb7e9259be594731bd36ac8c604f7dd3.png


登录页面


<!DOCTYPE html>
<html>
<head>
    <title>资源平台</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="stylesheet" href="../images/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../images/style/admin.css" media="all">
    <link rel="stylesheet" href="../images/style/login.css" media="all">
</head>
<body style="background: url('../images/loginbg.jpg');background-position: center center;background-size: cover;">
<div id="app">
    <form name="form1" >
        <div class="layadmin-user-login layadmin-user-display-show" id="LAY-user-login" style="display: none;">
            <div class="layadmin-user-login-main" style="background: rgba(250,250,250,0.45);">
                <div class="layadmin-user-login-box layadmin-user-login-header">
                    <h2>后台登陆</h2>
                    <p>课程思政资源平台</p>
                </div>
                <div class="layadmin-user-login-box layadmin-user-login-body ">
                <div class="layui-form-item">
                        <label class="layadmin-user-login-icon layui-icon layui-icon-username"
                               for="LAY-user-login-username"></label>
                        <input type="text" name="username" id="LAY-user-login-username" lay-verify="required" placeholder="用户名" v-model="user.username" class="layui-input">
                    </div>
                    <div class="layui-form-item">
                        <label class="layadmin-user-login-icon layui-icon layui-icon-password"
                               for="LAY-user-login-password"></label>
                        <input type="password" name="pwd" id="LAY-user-login-password" lay-verify="required" v-model="user.mima" placeholder="密码" class="layui-input">
                    </div>
                    <div class="layui-form-item">
                        <label class="layadmin-user-login-icon layui-icon layui-icon-refresh"
                               for="LAY-user-login-password"></label>
                        <select name="cx" id="cx" v-model="user.level" class="layui-input">
                          <option value="管理员" name="level">管理员</option>
<option value="用户" name="level">用户</option>
                        </select>
                    </div>
                    <div class="layui-form-item">
                        <div class="layui-row">
                            <div class="layui-col-xs7">
                                <label class="layadmin-user-login-icon layui-icon layui-icon-vercode"
                                       for="yzm"></label>
                                <input type="text" name="yzm" id="yzm" lay-verify="required"
                                       placeholder="验证码" class="layui-input">
                            </div>
                            <div class="layui-col-xs5">
                                <div style="margin-left: 10px;">
                                    <input type = "text" class="layui-input" id="code" />                      </div>
                            </div>
                        </div>
                    </div>
                    <div class="layui-form-item" style="margin-bottom: 20px;">            </div>
                    <div class="layui-form-item">
                        <button class="layui-btn layui-btn-fluid" lay-submit lay-filter="LAY-user-login-submit" type="button" id="loginBtn" @click="login">登
                            入                </button>
                    </div>
                    <div class="layui-trans layui-form-item layadmin-user-login-other">
                        <label></label>
                        <a href="javascript:;"><i class="layui-icon layui-icon-login-qq"></i></a>
                        <a href="javascript:;"><i class="layui-icon layui-icon-login-wechat"></i></a>
                        <a href="javascript:;"><i class="layui-icon layui-icon-login-weibo"></i></a>
                        <a href="reg.html" class="layadmin-user-jump-change layadmin-link"></a>            </div>
                </div>
            </div>
        </div>
    </form>
    <script src="../images/layui/layui.js"></script>
    <script src="../images/js/jquery-1.9.1.min.js"></script>
    <script>
        layui.use(['element', 'form', 'layer'], function () {
            var element = layui.element;
            var layer = layui.layer;
            var form = layui.form;
            var layer = layui.layer;
        });
    </script>
</div>
<script src="../js/hsgyanzhengma.js"></script>
<script src="../js/vue2.6.11/vue.min.js"></script>
<script src="../js/vue2.6.11/axios.js"></script>
<script>
  new Vue({
  el: "#app",
  data: {
    user: {
    username: "",
    mima: "",
    level: null
    },
    authorities: [],
  },
  created: function () {
    axios.get("/getAuthority").then(res => {
    if (res.data.code === '0') {
      this.authorities = res.data.data;
    } else {
      alert(res.data.msg);
    }
    });
  },
  methods: {
    login() {
    if (!this.user.username) {
      alert("请输入用户名");
      return;
    }
    if (!this.user.mima) {
      alert("请输入密码");
      return;
    }
    if (!this.user.level) {
      alert("请选择角色");
      return;
    }
    var inputCode = yzm.value.toUpperCase(); //取得输入的验证码并转化为大写??
    if(inputCode.length==0) { //若输入的验证码长度为0
      alert("请输入验证码 "); //则弹出请输入验证码
      return;
    }
    else if(inputCode!=codes.toUpperCase()) { //若输入的验证码与产生的验证码不一致时
      alert("验证码输入错误 请重新输入"); //则弹出验证码输入错误
      change();//刷新验证码
      input.value="";//清空文本框
      return;
    }
    axios.post('/login', this.user).then(res => {
      if(res.data.code === '0') {
      localStorage.setItem('user', JSON.stringify(res.data.data));
      if (this.user.level==="管理员"){window.location = '/end/page/main_guanliyuan.html';}
if (this.user.level==="用户"){window.location = '/end/page/main_yonghu.html';}
      } else {
      alert(res.data.msg);
      }
    });
    },
  }
  });
</script>
</body>
</html>


源代码下载(含数据库)

https://download.csdn.net/download/m0_54925305/85398452


项目演示地址

https://www.bilibili.com/video/BV1ct4y1x76E?spm_id_from=333.999.0.0


毕设项目专栏

https://blog.csdn.net/m0_54925305/category_11702151.html?spm=1001.2014.3001.5482


相关文章
|
6天前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
22 4
|
8天前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
62 1
|
3天前
|
Java API 数据库
Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐
本文通过在线图书管理系统案例,详细介绍如何使用Spring Boot构建RESTful API。从项目基础环境搭建、实体类与数据访问层定义,到业务逻辑实现和控制器编写,逐步展示了Spring Boot的简洁配置和强大功能。最后,通过Postman测试API,并介绍了如何添加安全性和异常处理,确保API的稳定性和安全性。
10 0
|
4天前
|
人工智能 开发框架 Java
总计 30 万奖金,Spring AI Alibaba 应用框架挑战赛开赛
Spring AI Alibaba 应用框架挑战赛邀请广大开发者参与开源项目的共建,助力项目快速发展,掌握 AI 应用开发模式。大赛分为《支持 Spring AI Alibaba 应用可视化调试与追踪本地工具》和《基于 Flow 的 AI 编排机制设计与实现》两个赛道,总计 30 万奖金。
|
5天前
|
人工智能 Java API
阿里云开源 AI 应用开发框架:Spring AI Alibaba
近期,阿里云重磅发布了首款面向 Java 开发者的开源 AI 应用开发框架:Spring AI Alibaba(项目 Github 仓库地址:alibaba/spring-ai-alibaba),Spring AI Alibaba 项目基于 Spring AI 构建,是阿里云通义系列模型及服务在 Java AI 应用开发领域的最佳实践,提供高层次的 AI API 抽象与云原生基础设施集成方案,帮助开发者快速构建 AI 应用。本文将详细介绍 Spring AI Alibaba 的核心特性,并通过「智能机票助手」的示例直观的展示 Spring AI Alibaba 开发 AI 应用的便利性。示例源
|
8天前
|
Java 数据库连接 数据库
让星星⭐月亮告诉你,SSH框架01、Spring概述
Spring是一个轻量级的Java开发框架,旨在简化企业级应用开发。它通过IoC(控制反转)和DI(依赖注入)降低组件间的耦合度,支持AOP(面向切面编程),简化事务管理和数据库操作,并能与多种第三方框架无缝集成,提供灵活的Web层支持,是开发高性能应用的理想选择。
12 1
|
9天前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
14 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
9天前
|
Java 关系型数据库 MySQL
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
这篇文章是关于如何使用Spring Boot框架通过JdbcTemplate操作MySQL数据库的教程。
11 0
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
|
10天前
|
人工智能 Java API
阿里云开源 AI 应用开发框架:Spring AI Alibaba
阿里云开源 Spring AI Alibaba,旨在帮助 Java 开发者快速构建 AI 应用,共同构建物理新世界。
|
13天前
|
JSON 前端开发 Java
Spring Boot框架中的响应与分层解耦架构
在Spring Boot框架中,响应与分层解耦架构是两个核心概念,它们共同促进了应用程序的高效性、可维护性和可扩展性。
38 3