mirror of
https://gitee.com/bookshelfplus/bookshelfplus
synced 2025-09-21 01:10:39 +08:00
下载按钮美化调整;添加链接失效反馈前端样式
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1650199034026" class="icon" viewBox="0 0 1088 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1668" xmlns:xlink="http://www.w3.org/1999/xlink" width="212.5" height="200"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
|
||||
</style></defs><path d="M492.50419 1021.607197c-175.510584-20.915438-326.587843-116.410081-416.96556-264.033415-31.341176-51.169266-57.245617-118.456852-70.357742-184.017474C1.21527 553.728217 0 533.452395 0 483.114629c0-57.117694 0.895462-68.950587 6.971813-98.948569C46.755917 188.315693 186.575938 49.519058 387.031539 6.217066 411.145056 0.908254 424.768873 0.012792 477.98491 0.012792 547.703036-0.243054 569.897705 3.210871 631.428748 22.655193c72.084704 23.473901 128.690705 57.949194 185.360668 112.764271 69.718126 67.543432 111.037308 142.442446 132.208592 238.832551 9.018583 39.912028 9.914045 131.760861 1.790924 170.201772-4.669196 22.386554-4.669196 25.712556-0.639615 33.068139 4.989003 9.594237 4.669196 9.338391 74.131474 27.119711 52.576421 13.559856 58.97258 16.693973 62.746313 31.660984 4.093541 15.862473-33.707754 97.861222-68.247009 147.87918-84.877021 123.190009-217.085613 206.595913-370.785297 233.459778-30.829483 5.372773-123.445855 7.67539-155.426647 3.965618z m135.150825-195.082828a363.301792 363.301792 0 0 0 172.312505-86.156253c34.859063-31.149291 73.555821-85.708521 89.226408-126.643934 14.775126-38.440911 15.990396-37.609411-91.592987-64.473276-30.509675-7.931236-36.010371-16.118319-31.341176-48.354957 11.896854-81.678942-20.659591-171.864774-83.981558-231.54093a291.025203 291.025203 0 0 0-364.069331-28.207058c-82.510442 57.117694-126.132242 149.542181-121.2072 257.509333 4.093541 91.273179 40.103913 170.457619 106.623959 234.611087 84.557213 81.99875 206.020259 116.729889 324.02938 93.255988z" fill="#4D74FF" p-id="1669"></path></svg>
|
After Width: | Height: | Size: 2.2 KiB |
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M773.9392 301.8752m-200.0384 0a200.0384 200.0384 0 1 0 400.0768 0 200.0384 200.0384 0 1 0-400.0768 0Z" fill="#13227a"></path><path d="M924.4672 706.2528a24.32 24.32 0 0 1-24.2688 24.2688h-145.7664a24.3712 24.3712 0 0 0-24.2688 24.32 24.2688 24.2688 0 0 0 24.2688 24.2688h48.5888a24.32 24.32 0 0 1 24.2688 24.32 24.32 24.32 0 0 1-24.2688 24.2688h-64.512A388.7616 388.7616 0 0 1 122.88 390.4512h-48.5888a24.32 24.32 0 0 1 0-48.5888h97.28a24.2688 24.2688 0 0 0 6.8096-47.5648l0.768-0.9728H122.88a24.32 24.32 0 1 1 0-48.5888h101.632a388.7616 388.7616 0 0 1 619.52 437.248h56.32a24.32 24.32 0 0 1 24.1152 24.2688z" fill="#1296db"></path><path d="M724.224 575.232c-5.7344-40.2432-26.112-70.656-62.0544-89.9584a111.1552 111.1552 0 0 0-66.9184-12.6976c-3.2768 0.3584-4.5568-0.5632-4.2496-4.096v-6.7584-5.12a133.12 133.12 0 0 0-0.3584-13.7728 116.5312 116.5312 0 0 0-12.2368-40.96 24.064 24.064 0 0 0-1.3312-2.5088v-0.5632a120.4224 120.4224 0 0 0-19.9168-26.4704l-2.048-1.9456A22.9376 22.9376 0 0 0 552.96 368.64a116.1216 116.1216 0 0 0-93.3376-28.8768 114.8416 114.8416 0 0 0-91.904 68.9664A116.224 116.224 0 0 0 358.4 467.456c0.3584 4.4544-0.8704 5.12-4.352 4.8128a97.28 97.28 0 0 0-18.8928-0.7168 117.76 117.76 0 0 0-107.52 143.7696c0.8192 3.5328 1.8432 7.0656 2.9696 10.24 0.3584 1.1776 0.768 2.304 1.1776 3.4304l1.3312 3.3792 0.3072 0.6656a26.4192 26.4192 0 0 0 1.0752 2.5088 117.4528 117.4528 0 0 0 224.4608-48.4352v-3.9424a10.5984 10.5984 0 0 1 11.008-10.9056h3.8912a116.736 116.736 0 0 0 80.1792-31.6928l3.8912-3.7888h0.3072a68.0448 68.0448 0 0 1 70.144-16.5376c29.7984 9.1136 46.4896 30.72 50.688 61.44a23.7568 23.7568 0 0 0 10.24 16.9984 21.2992 21.2992 0 0 0 24.6784 0 22.7328 22.7328 0 0 0 10.24-23.4496zM341.504 660.48a71.2192 71.2192 0 0 1-71.3728-71.68c-0.3584-37.4272 31.4368-72.3968 71.2704-70.9632a71.2192 71.2192 0 1 1 0 142.3872z m133.12-133.12a71.68 71.68 0 1 1 71.68-71.3728A71.0656 71.0656 0 0 1 474.7264 527.36zM724.5824 682.24a22.3744 22.3744 0 0 1-22.1696 22.784 23.0912 23.0912 0 0 1-22.8864-22.9376 22.5792 22.5792 0 0 1 22.8352-22.1696 21.4528 21.4528 0 0 1 22.2208 22.3232z" fill="#FFFFFF"></path></svg>
|
After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M341.333333 640a42.666667 42.666667 0 0 1-42.666666 42.666667H256a170.666667 170.666667 0 0 1-40.277333-336.554667 298.709333 298.709333 0 0 1 570.154666-81.408A213.333333 213.333333 0 0 1 725.333333 682.666667a42.666667 42.666667 0 0 1 0.042667-85.333334 128 128 0 0 0 36.394667-250.794666l-38.144-11.264-15.914667-36.437334a213.376 213.376 0 0 0-407.296 58.026667l-7.381333 58.368-57.173334 13.824A85.418667 85.418667 0 0 0 256 597.333333h42.666667a42.666667 42.666667 0 0 1 42.666666 42.666667z m321.706667 87.338667a42.666667 42.666667 0 0 1 0 60.330666l-120.917333 120.832c-16.682667 16.64-43.690667 16.64-60.373334 0l-120.917333-120.832a42.666667 42.666667 0 0 1 60.330667-60.330666L469.333333 775.509333V426.666667a42.666667 42.666667 0 0 1 85.333334 0v348.714666l48.042666-48.042666a42.666667 42.666667 0 0 1 60.330667 0z" fill="#333333"></path></svg>
|
After Width: | Height: | Size: 971 B |
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M896 117.333333A32 32 0 0 1 928 149.333333v618.666667a32 32 0 0 1-32 32H654.272l-117.589333 118.528a32 32 0 0 1-42.794667 2.389333l-2.453333-2.197333-119.786667-118.72H128a32 32 0 0 1-31.850667-28.928L96 768V149.333333A32 32 0 0 1 128 117.333333zM544 597.333333h-64v64h64v-64z m0-330.666666h-64v256h64v-256z" fill="#111111"></path></svg>
|
After Width: | Height: | Size: 640 B |
32
bookshelfplus-frontend/public/assets/javascripts/cssUtils.js
Normal file
32
bookshelfplus-frontend/public/assets/javascripts/cssUtils.js
Normal file
@@ -0,0 +1,32 @@
|
||||
function copyToClipboard(content) {
|
||||
var aux = document.createElement('input');
|
||||
aux.setAttribute('value', content);
|
||||
aux.style.display = "none";
|
||||
document.body.appendChild(aux);
|
||||
aux.select();
|
||||
document.execCommand('copy');
|
||||
document.body.removeChild(aux);
|
||||
}
|
||||
function showTip(e, text) {
|
||||
var $i = $("<span>").text(text);
|
||||
$("body").append($i);
|
||||
var x = e.pageX - $i.outerWidth() / 2,
|
||||
y = e.pageY - $i.outerHeight() - 1;
|
||||
$i.css({
|
||||
"position": "absolute",
|
||||
"z-index": "10000",
|
||||
"top": y,
|
||||
"left": x,
|
||||
"color": "red",
|
||||
"font-size": "14px",
|
||||
"font-weight": "bold",
|
||||
});
|
||||
$i.animate({
|
||||
"top": y - 60,
|
||||
"left": x,
|
||||
"opacity": "0"
|
||||
}, 600, function() {
|
||||
$i.remove();
|
||||
});
|
||||
e.stopPropagation();
|
||||
}
|
@@ -60,6 +60,13 @@ router.get('/about', function (req, res) {
|
||||
});
|
||||
});
|
||||
|
||||
router.get('/feedback', function (req, res) {
|
||||
res.render('feedback', {
|
||||
title: getPageTitle("用户反馈"),
|
||||
headText: "用户反馈"
|
||||
});
|
||||
});
|
||||
|
||||
router.get('/login', function (req, res) {
|
||||
res.render('login', {
|
||||
title: getPageTitle("用户登录"),
|
||||
|
@@ -78,7 +78,7 @@
|
||||
.file-item {
|
||||
text-align: left;
|
||||
background-color: #e6e6e6;
|
||||
padding: 10px 20px;
|
||||
padding: 15px 20px;
|
||||
border-radius: 5px;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
@@ -96,20 +96,84 @@
|
||||
|
||||
.file-object {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
|
||||
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
|
||||
place-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.file-object>.file-object-item {
|
||||
border: solid 2px #c6c6c6;
|
||||
border-radius: 5px;
|
||||
padding: 5px 8px;
|
||||
min-width: 135px;
|
||||
/* max-width: 150px; */
|
||||
width: 80%;
|
||||
height: 60px;
|
||||
position: relative;
|
||||
font-size: 14px;
|
||||
display: inline-block;
|
||||
transition: all 0.2s;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.file-object>.file-object-item:hover {
|
||||
transform: scale(1.03);
|
||||
font-weight: bold;
|
||||
/* transform: scale(1.03); */
|
||||
border-color: #5e5e5e;
|
||||
}
|
||||
|
||||
.file-object>.file-object-item>.file-object-item-title {
|
||||
height: 20px;
|
||||
}
|
||||
.file-object>.file-object-item>.file-object-item-title>* {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.file-object>.file-object-item img {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.file-object>.file-object-item .outdated-feedback {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
position: absolute;
|
||||
right: 2px;
|
||||
top: 2px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.file-object>.file-object-item .outdated-feedback>.outdated-feedback-tip {
|
||||
display: none;
|
||||
position: absolute;
|
||||
width: max-content;
|
||||
background: aliceblue;
|
||||
padding: 3px 5px;
|
||||
border: 2px solid grey;
|
||||
border-radius: 4px;
|
||||
z-index: 99999;
|
||||
margin-left: 5px;
|
||||
font-family: initial;
|
||||
}
|
||||
.file-object>.file-object-item .outdated-feedback:hover .outdated-feedback-tip {
|
||||
display: initial;
|
||||
}
|
||||
.file-object>.file-object-item .outdated-feedback img {
|
||||
opacity: 0.5;
|
||||
transition: all 0.18s;
|
||||
}
|
||||
.file-object>.file-object-item .outdated-feedback:hover img {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.file-object>.file-object-item>.file-object-item-content {
|
||||
height: 20px;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
}
|
||||
|
||||
.file-object>.file-object-item>.file-object-item-link {
|
||||
height: 20px;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
}
|
||||
|
||||
/* 统一 */
|
||||
@@ -151,7 +215,7 @@
|
||||
<hr>
|
||||
<div class="download-container">
|
||||
<h3 id="scrollTarget">下载这本书</h3>
|
||||
<div id="file-container">
|
||||
<div id="file-container"><% /*
|
||||
<!-- <div class="file-item">
|
||||
<div class="file-title">
|
||||
<span class="file-name size20">bookshelf</span><span class="file-ext size16">.json</span>
|
||||
@@ -160,11 +224,24 @@
|
||||
<div class="file-detail">
|
||||
<span class="size14 overflow-hide">SHA1:<span class="file-sha1 size12">07b12eb2a5915282bf086a7913b0fd9720fc012c</span></span>
|
||||
<span class="file-copyright size14 overflow-hide">来源信息:中国地质大学(武汉)</span>
|
||||
<span class="file-copyright size14" style="margin-top: 12px; display: block;">下载地址:</span>
|
||||
<span class="file-copyright size14" style="margin-top: 12px; display: block;">下载方式:</span>
|
||||
</div>
|
||||
<div class="file-object">
|
||||
<div class="file-object-item">
|
||||
<a href="" target="_blank">百度网盘</a>
|
||||
<div class="file-object-item-title">
|
||||
<img src="/assets/image/svg/baidu_netdisk.svg"/>
|
||||
<span>百度网盘</span>
|
||||
</div>
|
||||
<div class="file-object-item-content">
|
||||
提取码:abcd
|
||||
</div>
|
||||
<div class="file-object-item-link">
|
||||
<a href="" target="_blank">百度网盘</a>
|
||||
</div>
|
||||
<div class="outdated-feedback">
|
||||
<img src="/assets/image/svg/feedback.svg"/>
|
||||
<span class="outdated-feedback-tip">链接失效?点击反馈!</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="file-object-item">
|
||||
<a href="" target="_blank">阿里云盘</a>
|
||||
@@ -173,7 +250,7 @@
|
||||
<a href="" download="文件名.pdf">直链下载</a>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div> --> */ %>
|
||||
</div>
|
||||
</div>
|
||||
<p style="font-size: 12px;">
|
||||
@@ -184,6 +261,8 @@
|
||||
|
||||
<!-- 获取参数 -->
|
||||
<script src="/assets/javascripts/getParams.js"></script>
|
||||
<!-- 点击复制及反馈样式 -->
|
||||
<script src="/assets/javascripts/cssUtils.js"></script>
|
||||
<script>
|
||||
var requestParams = getParams();
|
||||
var searchbox = document.getElementById("searchInput");
|
||||
@@ -387,17 +466,47 @@
|
||||
}
|
||||
function getLinkDOM(fileObjectInfo) {
|
||||
// 获取文件下载链接DOM
|
||||
var div = document.createElement("div");
|
||||
div.className = "file-object-item";
|
||||
var iconSrc = "/assets/image/svg/direct_link.svg", title = fileObjectInfo.storageMediumType, content = "", downloadLink = "";
|
||||
if(fileObjectInfo.fileShareCode != "" && fileObjectInfo.fileShareCode != null) {
|
||||
content = `<span>提取码: <span class="click2copy" style="user-select: all; cursor: pointer;">${fileObjectInfo.fileShareCode}</span> </span>`; // 最后一个 是为了保证选中时不会选中后面的回车
|
||||
downloadLink = `<a class="baiduNetdiskLink" share-code="${fileObjectInfo.fileShareCode}" share-link="${fileObjectInfo.filePath}" style="cursor: pointer;" title="复制提取码并前往">前往</a>`;
|
||||
} else {
|
||||
downloadLink = `<a href="${fileObjectInfo.filePath}" target="_blank">前往</a>`;
|
||||
}
|
||||
switch (fileObjectInfo.storageMediumType) {
|
||||
case "腾讯云对象存储":
|
||||
div.innerHTML = `<a style="cursor: pointer;" onclick="getDirectLink(${fileObjectInfo.id});">直链下载</a>`;
|
||||
title = "直链下载";
|
||||
if (!localStorageUtils.getLoginStatus()) {
|
||||
downloadLink = "登录后方可使用";
|
||||
} else {
|
||||
content = `<span style="font-size: 12px;"><nobr>每次点击都会扣减下载次数</nobr></span>`;
|
||||
downloadLink = `<a style="cursor: pointer;" onclick="getDirectLink(${fileObjectInfo.id});">下载</a>`;
|
||||
}
|
||||
break;
|
||||
case "百度网盘":
|
||||
iconSrc = "/assets/image/svg/baidu_netdisk.svg";
|
||||
break;
|
||||
case "阿里云盘":
|
||||
iconSrc = "/assets/image/svg/aliyun_drive.svg";
|
||||
break;
|
||||
default:
|
||||
div.innerHTML = `<a href="${fileObjectInfo.filePath}" target="_blank">${fileObjectInfo.storageMediumType}${fileShareCode == "" ? "" : "(提取码:" + fileShareCode + ")"}</a>`;
|
||||
title = fileObjectInfo.storageMediumType;
|
||||
downloadLink = `<a href="${fileObjectInfo.filePath}" target="_blank">前往</a>`;
|
||||
break;
|
||||
}
|
||||
return div.outerHTML;
|
||||
var dom = `<div class="file-object-item">
|
||||
<div class="file-object-item-title">
|
||||
<img src="${iconSrc}"/> <span>${title}</span>
|
||||
</div>
|
||||
<div class="file-object-item-content">${content}</div>
|
||||
<div class="file-object-item-link">${downloadLink}</div>
|
||||
<div class="outdated-feedback">
|
||||
<img src="/assets/image/svg/feedback.svg"/>
|
||||
<span class="outdated-feedback-tip">链接失效?点击反馈!</span>
|
||||
</div>
|
||||
</div>`.replace(/\ [ ]+?/g,"").replace(/[\n]/g,"") //去掉多余空格、换行
|
||||
console.log(dom);
|
||||
return dom;
|
||||
}
|
||||
getRequest("/file/getFile", { bookId: bookId })
|
||||
.then(function (response) {
|
||||
@@ -441,15 +550,32 @@
|
||||
</div>`
|
||||
);
|
||||
}
|
||||
fileContainer.innerHTML = innerHTML.join("");
|
||||
fileContainer.innerHTML += innerHTML.join("");
|
||||
|
||||
if (data.length == 0) {
|
||||
if (innerHTML.length == 0) {
|
||||
var fileItem = document.createElement("div");
|
||||
fileItem.className = "file-item";
|
||||
fileItem.style.textAlign = "center";
|
||||
fileItem.innerHTML = "暂无可用文件源";
|
||||
fileContainer.appendChild(fileItem);
|
||||
}
|
||||
|
||||
// 最后绑定点击复制事件
|
||||
// 点击复制
|
||||
$(".click2copy").click(function (e) {
|
||||
copyToClipboard($(this).text());
|
||||
showTip(e, "复制成功");
|
||||
});
|
||||
|
||||
//
|
||||
$(".baiduNetdiskLink").click(function (e) {
|
||||
copyToClipboard($(this).attr("share-code"));
|
||||
showTip(e, "提取码已复制到剪切板");
|
||||
var shareLink = $(this).attr("share-link");
|
||||
setTimeout(function () {
|
||||
window.open(shareLink);
|
||||
}, 500);
|
||||
});
|
||||
} else {
|
||||
alert(`出错啦!${data.errMsg} (错误码: ${data.errCode}) `);
|
||||
}
|
||||
|
@@ -33,7 +33,7 @@
|
||||
<body>
|
||||
<%- include("./component/navbar.html"); %>
|
||||
<main class="main">
|
||||
<!-- <h1><%= title %></h1> -->
|
||||
<!-- <h1><%= headText %></h1> -->
|
||||
<div id="container">
|
||||
<!-- <a href="./book">书本详情页</a> -->
|
||||
</div>
|
||||
|
@@ -14,6 +14,8 @@
|
||||
<a href="/status">网站状态检测</a>
|
||||
·
|
||||
<a href="/about">关于</a>
|
||||
·
|
||||
<a href="/feedback">反馈</a>
|
||||
</small>
|
||||
</p>
|
||||
</div>
|
||||
|
162
bookshelfplus-frontend/views/feedback.html
Normal file
162
bookshelfplus-frontend/views/feedback.html
Normal file
@@ -0,0 +1,162 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<%- include("./component/header.html"); %>
|
||||
<style>
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.wrap {
|
||||
margin: 20px auto;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
label {
|
||||
height: 25%;
|
||||
text-align: center;
|
||||
line-height: 30px;
|
||||
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
label:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
label>div {
|
||||
width: 100%;
|
||||
height: 400px;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 31px;
|
||||
background: #eeeeee;
|
||||
display: none;
|
||||
}
|
||||
|
||||
input:checked+div {
|
||||
display: block;
|
||||
}
|
||||
|
||||
|
||||
.main {
|
||||
min-height: max-content;
|
||||
}
|
||||
|
||||
.footer {
|
||||
margin-top: calc(400px + 10vh) !important;
|
||||
}
|
||||
|
||||
.click2copy {
|
||||
cursor: pointer;
|
||||
user-select: all;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 14px !important;
|
||||
font-family: initial !important;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<%- include("./component/navbar.html"); %>
|
||||
<main class="main">
|
||||
<h1><%= headText %></h1>
|
||||
<div id="container">
|
||||
<p>
|
||||
<br>反馈前请选择正确的分类,否则反馈经过二次转接,响应时间将会变长。
|
||||
</p>
|
||||
<div class="wrap">
|
||||
<label>
|
||||
<input type="radio" name="tab">版权投诉
|
||||
<div>
|
||||
<p>
|
||||
<br>
|
||||
</p>
|
||||
<p>
|
||||
版权问题请发送邮件至 <span class="click2copy">2291200076@qq.com</span>,并请在标题前注明<b class="click2copy">【加急丨书栖网丨版权投诉】</b>
|
||||
</p>
|
||||
<p>
|
||||
(版权投诉与其他反馈邮箱不同,请注意)
|
||||
</p>
|
||||
<p>
|
||||
<br>
|
||||
</p>
|
||||
<p>
|
||||
实在抱歉对您造成了困扰,版权投诉我们将会优先加急处理,最迟会在3个工作日内以邮件形式回复至您的发件邮箱中,届时若您未收到相关邮件,烦请检查下是否被归垃圾邮件。
|
||||
</p>
|
||||
</div>
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" name="tab" checked>下载链接失效
|
||||
<div>
|
||||
<p>
|
||||
<br>
|
||||
</p>
|
||||
<p>
|
||||
请点击链接旁的 <img src="/assets/image/svg/feedback.svg" style="width: 1em; height: 1em;"/> 按钮进行反馈。
|
||||
</p>
|
||||
</div>
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" name="tab">合作
|
||||
<div>
|
||||
<p>
|
||||
<br>
|
||||
</p>
|
||||
<p>
|
||||
如需合作,请发送邮件至 <span class="click2copy">admin@only4.work</span>,并在标题前注明<b class="click2copy">【书栖网丨合作】</b>
|
||||
</p>
|
||||
<p>
|
||||
<br>
|
||||
</p>
|
||||
<p>
|
||||
ps: 本站谢绝一切形式的商业合作,所有的合作都是建立在免费、无偿的基础上,望理解。
|
||||
</p>
|
||||
</div>
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" name="tab">意见建议、其他
|
||||
<!-- <div>
|
||||
<p>
|
||||
此处仅支持纯文字反馈,如果需要添加图片或其他附件,请发送邮件至 <span class="click2copy">admin@only4.work</span>
|
||||
</p>
|
||||
<textarea style="width: 100%; height: 87.5%;">请输入...</textarea>
|
||||
<div style="width: 100%; display: grid; place-items: center;">
|
||||
<input type="button" value="提交" style="width: 100px; height: 30px;">
|
||||
</div>
|
||||
</div> -->
|
||||
<div>
|
||||
<p>
|
||||
<br>
|
||||
</p>
|
||||
<p>
|
||||
请发送邮件至 <span class="click2copy">admin@only4.work</span>,并在标题前注明<b class="click2copy">【书栖网丨意见建议】</b>
|
||||
</p>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<%- include("./component/footer.html"); %>
|
||||
|
||||
<!-- 获取参数 -->
|
||||
<script src="/assets/javascripts/getParams.js"></script>
|
||||
<!-- 点击复制及反馈样式 -->
|
||||
<script src="/assets/javascripts/cssUtils.js"></script>
|
||||
<script>
|
||||
var requestParams = getParams();
|
||||
// var searchbox = document.getElementById("searchInput");
|
||||
// var categoryId = requestParams["id"] ?? "";
|
||||
// console.log("categoryId", categoryId);
|
||||
</script>
|
||||
<script>
|
||||
// 点击复制
|
||||
$(".click2copy").click(function (e) {
|
||||
copyToClipboard($(this).text());
|
||||
showTip(e, "复制成功");
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@@ -38,17 +38,17 @@ CREATE TABLE `book_info` (
|
||||
-- ----------------------------
|
||||
-- Records of book_info
|
||||
-- ----------------------------
|
||||
INSERT INTO `book_info` VALUES (1, '程序员小墨', '这是书栖网的第1本书', 3, '电子工业出版社', 'Chinese', '中国工信出版集团', 0, '', '小墨');
|
||||
INSERT INTO `book_info` VALUES (2, '程序员小墨', '这是书栖网的第2本书', 2, '电子工业出版社', 'Chinese', '中国工信出版集团', 0, '', '小墨');
|
||||
INSERT INTO `book_info` VALUES (3, '程序员小墨', '这是书栖网的第3本书', 1, '电子工业出版社', 'Chinese', '中国工信出版集团', 0, '', '小墨');
|
||||
INSERT INTO `book_info` VALUES (4, '程序员小墨', '这是书栖网的第4本书', 5, '电子工业出版社', 'Chinese', '中国工信出版集团', 0, '', '小墨');
|
||||
INSERT INTO `book_info` VALUES (5, '程序员小墨', '这是书栖网的第5本书', 4, '电子工业出版社', 'Chinese', '中国工信出版集团', 0, '', '小墨');
|
||||
INSERT INTO `book_info` VALUES (6, '程序员小墨', '这是书栖网的第6本书', 6, '电子工业出版社', 'Chinese', '中国工信出版集团', 0, '', '小墨');
|
||||
INSERT INTO `book_info` VALUES (7, '程序员小墨', '这是书栖网的第7本书', 7, '电子工业出版社', 'Chinese', '中国工信出版集团', 0, '', '小墨');
|
||||
INSERT INTO `book_info` VALUES (8, '程序员小墨', '这是书栖网的第8本书', 8, '电子工业出版社', 'Chinese', '中国工信出版集团', 0, '', '小墨');
|
||||
INSERT INTO `book_info` VALUES (9, '程序员小墨', '这是书栖网的第9本书', 9, '电子工业出版社', 'Chinese', '中国工信出版集团', 0, '', '小墨');
|
||||
INSERT INTO `book_info` VALUES (10, '这是一本名字肥肠肥肠滴长滴书', '这是书栖网的第10本书,外加一个超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级长的简介', 10, '电子工业出版社', 'Chinese', '中国工信出版集团', 0, '', '小墨');
|
||||
INSERT INTO `book_info` VALUES (11, '书本名称', '这是一本很有意义的书', 1, '中国地质大学(武汉)出版社出版', 'Chinese', '版权没有', 1, 'http://localhost/api/swagger-ui/index.html#/%E4%B9%A6%E7%B1%8D%E4%BF%A1%E6%81%AF/addUsingGET', '消息');
|
||||
INSERT INTO `book_info` VALUES (1, '程序员小墨1', '这是书栖网的第1本书', 38, '电子工业出版社', 'Chinese', '中国工信出版集团', 0, 'https://img14.360buyimg.com/pop/jfs/t1/141705/31/25225/853702/61a85f89Ef68c838b/929ded96a4a7579e.png', '小墨');
|
||||
INSERT INTO `book_info` VALUES (2, '程序员小墨2', '这是书栖网的第2本书', 20, '电子工业出版社', 'Chinese', '中国工信出版集团', 0, 'https://img14.360buyimg.com/pop/jfs/t1/141705/31/25225/853702/61a85f89Ef68c838b/929ded96a4a7579e.png', '小墨');
|
||||
INSERT INTO `book_info` VALUES (3, '程序员小墨3', '这是书栖网的第3本书', 1, '电子工业出版社', 'Chinese', '中国工信出版集团', 0, 'https://img14.360buyimg.com/pop/jfs/t1/141705/31/25225/853702/61a85f89Ef68c838b/929ded96a4a7579e.png', '小墨');
|
||||
INSERT INTO `book_info` VALUES (4, '程序员小墨4', '这是书栖网的第4本书', 5, '电子工业出版社', 'Chinese', '中国工信出版集团', 0, 'https://img14.360buyimg.com/pop/jfs/t1/141705/31/25225/853702/61a85f89Ef68c838b/929ded96a4a7579e.png', '小墨');
|
||||
INSERT INTO `book_info` VALUES (5, '程序员小墨5', '这是书栖网的第5本书', 4, '电子工业出版社', 'Chinese', '中国工信出版集团', 0, 'https://img14.360buyimg.com/pop/jfs/t1/141705/31/25225/853702/61a85f89Ef68c838b/929ded96a4a7579e.png', '小墨');
|
||||
INSERT INTO `book_info` VALUES (6, '程序员小墨6', '这是书栖网的第6本书', 6, '电子工业出版社', 'Chinese', '中国工信出版集团', 0, 'https://img14.360buyimg.com/pop/jfs/t1/141705/31/25225/853702/61a85f89Ef68c838b/929ded96a4a7579e.png', '小墨');
|
||||
INSERT INTO `book_info` VALUES (7, '程序员小墨7', '这是书栖网的第7本书', 7, '电子工业出版社', 'Chinese', '中国工信出版集团', 0, 'https://img14.360buyimg.com/pop/jfs/t1/141705/31/25225/853702/61a85f89Ef68c838b/929ded96a4a7579e.png', '小墨');
|
||||
INSERT INTO `book_info` VALUES (8, '程序员小墨8', '这是书栖网的第8本书', 8, '电子工业出版社', 'Chinese', '中国工信出版集团', 0, 'https://img14.360buyimg.com/pop/jfs/t1/141705/31/25225/853702/61a85f89Ef68c838b/929ded96a4a7579e.png', '小墨');
|
||||
INSERT INTO `book_info` VALUES (9, '程序员小墨9', '这是书栖网的第9本书', 9, '电子工业出版社', 'Chinese', '中国工信出版集团', 0, 'https://img14.360buyimg.com/pop/jfs/t1/141705/31/25225/853702/61a85f89Ef68c838b/929ded96a4a7579e.png', '小墨');
|
||||
INSERT INTO `book_info` VALUES (10, '这是一本名字肥肠肥肠滴长滴书', '这是书栖网的第10本书,外加一个超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级超级长的简介', 10, '电子工业出版社', 'Chinese', '中国工信出版集团', 0, 'https://img14.360buyimg.com/pop/jfs/t1/141705/31/25225/853702/61a85f89Ef68c838b/929ded96a4a7579e.png', '小墨');
|
||||
INSERT INTO `book_info` VALUES (11, '书本名称', '这是一本很有意义的书', 1, '中国地质大学(武汉)出版社出版', 'Chinese', '版权没有', 1, 'https://img14.360buyimg.com/pop/jfs/t1/141705/31/25225/853702/61a85f89Ef68c838b/929ded96a4a7579e.png', '消息');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for category_info
|
||||
@@ -173,7 +173,7 @@ CREATE TABLE `file_object_info` (
|
||||
`upload_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '上传状态(上传成功 SUCCESS,正在上传 UPLOADING,上传终止 NOT_EXIST)',
|
||||
`file_sha1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '文件SHA1哈希',
|
||||
`last_modified` bigint(20) UNSIGNED NOT NULL DEFAULT 0 COMMENT '文件最后修改时间戳',
|
||||
`additional_fields` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`additional_fields` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
|
||||
|
||||
|
@@ -4,7 +4,7 @@ public enum FileStorageMediumEnum {
|
||||
LOCAL("LOCAL", "本地"),
|
||||
QCLOUD_COS("QCLOUD_COS", "腾讯云对象存储"),
|
||||
BAIDU_NETDISK("BAIDU_NETDISK", "百度网盘"),
|
||||
ALIYUN_DRIVE("ALIYUN_DRIVE", "阿里网盘");
|
||||
ALIYUN_DRIVE("ALIYUN_DRIVE", "阿里云盘");
|
||||
|
||||
private FileStorageMediumEnum(String storageMediumIndex, String storageMediumDisplayName) {
|
||||
this.storageMediumIndex = storageMediumIndex;
|
||||
|
Reference in New Issue
Block a user