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

main
whb 2 years ago
parent f078503ecf
commit 95c2766e64

@ -62,6 +62,12 @@
<version>5.0.7</version> <version>5.0.7</version>
</dependency> </dependency>
<!-- 引入 thymeleaf 模板依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!-- <dependency>--> <!-- <dependency>-->
<!-- <groupId>com.github.pagehelper</groupId>--> <!-- <groupId>com.github.pagehelper</groupId>-->
<!-- <artifactId>pagehelper</artifactId>--> <!-- <artifactId>pagehelper</artifactId>-->

@ -7,12 +7,16 @@ import com.zhiyun.zhiyun03.course.vo.CourseVo;
import com.zhiyun.zhiyun03.course.vo.PageVO; import com.zhiyun.zhiyun03.course.vo.PageVO;
import com.zhiyun.zhiyun03.utils.common.JsonResult; import com.zhiyun.zhiyun03.utils.common.JsonResult;
import com.zhiyun.zhiyun03.utils.oss.AliyunOssUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.File;
import java.io.FileOutputStream;
/** /**
@ -29,6 +33,11 @@ public class CourseController {
@Resource @Resource
private CourseService courseService; private CourseService courseService;
@Resource
private AliyunOssUtil ossUtil;
private String path = "";
/** /**
* *
@ -63,8 +72,10 @@ public class CourseController {
@ApiOperation("课程添加") @ApiOperation("课程添加")
@GetMapping("/addCourse") @GetMapping("/addCourse")
public JsonResult addCourse(CourseVo courseVo){ public JsonResult addCourse(CourseVo courseVo){
courseVo.setCourseIcon(path);
int count = courseService.addCourse(courseVo); int count = courseService.addCourse(courseVo);
return JsonResult.success(); return JsonResult.success();
} }
@ -89,6 +100,34 @@ 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);
}
} }

@ -46,7 +46,7 @@ public class DownloadController {
@ApiOperation("图片上传") @ApiOperation("图片上传")
@PostMapping("/uploadFile") @PostMapping("/uploadFile")
public JsonResult upload(@RequestParam("upload") @RequestPart MultipartFile file){ public JsonResult upload(@RequestParam("file") @RequestPart MultipartFile file){
String upload = null; String upload = null;
try { try {
if (file != null) { if (file != null) {

@ -179,7 +179,9 @@
form.render('select');//需要渲染一下 form.render('select');//需要渲染一下
} else { } else {
layer.alert(data.msg,{ icon:2,title:'提示'},function(i){ layer.closeAll();}); layer.alert(data.msg, {icon: 2, title: '提示'}, function (i) {
layer.closeAll();
});
} }
} }
@ -344,6 +346,10 @@
, btn2: function (index, layero) { , btn2: function (index, layero) {
// alert("取消") // alert("取消")
} }
}); });
layui.use(['form'], function () { layui.use(['form'], function () {
var form = layui.form; var form = layui.form;
@ -365,11 +371,70 @@
form.render('select');//需要渲染一下 form.render('select');//需要渲染一下
} else { } else {
layer.alert(data.msg,{ icon:2,title:'提示'},function(i){ layer.closeAll();}); layer.alert(data.msg, {icon: 2, title: '提示'}, function (i) {
layer.closeAll();
});
} }
} }
}); });
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> </script>
@ -412,18 +477,21 @@
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">选择icon</label> <label class="layui-form-label">选择icon</label>
<div class="layui-carousel" id="test1"> <div class="image-list">
<div carousel-item> <img class="image-item" src="./images/01.png" alt="Image 1">
<div><img src="//res.ilayuis.com/static/images/layui/demo/1.png" tppabs="//res.ilayuis.com/static/images/layui/demo/1.png"></div> <img class="image-item" src="./images/02.png" alt="Image 2">
<div><img src="//res.ilayuis.com/static/images/layui/demo/2.png" tppabs="//res.ilayuis.com/static/images/layui/demo/2.png"></div> <img class="image-item" src="./images/03.png" alt="Image 1">
<div><img src="//res.ilayuis.com/static/images/layui/demo/3.png" tppabs="//res.ilayuis.com/static/images/layui/demo/3.png"></div> <img class="image-item" src="./images/04.png" alt="Image 2">
<div><img src="//res.ilayuis.com/static/images/layui/demo/4.png" tppabs="//res.ilayuis.com/static/images/layui/demo/4.png"></div> <img class="image-item" src="./images/05.png" alt="Image 1">
<div><img src="//res.ilayuis.com/static/images/layui/demo/5.png" tppabs="//res.ilayuis.com/static/images/layui/demo/5.png"></div> <img class="image-item" src="./images/06.png" alt="Image 2">
<div><img src="//res.ilayuis.com/static/images/layui/demo/6.png" tppabs="//res.ilayuis.com/static/images/layui/demo/6.png"></div> <img class="image-item" src="./images/01.png" alt="Image 1">
<div><img src="//res.ilayuis.com/static/images/layui/demo/7.png" tppabs="//res.ilayuis.com/static/images/layui/demo/7.png"></div> <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> </div>
</div> </div>
</div> </div>

Loading…
Cancel
Save