Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
青阳龙野
kiftd
提交
2b5d2152
kiftd
项目概览
青阳龙野
/
kiftd
通知
1224
Star
27
Fork
21
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
6
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
kiftd
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
6
Issue
6
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
2b5d2152
编写于
5月 07, 2020
作者:
青阳龙野
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update to v1.0.29-release
上级
54018d6e
变更
12
展开全部
隐藏空白更改
内联
并排
Showing
12 changed file
with
1734 addition
and
1343 deletion
+1734
-1343
README.md
README.md
+13
-7
kiftd-1.0.29-RELEASE.jar
kiftd-1.0.29-RELEASE.jar
+0
-0
kiftd说明文档.pdf
kiftd说明文档.pdf
+0
-0
mybatisResource/mapperXML/FolderMapper.xml
mybatisResource/mapperXML/FolderMapper.xml
+11
-0
mybatisResource/mapperXML/NodeMapper.xml
mybatisResource/mapperXML/NodeMapper.xml
+8
-7
webContext/home.html
webContext/home.html
+21
-11
webContext/js/home.js
webContext/js/home.js
+1614
-1260
webContext/js/home.min.js
webContext/js/home.min.js
+3
-3
webContext/pdfview/web/viewer.html
webContext/pdfview/web/viewer.html
+35
-28
webContext/quickview/kplayer.js
webContext/quickview/kplayer.js
+27
-25
webContext/quickview/kplayer.min.js
webContext/quickview/kplayer.min.js
+1
-1
使用许可
使用许可
+1
-1
未找到文件。
README.md
浏览文件 @
2b5d2152
...
...
@@ -77,13 +77,19 @@ _注:kift为该功能的开发名称,其实际成果命名为kiftd。_
> 提示:当您更新版本后,请手动清除浏览器的缓存,之后刷新网盘主页以确保数据文件保持最新!否则可能导致新版页面功能无法使用。
### 常规更新v1.0.28
_本次更新为维护性的更新,修复一些已经发现的问题并优化使用体验,推荐所有用户升级。_
+
修正了部分启动命令提示信息描述不正确的问题。
+
优化了系统运行时的终端输出内容,避免输出信息过于杂乱影响命令操作。
+
完善了命令模式下“文件管理”功能,进一步优化其命令检验和提示机制,方便使用者进行日常操作。
+
进一步完善了文件系统的数据效验机制,更好地保证其“整洁”、稳定和健壮。
+
其他一些细节优化。
### 新版本v1.0.29
_本次更新加入了新功能,进一步增强kiftd的使用体验,推荐所有用户升级。_
+
新增了“复制”功能——这是一项众多用户期待已久的功能,现已正式加入。您可以通过“复制-粘贴”操作来快速复制网盘中的文件和文件夹,并且无需担心该操作会占用额外的存储空间。
+
进一步完善了全局搜索功能——全局搜索完成后,您可以在“详细信息”窗口中查看本次搜索的统计信息,包括搜索到的文件和文件夹的数量。
+
进一步完善了“永久资源链接”功能中的“复制链接”功能——现在,复制后的链接格式将更加规范、更容易被识别。
+
进一步完善了音乐播放功能——解决了在某些情况下播放器无法正常显示列表中第一首歌的歌词的问题。
+
修复了在非x86环境下使用自定义ffmpeg视频解码引擎后可能会导致“在线播放”功能出现异常的问题。
+
修复了当用户使用上传文件夹功能上传Unix/Linux系统中的隐藏文件夹(以“.”开头)时会导致现操作意外中断的问题,并且该功能现在能够正确上传这些隐藏文件夹了。
+
修复了上传文件和上传文件夹功能在取消时可能会引发错误操作的问题。
+
修复了“自由注册新账户”功能中存在的一个安全性漏洞。
+
修复了上传文件夹功能在Safari浏览器中无法正常使用的问题。
+
修复了一些情况下快捷键会失效或出现功能异常的问题。
+
其他一些安全性和稳定性优化。
> 需要查看更多版本历史信息?请访问: https://kohgylw.gitee.io/News.html
...
...
kiftd-1.0.2
8
-RELEASE.jar
→
kiftd-1.0.2
9
-RELEASE.jar
浏览文件 @
2b5d2152
无法预览此类型文件
kiftd说明文档.pdf
浏览文件 @
2b5d2152
无法预览此类型文件
mybatisResource/mapperXML/FolderMapper.xml
浏览文件 @
2b5d2152
...
...
@@ -74,4 +74,15 @@
#{folderId,jdbcType=VARCHAR}
</update>
<update
id=
"update"
parameterType=
"kohgylw.kiftd.server.model.Folder"
>
UPDATE FOLDER SET folder_name
=
#{folderName,jdbcType=VARCHAR},folder_creation_date =
#{folderCreationDate,jdbcType=VARCHAR},folder_creator =
#{folderCreator,jdbcType=VARCHAR},folder_parent =
#{folderParent,jdbcType=VARCHAR},folder_constraint =
#{folderConstraint,jdbcType=INTEGER} WHERE folder_id =
#{folderId,jdbcType=VARCHAR}
</update>
</mapper>
\ No newline at end of file
mybatisResource/mapperXML/NodeMapper.xml
浏览文件 @
2b5d2152
...
...
@@ -73,7 +73,14 @@
<select
id=
"queryByPath"
parameterType=
"java.lang.String"
resultMap=
"BaseResultMap"
>
SELECT * FROM FILE WHERE file_path =
#{path,jdbcType=VARCHAR}
#{path,jdbcType=VARCHAR} LIMIT 0,2147483647
</select>
<select
id=
"queryByPathExcludeById"
parameterType=
"java.util.Map"
resultMap=
"BaseResultMap"
>
SELECT * FROM FILE WHERE file_path =
#{path,jdbcType=VARCHAR} AND file_id
<>
#{fileId,jdbcType=VARCHAR} LIMIT 0,2147483647
</select>
<select
id=
"queryBySomeFolder"
parameterType=
"java.lang.String"
...
...
@@ -84,10 +91,4 @@
#{fileId,jdbcType=VARCHAR}) LIMIT 0,2147483647
</select>
<update
id=
"moveById"
parameterType=
"java.util.Map"
>
UPDATE FILE SET
file_parent_folder = #{locationpath,jdbcType=VARCHAR} WHERE file_id =
#{fileId,jdbcType=VARCHAR}
</update>
</mapper>
\ No newline at end of file
webContext/home.html
浏览文件 @
2b5d2152
<!doctype html>
<!-- 青阳网络文件传输系统 kiftd v1.0.2
8
-RELEASE -->
<!-- 青阳网络文件传输系统 kiftd v1.0.2
9
-RELEASE -->
<!-- 欢迎访问主界面 -->
<!-- by 青阳龙野(kohgylw@163.com) -->
<html>
...
...
@@ -101,22 +101,31 @@
class=
"glyphicon glyphicon-cog"
></span>
操作
<span
class=
"caret"
></span></a>
<ul
class=
"dropdown-menu"
id=
"fileListDropDown"
>
<li
id=
"uploadFileButtonLi"
><a>
上传文件
<span
<li
id=
"uploadFileButtonLi"
><a
href=
"javascript:void(0);"
>
上传文件
<span
class=
"pull-right"
><span
class=
"glyphicon glyphicon-arrow-up"
aria-hidden=
"true"
></span>
+U
</span></a></li>
<li
id=
"uploadFolderButtonLi"
><a>
上传文件夹
<span
<li
id=
"uploadFolderButtonLi"
><a
href=
"javascript:void(0);"
>
上传文件夹
<span
class=
"pull-right"
><span
class=
"glyphicon glyphicon-arrow-up"
aria-hidden=
"true"
></span>
+F
</span></a></li>
<li
role=
"separator"
class=
"divider"
></li>
<li
id=
"createFolderButtonLi"
><a>
新建文件夹
<span
<li
id=
"createFolderButtonLi"
><a
href=
"javascript:void(0);"
>
新建文件夹
<span
class=
"pull-right"
><span
class=
"glyphicon glyphicon-arrow-up"
aria-hidden=
"true"
></span>
+N
</span></a></li>
<li
role=
"separator"
class=
"divider"
></li>
<li
id=
"c
utFileButtonLi"
><a><span
id=
'cutSignTx'
>
剪切
<li
id=
"c
opyFileButtonLi"
><a
href=
"javascript:void(0);"
><span
id=
'copySignTx'
>
复制
<span
class=
"pull-right"
><span
class=
"glyphicon glyphicon-arrow-up"
aria-hidden=
"true"
></span>
+C
</span>
</span></a></li>
<li
id=
"deleteSeelectFileButtonLi"
><a>
删除
<span
<li
id=
"cutFileButtonLi"
><a
href=
"javascript:void(0);"
><span
id=
'cutSignTx'
>
剪切
<span
class=
"pull-right"
><span
class=
"glyphicon glyphicon-arrow-up"
aria-hidden=
"true"
></span>
+X
</span>
</span></a></li>
<li
id=
"stickFileButtonLi"
class=
"hidden"
><a
href=
"javascript:void(0);"
><span
id=
'stickSignTx'
>
粘贴
<span
id=
"stickFilesCount"
></span>
<span
class=
"pull-right"
><span
class=
"glyphicon glyphicon-arrow-up"
aria-hidden=
"true"
></span>
+V
</span>
</span></a></li>
<li
id=
"deleteSeelectFileButtonLi"
><a
href=
"javascript:void(0);"
>
删除
<span
class=
"pull-right"
><span
class=
"glyphicon glyphicon-arrow-up"
aria-hidden=
"true"
></span>
+D
</span></a></li>
</ul></li>
...
...
@@ -284,7 +293,7 @@
<h5
id=
"deleteFolderMessage"
></h5>
</div>
<div
class=
"modal-footer"
>
<button
type=
"button"
class=
"btn btn-default"
data-dismiss=
"modal"
>
取消
</button>
<button
id=
"cancelDeleteFolderBtn"
type=
"button"
class=
"btn btn-default"
data-dismiss=
"modal"
>
取消
</button>
<span
id=
"deleteFolderBox"
></span>
</div>
</div>
...
...
@@ -443,7 +452,8 @@
</div>
</div>
<input
type=
"file"
id=
"importfolder"
style=
"display: none;"
onchange=
"getInputImport()"
multiple=
"multiple"
webkitdirectory
>
onchange=
"getInputImport()"
multiple=
"multiple"
webkitdirectory=
"true"
>
<h5>
上传进度:
<span
id=
"importcount"
></span>
</h5>
...
...
@@ -535,7 +545,7 @@
<h5
id=
"deleteFileMessage"
class=
"wordbreak"
></h5>
</div>
<div
class=
"modal-footer"
>
<button
type=
"button"
class=
"btn btn-default"
data-dismiss=
"modal"
>
取消
</button>
<button
id=
"cancelDeleteFileBox"
type=
"button"
class=
"btn btn-default"
data-dismiss=
"modal"
>
取消
</button>
<span
id=
"deleteFileBox"
></span>
</div>
</div>
...
...
@@ -599,7 +609,7 @@
</h5>
</div>
<div
class=
"modal-footer"
>
<button
type=
"button"
class=
"btn btn-default"
data-dismiss=
"modal"
>
取消
</button>
<button
id=
"cancelDownloadAllCheckedBtn"
type=
"button"
class=
"btn btn-default"
data-dismiss=
"modal"
>
取消
</button>
<span
id=
"downloadAllCheckedBox"
></span>
</div>
</div>
...
...
@@ -688,7 +698,7 @@
</div>
</div>
<div
class=
"modal-footer"
>
<button
type=
"button"
class=
"btn btn-default"
data-dismiss=
"modal"
>
取消
</button>
<button
id=
"cancelMoveFilesBtn"
type=
"button"
class=
"btn btn-default"
data-dismiss=
"modal"
>
取消
</button>
<span
id=
"moveFilesBox"
></span>
</div>
</div>
...
...
webContext/js/home.js
浏览文件 @
2b5d2152
此差异已折叠。
点击以展开。
webContext/js/home.min.js
浏览文件 @
2b5d2152
此差异已折叠。
点击以展开。
webContext/pdfview/web/viewer.html
浏览文件 @
2b5d2152
...
...
@@ -67,24 +67,26 @@ See https://github.com/adobe-type-tools/cmap-resources
filter
:
progid
:
DXImageTransform
.
Microsoft
.
Alpha
(
opacity
=
70
);
}
@-webkit-keyframes
zoom
{
from
{
-webkit-transform
:
scale
(
0
)
}
to
{
-webkit-transform
:
scale
(
1
)
}
@
-webkit-keyframes
zoom
{
from
{
-webkit-transform
:
scale
(
0
)
}
@keyframes
zoom
{
from
{
transform
:
scale
(
0
)
}
to
{
transform
:
scale
(
1
)
}
to
{
-webkit-transform
:
scale
(
1
)
}
}
@
keyframes
zoom
{
from
{
transform
:
scale
(
0
)
}
to
{
transform
:
scale
(
1
)
}
}
.pdf-modal-body
{
font-size
:
18px
;
box-sizing
:
border-box
;
...
...
@@ -540,24 +542,29 @@ See https://github.com/adobe-type-tools/cmap-resources
//增加了加载需要耗时转换的文档时的加载提示
window
.
onload
=
function
()
{
var
url
=
location
.
search
;
if
(
url
.
indexOf
(
"
.block
"
)
<
0
)
{
if
(
url
.
indexOf
(
"
getResource
"
)
<
0
)
{
var
modal
=
document
.
getElementById
(
'
pdf-modal
'
);
if
(
url
.
indexOf
(
"
getWordView
"
)
>=
0
)
{
document
.
getElementById
(
'
doc-type-box
'
).
innerHTML
=
"
Word
"
;
}
else
if
(
url
.
indexOf
(
"
getTxtView
"
)
>=
0
)
{
document
.
getElementById
(
'
doc-type-box
'
).
innerHTML
=
"
TXT
"
;
}
else
if
(
url
.
indexOf
(
"
getPPTView
"
)
>=
0
)
{
document
.
getElementById
(
'
doc-type-box
'
).
innerHTML
=
"
PPT
"
;
}
else
{
document
.
getElementById
(
'
doc-type-box
'
).
innerHTML
=
"
未知类型
"
;
document
.
getElementById
(
'
doc-type-box
'
).
innerHTML
=
"
Word
"
;
}
else
if
(
url
.
indexOf
(
"
getTxtView
"
)
>=
0
)
{
document
.
getElementById
(
'
doc-type-box
'
).
innerHTML
=
"
TXT
"
;
}
else
if
(
url
.
indexOf
(
"
getPPTView
"
)
>=
0
)
{
document
.
getElementById
(
'
doc-type-box
'
).
innerHTML
=
"
PPT
"
;
}
else
{
document
.
getElementById
(
'
doc-type-box
'
).
innerHTML
=
"
未知类型
"
;
}
modal
.
style
.
display
=
"
block
"
;
var
interval
=
setInterval
(
function
()
{
if
(
PDFViewerApplication
.
pdfDocument
!=
null
)
{
clearInterval
(
interval
);
modal
.
style
.
display
=
"
none
"
;
}
},
1
);
var
interval
=
setInterval
(
function
()
{
if
(
PDFViewerApplication
.
pdfDocument
!=
null
||
PDFViewerApplication
.
appConfig
.
errorWrapper
.
container
.
hidden
==
false
)
{
clearInterval
(
interval
);
modal
.
style
.
display
=
"
none
"
;
if
(
PDFViewerApplication
.
appConfig
.
errorWrapper
.
container
.
hidden
==
false
)
{
alert
(
"
提示:打开目标文档时发生意外错误(刷新页面将再次尝试打开该文档)。
"
);
}
}
},
1
);
}
}
</script>
...
...
webContext/quickview/kplayer.js
浏览文件 @
2b5d2152
...
...
@@ -5,10 +5,10 @@ var tReq;
var
tTimer
;
var
pingInt
;
$
(
function
()
{
window
.
onresize
=
function
(){
window
.
onresize
=
function
()
{
showCloseBtn
();
}
pingInt
=
setInterval
(
"
ping()
"
,
60000
);
}
pingInt
=
setInterval
(
"
ping()
"
,
60000
);
var
fileId
=
getFileId
();
$
.
ajax
({
...
...
@@ -21,7 +21,9 @@ $(function() {
success
:
function
(
result
)
{
if
(
result
!=
"
ERROR
"
)
{
f
=
eval
(
"
(
"
+
result
+
"
)
"
);
$
(
"
#vname
"
).
text
(
f
.
fileName
.
replace
(
'
\'
'
,
'
'
'
).
replace
(
'
<
'
,
'
<
'
).
replace
(
'
>
'
,
'
>
'
));
$
(
"
#vname
"
).
text
(
f
.
fileName
.
replace
(
'
\'
'
,
'
'
'
).
replace
(
'
<
'
,
'
<
'
).
replace
(
'
>
'
,
'
>
'
));
$
(
"
#vcreator
"
).
text
(
f
.
fileCreator
);
$
(
"
#vcdate
"
).
text
(
f
.
fileCreationDate
);
$
(
"
#vsize
"
).
text
(
f
.
fileSize
);
...
...
@@ -59,9 +61,9 @@ function playVideo() {
$
(
"
#playerbox
"
)
.
html
(
"
<video id='kiftplayer' class='video-js col-md-12' controls preload='auto' height='500'>
"
+
"
<source src='resourceController/getResource
.do?fid=
"
+
"
<source src='resourceController/getResource
/
"
+
f
.
fileId
+
"
' type='video/mp4'></video>
"
);
var
player
=
videojs
(
'
kiftplayer
'
,{
var
player
=
videojs
(
'
kiftplayer
'
,
{
preload
:
'
auto
'
});
player
.
ready
(
function
()
{
...
...
@@ -71,10 +73,10 @@ function playVideo() {
// 关闭当前窗口并释放播放器
function
reMainPage
()
{
if
(
tReq
!=
null
)
{
if
(
tReq
!=
null
)
{
tReq
.
abort
()
}
if
(
tTimer
!=
null
)
{
if
(
tTimer
!=
null
)
{
window
.
clearTimeout
(
tTimer
);
}
window
.
opener
=
null
;
...
...
@@ -84,7 +86,7 @@ function reMainPage() {
// 进行转码请求并监听进度状态(轮询)
function
doTranscode
()
{
tReq
=
$
.
ajax
({
tReq
=
$
.
ajax
({
url
:
'
resourceController/getVideoTranscodeStatus.ajax
'
,
type
:
'
POST
'
,
dataType
:
'
text
'
,
...
...
@@ -99,7 +101,7 @@ function doTranscode() {
reMainPage
();
}
else
{
$
(
"
#transcodeProgress
"
).
text
(
result
);
tTimer
=
setTimeout
(
'
doTranscode()
'
,
500
);
// 每隔1秒询问一次进度
tTimer
=
setTimeout
(
'
doTranscode()
'
,
500
);
// 每隔1秒询问一次进度
}
},
error
:
function
()
{
...
...
@@ -109,28 +111,28 @@ function doTranscode() {
});
}
function
showCloseBtn
(){
function
showCloseBtn
()
{
var
win
=
$
(
window
).
width
();
if
(
win
<
450
)
{
$
(
"
#closeBtn
"
).
addClass
(
"
hidden
"
);
}
else
{
$
(
"
#closeBtn
"
).
removeClass
(
"
hidden
"
);
}
if
(
win
<
450
)
{
$
(
"
#closeBtn
"
).
addClass
(
"
hidden
"
);
}
else
{
$
(
"
#closeBtn
"
).
removeClass
(
"
hidden
"
);
}
}
//防止播放视频时会话超时的应答器,每分钟应答一次
function
ping
(){
//
防止播放视频时会话超时的应答器,每分钟应答一次
function
ping
()
{
$
.
ajax
({
url
:
"
homeController/ping.ajax
"
,
type
:
"
POST
"
,
dataType
:
"
text
"
,
data
:
{},
success
:
function
(
result
)
{
if
(
result
!=
'
pong
'
)
{
url
:
"
homeController/ping.ajax
"
,
type
:
"
POST
"
,
dataType
:
"
text
"
,
data
:
{},
success
:
function
(
result
)
{
if
(
result
!=
'
pong
'
)
{
window
.
clearInterval
(
pingInt
);
}
},
error
:
function
()
{
error
:
function
()
{
window
.
clearInterval
(
pingInt
);
}
});
...
...
webContext/quickview/kplayer.min.js
浏览文件 @
2b5d2152
function
getFileId
(){
var
b
,
a
=
location
.
search
;
return
-
1
!=
a
.
indexOf
(
"
?
"
)?(
b
=
a
.
substr
(
1
),
strs
=
b
.
split
(
"
=
"
),
strs
[
1
]):
""
}
function
playVideo
(){
$
(
"
#playerbox
"
).
html
(
"
<video id='kiftplayer' class='video-js col-md-12' controls preload='auto' height='500'><source src='resourceController/getResource.do?fid=
"
+
f
.
fileId
+
"
' type='video/mp4'></video>
"
);
var
a
=
videojs
(
"
kiftplayer
"
,{
preload
:
"
auto
"
});
a
.
ready
(
function
(){
this
.
play
()})}
function
reMainPage
(){
null
!=
tReq
&&
tReq
.
abort
(),
null
!=
tTimer
&&
window
.
clearTimeout
(
tTimer
),
window
.
opener
=
null
,
window
.
open
(
""
,
"
_self
"
),
window
.
close
()}
function
doTranscode
(){
tReq
=
$
.
ajax
({
url
:
"
resourceController/getVideoTranscodeStatus.ajax
"
,
type
:
"
POST
"
,
dataType
:
"
text
"
,
data
:{
fileId
:
f
.
fileId
},
success
:
function
(
a
){
"
FIN
"
==
a
?
playVideo
():
"
ERROR
"
==
a
?(
alert
(
"
错误:请求失败,请刷新重试。
"
),
reMainPage
()):(
$
(
"
#transcodeProgress
"
).
text
(
a
),
tTimer
=
setTimeout
(
"
doTranscode()
"
,
500
))},
error
:
function
(){
alert
(
"
错误:请求失败,请刷新重试。
"
),
reMainPage
()}})}
function
showCloseBtn
(){
var
a
=
$
(
window
).
width
();
450
>
a
?
$
(
"
#closeBtn
"
).
addClass
(
"
hidden
"
):
$
(
"
#closeBtn
"
).
removeClass
(
"
hidden
"
)}
function
ping
(){
$
.
ajax
({
url
:
"
homeController/ping.ajax
"
,
type
:
"
POST
"
,
dataType
:
"
text
"
,
data
:{},
success
:
function
(
a
){
"
pong
"
!=
a
&&
window
.
clearInterval
(
pingInt
)},
error
:
function
(){
window
.
clearInterval
(
pingInt
)}})}
var
tReq
,
tTimer
,
pingInt
;
$
(
function
(){
window
.
onresize
=
function
(){
showCloseBtn
()},
pingInt
=
setInterval
(
"
ping()
"
,
6
e4
);
var
fileId
=
getFileId
();
$
.
ajax
({
url
:
"
homeController/playVideo.ajax
"
,
type
:
"
POST
"
,
dataType
:
"
text
"
,
data
:{
fileId
:
fileId
},
success
:
function
(
result
){
"
ERROR
"
!=
result
?(
f
=
eval
(
"
(
"
+
result
+
"
)
"
),
$
(
"
#vname
"
).
text
(
f
.
fileName
.
replace
(
"
'
"
,
"
'
"
).
replace
(
"
<
"
,
"
<
"
).
replace
(
"
>
"
,
"
>
"
)),
$
(
"
#vcreator
"
).
text
(
f
.
fileCreator
),
$
(
"
#vcdate
"
).
text
(
f
.
fileCreationDate
),
$
(
"
#vsize
"
).
text
(
f
.
fileSize
),
"
N
"
==
f
.
needEncode
?
playVideo
():(
$
(
"
#playerMassage
"
).
html
(
"
<h2>播放器正在努力解码中...</h2><h3>已完成:<span id='transcodeProgress'>0</span>%</h3><p class='text-muted'>提示:该视频需解码后播放,请耐心等待!</p>
"
),
doTranscode
())):(
alert
(
"
错误:无法定位要预览的文件或该操作未被授权。
"
),
reMainPage
())},
error
:
function
(){
alert
(
"
错误:请求失败,请刷新重试。
"
),
reMainPage
()}})});
\ No newline at end of file
function
getFileId
(){
var
b
,
a
=
location
.
search
;
return
-
1
!=
a
.
indexOf
(
"
?
"
)?(
b
=
a
.
substr
(
1
),
strs
=
b
.
split
(
"
=
"
),
strs
[
1
]):
""
}
function
playVideo
(){
$
(
"
#playerbox
"
).
html
(
"
<video id='kiftplayer' class='video-js col-md-12' controls preload='auto' height='500'><source src='resourceController/getResource/
"
+
f
.
fileId
+
"
' type='video/mp4'></video>
"
);
var
a
=
videojs
(
"
kiftplayer
"
,{
preload
:
"
auto
"
});
a
.
ready
(
function
(){
this
.
play
()})}
function
reMainPage
(){
null
!=
tReq
&&
tReq
.
abort
(),
null
!=
tTimer
&&
window
.
clearTimeout
(
tTimer
),
window
.
opener
=
null
,
window
.
open
(
""
,
"
_self
"
),
window
.
close
()}
function
doTranscode
(){
tReq
=
$
.
ajax
({
url
:
"
resourceController/getVideoTranscodeStatus.ajax
"
,
type
:
"
POST
"
,
dataType
:
"
text
"
,
data
:{
fileId
:
f
.
fileId
},
success
:
function
(
a
){
"
FIN
"
==
a
?
playVideo
():
"
ERROR
"
==
a
?(
alert
(
"
错误:请求失败,请刷新重试。
"
),
reMainPage
()):(
$
(
"
#transcodeProgress
"
).
text
(
a
),
tTimer
=
setTimeout
(
"
doTranscode()
"
,
500
))},
error
:
function
(){
alert
(
"
错误:请求失败,请刷新重试。
"
),
reMainPage
()}})}
function
showCloseBtn
(){
var
a
=
$
(
window
).
width
();
450
>
a
?
$
(
"
#closeBtn
"
).
addClass
(
"
hidden
"
):
$
(
"
#closeBtn
"
).
removeClass
(
"
hidden
"
)}
function
ping
(){
$
.
ajax
({
url
:
"
homeController/ping.ajax
"
,
type
:
"
POST
"
,
dataType
:
"
text
"
,
data
:{},
success
:
function
(
a
){
"
pong
"
!=
a
&&
window
.
clearInterval
(
pingInt
)},
error
:
function
(){
window
.
clearInterval
(
pingInt
)}})}
var
tReq
,
tTimer
,
pingInt
;
$
(
function
(){
window
.
onresize
=
function
(){
showCloseBtn
()},
pingInt
=
setInterval
(
"
ping()
"
,
6
e4
);
var
fileId
=
getFileId
();
$
.
ajax
({
url
:
"
homeController/playVideo.ajax
"
,
type
:
"
POST
"
,
dataType
:
"
text
"
,
data
:{
fileId
:
fileId
},
success
:
function
(
result
){
"
ERROR
"
!=
result
?(
f
=
eval
(
"
(
"
+
result
+
"
)
"
),
$
(
"
#vname
"
).
text
(
f
.
fileName
.
replace
(
"
'
"
,
"
'
"
).
replace
(
"
<
"
,
"
<
"
).
replace
(
"
>
"
,
"
>
"
)),
$
(
"
#vcreator
"
).
text
(
f
.
fileCreator
),
$
(
"
#vcdate
"
).
text
(
f
.
fileCreationDate
),
$
(
"
#vsize
"
).
text
(
f
.
fileSize
),
"
N
"
==
f
.
needEncode
?
playVideo
():(
$
(
"
#playerMassage
"
).
html
(
"
<h2>播放器正在努力解码中...</h2><h3>已完成:<span id='transcodeProgress'>0</span>%</h3><p class='text-muted'>提示:该视频需解码后播放,请耐心等待!</p>
"
),
doTranscode
())):(
alert
(
"
错误:无法定位要预览的文件或该操作未被授权。
"
),
reMainPage
())},
error
:
function
(){
alert
(
"
错误:请求失败,请刷新重试。
"
),
reMainPage
()}})});
\ No newline at end of file
使用许可
浏览文件 @
2b5d2152
...
...
@@ -7,7 +7,7 @@ Copyright © 2018-2020 青阳龙野 <kohgylw@163.com>
2,任何组织或个人均能够自由复制、分发或修改kiftd发行版及其源代码,并将其用于任何用途。修改后的作品版权由修改者自身享有。
3,kiftd的作者无需为使用该软件及其源代码所造成的任何直接或间接后果承担责任。
4,kiftd的作者对kiftd中的全部java源代码、页面文件、js及css文件、jar程序、mybatisResource文件夹内的资源、README.md文件以及随发行版程序附带的原版《kiftd说明文档》享有版权,并作为kiftd软件的版权人。
5,kiftd软件中涉及的所有第三方软件、工具、图片、插件及其代码,其权利由该
资源之作者
享有并授予kiftd使用许可。任何单位和个人认为kiftd包含的上述内容可能涉嫌侵犯其合法权益时,应及时向kiftd作者进行书面反馈,并提供其身份证明、权属证明及详细侵权情况的说明,kiftd将会立即移除被控侵权的内容。
5,kiftd软件中涉及的所有第三方软件、工具、图片、插件及其代码,其权利由该
作品的权利人
享有并授予kiftd使用许可。任何单位和个人认为kiftd包含的上述内容可能涉嫌侵犯其合法权益时,应及时向kiftd作者进行书面反馈,并提供其身份证明、权属证明及详细侵权情况的说明,kiftd将会立即移除被控侵权的内容。
版权人信息:
地址:河北省唐山市路北区兴源里玫瑰庄园6单元602号
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录