1
0
mirror of https://gitee.com/bookshelfplus/bookshelfplus synced 2025-09-16 23:22:20 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee

添加网盘分享链接解析页面;只有对象存储的文件才显示刷新状态按钮;一些前端小调整和小优化

This commit is contained in:
2022-04-24 23:57:04 +08:00
parent c95a581aaf
commit 3028d0d008
8 changed files with 260 additions and 16 deletions

View File

@@ -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>`,
})

View File

@@ -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>`;

View File

@@ -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 >`,
})

View File

@@ -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": "提取码",

View File

@@ -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>