mirror of
https://gitee.com/bookshelfplus/bookshelfplus
synced 2025-09-16 23:22:20 +08:00
添加网盘分享链接解析页面;只有对象存储的文件才显示刷新状态按钮;一些前端小调整和小优化
This commit is contained in:
@@ -78,7 +78,7 @@
|
||||
</span>`,
|
||||
管理: `<span style="margin: 0 auto;">
|
||||
<a href="<%= pageUrl %>detail?id=${element.id}">详情</a>
|
||||
<a href="<%= pageUrl %>object-detail?fileId=${element.id}">添加网盘链接</a><br>
|
||||
<a href="<%= pageUrl %>get-share-url?fileId=${element.id}">添加网盘链接</a><br>
|
||||
<a href="javascript:deleteFile(${element.id});">删除(TODO)</a>
|
||||
</span>`,
|
||||
})
|
||||
|
@@ -84,18 +84,21 @@
|
||||
items.push(`<tr>
|
||||
<td>${item.id}</td>
|
||||
<td>${item.storageMediumForDisplay}</td>
|
||||
<td style="font-size: 12px;">${item.filePath}</td>
|
||||
<td style="font-size: 12px; max-width: 120px;">
|
||||
<span class="overflow-omit">${item.filePath}</span>
|
||||
</td>
|
||||
<td>${item.filePwd}</td>
|
||||
<td>${item.fileShareCode}</td>
|
||||
<td>${(item.uploadStatus ? item.uploadStatus : "<span style='color: grey; font-weight: bold;'>未知</span>")
|
||||
.replace("SUCCESS", "<span style='color: green; font-weight: bold;'>成功</span>")
|
||||
.replace("UPLOADING", "<span style='color: orange; font-weight: bold;'>正在上传</span>")
|
||||
.replace("NOT_EXIST", "<span style='color: red; font-weight: bold;'>不存在</span>")}</td>
|
||||
<td><a href="<%= pageUrl %>../object-detail?id=${item.id}&fileId=${item.fileId}">修改</a></td>
|
||||
</tr>`);
|
||||
}
|
||||
document.getElementById("file-object-container").innerHTML =
|
||||
`<a href="<%= pageUrl %>../object-detail?fileId=${fileId}">添加网盘链接</a><br>
|
||||
<table border="1" style="margin: 0 auto;">
|
||||
`<a href="<%= pageUrl %>../get-share-url?fileId=${fileId}">添加网盘链接</a><br>
|
||||
<table border="1" style="margin: 0 auto; width: 100%;">
|
||||
<tr>
|
||||
<th>文件对象Id</th>
|
||||
<th>存储介质</th>
|
||||
@@ -103,6 +106,7 @@
|
||||
<th>文件密码</th>
|
||||
<th>提取码</th>
|
||||
<th>状态</th>
|
||||
<th>管理</th>
|
||||
</tr>
|
||||
${items.join("")}
|
||||
</table>`;
|
||||
|
@@ -48,8 +48,8 @@
|
||||
.replace("UPLOADING", "<span style='color: orange; font-weight: bold;'>正在上传</span>")
|
||||
.replace("NOT_EXIST", "<span style='color: red; font-weight: bold;'>不存在</span>")}`,
|
||||
管理: `<span span class="overflow-omit" style="margin: 0 auto;">
|
||||
<a href="javascript:refreshFileObjectStatus(${element.id});">刷新状态</a>
|
||||
<a href="<%= pageUrl %>../object-detail?id=${element.id}">修改(TODO)</a>
|
||||
<a href="javascript:refreshFileObjectStatus(${element.id});" style="${element.storageMedium == "QCLOUD_COS" ? "" : "display: none;"}">刷新状态</a>
|
||||
<a href="<%= pageUrl %>../object-detail?id=${element.id}&fileId=${element.fileId}">修改</a>
|
||||
<a href="javascript:deleteFileObject(${element.id});">删除</a>
|
||||
</span >`,
|
||||
})
|
||||
|
@@ -1,6 +1,9 @@
|
||||
<div class="show-only-modify" style="text-align: center;">
|
||||
上传状态:<span id="upload-status"></span>
|
||||
</div>
|
||||
<script>
|
||||
// 如果传入了 id 那么就是修改文件对象,否则就是添加文件对象
|
||||
var params = getParams()
|
||||
var params = getParams();
|
||||
var fileObjectId = params.id;
|
||||
var fileId = params.fileId;
|
||||
if (!fileId) {
|
||||
@@ -12,6 +15,7 @@
|
||||
if (!isModify) {
|
||||
// 新增文件对象
|
||||
fileObjectId = 0;
|
||||
$(".show-only-modify").hide();
|
||||
} else {
|
||||
// 修改文件对象
|
||||
}
|
||||
@@ -25,7 +29,10 @@
|
||||
success: function (data) {
|
||||
console.log(data);
|
||||
alert(isModify ? "修改成功!" : "添加成功!");
|
||||
history.go(-1);
|
||||
if (params.referrer)
|
||||
location.replace(params.referrer);
|
||||
else
|
||||
history.go(-1);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -65,6 +72,8 @@
|
||||
}
|
||||
}
|
||||
|
||||
// 如果是修改文件对象,那么显示文件上传状态
|
||||
$("#upload-status").html(fileObjectDetail.uploadStatus || "");
|
||||
|
||||
return [
|
||||
// 必须设置 id, name
|
||||
@@ -74,7 +83,7 @@
|
||||
"attr": {
|
||||
"id": "storageMedium",
|
||||
"name": "storageMedium",
|
||||
"value": fileObjectDetail.storageMedium || "",
|
||||
"value": params.disk || fileObjectDetail.storageMedium || "",
|
||||
...modifyDisabledAttr
|
||||
},
|
||||
"label": {
|
||||
@@ -116,7 +125,7 @@
|
||||
"id": "filePath",
|
||||
"name": "filePath",
|
||||
"placeholder": "文件对象链接或路径",
|
||||
"value": fileObjectDetail.filePath || "",
|
||||
"value": params.url || fileObjectDetail.filePath || "",
|
||||
...filePathDisabledAttr // 如果是对象存储,那么就不允许编辑
|
||||
},
|
||||
"label": {
|
||||
@@ -171,7 +180,7 @@
|
||||
"id": "fileShareCode",
|
||||
"name": "fileShareCode",
|
||||
"placeholder": "提取码",
|
||||
"value": fileObjectDetail.fileShareCode || "",
|
||||
"value": params.pwd || fileObjectDetail.fileShareCode || "",
|
||||
},
|
||||
"label": {
|
||||
"value": "提取码",
|
||||
|
@@ -0,0 +1,78 @@
|
||||
<style>
|
||||
#sharecode_input {
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
#next-button {
|
||||
margin-top: 30px;
|
||||
}
|
||||
</style>
|
||||
<input id="sharecode_input" placeholder="请在此处粘贴网盘分享链接">
|
||||
<input id="paste-button" value="点击粘贴" type="button" onclick="pasteText();">
|
||||
<input id="next-button" value="直接前往添加" type="button" onclick="location.replace(redirectUrl);">
|
||||
<!-- 获取参数 -->
|
||||
<script src="/assets/javascripts/getParams.js"></script>
|
||||
<script>
|
||||
var requestParams = getParams();
|
||||
var fileId = Number(requestParams["fileId"]) ?? "";
|
||||
if (fileId === "")
|
||||
history.go(-1);
|
||||
console.log(fileId);
|
||||
</script>
|
||||
|
||||
<!-- 获取网盘分享链接 -->
|
||||
<script src="/assets/javascripts/dashboard/netdiskShareStringUtils.js"></script>
|
||||
<script>
|
||||
var redirectUrl = `<%= pageUrl %>../object-detail?fileId=${fileId}&referrer=${encodeURIComponent(document.referrer)}`
|
||||
$(document).ready(function () {
|
||||
$("#sharecode_input").on({
|
||||
// copy: function () {
|
||||
// alert('复制');
|
||||
// },
|
||||
paste: onPaste,
|
||||
// cut: function () {
|
||||
// alert('剪切');
|
||||
// }
|
||||
});
|
||||
});
|
||||
|
||||
// input 粘贴事件
|
||||
function onPaste() {
|
||||
// alert('粘贴');
|
||||
|
||||
// 直接获取的话,获取到的值还是粘贴之前的,所以这里使用了 setTimeout
|
||||
// console.log(this.value);
|
||||
setTimeout(function (val) {
|
||||
var inputValue = $("#sharecode_input").val();
|
||||
console.log("用户输入", inputValue);
|
||||
var result = getNetdiskShareDetails(inputValue);
|
||||
console.log(result);
|
||||
if (result && result.success) {
|
||||
redirectUrl += `&disk=${result.platform.name}&url=${encodeURIComponent(result.url)}&pwd=${result.pwd}`
|
||||
} else {
|
||||
if (!confirm("未检测到网盘分享链接,是否直接跳转?"))
|
||||
return;
|
||||
}
|
||||
// 跳转
|
||||
console.log("将要跳转", redirectUrl);
|
||||
location.replace(redirectUrl);
|
||||
}, 1)
|
||||
}
|
||||
|
||||
// 点击粘贴按钮
|
||||
function pasteText() {
|
||||
if (!navigator.clipboard) {
|
||||
alert("浏览器不支持读取剪切板,请手动粘贴!");
|
||||
return;
|
||||
}
|
||||
navigator.clipboard.readText().then(text => {
|
||||
console.log("剪切板内容:" + text);
|
||||
$("#sharecode_input").val(text);
|
||||
onPaste();
|
||||
}).catch(err => {
|
||||
console.error('Failed to read clipboard contents: ', err);
|
||||
alert("读取剪切板失败,请手动粘贴!");
|
||||
});
|
||||
}
|
||||
</script>
|
Reference in New Issue
Block a user