fix(压缩包预览): 压缩包内文件增加token

This commit is contained in:
zhangSL 2025-03-04 18:17:59 +08:00
parent aadcb08cdc
commit 84a60ef97e
7 changed files with 164 additions and 141 deletions

View File

@ -18,11 +18,11 @@
height: 100%
}
</style>
<title>kkFileView Bpmn</title>
<title>Bpmn</title>
</head>
<body>
<h2>kkFileView Bpmn : ${fileName}</h2>
<h2>Bpmn : ${fileName}</h2>
<div id="diagram"></div>

View File

@ -3,36 +3,53 @@
<head>
<meta charset="utf-8"/>
<title>压缩包预览</title>
<script src="js/jquery-3.6.1.min.js"></script>
<#include "*/commonHeader.ftl">
<script src="js/base64.min.js" type="text/javascript"></script>
<link href="css/zTreeStyle.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="js/jquery.ztree.core.js"></script>
<style type="text/css">
<script src="js/jquery-3.6.1.min.js"></script>
<#include "*/commonHeader.ftl">
<script src="js/base64.min.js" type="text/javascript"></script>
<link href="css/zTreeStyle.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="js/jquery.ztree.core.js"></script>
<style type="text/css">
body {
background-color: #404040;
}
h1 {font-size: 24px;line-height: 34px;text-align: center;}
a {color:#3C6E31;text-decoration: underline;}
a:hover {background-color:#3C6E31;color:white;}
code {color: #2f332a;}
div.zTreeDemoBackground {
max-width: 880px;
text-align:center;
margin:0 auto;
border-radius:3px;
box-shadow:rgba(0,0,0,0.15) 0 0 8px;
background:#FBFBFB;
border:1px solid #ddd;
margin:1px auto;
padding:5px;
}
h1 {
font-size: 24px;
line-height: 34px;
text-align: center;
}
a {
color: #3C6E31;
text-decoration: underline;
}
a:hover {
background-color: #3C6E31;
color: white;
}
code {
color: #2f332a;
}
div.zTreeDemoBackground {
max-width: 880px;
text-align: center;
margin: 0 auto;
border-radius: 3px;
box-shadow: rgba(0, 0, 0, 0.15) 0 0 8px;
background: #FBFBFB;
border: 1px solid #ddd;
margin: 1px auto;
padding: 5px;
}
</style>
</head>
<body>
<div class="zTreeDemoBackground left">
<h1>kkFileView</h1>
<h1>zTree</h1>
<ul id="treeDemo" class="ztree"></ul>
</div>
<script>
@ -49,17 +66,26 @@
onClick: chooseNode,
}
};
var token = null;
function chooseNode(event, treeId, treeNode) {
if (!treeNode.isParent) {
var path = '${baseUrl}' + treeNode.id + "?kkCompressfileKey=" + encodeURIComponent('${fileTree}')+"&kkCompressfilepath=" + encodeURIComponent(treeNode.id)+"&fullfilename="+encodeURIComponent(treeNode.name);
location.href = "${baseUrl}onlinePreview?url=" + encodeURIComponent(Base64.encode(path));
var path = '${baseUrl}' + treeNode.id + "?kkCompressfileKey=" + encodeURIComponent('${fileTree}') + "&kkCompressfilepath=" + encodeURIComponent(treeNode.id) + "&fullfilename=" + encodeURIComponent(treeNode.name);
if(token != null) {
location.href = "${baseUrl}onlinePreview?token=" + token + "&url=" + encodeURIComponent(Base64.encode(path));
} else {
location.href = "${baseUrl}onlinePreview?url=" + encodeURIComponent(Base64.encode(path));
}
}
}
$(document).ready(function () {
var url = '${fileTree}';
$.ajax({
token = new URLSearchParams(window.location.search).get("token");
var url = '${fileTree}';
$.ajax({
type: "get",
url: "${baseUrl}directory?urls="+encodeURIComponent(Base64.encode(url)),
url: "${baseUrl}directory?urls=" + encodeURIComponent(Base64.encode(url)),
success: function (res) {
zTreeObj = $.fn.zTree.init($("#treeDemo"), settings, res); //初始化树
zTreeObj.expandAll(true); //true 节点全部展开false节点收缩

View File

@ -38,7 +38,6 @@
(${fileType})文件系统暂不支持在线预览具体原因如下
<p style="color: red;">${msg}</p>
</span>
<p>有任何疑问请加入kk开源社区知识星球咨询<a href="https://t.zsxq.com/09ZHSXbsQ">https://t.zsxq.com/09ZHSXbsQ</a><br></p>
</div>
</body>
</html>

View File

@ -1,111 +1,112 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${file.name}播放器</title>
<link type="text/css" rel="stylesheet" href="ckplayer/css/ckplayer.css" />
<#if "${file.suffix?lower_case}" == "m3u8" >
<script type="text/javascript" src="ckplayer/hls.js/hls.min.js"></script>
<#elseif "${file.suffix?lower_case}" == "flv">
<script type="text/javascript" src="ckplayer/flv.js/flv.min.js"></script>
<#elseif "${file.suffix?lower_case}" == "ts">
<script type="text/javascript" src="ckplayer/mpegts.js/mpegts.js"></script>
<#elseif "${file.suffix?lower_case}" == "mpd">
<script type="text/javascript" src="ckplayer/js/dash.all.min.js"></script>
</#if>
<script type="text/javascript" src="ckplayer/js/ckplayer.min.js" charset="UTF-8"></script>
<#include "*/commonHeader.ftl">
<style>
.adpause{
width: 90%;
height: 90%;
max-width: 580px;
max-height: 360px;
color: #FFF;
position: absolute;
background: #07141E;
top:0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
font-size: 30px;
line-height: 38px;
box-sizing:border-box;
-moz-box-sizing:border-box; /* Firefox */
-webkit-box-sizing:border-box; /* Safari */
padding: 50px;
display: none;
}
.video{
width: 100%;
height: 600px;
max-width: 900px;
margin: auto;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
background-color: green;
}
</style>
</head>
<body>
<div class="video">播放容器</div>
<script>
<#if "${file.suffix?lower_case}" == "mpd" >
function dashPlayer(video,fileUrl){
video.attr('data-dashjs-player',' ');
video.attr('src',fileUrl);
}
</#if>
var videoObject = {
container: '.video', //视频容器
//autoplay:true,//自动播放
// live:true,//指定为直播
// crossOrigin:'Anonymous',//发送跨域信息示例Anonymous
plug:<#if "${file.suffix?lower_case}" == "m3u8" >'hls.js'<#elseif "${file.suffix?lower_case}" == "ts" >'mpegts.js'<#elseif "${file.suffix?lower_case}" == "flv" >'flv.js'<#elseif "${file.suffix?lower_case}" == "mpd" >dashPlayer<#else>''</#if>,//设置使用插件
loop: false,//是否需要循环播放
rightBar:true,
screenshot:true,//截图功能是否开启
webFull:true,//是否启用页面全屏按钮默认不启用
//poster:'ckplayer/poster.png',//封面图片
menu:[
{
title:'kkFileView',
link:'https://www.kkview.cn',
underline:true
},
{
title:'播放/暂停',
click:'player.playOrPause',
},
{
title:'关于视频',
click:'aboutShow'
}
],
information:{
'已加载':'{loadTime}',
'总时长':'{duration}',
'视频尺寸':'{videoWidth}x{videoHeight}',
'音量':'{volume}%',
'FPS':'{fps}',
'音频解码':'{audioDecodedByteCount} Byte',
'视频解码':'{videoDecodedByteCount} Byte',
},
video:'${mediaUrl}'//视频地址
};
var player=new ckplayer(videoObject)//调用播放器并赋值给变量player
/*初始化水印*/
if (!!window.ActiveXObject || "ActiveXObject" in window)
{
}else{
initWaterMark();
}
</script>
<head>
<meta charset="UTF-8">
<title>${file.name}播放器</title>
<link type="text/css" rel="stylesheet" href="ckplayer/css/ckplayer.css"/>
<#if "${file.suffix?lower_case}" == "m3u8" >
<script type="text/javascript" src="ckplayer/hls.js/hls.min.js"></script>
<#elseif "${file.suffix?lower_case}" == "flv">
<script type="text/javascript" src="ckplayer/flv.js/flv.min.js"></script>
<#elseif "${file.suffix?lower_case}" == "ts">
<script type="text/javascript" src="ckplayer/mpegts.js/mpegts.js"></script>
<#elseif "${file.suffix?lower_case}" == "mpd">
<script type="text/javascript" src="ckplayer/js/dash.all.min.js"></script>
</#if>
<script type="text/javascript" src="ckplayer/js/ckplayer.min.js" charset="UTF-8"></script>
<#include "*/commonHeader.ftl">
<style>
.adpause {
width: 90%;
height: 90%;
max-width: 580px;
max-height: 360px;
color: #FFF;
position: absolute;
background: #07141E;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
font-size: 30px;
line-height: 38px;
box-sizing: border-box;
-moz-box-sizing: border-box; /* Firefox */
-webkit-box-sizing: border-box; /* Safari */
padding: 50px;
display: none;
}
</body>
.video {
width: 100%;
height: 600px;
max-width: 900px;
margin: auto;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
background-color: green;
}
</style>
</head>
<body>
<div class="video">播放容器</div>
<script>
<#if "${file.suffix?lower_case}" == "mpd" >
function dashPlayer(video, fileUrl) {
video.attr('data-dashjs-player', ' ');
video.attr('src', fileUrl);
}
</#if>
var videoObject = {
container: '.video', //视频容器
//autoplay:true,//自动播放
// live:true,//指定为直播
// crossOrigin:'Anonymous',//发送跨域信息示例Anonymous
plug: <#if "${file.suffix?lower_case}" == "m3u8" >
'hls.js'<#elseif "${file.suffix?lower_case}" == "ts" >
'mpegts.js'<#elseif "${file.suffix?lower_case}" == "flv" >
'flv.js'<#elseif "${file.suffix?lower_case}" == "mpd" >dashPlayer
<#else>''</#if>,//设置使用插件
loop: false,//是否需要循环播放
rightBar: true,
screenshot: true,//截图功能是否开启
webFull: true,//是否启用页面全屏按钮默认不启用
//poster:'ckplayer/poster.png',//封面图片
menu: [
{
title: '播放/暂停',
click: 'player.playOrPause',
},
{
title: '关于视频',
click: 'aboutShow'
}
],
information: {
'已加载': '{loadTime}',
'总时长': '{duration}',
'视频尺寸': '{videoWidth}x{videoHeight}',
'音量': '{volume}%',
'FPS': '{fps}',
'音频解码': '{audioDecodedByteCount} Byte',
'视频解码': '{videoDecodedByteCount} Byte',
},
video: '${mediaUrl}'//视频地址
};
var player = new ckplayer(videoObject)//调用播放器并赋值给变量player
/*初始化水印*/
if (!!window.ActiveXObject || "ActiveXObject" in window) {
} else {
initWaterMark();
}
</script>
</body>
</html>

View File

@ -35,7 +35,6 @@
<img src="images/sorry.jpg" />
<p>
预览源文件来自未授信的目录请停止访问<br>
有任何疑问请加入kk开源社区知识星球咨询<a href="https://t.zsxq.com/09ZHSXbsQ">https://t.zsxq.com/09ZHSXbsQ</a><br>
</p>
</div>
</body>

View File

@ -35,7 +35,6 @@
<img src="images/sorry.jpg" />
<p>
预览源文件来自不受信任的站点<span style="color: red; display: inline;">${current_host}</span> 请联系管理员<br>
有任何疑问请加入kk开源社区知识星球咨询<a href="https://t.zsxq.com/09ZHSXbsQ">https://t.zsxq.com/09ZHSXbsQ</a><br>
</p>
</div>
</body>

View File

@ -105,7 +105,6 @@ html += " <span>";
html += " 该(tif)文件,系统解析错误,具体原因如下:";
html += " <p style=\"color: red;\">文件[${file.name}]解析失败,请联系系统管理员</p>";
html += " </span>";
html += " <p>有任何疑问请加入kk开源社区知识星球咨询<a href=\"https://t.zsxq.com/09ZHSXbsQ\">https://t.zsxq.com/09ZHSXbsQ</a><br></p>";
html += "</div>";
html += "</body>";
html += "</html>";