Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
andyshao520
kiftd
提交
08b6d9cc
kiftd
项目概览
andyshao520
/
kiftd
与 Fork 源项目一致
Fork自
青阳龙野 / kiftd
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
kiftd
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
08b6d9cc
编写于
8月 28, 2019
作者:
青阳龙野
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update to v1.0.21-release
上级
965090fb
变更
8
展开全部
隐藏空白更改
内联
并排
Showing
8 changed file
with
21 addition
and
18 deletion
+21
-18
README.md
README.md
+6
-8
kiftd-1.0.21-RELEASE.jar
kiftd-1.0.21-RELEASE.jar
+0
-0
kiftd说明文档.pdf
kiftd说明文档.pdf
+0
-0
webContext/home.html
webContext/home.html
+2
-0
webContext/js/home.js
webContext/js/home.js
+7
-6
webContext/js/home.min.js
webContext/js/home.min.js
+2
-2
webContext/quickview/kplayer.js
webContext/quickview/kplayer.js
+3
-1
webContext/quickview/kplayer.min.js
webContext/quickview/kplayer.min.js
+1
-1
未找到文件。
README.md
浏览文件 @
08b6d9cc
...
...
@@ -77,14 +77,12 @@ _注:kift为该功能的开发名称,其实际成果命名为kiftd。_
> 提示:当您更新版本后,请手动清除浏览器的缓存,之后刷新网盘主页以确保数据文件保持最新!否则可能导致新版页面功能无法使用。
### 新版本v1.0.20
_本次更新增加了较多用户们一直期待的、实用性较强的新功能,进一步增强kiftd的使用体验。推荐所有用户升级体验。_
+
文件夹上传——现在,众多用户期待已久的上传文件夹功能现已上线。当用户同时具备“上传”和“新建文件夹”权限时,便可使用该功能进行文件夹的上传,同时还可以像新建文件夹一样自由设置上传后的文件夹的访问级别。详情请见《kiftd说明文档》。
+
PPT预览功能——现在,众多用户期待已久的PPT文档在线预览功能正式上线,方便办公使用。PPT预览功能提供ppt和pptx格式的在线打开和预览,且该功能无需额外安装任何插件,可免费用于商业用途。注:在线预览无法显示动画效果,部分复杂内容可能与官方PPT版式有所差异。
+
添加扩展存储区——现在,kiftd的文件系统允许用户额外添加最多31个“扩展存储区”路径。这些“扩展存储区”能够设置在不同的硬盘分区中并分担“主文件系统存储区”的存储压力,从而方便用户在不借助硬盘阵列技术的前提下使用多块硬盘来进一步扩展kiftd的可用容量。详情请见《kiftd说明文档》。
+
升级了文件列表的排序功能——文件列表现在可以对文件的各项属性进行切换式的双向(升序/降序)排序。
+
优化文件列表的显示顺序——文件列表现在将按照上传的时间由新至旧向下排列显示,更加贴合用户的查看习惯。
+
优化配置检查机制——当配置出现错误后系统将不再自动还原初配置文件,以便用户根据提示信息进行检查和修改。
### 新版本v1.0.21
_本次更新增强了账户的权限管理功能,同时修复了一些问题。推荐所有用户升级体验。_
+
为账户在特定文件夹中授予额外权限——借助这一功能,您能够将账户的权限管理精确到文件夹级别,从而方便您在复杂使用场景中更加灵活地设定账户的权限,详情请见《kiftd说明文档》。
+
修复了当文件夹名称中含有空格时无法上传的问题。
+
优化了配置文件更新机制,使得程序在更新配置文件时能够保留原有的格式和注释。
+
修复了在部分情况下,使用命令模启动kiftd后txt预览功能可能无法正确执行的问题。
+
进一步提高了文件系统的安全性和稳定性。
> 需要查看更多版本历史信息?请访问: https://kohgylw.gitee.io/News.html
...
...
kiftd-1.0.2
0
-RELEASE.jar
→
kiftd-1.0.2
1
-RELEASE.jar
浏览文件 @
08b6d9cc
无法预览此类型文件
kiftd说明文档.pdf
浏览文件 @
08b6d9cc
无法预览此类型文件
webContext/home.html
浏览文件 @
08b6d9cc
...
...
@@ -714,6 +714,8 @@
<dd
id=
"fim_folderCreationDate"
></dd>
<dt>
文件统计:
</dt>
<dd
id=
"fim_statistics"
></dd>
<dt>
文件夹ID:
</dt>
<dd
id=
"fim_folderId"
></dd>
</dl>
</div>
<div
class=
"modal-footer"
>
...
...
webContext/js/home.js
浏览文件 @
08b6d9cc
...
...
@@ -307,6 +307,7 @@ $(function() {
$
(
"
#fim_creator
"
).
text
(
f
.
folderCreator
);
$
(
"
#fim_folderCreationDate
"
).
text
(
f
.
folderCreationDate
);
$
(
"
#fim_statistics
"
).
text
(
"
共包含
"
+
folderView
.
folderList
.
length
+
"
个文件夹,
"
+
folderView
.
fileList
.
length
+
"
个文件。
"
);
$
(
"
#fim_folderId
"
).
text
(
f
.
folderId
);
});
// 关闭下载提示模态框自动隐藏下载链接
$
(
'
#downloadModal
'
).
on
(
'
hidden.bs.modal
'
,
function
(
e
)
{
...
...
@@ -974,7 +975,7 @@ function changeNewFolderType(type){
function
createfolder
()
{
var
fn
=
$
(
"
#foldername
"
).
val
();
var
fc
=
$
(
"
#foldername
"
).
attr
(
"
folderConstraintLevel
"
);
var
reg
=
new
RegExp
(
"
[
\
/
\
|
\\
s
\\
\\\
*
\\
<
\\
>
\\
?
\\
:
\\
&
\\
$
"
+
'
"
'
+
"
]+
"
,
"
g
"
);
var
reg
=
new
RegExp
(
"
[
\
/
\
|
\\\\\
*
\\
<
\\
>
\\
?
\\
:
\\
&
\\
$
"
+
'
"
'
+
"
]+
"
,
"
g
"
);
if
(
fn
.
length
==
0
)
{
showFolderAlert
(
"
提示:文件夹名称不能为空。
"
);
}
else
if
(
fn
.
length
>
128
)
{
...
...
@@ -1019,7 +1020,7 @@ function createfolder() {
}
});
}
else
{
showFolderAlert
(
"
提示:文件夹名中不应含有:
空格
引号 /
\
* | < > & $ : ? 且不能以“.”开头。
"
);
showFolderAlert
(
"
提示:文件夹名中不应含有:引号 /
\
* | < > & $ : ? 且不能以“.”开头。
"
);
}
}
...
...
@@ -1108,7 +1109,7 @@ function changeEditFolderType(type){
function
renameFolder
(
folderId
)
{
var
newName
=
$
(
"
#newfoldername
"
).
val
();
var
fc
=
$
(
"
#newfoldername
"
).
attr
(
"
folderConstraintLevel
"
);
var
reg
=
new
RegExp
(
"
[
\
/
\
|
\\
s
\\
\\\
*
\\
<
\\
>
\\
?
\\
:
\\
&
\\
$
"
+
'
"
'
+
"
]+
"
,
"
g
"
);
var
reg
=
new
RegExp
(
"
[
\
/
\
|
\\\\\
*
\\
<
\\
>
\\
?
\\
:
\\
&
\\
$
"
+
'
"
'
+
"
]+
"
,
"
g
"
);
if
(
newName
.
length
==
0
)
{
showRFolderAlert
(
"
提示:文件夹名称不能为空。
"
);
}
else
if
(
newName
.
length
>
128
)
{
...
...
@@ -1150,7 +1151,7 @@ function renameFolder(folderId) {
}
});
}
else
{
showRFolderAlert
(
"
提示:文件夹名中不应含有:
空格
引号 /
\
* | < > & $ : ? 且不能以“.”开头。
"
);
showRFolderAlert
(
"
提示:文件夹名中不应含有:引号 /
\
* | < > & $ : ? 且不能以“.”开头。
"
);
}
}
...
...
@@ -1540,7 +1541,7 @@ function showRenameFileModel(fileId, fileName) {
// 修改文件名
function
renameFile
(
fileId
)
{
var
reg
=
new
RegExp
(
"
[
\
/
\
|
\\
s
\\
\\\
*
\\
<
\\
>
\\
?
\\
:
\\
&
\\
$
"
+
'
"
'
+
"
]+
"
,
"
g
"
);
var
reg
=
new
RegExp
(
"
[
\
/
\
|
\\\\\
*
\\
<
\\
>
\\
?
\\
:
\\
&
\\
$
"
+
'
"
'
+
"
]+
"
,
"
g
"
);
var
newFileName
=
$
(
"
#newfilename
"
).
val
();
if
(
newFileName
.
length
>
0
)
{
if
(
newFileName
.
length
<
128
)
{
...
...
@@ -1578,7 +1579,7 @@ function renameFile(fileId) {
}
});
}
else
{
showRFileAlert
(
"
提示:文件名中不应含有:
空格
引号 /
\
* | < > & $ : ? 且不能以“.”开头。
"
);
showRFileAlert
(
"
提示:文件名中不应含有:引号 /
\
* | < > & $ : ? 且不能以“.”开头。
"
);
}
}
else
{
showRFileAlert
(
"
提示:文件名称太长。
"
);
...
...
webContext/js/home.min.js
浏览文件 @
08b6d9cc
此差异已折叠。
点击以展开。
webContext/quickview/kplayer.js
浏览文件 @
08b6d9cc
...
...
@@ -61,7 +61,9 @@ function playVideo() {
"
<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
player
=
videojs
(
'
kiftplayer
'
);
var
player
=
videojs
(
'
kiftplayer
'
,{
preload
:
'
auto
'
});
player
.
ready
(
function
()
{
this
.
play
();
});
...
...
webContext/quickview/kplayer.min.js
浏览文件 @
08b6d9cc
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
"
);
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.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
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录