前端添加目录和课程,编辑

main
whb
parent 95c2766e64
commit e08e2d6917

@ -33,9 +33,6 @@ public class CourseController {
@Resource
private CourseService courseService;
@Resource
private AliyunOssUtil ossUtil;
private String path = "";
@ -100,33 +97,6 @@ public class CourseController {
}
@ApiOperation("图片上传")
@PostMapping("/uploadFile")
public JsonResult upload(@RequestParam("file") @RequestPart MultipartFile file){
String upload = null;
try {
if (file != null) {
String fileName = file.getOriginalFilename();
if (!"".equals(fileName.trim())) {
File newFile = new File(fileName);
FileOutputStream os = new FileOutputStream(newFile);
os.write(file.getBytes());
os.close();
//把file里的内容复制到newFile中
file.transferTo(newFile);
upload = ossUtil.upload(newFile);
}
}
} catch (Exception e) {
e.printStackTrace();
}
path = "https://zhiyun03.oss-cn-beijing.aliyuncs.com/"+ upload;
return JsonResult.success(path);
}

@ -25,6 +25,8 @@ public class DownloadController {
@Resource
private DownloadService downloadService;
private String path = "";
@ApiOperation("查询下载中心")
@GetMapping("/queryDownload")
@ -39,14 +41,69 @@ public class DownloadController {
@ApiOperation("添加下载")
@PostMapping("/addDownload")
public JsonResult addDownload(DownloadVo vo){
vo.setDownloadImg(this.path);
int count = downloadService.addDownload(vo);
return JsonResult.success();
}
//
// @ApiOperation("图片上传")
// @PostMapping("/uploadFile")
// public JsonResult upload(@RequestParam("upload") @RequestPart MultipartFile file){
// String upload = null;
// try {
// if (file != null) {
// String fileName = file.getOriginalFilename();
// if (!"".equals(fileName.trim())) {
// File newFile = new File(fileName);
//
// FileOutputStream os = new FileOutputStream(newFile);
// os.write(file.getBytes());
// os.close();
//
// //把file里的内容复制到newFile中
// file.transferTo(newFile);
// upload = ossUtil.upload(newFile);
//
// }
// }
// } catch (Exception e) {
// e.printStackTrace();
// }
// path = "https://zhiyun03.oss-cn-beijing.aliyuncs.com/"+ upload;
// return JsonResult.success(path);
// }
@ApiOperation("删除下载")
@GetMapping("/delDownload")
public JsonResult delDownload(Integer id){
int count = downloadService.delDownload(id);
return JsonResult.success();
}
@ApiOperation("根据Id查询")
@PostMapping("/queryById")
public JsonResult<DownloadVo> queryById(Integer id){
DownloadVo downloadAddVo =downloadService.queryById(id);
return JsonResult.success(downloadAddVo);
}
@ApiOperation("更新下载")
@PostMapping("/updateDownload")
public JsonResult<DownloadVo> updateDownload(DownloadVo vo){
vo.setDownloadImg(path);
int count =downloadService.updateDownload(vo);
return JsonResult.success();
}
@ApiOperation("图片上传")
@PostMapping("/uploadFile")
public JsonResult upload(@RequestParam("file") @RequestPart MultipartFile file){
@ApiOperation("文件/图片上传")
@PostMapping("/upload")
public JsonResult<Object> upload(@RequestParam("file") @RequestPart MultipartFile file) {
String upload = null;
try {
if (file != null) {
@ -67,32 +124,11 @@ public class DownloadController {
} catch (Exception e) {
e.printStackTrace();
}
String path = "https://zhiyun03.oss-cn-beijing.aliyuncs.com/"+ upload;
path = "https://zhiyun03.oss-cn-beijing.aliyuncs.com/"+ upload;
return JsonResult.success(path);
}
@ApiOperation("删除下载")
@GetMapping("/delDownload")
public JsonResult delDownload(Integer id){
int count = downloadService.delDownload(id);
return JsonResult.success();
}
@ApiOperation("根据Id查询")
@PostMapping("/queryById")
public JsonResult<DownloadVo> queryById(Integer id){
DownloadVo downloadAddVo =downloadService.queryById(id);
return JsonResult.success(downloadAddVo);
}
@ApiOperation("更新下载")
@PostMapping("/updateDownload")
public JsonResult<DownloadVo> updateDownload(DownloadVo vo){
int count =downloadService.updateDownload(vo);
return JsonResult.success();
}
}

@ -6,7 +6,7 @@ import lombok.Data;
@Data
public class DownloadVo {
@TableId
private int id;
private Integer id;
/**
*

@ -9,7 +9,7 @@ accessKeySecret: dIYCoLCKlKPp17wqRRPlrwLaznDYXc
#OSS对应的区域
endpoint: oss-cn-beijing.aliyuncs.com
#OSS对应的文件夹会在OSS中自动创建
filehost: images
filehost: zhiyun
spring:

@ -8,12 +8,12 @@
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="layui/css/layui.css" tppabs="//res.ilayuis.com/layui/dist/css/layui.css" media="all">
<!-- 注意如果你直接复制所有代码到本地上述css路径需要改成你本地的 -->
<style>
.layui-container {
display: flex;
}
<!-- <style>-->
<!-- .layui-container {-->
<!-- display: flex;-->
<!-- }-->
</style>
<!-- </style>-->
</head>
@ -73,7 +73,6 @@
, page: true
});
//头工具栏事件
table.on('toolbar(test)', function (obj) {
var data = obj.data;
@ -85,7 +84,6 @@
}
});
//监听行工具事件
table.on('tool(test)', function (obj) {
var data = obj.data;
@ -263,18 +261,6 @@
}
});
//拖拽上传
upload.render({
elem: '#test10'
, url: 'http://localhost:8080/download/uploadFile?param=upload' //此处用的是第三方的 http 请求演示,实际使用时改成您自己的上传接口即可。
, done: function (res) {
layer.msg('上传成功');
layui.$('#uploadDemoView').removeClass('layui-hide').find('img').attr('src', res.data);
console.log(res)
}
});
}
</script>
@ -300,19 +286,6 @@
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
</div>
</div>
@ -347,9 +320,6 @@
// alert("取消")
}
});
layui.use(['form'], function () {
var form = layui.form;
@ -378,63 +348,6 @@
}
});
layui.use('layer', function () {
var layer = layui.layer;
$('.image-item').on('click', function () {
var imageUrl = $(this).attr('src');
// Open a modal with the image and upload button
layer.open({
type: 1,
title: false,
closeBtn: 0,
area: ['auto', 'auto'],
content: `
<div>
<img src="${imageUrl}" style="max-width: 100%;">
<button class="upload-button" data-url="${imageUrl}">Upload</button>
</div>
`,
success: function (layero) {
// Bind click event to the upload button
$(layero).find('.upload-button').on('click', function () {
var imageUrl = $(this).data('url');
// Simulate file selection or directly use the imageUrl
var selectedFile = new Blob(); // Replace with actual file
// Create FormData and append data
var formData = new FormData();
formData.append('imageUrl', imageUrl);
formData.append('file', selectedFile);
// Use AJAX to upload the file
$.ajax({
type: 'POST',
url: 'http://localhost:8080/api/course/uploadFile', // Replace with your backend upload URL
data: formData,
contentType: false,
processData: false,
success: function (response) {
// Handle success response from the backend
console.log('Image uploaded:', response);
console.log('Image uploaded:', formData.get('imageUrl'));
console.log('Image uploaded:', formData.get('file'));
layer.closeAll(); // Close the modal
},
error: function (error) {
// Handle error response from the backend
console.error('Error uploading image:', error);
}
});
});
}
});
});
});
});
}
</script>
@ -477,24 +390,32 @@
</div>
<div class="layui-form-item">
<label class="layui-form-label">选择icon</label>
<div class="image-list">
<img class="image-item" src="./images/01.png" alt="Image 1">
<img class="image-item" src="./images/02.png" alt="Image 2">
<img class="image-item" src="./images/03.png" alt="Image 1">
<img class="image-item" src="./images/04.png" alt="Image 2">
<img class="image-item" src="./images/05.png" alt="Image 1">
<img class="image-item" src="./images/06.png" alt="Image 2">
<img class="image-item" src="./images/01.png" alt="Image 1">
<img class="image-item" src="./images/02.png" alt="Image 2">
<img class="image-item" src="./images/03.png" alt="Image 1">
<img class="image-item" src="./images/04.png" alt="Image 2">
<img class="image-item" src="./images/05.png" alt="Image 1">
<!-- Add more images as needed -->
<div class="layui-input-block">
<input type="text" name="courseIcon" id="courseIcon" class="layui-input">
</div>
</div>
</div>
<!-- <div class="layui-form-item">-->
<!-- <label class="layui-form-label">选择icon</label>-->
<!-- <div class="image-list">-->
<!-- <img class="image-item" src="./images/01.png" alt="Image 1">-->
<!-- <img class="image-item" src="./images/02.png" alt="Image 2">-->
<!-- <img class="image-item" src="./images/03.png" alt="Image 1">-->
<!-- <img class="image-item" src="./images/04.png" alt="Image 2">-->
<!-- <img class="image-item" src="./images/05.png" alt="Image 1">-->
<!-- <img class="image-item" src="./images/06.png" alt="Image 2">-->
<!-- <img class="image-item" src="./images/01.png" alt="Image 1">-->
<!-- <img class="image-item" src="./images/02.png" alt="Image 2">-->
<!-- <img class="image-item" src="./images/03.png" alt="Image 1">-->
<!-- <img class="image-item" src="./images/04.png" alt="Image 2">-->
<!-- <img class="image-item" src="./images/05.png" alt="Image 1">-->
<!-- &lt;!&ndash; Add more images as needed &ndash;&gt;-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
</form>
</script>

@ -15,8 +15,8 @@
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="getCheckData">添加目录</button>
<button class="layui-btn layui-btn-sm" lay-event="getCheckLength">添加下载</button>
<button class="layui-btn layui-btn-sm" lay-event="addData">添加目录</button>
<button class="layui-btn layui-btn-sm" lay-event="addDownload">添加下载</button>
</div>
</script>
<script type="text/html" id="barDemo">
@ -66,26 +66,16 @@
]]
, page: true
});
//工具栏事件
//头工具栏事件
table.on('toolbar(test)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'getCheckData':
var data = checkStatus.data;
layer.alert(JSON.stringify(data));
break;
case 'getCheckLength':
var data = checkStatus.data;
layer.msg('选中了:' + data.length + ' 个');
break;
case 'isAll':
layer.msg(checkStatus.isAll ? '全选' : '未全选')
break;
var data = obj.data;
//console.log(obj)
if (obj.event === 'addData') {
addDir(data);
} else if (obj.event === 'addDownload') {
addDownload(data);
}
;
});
//监听行工具事件
table.on('tool(test)', function(obj){
var data = obj.data;
@ -115,11 +105,337 @@
selectOne(data);
}
});
});
</script>
<script>
function selectOne(data) {
//弹框
layer.open({
type: 1,
content: $("#updateForm").html(),
title: ['修改页面', 'font-size:18px;'],
area: ['600px', '600px'],
//弹出后回调
success: function () {
$("#id").val(data.id);
$("#downloadName").val(data.downloadName);
$("#downloadBrief").val(data.downloadBrief);
$("#downloadUrl").val(data.downloadUrl);
$("#dirName").val(data.dirName);
$("#downloadImg").val(data.downloadImg);
//渲染页面
layui.form.render();
},
btn: ['提交', '取消']
, yes: function (index, layero) {
//修改操作
$.post("http://localhost:8080/download/updateDownload", $("#updateDownload").serialize(),
function (data) {
if ("success" == data.msg) {
layer.msg(data.msg);
$(".layui-laypage-btn").click();
parent.layer.close(index);
} else {
layer.msg(data.msg);
}
});
}
, btn2: function (index, layero) {
// alert("取消")
}
});
layui.use(['form'], function () {
var form = layui.form;
$.ajax({
url: 'http://localhost:8080/application/queryDir',
type: "get",
success: function (data) {
if (data.msg === "success") {
//给一个默认值(‘请选择’)
var opt = '<option value="" selected="' + data.dirName + '"></option>';
//获取返回的数据
var value = data.data;
//循环遍历
for (var i in value) {
opt += '<option value = "' + value[i].dirName + '">' + value[i].dirName + '</option>'
console.log(value[i].dirName)
}
$("#directorId").html(opt);
form.render('select');//需要渲染一下
} else {
layer.alert(data.msg, {icon: 2, title: '提示'}, function (i) {
layer.closeAll();
});
}
});
}
});
layui.use(['upload', 'element', 'layer'], function(){
var $ = layui.jquery
,upload = layui.upload
,element = layui.element
,layer = layui.layer;
//拖拽上传
upload.render({
elem: '#test10'
,url: 'http://localhost:8080/download/uploadFile?param=upload' //此处用的是第三方的 http 请求演示,实际使用时改成您自己的上传接口即可。
,done: function(res){
layer.msg('上传成功');
layui.$('#uploadDemoView').removeClass('layui-hide').find('img').attr('src', res.data);
console.log(res)
}
});
});
});
}
</script>
<script type="text/html" id="updateForm">
<form class="layui-form" id="updateDownload">
<!-- 把id 作为隐藏域传过去 -->
<input type="hidden" name="id" id="id">
<div class="layui-form-item">
<label class="layui-form-label">下载名称</label>
<div class="layui-input-block">
<input type="text" name="downloadName" id="downloadName" required lay-verify="required" autocomplete="off"
class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">下载简介</label>
<div class="layui-input-block">
<input type="text" name="downloadBrief" id="downloadBrief" required lay-verify="required" autocomplete="off"
class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">下载链接</label>
<div class="layui-input-block">
<input type="text" name="downloadUrl" id="downloadUrl" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">归属目录</label>
<div class="layui-input-block">
<select name="dirName" id="directorId">
<option value="dirName"></option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">上传程序</label>
<div class="layui-input-inline">
<div class="layui-upload-drag" id="test10">
<i class="layui-icon"></i>
<p>点击上传,或将文件拖拽到此处</p>
<div class="layui-hide" id="uploadDemoView">
<hr>
<img src="" alt="上传成功后渲染" style="max-width: 196px">
</div>
</div>
</div>
</div>
</form>
</script>
<script type="text/html" id="addForm">
<form class="layui-form" id="addDirectory">
<!-- 把id 作为隐藏域传过去 -->
<input type="hidden" name="id" id="id">
<div class="layui-form-item">
<label class="layui-form-label">目录名称</label>
<div class="layui-input-block">
<input type="text" name="dirName" id="dirName" required lay-verify="required" autocomplete="off"
class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">选择icon</label>
<div class="layui-container" id="test10">
<div class="layui-row">
<div class="layui-col-md4"lay-event="addData">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
<img src="./images/01.png" alt="图片1">
</div>
</div>
</div>
</div>
</form>
</script>
<script>
function addDownload(data) {
//弹框
layer.open({
type: 1,
content: $("#addForm1").html(),
title: ['添加下载', 'font-size:18px;'],
area: ['600px', '600px'],
btn: ['提交', '取消']
, yes: function (index, layero) {
//修改操作
$.post("http://localhost:8080/download/addDownload", $("#addDownload").serialize(),
function (data) {
if ("success" == data.msg) {
layer.msg(data.msg);
$(".layui-laypage-btn").click();
parent.layer.close(index);
} else {
layer.msg(data.msg);
}
});
}
, btn2: function (index, layero) {
// alert("取消")
}
});
layui.use(['form'], function() {
var form = layui.form;
$.ajax({
url: 'http://localhost:8080/application/queryDir',
type:"get",
success: function(data) {
if(data.msg === "success"){
//给一个默认值(‘请选择’)
var opt = '<option value="" selected=""></option>';
//获取返回的数据
var value = data.data;
//循环遍历
for (var i in value) {
opt += '<option value = "' + value[i].dirName + '">' + value[i].dirName + '</option>'
console.log(value[i].dirName)
}
$("#directorId").html(opt);
form.render('select');//需要渲染一下
}else{
layer.alert(data.msg,{ icon:2,title:'提示'},function(i){ layer.closeAll();});
}
}
});
layui.use(['upload', 'element', 'layer'], function(){
var $ = layui.jquery
,upload = layui.upload
,element = layui.element
,layer = layui.layer;
upload.render({
elem: '#test10'
,url: 'http://localhost:8080/download/upload?param=file' //此处用的是第三方的 http 请求演示,实际使用时改成您自己的上传接口即可。
,done: function(res){
layer.msg('上传成功');
layui.$('#uploadDemoView').removeClass('layui-hide').find('img').attr('src', res.data);
console.log(res.data)
}
});
});
});
}
</script>
<script type="text/html" id="addForm1">
<form class="layui-form" id="addDownload" enctype="multipart/form-data">
<!-- 把id 作为隐藏域传过去 -->
<input type="hidden" name="id" id="id">
<div class="layui-form-item">
<label class="layui-form-label">下载名称</label>
<div class="layui-input-block">
<input type="text" name="downloadName" id="downloadName" required lay-verify="required" autocomplete="off"
class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">下载简介</label>
<div class="layui-input-block">
<input type="text" name="downloadBrief" id="downloadBrief" required lay-verify="required" autocomplete="off"
class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">下载链接</label>
<div class="layui-input-block">
<input type="text" name="downloadUrl" id="downloadUrl" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">归属目录</label>
<div class="layui-input-block">
<select name="dirName" id="directorId" >
<option value="">直接选择或搜索选择</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">上传程序</label>
<div class="layui-input-inline">
<div class="layui-upload-drag" id="test10">
<i class="layui-icon"></i>
<p>点击上传,或将文件拖拽到此处</p>
<div name="downloadImg" class="layui-hide" id="uploadDemoView">
<hr>
<img src="" alt="上传成功后渲染" style="max-width: 196px">
</div>
</div>
</div>
</div>
</form>
</script>
<!--<script>-->
<!-- //Demo-->
<!-- layui.use('form', function(){-->
<!-- var form = layui.form;-->
<!-- //监听提交-->
<!-- form.on('submit(formDemo)', function(data){-->
<!-- //layer.msg(JSON.stringify(data.field));-->
<!-- //前端可以进行一些判断...-->
<!-- return true;//true表示走action访问后台false表示不走-->
<!-- });-->
<!-- });-->
<!--</script>-->
</body>
<script>
</script>
</html>

@ -78,7 +78,6 @@
</div>
<script src="./layui/layui.js"></script>
<script>
//JS
layui.use(['element', 'layer', 'util'], function(){
var element = layui.element

Loading…
Cancel
Save