基于springboot的学生作业管理系统,学校作业管理系统,附源码+数据库,适合课程设计、毕业设计
Java 毕业设计,SpringBoot课程设计,基于SpringBoot开发的,毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。:登录、首页、个人中心、修改密码、个人信息、教师管理、学生管理、试题管理、微社区、试卷管理、系统管理、考试管理、错题本、考试记录。:登录、注册、首页、微社区、试卷、公告通知、个人中心、后台管理、我的发布、考试记录、错题本、个人中心。登录、注册、
1、项目介绍
基于springboot的学生作业管理系统,学校作业管理系统,附源码+数据库,分为管理员、教师、学生
学生-功能:登录、注册、首页、微社区、试卷、公告通知、个人中心、后台管理、我的发布、考试记录、错题本、个人中心
教师-功能:登录、注册、首页、个人中心、修改密码、个人信息、试卷管理、试题管理、考试管理
管理员-功能:登录、首页、个人中心、修改密码、个人信息、教师管理、学生管理、试题管理、微社区、试卷管理、系统管理、考试管理、错题本、考试记录
Java 毕业设计,SpringBoot课程设计,基于SpringBoot开发的,毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用
包含:项目源码、数据库脚本等,该项目可以作为毕设、课程设计使用,前后端代码都在里面
该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值
2、技术框架
运行系统:windows
编程语言:java
系统架构:B/S
后端框框:SpringBoot(Spring+SpringMVC+Mybatis)
前端框架:Vue+HTML+CSS+JavaScript
前后端分离:否
数据库:MySQL
Maven项目:是
数据库表数量:10
运行环境:JDK8+MySQL5.6+Maven3.6+idea+Node.js 14.16
3、演示视频
基于springboot的学生作业管理系统
4、项目截图
5、代码示例
<!-- 公告通知 -->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>公告通知</title>
<link rel="stylesheet" href="../../layui/css/layui.css">
<!-- 样式 -->
<link rel="stylesheet" href="../../css/style.css" />
<!-- 主题(主要颜色设置) -->
<link rel="stylesheet" href="../../css/theme.css" />
<!-- 通用的css -->
<link rel="stylesheet" href="../../css/common.css" />
</head>
<style>
#swiper {
overflow: hidden;
}
#swiper .layui-carousel-ind li {
width: 28px;
height: 14px;
border-width: 0;
border-style: solid;
border-color: rgba(0,0,0,.3);
border-radius: 7px;
background-color: rgba(191, 191, 191, 1);
box-shadow: 0 0 0px rgba(255,0,0,.8);
}
#swiper .layui-carousel-ind li.layui-this {
width: 60px;
height: 14px;
border-width: 0;
border-style: solid;
border-color: rgba(0,0,0,.3);
border-radius: 7px;
background-color: rgba(254, 241, 0, 1);
box-shadow: 0 0 0px rgba(255,0,0,.8);
}
.index-title {
text-align: center;
box-sizing: border-box;
width: 980px;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.layui-laypage .layui-laypage-count {
padding: 0 10px;
}
.layui-laypage .layui-laypage-skip {
padding-left: 10px;
}
.news-container .content {
margin: 30px auto;
}
.news-container .btn-container {
display: flex;
align-items: center;
box-sizing: border-box;
width: 100%;
flex-wrap: wrap;
width: 980px !important;
margin: 0 auto !important;
justify-content: space-between !important;
}
.news-container .btn-container button i {
margin-right: 4px;
}
</style>
<body style="padding-bottom: 10px;">
<div id="app">
<div class="layui-carousel" id="swiper" :style='{"boxShadow":"0 0 0px rgba(255,0,0,.8)","margin":"0 auto","borderColor":"rgba(0,0,0,.3)","borderRadius":"0","borderWidth":"0","width":"100%","borderStyle":"solid"}'>
<div carousel-item id="swiper-item">
<div v-for="(item,index) in swiperList" :key="index">
<img style="width: 100%;height: 100%;object-fit:cover;" :src="item.img" />
</div>
</div>
</div>
<div class="index-title" :style='{"padding":"10px","boxShadow":"0 0 0px rgba(255,0,0,.8)","margin":"10px auto","borderColor":"rgba(243, 186, 22, 1)","backgroundColor":"rgba(255, 255, 255, 1)","color":"rgba(243, 186, 22, 1)","borderRadius":"4px","borderWidth":"10px","fontSize":"20px","borderStyle":"solid","height":"80px"}'>
<span>NEWS / INFORMATION</span><span>公告通知</span>
</div>
<div class="news-container">
<h1 class="title">{{detail.title}}</h1>
<div class="auth-container">
时间:{{detail.addtime}}
</div>
<div class="content" style="word-break: break-all;" v-html="detail.content">
</div>
<!-- <div class="bottom-container">
<div class="title">
本篇文章:{{detail.title}}
</div>
<div onclick="back()" class="btn">
返回列表
</div>
</div> -->
<div class="btn-container" :style='{"padding":"0 20px","boxShadow":"0 0 0px rgba(255,0,0,.8)","margin":"10px 0 20px 0","borderColor":"rgba(0,0,0,.3)","backgroundColor":"rgba(255, 255, 255, 0)","borderRadius":"4px","alignItems":"center","borderWidth":"0","borderStyle":"solid","justifyContent":"flex-end","height":"64px"}'>
<div class="title" style="font-size: 18px;color:#999;">
本篇文章:{{detail.title}}
</div>
<button :style='{"padding":"0 30px","boxShadow":"5px -5px 0px 0px rgba(243,151,0,1)","margin":"0 0 0 25px","borderColor":"#409EFF","backgroundColor":"rgba(255, 241, 174, 1)","color":"rgba(0, 0, 0, 1)","borderRadius":"4px","borderWidth":"0","width":"auto","fontSize":"14px","borderStyle":"solid","height":"35px"}' onclick="back()" type="button" class="layui-btn layui-btn-lg btn-theme">
<i v-if="true" class="layui-icon"></i> 返回列表
</button>
</div>
</div>
</div>
<!-- layui -->
<script src="../../layui/layui.js"></script>
<!-- vue -->
<script src="../../js/vue.js"></script>
<!-- 组件配置信息 -->
<script src="../../js/config.js"></script>
<!-- 扩展插件配置信息 -->
<script src="../../modules/config.js"></script>
<!-- 工具方法 -->
<script src="../../js/utils.js"></script>
<script>
var vue = new Vue({
el: '#app',
data: {
// 轮播图
swiperList: [{
img: '../../img/banner.jpg'
}],
detail: {}
},
methods: {
jump(url) {
jump(url)
}
}
})
layui.use(['layer', 'element', 'carousel', 'laypage', 'http', 'jquery'], function() {
var layer = layui.layer;
var element = layui.element;
var carousel = layui.carousel;
var laypage = layui.laypage;
var http = layui.http;
var jquery = layui.jquery;
var id = http.getParam('id');
// 获取轮播图 数据
http.request('config/list', 'get', {
page: 1,
limit: 5
}, function(res) {
if (res.data.list.length > 0) {
var swiperItemHtml = '';
for (let item of res.data.list) {
if (item.name.indexOf('picture') >= 0 && item.value && item.value != "" && item.value != null) {
swiperItemHtml +=
'<div>' +
'<img style="width: 100%;height: 100%;object-fit:cover;" class="swiper-item" src="' + http.baseurl+item.value + '">' +
'</div>';
}
}
jquery('#swiper-item').html(swiperItemHtml);
// 轮播图
vue.$nextTick(() => {
carousel.render({
elem: '#swiper',
width: '100%',
height: '550px',
arrow: 'hover',
anim: 'default',
autoplay: 'true',
interval: '3000',
indicator: 'inside'
});
})
}
});
// 详情信息
http.request('news/detail/' + id, 'get', {}, function(res) {
vue.detail = res.data
vue.detail.content = vue.detail.content.replace(/<img/g,'<img style="width: 100%;"')
});
});
</script>
</body>
</html>
更多推荐
所有评论(0)