全局搜索,我们把全局搜索提供,需要博客和资源修改新增的时候同步Context的文本
This commit is contained in:
@@ -1,384 +0,0 @@
|
||||
.message2 {
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
color: #fafafa;
|
||||
font-size: 30px;
|
||||
animation: textRotate 0.8s linear 0.5s infinite alternate;
|
||||
}
|
||||
|
||||
.message {
|
||||
position: absolute;
|
||||
bottom: 20%;
|
||||
left: 5%;
|
||||
color: #fafafa;
|
||||
font-size: 30px;
|
||||
animation: textRotate 0.8s linear 0.5s infinite alternate;
|
||||
}
|
||||
|
||||
body {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
border: 0px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
@keyframes textRotate {
|
||||
from {
|
||||
transform-origin: top;
|
||||
transform: rotateX(-30deg);
|
||||
}
|
||||
to {
|
||||
transform-origin: top;
|
||||
transform: rotateX(12deg);
|
||||
}
|
||||
}
|
||||
|
||||
.NotPage {
|
||||
position: relative;
|
||||
/*z-index: -10;*/
|
||||
background: #4d4d4d;
|
||||
height: 100vh;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
font-family: "Anton", sans-serif;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
-webkit-perspective: 1000px;
|
||||
perspective: 1000px;
|
||||
}
|
||||
|
||||
div {
|
||||
-webkit-transform-style: preserve-3d;
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
|
||||
.rail {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
-webkit-transform: rotateX(-30deg) rotateY(-30deg);
|
||||
transform: rotateX(-30deg) rotateY(-30deg);
|
||||
}
|
||||
|
||||
.rail .stamp {
|
||||
position: absolute;
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background: #141414;
|
||||
color: #fff;
|
||||
font-size: 7rem;
|
||||
}
|
||||
|
||||
.rail .stamp:nth-child(1) {
|
||||
-webkit-animation: stampSlide 40000ms -2300ms linear infinite;
|
||||
animation: stampSlide 40000ms -2300ms linear infinite;
|
||||
}
|
||||
|
||||
.rail .stamp:nth-child(2) {
|
||||
-webkit-animation: stampSlide 40000ms -4300ms linear infinite;
|
||||
animation: stampSlide 40000ms -4300ms linear infinite;
|
||||
}
|
||||
|
||||
.rail .stamp:nth-child(3) {
|
||||
-webkit-animation: stampSlide 40000ms -6300ms linear infinite;
|
||||
animation: stampSlide 40000ms -6300ms linear infinite;
|
||||
}
|
||||
|
||||
.rail .stamp:nth-child(4) {
|
||||
-webkit-animation: stampSlide 40000ms -8300ms linear infinite;
|
||||
animation: stampSlide 40000ms -8300ms linear infinite;
|
||||
}
|
||||
|
||||
.rail .stamp:nth-child(5) {
|
||||
-webkit-animation: stampSlide 40000ms -10300ms linear infinite;
|
||||
animation: stampSlide 40000ms -10300ms linear infinite;
|
||||
}
|
||||
|
||||
.rail .stamp:nth-child(6) {
|
||||
-webkit-animation: stampSlide 40000ms -12300ms linear infinite;
|
||||
animation: stampSlide 40000ms -12300ms linear infinite;
|
||||
}
|
||||
|
||||
.rail .stamp:nth-child(7) {
|
||||
-webkit-animation: stampSlide 40000ms -14300ms linear infinite;
|
||||
animation: stampSlide 40000ms -14300ms linear infinite;
|
||||
}
|
||||
|
||||
.rail .stamp:nth-child(8) {
|
||||
-webkit-animation: stampSlide 40000ms -16300ms linear infinite;
|
||||
animation: stampSlide 40000ms -16300ms linear infinite;
|
||||
}
|
||||
|
||||
.rail .stamp:nth-child(9) {
|
||||
-webkit-animation: stampSlide 40000ms -18300ms linear infinite;
|
||||
animation: stampSlide 40000ms -18300ms linear infinite;
|
||||
}
|
||||
|
||||
.rail .stamp:nth-child(10) {
|
||||
-webkit-animation: stampSlide 40000ms -20300ms linear infinite;
|
||||
animation: stampSlide 40000ms -20300ms linear infinite;
|
||||
}
|
||||
|
||||
.rail .stamp:nth-child(11) {
|
||||
-webkit-animation: stampSlide 40000ms -22300ms linear infinite;
|
||||
animation: stampSlide 40000ms -22300ms linear infinite;
|
||||
}
|
||||
|
||||
.rail .stamp:nth-child(12) {
|
||||
-webkit-animation: stampSlide 40000ms -24300ms linear infinite;
|
||||
animation: stampSlide 40000ms -24300ms linear infinite;
|
||||
}
|
||||
|
||||
.rail .stamp:nth-child(13) {
|
||||
-webkit-animation: stampSlide 40000ms -26300ms linear infinite;
|
||||
animation: stampSlide 40000ms -26300ms linear infinite;
|
||||
}
|
||||
|
||||
.rail .stamp:nth-child(14) {
|
||||
-webkit-animation: stampSlide 40000ms -28300ms linear infinite;
|
||||
animation: stampSlide 40000ms -28300ms linear infinite;
|
||||
}
|
||||
|
||||
.rail .stamp:nth-child(15) {
|
||||
-webkit-animation: stampSlide 40000ms -30300ms linear infinite;
|
||||
animation: stampSlide 40000ms -30300ms linear infinite;
|
||||
}
|
||||
|
||||
.rail .stamp:nth-child(16) {
|
||||
-webkit-animation: stampSlide 40000ms -32300ms linear infinite;
|
||||
animation: stampSlide 40000ms -32300ms linear infinite;
|
||||
}
|
||||
|
||||
.rail .stamp:nth-child(17) {
|
||||
-webkit-animation: stampSlide 40000ms -34300ms linear infinite;
|
||||
animation: stampSlide 40000ms -34300ms linear infinite;
|
||||
}
|
||||
|
||||
.rail .stamp:nth-child(18) {
|
||||
-webkit-animation: stampSlide 40000ms -36300ms linear infinite;
|
||||
animation: stampSlide 40000ms -36300ms linear infinite;
|
||||
}
|
||||
|
||||
.rail .stamp:nth-child(19) {
|
||||
-webkit-animation: stampSlide 40000ms -38300ms linear infinite;
|
||||
animation: stampSlide 40000ms -38300ms linear infinite;
|
||||
}
|
||||
|
||||
.rail .stamp:nth-child(20) {
|
||||
-webkit-animation: stampSlide 40000ms -40300ms linear infinite;
|
||||
animation: stampSlide 40000ms -40300ms linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes stampSlide {
|
||||
0% {
|
||||
-webkit-transform: rotateX(90deg) rotateZ(-90deg) translateZ(-200px) translateY(130px);
|
||||
transform: rotateX(90deg) rotateZ(-90deg) translateZ(-200px) translateY(130px);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotateX(90deg) rotateZ(-90deg) translateZ(-200px) translateY(-3870px);
|
||||
transform: rotateX(90deg) rotateZ(-90deg) translateZ(-200px) translateY(-3870px);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes stampSlide {
|
||||
0% {
|
||||
-webkit-transform: rotateX(90deg) rotateZ(-90deg) translateZ(-200px) translateY(130px);
|
||||
transform: rotateX(90deg) rotateZ(-90deg) translateZ(-200px) translateY(130px);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotateX(90deg) rotateZ(-90deg) translateZ(-200px) translateY(-3870px);
|
||||
transform: rotateX(90deg) rotateZ(-90deg) translateZ(-200px) translateY(-3870px);
|
||||
}
|
||||
}
|
||||
|
||||
.world {
|
||||
-webkit-transform: rotateX(-30deg) rotateY(-30deg);
|
||||
transform: rotateX(-30deg) rotateY(-30deg);
|
||||
}
|
||||
|
||||
.world .forward {
|
||||
position: absolute;
|
||||
-webkit-animation: slide 2000ms linear infinite;
|
||||
animation: slide 2000ms linear infinite;
|
||||
}
|
||||
|
||||
.world .box {
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
-webkit-transform-origin: 100% 100%;
|
||||
transform-origin: 100% 100%;
|
||||
-webkit-animation: roll 2000ms cubic-bezier(1, 0.01, 1, 1) infinite;
|
||||
animation: roll 2000ms cubic-bezier(1, 0.01, 1, 1) infinite;
|
||||
}
|
||||
|
||||
.world .box .wall {
|
||||
position: absolute;
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
background: rgba(10, 10, 10, 0.8);
|
||||
border: 1px solid #fafafa;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.world .box .wall::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #fff;
|
||||
font-size: 7rem;
|
||||
}
|
||||
|
||||
.world .box .wall:nth-child(1) {
|
||||
-webkit-transform: translateZ(100px);
|
||||
transform: translateZ(100px);
|
||||
}
|
||||
|
||||
.world .box .wall:nth-child(2) {
|
||||
-webkit-transform: rotateX(180deg) translateZ(100px);
|
||||
transform: rotateX(180deg) translateZ(100px);
|
||||
}
|
||||
|
||||
.world .box .wall:nth-child(3) {
|
||||
-webkit-transform: rotateX(90deg) translateZ(100px);
|
||||
transform: rotateX(90deg) translateZ(100px);
|
||||
}
|
||||
|
||||
.world .box .wall:nth-child(3)::before {
|
||||
-webkit-transform: rotateX(180deg) rotateZ(90deg) translateZ(-1px);
|
||||
transform: rotateX(180deg) rotateZ(90deg) translateZ(-1px);
|
||||
-webkit-animation: zeroFour 4000ms -2000ms linear infinite;
|
||||
animation: zeroFour 4000ms -2000ms linear infinite;
|
||||
}
|
||||
|
||||
.world .box .wall:nth-child(4) {
|
||||
-webkit-transform: rotateX(-90deg) translateZ(100px);
|
||||
transform: rotateX(-90deg) translateZ(100px);
|
||||
}
|
||||
|
||||
.world .box .wall:nth-child(4)::before {
|
||||
-webkit-transform: rotateX(180deg) rotateZ(-90deg) translateZ(-1px);
|
||||
transform: rotateX(180deg) rotateZ(-90deg) translateZ(-1px);
|
||||
-webkit-animation: zeroFour 4000ms -2000ms linear infinite;
|
||||
animation: zeroFour 4000ms -2000ms linear infinite;
|
||||
}
|
||||
|
||||
.world .box .wall:nth-child(5) {
|
||||
-webkit-transform: rotateY(90deg) translateZ(100px);
|
||||
transform: rotateY(90deg) translateZ(100px);
|
||||
}
|
||||
|
||||
.world .box .wall:nth-child(5)::before {
|
||||
-webkit-transform: rotateX(180deg) translateZ(-1px);
|
||||
transform: rotateX(180deg) translateZ(-1px);
|
||||
-webkit-animation: zeroFour 4000ms linear infinite;
|
||||
animation: zeroFour 4000ms linear infinite;
|
||||
}
|
||||
|
||||
.world .box .wall:nth-child(6) {
|
||||
-webkit-transform: rotateY(-90deg) translateZ(100px);
|
||||
transform: rotateY(-90deg) translateZ(100px);
|
||||
}
|
||||
|
||||
.world .box .wall:nth-child(6)::before {
|
||||
-webkit-transform: rotateX(180deg) rotateZ(180deg) translateZ(-1px);
|
||||
transform: rotateX(180deg) rotateZ(180deg) translateZ(-1px);
|
||||
-webkit-animation: zeroFour 4000ms linear infinite;
|
||||
animation: zeroFour 4000ms linear infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes zeroFour {
|
||||
0% {
|
||||
content: "错";
|
||||
}
|
||||
100% {
|
||||
content: "误";
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes zeroFour {
|
||||
0% {
|
||||
content: "错";
|
||||
}
|
||||
100% {
|
||||
content: "误";
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes roll {
|
||||
0% {
|
||||
-webkit-transform: rotateZ(0deg);
|
||||
transform: rotateZ(0deg);
|
||||
}
|
||||
85% {
|
||||
-webkit-transform: rotateZ(90deg);
|
||||
transform: rotateZ(90deg);
|
||||
}
|
||||
87% {
|
||||
-webkit-transform: rotateZ(88deg);
|
||||
transform: rotateZ(88deg);
|
||||
}
|
||||
90% {
|
||||
-webkit-transform: rotateZ(90deg);
|
||||
transform: rotateZ(90deg);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotateZ(90deg);
|
||||
transform: rotateZ(90deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes roll {
|
||||
0% {
|
||||
-webkit-transform: rotateZ(0deg);
|
||||
transform: rotateZ(0deg);
|
||||
}
|
||||
85% {
|
||||
-webkit-transform: rotateZ(90deg);
|
||||
transform: rotateZ(90deg);
|
||||
}
|
||||
87% {
|
||||
-webkit-transform: rotateZ(88deg);
|
||||
transform: rotateZ(88deg);
|
||||
}
|
||||
90% {
|
||||
-webkit-transform: rotateZ(90deg);
|
||||
transform: rotateZ(90deg);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotateZ(90deg);
|
||||
transform: rotateZ(90deg);
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes slide {
|
||||
0% {
|
||||
-webkit-transform: translateX(0);
|
||||
transform: translateX(0);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: translateX(-200px);
|
||||
transform: translateX(-200px);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes slide {
|
||||
0% {
|
||||
-webkit-transform: translateX(0);
|
||||
transform: translateX(0);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: translateX(-200px);
|
||||
transform: translateX(-200px);
|
||||
}
|
||||
}
|
||||
@@ -18,21 +18,19 @@ const editorConfig = {
|
||||
uploadImage: {
|
||||
fieldName: 'your-fileName',
|
||||
server: '#', // 可以配置上传应用的地址
|
||||
base64LimitSize: 2 * 1024 * 1024, // 5M 以下插入 base64
|
||||
// 单个文件的最大体积限制,默认为 2M
|
||||
maxFileSize: 2 * 1024 * 1024,
|
||||
base64LimitSize: 500 * 1024, // 500K 以下插入 base64
|
||||
// 单个文件的最大体积限制,默认为 500K
|
||||
maxFileSize: 500 * 1024,
|
||||
// 单个文件上传失败
|
||||
onFailed(file, res) {
|
||||
console.log("文件过大")
|
||||
$('#warn-text').html(res);
|
||||
$('.toast').toast();
|
||||
},
|
||||
// 上传错误,或者触发 timeout 超时
|
||||
onError(file, err, res) {
|
||||
console.log("文件过大")
|
||||
layer.open({
|
||||
type: 1, //1:自定义内容 2:iframe
|
||||
title: '图片大于2M',
|
||||
title: '图片过大(MAX:500KB)',
|
||||
// area: ['500px', '170px'],
|
||||
content: '资源有限,大佬请使用网络图片╮(╯▽╰)╭',
|
||||
btn: ['好吧穷鬼'],
|
||||
@@ -49,11 +47,10 @@ const editorConfig = {
|
||||
}
|
||||
},
|
||||
onChange(editor) {
|
||||
// console.log(editor.getHtml())
|
||||
// $('#content-textarea').value = editor.getHtml()
|
||||
const content = editor.children
|
||||
// const contentStr = JSON.stringify(content)
|
||||
// document.getElementById('content-textarea').value = contentStr
|
||||
const contentStr = JSON.stringify(content)
|
||||
$('#contentText-textarea').val(contentStr)
|
||||
// 当编辑器选区、内容变化时,即触发
|
||||
const html = editor.getHtml()
|
||||
$('#content-textarea').val(html)
|
||||
}
|
||||
@@ -66,6 +63,10 @@ const editor = E.createEditor({
|
||||
html: $('#content-textarea').val(),
|
||||
config: editorConfig
|
||||
})
|
||||
// 初始化 隐藏框
|
||||
const contentInit = editor.children
|
||||
const contentStrInit = JSON.stringify(contentInit)
|
||||
$('#contentText-textarea').val(contentStrInit)
|
||||
|
||||
// 创建 toolbar
|
||||
const toolbar = E.createToolbar({
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
<div id="editor-toolbar"></div>
|
||||
<div id="editor-text-area" style="height: 400px;border: 1px solid lightgrey"></div>
|
||||
<textarea id="content-textarea" name="content" th:text="${blog.getContent()}" style="display: none;"></textarea>
|
||||
<textarea id="contentText-textarea" name="contentJson" style="display: none;"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
<div id="editor-toolbar"></div>
|
||||
<div id="editor-text-area" style="height: 400px;border: 1px solid lightgrey"></div>
|
||||
<textarea id="content-textarea" name="content" style="display: none;"></textarea>
|
||||
<textarea id="contentText-textarea" name="contentJson" style="display: none;"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
<!--如果未登录-->
|
||||
<div>
|
||||
<form th:action="@{/search}" method="post">
|
||||
<form th:action="@{/search}" method="get">
|
||||
<ul class="navbar-nav mr-auto">
|
||||
<li>
|
||||
<input name="findWhat" type="text" placeholder="大佬想找什么呢?"/>
|
||||
|
||||
@@ -3,16 +3,29 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<title>ERROR-Quinn</title>
|
||||
<link rel="stylesheet" th:href="@{/css/error.css}">
|
||||
<title>关于我们-Quinn</title>
|
||||
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="NotPage">
|
||||
<div class="message"><a th:href="@{/index}" style="color: white">没有此页面,点击回主页</a></div>
|
||||
<div class="message2" style="text-align: center"><a style="color: white">Quinn-资源丢失</a></div>
|
||||
<img th:src="@{/images/logo/logo.png}">
|
||||
</div>
|
||||
|
||||
<div th:replace="~{common/header::header(activeUrl='')}"></div>
|
||||
<main role="main">
|
||||
<div class="container">
|
||||
<div class="jumbotron" style="background-color: #ffffff;">
|
||||
<div class="container">
|
||||
<div class="alert alert-danger" role="alert">
|
||||
<h4 class="alert-heading">错误</h4>
|
||||
<p>权限不足或者资源丢失。请关注我们提供建议反馈,您的反馈将是我们不断进步的动力!</p>
|
||||
<hr>
|
||||
<p class="mb-0">Illegal permissions or missing resources. Please pay attention to us and provide suggestions or feedback. Your feedback is the driving force for our continuous progress!</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<div th:replace="~{common/footer::footer}"></div>
|
||||
<script th:src="@{/js/jquery-3.5.1.min.js}"></script>
|
||||
<script th:src="@{/js/jquery-ui.min.js}"></script>
|
||||
<script th:src="@{/live/js/addlive2d.js}"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -3,16 +3,29 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<title>ERROR-Quinn</title>
|
||||
<link rel="stylesheet" th:href="@{/css/error.css}">
|
||||
<title>关于我们-Quinn</title>
|
||||
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="NotPage">
|
||||
<div class="message"><a th:href="@{/index}" style="color: white">没有此页面,点击回主页</a></div>
|
||||
<div class="message2" style="text-align: center"><a style="color: white">Quinn-资源丢失</a></div>
|
||||
<img th:src="@{/images/logo/logo.png}">
|
||||
</div>
|
||||
|
||||
<div th:replace="~{common/header::header(activeUrl='')}"></div>
|
||||
<main role="main">
|
||||
<div class="container">
|
||||
<div class="jumbotron" style="background-color: #ffffff;">
|
||||
<div class="container">
|
||||
<div class="alert alert-danger" role="alert">
|
||||
<h4 class="alert-heading">错误</h4>
|
||||
<p>未找到资源或者您没有权限,请关注我们提供建议反馈,您的反馈将是我们不断进步的动力!</p>
|
||||
<hr>
|
||||
<p class="mb-0">Illegal permissions or missing resources. Please pay attention to us and provide suggestions or feedback. Your feedback is the driving force for our continuous progress!</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<div th:replace="~{common/footer::footer}"></div>
|
||||
<script th:src="@{/js/jquery-3.5.1.min.js}"></script>
|
||||
<script th:src="@{/js/jquery-ui.min.js}"></script>
|
||||
<script th:src="@{/live/js/addlive2d.js}"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<title>ERROR-Quinn</title>
|
||||
<link rel="stylesheet" th:href="@{/css/error.css}">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="NotPage">
|
||||
<div class="message"><a th:href="@{/index}" style="color: white">请使用浏览器后退,或者点此处【主页】</a></div>
|
||||
<div class="message2" style="text-align: center"><a style="color: white">Quinn-管理员密码错误,请关注公众号寻找密码!</a></div>
|
||||
<img th:src="@{/images/logo/logo.png}">
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -6,6 +6,16 @@
|
||||
<title>论坛-Quinn</title>
|
||||
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
|
||||
<link rel="stylesheet" th:href="@{/wangedit/css/wang.style.css}"/>
|
||||
<style>
|
||||
input[type="file"] {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body style="background: #f2f2f2;">
|
||||
|
||||
@@ -16,17 +26,17 @@
|
||||
<div class="col-md-12 order-md-1">
|
||||
<div class="row mb-4">
|
||||
<h4 class="col-md-11">修改资源</h4>
|
||||
<a href="javascript:deleteFile(this);" class="btn btn-outline-danger col-md-1">删除资源</a>
|
||||
<a th:href="@{'/source/oper/del/'+${source.getSid()}}" class="btn btn-outline-danger col-md-1">删除资源</a>
|
||||
</div>
|
||||
<form class="needs-validation" th:action="@{/tracy/mcgrady/lmq/love/wn/update}" enctype="multipart/form-data" method="post">
|
||||
<form class="needs-validation" th:action="@{/source/oper/update}" enctype="multipart/form-data" method="post">
|
||||
<input type="hidden" id="sid" name="sid" th:value="${source.getSid()}">
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-8">
|
||||
<div class="form-group col-md-12">
|
||||
<label for="title">资源标题</label>
|
||||
<input type="text" name="sourceName" class="form-control" id="title" th:value="${source.getSourceName()}" required>
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<div class="form-group col-md-8">
|
||||
<label for="enName">英文名</label>
|
||||
<input type="text" name="enName" class="form-control" id="enName" th:value="${source.getEnName()}" required>
|
||||
</div>
|
||||
@@ -40,16 +50,6 @@
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-4">
|
||||
<label for="keyWords">摘要</label>
|
||||
<input type="text" name="keyWords" class="form-control" id="keyWords" th:value="${source.getKeyWord1()}" required>
|
||||
</div>
|
||||
|
||||
<div id="uploadPassWordDiv" class="form-group col-md-4">
|
||||
<label for="uploadPassWord">管理员密码(*重要*)</label>
|
||||
<input type="text" name="uploadPassWord" class="form-control" id="uploadPassWord" required />
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-12">
|
||||
<label for="subContent">简介</label>
|
||||
<textarea name="detail" class="form-control" id="subContent" th:text="${source.getDetail()}" required></textarea>
|
||||
@@ -80,6 +80,7 @@
|
||||
<div id="editor-toolbar"></div>
|
||||
<div id="editor-text-area" style="height: 400px;border: 1px solid lightgrey"></div>
|
||||
<textarea id="content-textarea" name="sourceContent" style="display: none;" th:text="${source.getSourceContent()}"></textarea>
|
||||
<textarea id="contentText-textarea" name="contentJson" style="display: none;"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -113,24 +114,6 @@
|
||||
}
|
||||
});
|
||||
|
||||
function deleteFile(btn) {
|
||||
btn.disabled=true;
|
||||
if(!confirm('你确认要删除吗?')) {
|
||||
return false;
|
||||
}
|
||||
var sid = $('#sid').val();
|
||||
var uploadPassWord = $('#uploadPassWord').val();
|
||||
$.ajax({
|
||||
url: "/tracy/mcgrady/lmq/love/wn/del",
|
||||
async: false,
|
||||
type: "post",
|
||||
data: {"sid":sid,"uploadPassWord":uploadPassWord},
|
||||
success: function (res) {
|
||||
location.href=res;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$("#sourceType").change(function(){
|
||||
const jSourceType = $('#sourceType').val();
|
||||
if (jSourceType == 'BAIDU') {
|
||||
|
||||
@@ -38,12 +38,6 @@
|
||||
<!-- 收藏 -->
|
||||
<span class="badge badge-primary">
|
||||
[[${source.getCategoryName()}]]
|
||||
(
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" class="bi bi-heart-fill" viewBox="0 0 16 16">
|
||||
<path fill-rule="evenodd" d="M8 1.314C12.438-3.248 23.534 4.735 8 15-7.534 4.736 3.562-3.248 8 1.314z"/>
|
||||
</svg>
|
||||
[[${source.getStar()}]]
|
||||
)
|
||||
</span>
|
||||
<p class="float-right" th:text="${#dates.format(source.getGmtUpdate(),'yyyy-MM-dd HH:mm:ss')}"></p>
|
||||
<div class="small">
|
||||
|
||||
@@ -6,6 +6,18 @@
|
||||
<title>资源-Quinn</title>
|
||||
<link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
|
||||
<link rel="stylesheet" th:href="@{/wangedit/css/wang.style.css}"/>
|
||||
|
||||
<style>
|
||||
input[type="file"] {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body style="background: #f2f2f2;">
|
||||
<main role="main" class="container mt-3 p-3 bg-white rounded">
|
||||
@@ -13,20 +25,14 @@
|
||||
<div class="col-md-12 blog-main">
|
||||
<div class="col-md-12 order-md-1">
|
||||
<h4 class="mb-3">发布新资源</h4>
|
||||
|
||||
<form class="needs-validation" th:action="@{/tracy/mcgrady/lmq/love/wn}" enctype="multipart/form-data" method="post">
|
||||
<!-- 隐藏域 -->
|
||||
<!-- <input type="hidden" name="authorId" th:value="${session.loginUser.getUid()}">-->
|
||||
<!-- <input type="hidden" name="authorName" th:value="${session.loginUser.getUsername()}">-->
|
||||
<!-- <input type="hidden" name="authorAvatar" th:value="${session.loginUser.getAvatar()}">-->
|
||||
|
||||
<form class="needs-validation" th:action="@{/source/oper}" enctype="multipart/form-data" method="post">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-8">
|
||||
<div class="form-group col-md-12">
|
||||
<label for="title">资源标题</label>
|
||||
<input type="text" name="title" class="form-control" id="title" value="" required>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-4">
|
||||
<div class="form-group col-md-8">
|
||||
<label for="enName">英文名</label>
|
||||
<input type="text" name="enName" class="form-control" id="enName" value="" required>
|
||||
</div>
|
||||
@@ -40,16 +46,6 @@
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-4">
|
||||
<label for="keyWords">摘要</label>
|
||||
<input type="text" name="keyWords" class="form-control" id="keyWords" value="" required>
|
||||
</div>
|
||||
|
||||
<div id="uploadPassWordDiv" class="form-group col-md-4">
|
||||
<label for="uploadPassWord">管理员密码(*重要*)</label>
|
||||
<input type="text" class="form-control" id="uploadPassWord" name="uploadPassWord" required />
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-12">
|
||||
<label for="subContent">简介</label>
|
||||
<textarea name="subContent" class="form-control" id="subContent" required></textarea>
|
||||
@@ -60,7 +56,7 @@
|
||||
<select name="sourceType" class="custom-select d-block w-100" id="sourceType" required>
|
||||
<option value="">请选择...</option>
|
||||
<option value="BAIDU">百度云</option>
|
||||
<option value="OSS" >服务器</option>
|
||||
<option value="OSS" >服务器<span class="badge badge-pill badge-danger">(这个程序员还很穷!文件请不要大于20M)</span></option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
@@ -70,8 +66,7 @@
|
||||
</div>
|
||||
|
||||
<div id="uploadData" style="display: none" class="form-group col-md-12">
|
||||
<label for="toUploadFile" style="color: darkgreen">穷~文件请不要大于20M,否则会报错</label>
|
||||
<input type="file" id="toUploadFile" class="btn" name="file" value="请选择文件" />
|
||||
<input type="file" id="toUploadFile" class="alert alert-dark" name="file" />
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 mb-3">
|
||||
@@ -80,6 +75,7 @@
|
||||
<div id="editor-toolbar"></div>
|
||||
<div id="editor-text-area" style="height: 400px;border: 1px solid lightgrey"></div>
|
||||
<textarea id="content-textarea" name="content" style="display: none;"></textarea>
|
||||
<textarea id="contentText-textarea" name="contentJson" style="display: none;"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
<h6 class="border-bottom border-gray pb-2 mb-0">评论列表</h6>
|
||||
|
||||
<div th:each="comment:${commentList}" class="media text-muted pt-3">
|
||||
<img th:src="${comment.getUserAvatar()}" style="border-radius: 5px;margin-right: 5px " width="32" height="32">
|
||||
<img th:src="${comment.getAvatar()}" style="border-radius: 5px;margin-right: 5px " width="32" height="32">
|
||||
<p class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
|
||||
<strong class="d-block text-gray-dark" th:text="${comment.getUsername()} + ' ' + ${#dates.format(comment.getGmtCreate(),'yyyy-MM-dd HH:mm:ss')}"></strong>
|
||||
<span th:text="${comment.getContent()}"></span>
|
||||
|
||||
@@ -137,9 +137,9 @@
|
||||
<span th:text="${session.loginUser.getUsername()}"></span>
|
||||
<br>
|
||||
<small>
|
||||
<span th:if="${session.loginUser.getRoleId()=='ADMIN'}" class="badge badge-primary">超级管理员</span>
|
||||
<span th:if="${session.loginUser.getRoleId()!='ADMIN'}" th:class="${session.loginUser.getRoleId()=='VIP'?'badge badge-warning':'badge badge-success'}"
|
||||
th:text="${session.loginUser.getRoleId()=='VIP'?'VIP会员':'普通用户'}">
|
||||
<span th:if="${session.loginUser.getRole()=='ADMIN'}" class="badge badge-primary">超级管理员</span>
|
||||
<span th:if="${session.loginUser.getRole()!='ADMIN'}" th:class="${session.loginUser.getRole()=='VIP'?'badge badge-warning':'badge badge-success'}"
|
||||
th:text="${session.loginUser.getRole()=='VIP'?'VIP会员':'普通用户'}">
|
||||
</span>
|
||||
</small>
|
||||
<p>
|
||||
|
||||
Reference in New Issue
Block a user