Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Jeady5
kiftd
提交
e2a01b40
kiftd
项目概览
Jeady5
/
kiftd
与 Fork 源项目一致
Fork自
青阳龙野 / kiftd
通知
2
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,发现更多精彩内容 >>
提交
e2a01b40
编写于
8月 28, 2018
作者:
青阳龙野
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update to v1.0.4
上级
3d6e2f0c
变更
12
展开全部
隐藏空白更改
内联
并排
Showing
12 changed file
with
189 addition
and
110 deletion
+189
-110
.DS_Store
.DS_Store
+0
-0
LICENSE
LICENSE
+0
-21
README.md
README.md
+12
-20
kiftd-1.0.4-SNAPSHOT.jar
kiftd-1.0.4-SNAPSHOT.jar
+0
-0
kiftd说明文档.pdf
kiftd说明文档.pdf
+0
-0
mybatisResource/mapperXML/FolderMapper.xml
mybatisResource/mapperXML/FolderMapper.xml
+45
-32
webContext/css/overrall.css
webContext/css/overrall.css
+0
-1
webContext/css/overrall.min.css
webContext/css/overrall.min.css
+1
-1
webContext/home.html
webContext/home.html
+39
-13
webContext/js/home.js
webContext/js/home.js
+80
-21
webContext/js/home.min.js
webContext/js/home.min.js
+1
-1
使用许可
使用许可
+11
-0
未找到文件。
.DS_Store
浏览文件 @
e2a01b40
无法预览此类型文件
LICENSE
已删除
100644 → 0
浏览文件 @
3d6e2f0c
MIT License
Copyright (c) 2018 青阳龙野 <kohgylw@163.com> (phone:15928143814)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
README.md
浏览文件 @
e2a01b40
# kiftd——青阳网络文件传输系统 #
## 一款便捷、开源、功能完善的个人&团队&小型组织网盘服务器系统。 ##
### 欢迎访问kiftd官方资源站! ###
### 欢迎访问kiftd官方资源站!
您可以在这里下载官方版本的kiftd资源或阅读说明内容。
###
-------
...
...
@@ -21,10 +21,10 @@
> 使用破解软件同样无法确保安全性,闭源的特性令人担忧。同时,很多已有的网盘服务器软件性能笨重、功能简单、语言的障碍更是使用中不可忽视的问题。
_注:kift为功能性内核的开发代号,其应用版本被称为kiftd_
### 它从何而来?
> 本软件的作者 kohgylw 相信:除了他本人之外,一定还有其他人也面临着同样的问题。最初,作为教师的他需要时常分发资料给学生(或其他教师)——在他成功弄丢了几次U盘后,便萌生了利用自己闲暇的时间去开发出一套“基于常见web浏览器的网络文件存储、分发、管理、预览系统”的计划。该系统要比ftp更便捷,要比操作系统自带的文件分享功能适应性更强;要比已有的网盘软件更强大、更高效。不久之后,作为该计划的成果,这款名为kiftd的软件就此诞生了。
-------
### 为什么选择kiftd?
*
1MB的文档和超过4GB的高清电影资源?均能够随意上传和下载。
*
担心操作系统不兼容?无论是Windows、Linux还是Unix(包括Mac OS X),均可运行使用。
...
...
@@ -44,6 +44,8 @@ _注:kift为功能性内核的开发代号,其应用版本被称为kiftd_
您可以随时开始使用它,只要您需要。
------
## Quick Strat
### 现在,您只需抽出3分钟时间,就可以立即体验这款专业快捷的网盘服务器了。
...
...
@@ -59,9 +61,13 @@ _注:kift为功能性内核的开发代号,其应用版本被称为kiftd_
最新讯息:
### 紧急修复v1.0.3
由于新版本升级中的疏漏,造成出现了无法使用预览功能的BUG,现已进行修复,请存在问题的用户下载最新版本。
+
修复了由于v1.0.3版本疏漏导致的预览功能失效的问题。
### 新版本v1.0.4
本次更新主要针对于一些新功能,使其能够应对更加多样化的需求。推荐所有用户升级体验。
+
增加了文件夹访问级别——现在,您可以为文件夹设定访问级别了:“公开的”、“仅小组”和“仅创建者”。您可以通过该功能更加灵活地限制他人查看您的资料,使其更加适用于团队使用。
+
新增了图片预览压缩功能——当您需要查看较大体积的图片时(超过2MB),kiftd会为其生成一份较小的缩略图以提高预览速度。
+
优化了命令控制方式——现在,您可以直接运行并启动kiftd服务器而无需进入命令控制模式了。
+
优化了登录过程——现在,打开登录窗口将直接选中“账户”输入框。
+
优化了上传提示的字体——使其能够自适应屏幕分辨率。
### 新版本v1.0.3
新的kiftd v 1.0.3增加了更多便捷的操作功能,并修复了一些Bug。该版本建议所有用户升级体验。
...
...
@@ -72,20 +78,6 @@ _注:kift为功能性内核的开发代号,其应用版本被称为kiftd_
+
一些Bug修复——完善了纯命令模式下的错误提示信息。修正了文件系统选择相关的一些Bug,修正了IE浏览器下无法上传文件的Bug。
+
更新了《kiftd说明文档》使其更加易读——指引内容更加全面,还增加了如何升级kiftd至最新版本的提示。
### 常规更新v1.0.2v2
该更新为1.0.2版本基础上的性能优化更新,该版本建议所有用户升级体验。
+
优化了登录逻辑——现在进行登录和注销操作不会再返回到根目录了,而是保持在当前浏览路径内。这一点是为了方便用户进行频繁的登录和注销操作。
+
为登录操作增加了等待效果——让用户在较差的网络环境下能够获得更好的登录操作体验,防止重复操作。
+
优化了kiftd应用主界面的显示——使得其能够自适应各种不同的分辨率,从而解决了在高分辨率显示器下kiftd应用主界面显示过小的问题。
### 常规更新v1.0.2v1
该更新为1.0.2版本基础上的性能优化更新,该版本建议所有用户升级体验。
+
优化了主页设计,使其在较差的网络环境下的能够更加快速地加载。
+
为主页添加了加载的过度动画,令主页在较差的网络环境下能够获得更加舒适的使用体验。
+
优化了视频播放页面的加载速度。
+
在说明文档中增加了关于Linux远程服务器管理的相关内容,并优化了说明内容。
+
其他一些服务器逻辑的优化。
--------------------
## Functional Examples
...
...
kiftd-1.0.
3
-SNAPSHOT.jar
→
kiftd-1.0.
4
-SNAPSHOT.jar
浏览文件 @
e2a01b40
无法预览此类型文件
kiftd说明文档.pdf
浏览文件 @
e2a01b40
无法预览此类型文件
mybatisResource/mapperXML/FolderMapper.xml
浏览文件 @
e2a01b40
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"kohgylw.kiftd.server.mapper.FolderMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"kohgylw.kiftd.server.model.Folder"
>
<result
column=
"folder_id"
jdbcType=
"VARCHAR"
property=
"folderId"
/>
<result
column=
"folder_name"
jdbcType=
"VARCHAR"
property=
"folderName"
/>
<result
column=
"folder_creation_date"
jdbcType=
"VARCHAR"
property=
"folderCreationDate"
/>
<result
column=
"folder_creator"
jdbcType=
"VARCHAR"
property=
"folderCreator"
/>
<result
column=
"folder_parent"
jdbcType=
"VARCHAR"
property=
"folderParent"
/>
</resultMap>
<select
id=
"queryById"
parameterType=
"java.lang.String"
resultMap=
"BaseResultMap"
>
SELECT * FROM FOLDER WHERE folder_id = #{fid,jdbcType=VARCHAR}
</select>
<select
id=
"queryByParentId"
parameterType=
"java.lang.String"
resultMap=
"BaseResultMap"
>
SELECT * FROM FOLDER WHERE folder_parent = #{pid,jdbcType=VARCHAR}
</select>
<select
id=
"queryByParentIdAndFolderName"
parameterType=
"java.util.Map"
resultMap=
"BaseResultMap"
>
SELECT * FROM FOLDER WHERE folder_parent = #{parentId,jdbcType=VARCHAR} AND folder_name = #{folderName,jdbcType=VARCHAR}
</select>
<insert
id=
"insertNewFolder"
parameterType=
"kohgylw.kiftd.server.model.Folder"
>
INSERT INTO FOLDER VALUES(#{folderId,jdbcType=VARCHAR},#{folderName,jdbcType=VARCHAR},#{folderCreationDate,jdbcType=VARCHAR},#{folderCreator,jdbcType=VARCHAR},#{folderParent,jdbcType=VARCHAR});
</insert>
<delete
id=
"deleteById"
parameterType=
"java.lang.String"
>
DELETE FROM FOLDER WHERE folder_id=#{folderId,jdbcType=VARCHAR}
</delete>
<update
id=
"updateFolderNameById"
parameterType=
"java.util.Map"
>
UPDATE FOLDER SET folder_name = #{newName,jdbcType=VARCHAR} WHERE folder_id = #{folderId,jdbcType=VARCHAR}
</update>
<resultMap
id=
"BaseResultMap"
type=
"kohgylw.kiftd.server.model.Folder"
>
<result
column=
"folder_id"
jdbcType=
"VARCHAR"
property=
"folderId"
/>
<result
column=
"folder_name"
jdbcType=
"VARCHAR"
property=
"folderName"
/>
<result
column=
"folder_creation_date"
jdbcType=
"VARCHAR"
property=
"folderCreationDate"
/>
<result
column=
"folder_creator"
jdbcType=
"VARCHAR"
property=
"folderCreator"
/>
<result
column=
"folder_parent"
jdbcType=
"VARCHAR"
property=
"folderParent"
/>
<result
column=
"folder_constraint"
jdbcType=
"INTEGER"
property=
"folderConstraint"
/>
</resultMap>
<select
id=
"queryById"
parameterType=
"java.lang.String"
resultMap=
"BaseResultMap"
>
SELECT * FROM FOLDER WHERE folder_id = #{fid,jdbcType=VARCHAR}
</select>
<select
id=
"queryByParentId"
parameterType=
"java.lang.String"
resultMap=
"BaseResultMap"
>
SELECT * FROM FOLDER WHERE folder_parent = #{pid,jdbcType=VARCHAR}
</select>
<select
id=
"queryByParentIdAndFolderName"
parameterType=
"java.util.Map"
resultMap=
"BaseResultMap"
>
SELECT * FROM FOLDER WHERE folder_parent = #{parentId,jdbcType=VARCHAR} AND
folder_name = #{folderName,jdbcType=VARCHAR}
</select>
<insert
id=
"insertNewFolder"
parameterType=
"kohgylw.kiftd.server.model.Folder"
>
INSERT INTO FOLDER
VALUES(#{folderId,jdbcType=VARCHAR},#{folderName,jdbcType=VARCHAR},#{folderCreationDate,jdbcType=VARCHAR},#{folderCreator,jdbcType=VARCHAR},#{folderParent,jdbcType=VARCHAR},#{folderConstraint,jdbcType=INTEGER});
</insert>
<delete
id=
"deleteById"
parameterType=
"java.lang.String"
>
DELETE FROM FOLDER WHERE folder_id=#{folderId,jdbcType=VARCHAR}
</delete>
<update
id=
"updateFolderNameById"
parameterType=
"java.util.Map"
>
UPDATE FOLDER SET folder_name = #{newName,jdbcType=VARCHAR} WHERE folder_id
= #{folderId,jdbcType=VARCHAR}
</update>
<update
id=
"updateFolderConstraintById"
parameterType=
"java.util.Map"
>
UPDATE FOLDER SET folder_constraint = #{newConstraint,jdbcType=INTEGER} WHERE folder_id
= #{folderId,jdbcType=VARCHAR}
</update>
</mapper>
\ No newline at end of file
webContext/css/overrall.css
浏览文件 @
e2a01b40
...
...
@@ -41,7 +41,6 @@
.uploadstatusbox
{
color
:
#9C9C9C
;
font-size
:
4px
;
height
:
48px
;
overflow
:
auto
;
}
...
...
webContext/css/overrall.min.css
浏览文件 @
e2a01b40
@charset
"UTF-8"
;
.titlebox
{
height
:
30px
;
line-height
:
30px
;
padding-top
:
5px
;
padding-bottom
:
5px
;
padding-left
:
10px
;
padding-right
:
10px
;
position
:
relative
;
bottom
:
-7px
}
.titletext
{
color
:
#000
;
font-size
:
22px
}
.graytext
{
color
:
#8b8b8b
}
.subtitle
{
color
:
#5cacee
;
text-align
:
center
}
.rightbtn
{
border-right
:
10px
;
float
:
right
;
margin-left
:
10px
}
.heading
{
height
:
8px
}
.centerText
{
text-align
:
center
}
.uploadstatusbox
{
color
:
#9c9c9c
;
font-size
:
4px
;
height
:
48px
;
overflow
:
auto
}
html
{
height
:
100%
}
body
{
height
:
100%
}
.loading
{
line-height
:
56px
;
color
:
#545454
;
padding-left
:
60px
;
font-size
:
15px
;
background
:
#fff
url(loading.gif)
no-repeat
10px
50%
;
opacity
:
.7
;
-moz-border-radius
:
20px
;
-webkit-border-radius
:
20px
;
border-radius
:
20px
;
filter
:
alpha
(
opacity
=
70
)}
\ No newline at end of file
@charset
"UTF-8"
;
.titlebox
{
height
:
30px
;
line-height
:
30px
;
padding-top
:
5px
;
padding-bottom
:
5px
;
padding-left
:
10px
;
padding-right
:
10px
;
position
:
relative
;
bottom
:
-7px
}
.titletext
{
color
:
#000
;
font-size
:
22px
}
.graytext
{
color
:
#8b8b8b
}
.subtitle
{
color
:
#5cacee
;
text-align
:
center
}
.rightbtn
{
border-right
:
10px
;
float
:
right
;
margin-left
:
10px
}
.heading
{
height
:
8px
}
.centerText
{
text-align
:
center
}
.uploadstatusbox
{
color
:
#9c9c9c
;
height
:
48px
;
overflow
:
auto
}
html
{
height
:
100%
}
body
{
height
:
100%
}
.loading
{
line-height
:
56px
;
color
:
#545454
;
padding-left
:
60px
;
font-size
:
15px
;
background
:
#fff
url(loading.gif)
no-repeat
10px
50%
;
opacity
:
.7
;
-moz-border-radius
:
20px
;
-webkit-border-radius
:
20px
;
border-radius
:
20px
;
filter
:
alpha
(
opacity
=
70
)}
\ No newline at end of file
webContext/home.html
浏览文件 @
e2a01b40
...
...
@@ -147,9 +147,9 @@
</div>
<!-- end 注销 -->
<!-- 新建文件夹框 -->
<div
class=
"modal fade
bs-example-modal-sm"
id=
"newFolderModal
"
tabindex=
"-1"
role=
"dialog"
aria-labelledby=
"newFolderlMolderTitle"
>
<div
class=
"modal-dialog
modal-sm
"
role=
"document"
>
<div
class=
"modal fade
"
id=
"newFolderModal"
tabindex=
"-1"
role=
"dialog
"
aria-labelledby=
"newFolderlMolderTitle"
>
<div
class=
"modal-dialog"
role=
"document"
>
<div
class=
"modal-content"
>
<div
class=
"modal-header"
>
<button
type=
"button"
class=
"close"
data-dismiss=
"modal"
...
...
@@ -164,10 +164,23 @@
<form
class=
"form-horizontal"
>
<div
class=
"form-group"
id=
"foldernamebox"
>
<label
for=
"folderid"
id=
"foldernametitle"
class=
"col-sm-3 control-label"
>
名称
:
</label>
class=
"col-sm-3 control-label"
>
新建文件夹
:
</label>
<div
class=
"col-sm-9"
>
<input
type=
"text"
class=
"form-control"
id=
"foldername"
placeholder=
"请输入新文件夹的名称……"
>
<div
class=
"input-group"
>
<input
type=
"text"
class=
"form-control"
id=
"foldername"
placeholder=
"请输入新文件夹的名称……"
folderConstraintLevel=
"0"
>
<div
class=
"input-group-btn"
>
<button
type=
"button"
class=
"btn btn-default dropdown-toggle"
data-toggle=
"dropdown"
aria-haspopup=
"true"
aria-expanded=
"false"
>
<span
id=
"newfoldertype"
>
公开的
</span>
<span
class=
"caret"
></span>
</button>
<ul
id=
"foldertypelist"
class=
"dropdown-menu dropdown-menu-right"
>
</ul>
</div>
</div>
</div>
</div>
<div
id=
"folderalert"
role=
"alert"
></div>
...
...
@@ -208,9 +221,9 @@
</div>
<!-- end 删除文件夹 -->
<!-- 重命名文件夹框 -->
<div
class=
"modal fade
bs-example-modal-sm"
id=
"renameFolderModal
"
tabindex=
"-1"
role=
"dialog"
aria-labelledby=
"renameFolderMolderTitle"
>
<div
class=
"modal-dialog
modal-sm
"
role=
"document"
>
<div
class=
"modal fade
"
id=
"renameFolderModal"
tabindex=
"-1
"
role=
"dialog"
aria-labelledby=
"renameFolderMolderTitle"
>
<div
class=
"modal-dialog"
role=
"document"
>
<div
class=
"modal-content"
>
<div
class=
"modal-header"
>
<button
type=
"button"
class=
"close"
data-dismiss=
"modal"
...
...
@@ -218,17 +231,30 @@
<span
aria-hidden=
"true"
>
×
</span>
</button>
<h4
class=
"modal-title"
id=
"renameFolderMolderTitle"
>
<span
class=
"glyphicon glyphicon-wrench"
></span>
重命名
文件夹
<span
class=
"glyphicon glyphicon-wrench"
></span>
编辑
文件夹
</h4>
</div>
<div
class=
"modal-body"
>
<form
class=
"form-horizontal"
>
<div
class=
"form-group"
id=
"folderrenamebox"
>
<label
for=
"folderid"
id=
"foldernametitle"
class=
"col-sm-3 control-label"
>
名称
:
</label>
class=
"col-sm-3 control-label"
>
编辑文件夹
:
</label>
<div
class=
"col-sm-9"
>
<input
type=
"text"
class=
"form-control"
id=
"newfoldername"
placeholder=
"请输入文件夹的名称……"
>
<div
class=
"input-group"
>
<input
type=
"text"
class=
"form-control"
id=
"newfoldername"
placeholder=
"请输入文件夹的名称……"
folderConstraintLevel=
"0"
>
<div
class=
"input-group-btn"
>
<button
type=
"button"
class=
"btn btn-default dropdown-toggle"
data-toggle=
"dropdown"
aria-haspopup=
"true"
aria-expanded=
"false"
>
<span
id=
"editfoldertype"
>
公开的
</span>
<span
class=
"caret"
></span>
</button>
<ul
id=
"editfoldertypelist"
class=
"dropdown-menu dropdown-menu-right"
>
</ul>
</div>
</div>
</div>
</div>
<div
id=
"newfolderalert"
role=
"alert"
></div>
...
...
webContext/js/home.js
浏览文件 @
e2a01b40
...
...
@@ -10,11 +10,13 @@ var folderView;// 返回的文件系统视图对象
var
originFolderView
;
// 保存原始的文件视图对象
var
fs
;
// 选中的要上传的文件列表
var
checkedMovefiles
;
// 移动文件的存储列表
var
constraintLevel
;
// 当前文件夹限制等级
var
account
;
//用户账户
// 页面初始化
$
(
function
()
{
getServerOS
();
// 得到服务器操作系统信息
showFolderView
(
locationpath
);
// 显示根节点页面视图
showFolderView
(
"
root
"
);
// 显示根节点页面视图
// 点击空白处取消选中文件并重新加载文件视图(不支持火狐)
$
(
document
).
click
(
function
(
e
)
{
var
filetable
=
$
(
"
#filetable
"
)[
0
];
...
...
@@ -47,6 +49,42 @@ $(function() {
dologin
();
}
});
// 开启登陆模态框自动聚焦账户输入框
$
(
'
#loginModal
'
).
on
(
'
shown.bs.modal
'
,
function
(
e
)
{
$
(
"
#accountid
"
).
focus
();
});
// 开启新建文件夹框自动初始化状态
$
(
'
#newFolderModal
'
).
on
(
'
show.bs.modal
'
,
function
(
e
)
{
$
(
"
#folderalert
"
).
removeClass
(
"
alert
"
);
$
(
"
#folderalert
"
).
removeClass
(
"
alert-danger
"
);
$
(
"
#foldernamebox
"
).
removeClass
(
"
has-error
"
);
$
(
"
#foldername
"
).
val
(
""
);
$
(
"
#foldertypelist
"
).
html
(
""
);
if
(
account
!=
null
){
$
(
"
#foldername
"
).
attr
(
"
folderConstraintLevel
"
,
constraintLevel
+
""
);
$
(
"
#newfoldertype
"
).
text
(
folderTypes
[
constraintLevel
]);
for
(
var
i
=
constraintLevel
;
i
<
folderTypes
.
length
;
i
++
){
$
(
"
#foldertypelist
"
).
append
(
"
<li><a onclick='changeNewFolderType(
"
+
i
+
"
)'>
"
+
folderTypes
[
i
]
+
"
</a></li>
"
);
}
}
else
{
$
(
"
#foldertypelist
"
).
append
(
"
<li><a onclick='changeNewFolderType(0)'>
"
+
folderTypes
[
0
]
+
"
</a></li>
"
);
}
});
// 开启编辑文件夹框自动初始化状态
$
(
'
#renameFolderModal
'
).
on
(
'
show.bs.modal
'
,
function
(
e
)
{
$
(
"
#newfolderalert
"
).
removeClass
(
"
alert
"
);
$
(
"
#newfolderalert
"
).
removeClass
(
"
alert-danger
"
);
$
(
"
#folderrenamebox
"
).
removeClass
(
"
has-error
"
);
$
(
"
#newfolderalert
"
).
text
(
""
);
$
(
"
#editfoldertypelist
"
).
html
(
""
);
if
(
account
!=
null
){
for
(
var
i
=
constraintLevel
;
i
<
folderTypes
.
length
;
i
++
){
$
(
"
#editfoldertypelist
"
).
append
(
"
<li><a onclick='changeEditFolderType(
"
+
i
+
"
)'>
"
+
folderTypes
[
i
]
+
"
</a></li>
"
);
}
}
else
{
$
(
"
#editfoldertypelist
"
).
append
(
"
<li><a onclick='changeEditFolderType(0)'>
"
+
folderTypes
[
0
]
+
"
</a></li>
"
);
}
});
// 响应拖动上传文件
document
.
ondragover
=
function
(
e
)
{
e
.
preventDefault
();
...
...
@@ -169,10 +207,13 @@ function showFolderView(fid) {
endLoading
();
if
(
result
==
"
mustLogin
"
)
{
window
.
location
.
href
=
"
login.html
"
;
}
else
if
(
result
==
"
notAccess
"
){
window
.
location
.
href
=
"
/
"
;
}
else
{
folderView
=
eval
(
"
(
"
+
result
+
"
)
"
);
locationpath
=
folderView
.
folder
.
folderId
;
parentpath
=
folderView
.
folder
.
folderParent
;
constraintLevel
=
folderView
.
folder
.
folderConstraint
;
showParentList
(
folderView
);
showAccountView
(
folderView
);
showPublishTime
(
folderView
);
...
...
@@ -364,6 +405,7 @@ function showParentList(folderView) {
// 显示用户视图,包括文件列表、登录信息、操作权限接口等
function
showAccountView
(
folderView
)
{
$
(
"
#tb
"
).
html
(
""
);
account
=
folderView
.
account
;
if
(
folderView
.
account
!=
null
)
{
// 说明已经等陆,显示注销按钮
$
(
"
#tb
"
)
...
...
@@ -472,7 +514,6 @@ function showFolderTable(folderView) {
if
(
checkAuth
(
authList
,
"
L
"
))
{
aL
=
true
;
}
$
.
each
(
folderView
.
folderList
,
...
...
@@ -500,8 +541,9 @@ function showFolderTable(folderView) {
+
f
.
folderId
+
'
","
'
+
f
.
folderName
+
'
"
'
+
"
)' class='btn btn-link btn-xs'><span class='glyphicon glyphicon-wrench'></span> 重命名</button>
"
;
+
'
",
'
+
f
.
folderConstraint
+
"
)' class='btn btn-link btn-xs'><span class='glyphicon glyphicon-wrench'></span> 编辑</button>
"
;
}
if
(
!
aR
&&
!
aD
)
{
folderRow
=
folderRow
+
"
--
"
;
...
...
@@ -596,15 +638,23 @@ function showFolderTable(folderView) {
});
}
var
folderTypes
=
[
'
公开的
'
,
'
仅小组
'
,
'
仅创建者
'
];
// 文件夹约束条件(由小至大)
// 显示新建文件夹模态框
function
showNewFolderModel
()
{
$
(
"
#foldername
"
).
val
(
""
);
$
(
'
#newFolderModal
'
).
modal
(
'
toggle
'
);
$
(
'
#newFolderModal
'
).
modal
(
'
show
'
);
}
// 修改新建文件夹约束等级
function
changeNewFolderType
(
type
){
$
(
"
#newfoldertype
"
).
text
(
folderTypes
[
type
]);
$
(
"
#foldername
"
).
attr
(
"
folderConstraintLevel
"
,
type
+
""
);
}
// 创建新的文件夹
function
createfolder
()
{
var
fn
=
$
(
"
#foldername
"
).
val
();
var
fc
=
$
(
"
#foldername
"
).
attr
(
"
folderConstraintLevel
"
);
var
reg
=
new
RegExp
(
"
^[0-9a-zA-Z_
\\
u4E00-
\\
u9FFF]+$
"
,
"
g
"
);
if
(
fn
.
length
==
0
)
{
showFolderAlert
(
"
提示:文件夹名称不能为空。
"
);
...
...
@@ -620,7 +670,8 @@ function createfolder() {
dataType
:
"
text
"
,
data
:
{
parentId
:
locationpath
,
folderName
:
fn
folderName
:
fn
,
folderConstraint
:
fc
},
url
:
"
homeController/newFolder.ajax
"
,
success
:
function
(
result
)
{
...
...
@@ -719,21 +770,25 @@ function deleteFolder(folderId) {
}
// 显示重命名文件夹模态框
function
showRenameFolderModel
(
folderId
,
folderName
)
{
$
(
"
#newfolderalert
"
).
removeClass
(
"
alert
"
);
$
(
"
#newfolderalert
"
).
removeClass
(
"
alert-danger
"
);
$
(
"
#folderrenamebox
"
).
removeClass
(
"
has-error
"
);
$
(
"
#newfolderalert
"
).
text
(
""
);
function
showRenameFolderModel
(
folderId
,
folderName
,
type
)
{
$
(
"
#renameFolderBox
"
).
html
(
"
<button type='button' class='btn btn-primary' onclick='renameFolder(
"
+
'
"
'
+
folderId
+
'
"
'
+
"
)'>修改</button>
"
);
$
(
"
#newfoldername
"
).
val
(
folderName
);
$
(
"
#renameFolderModal
"
).
modal
(
'
toggle
'
);
changeEditFolderType
(
type
);
$
(
"
#renameFolderModal
"
).
modal
(
'
show
'
);
}
//修改编辑文件夹的约束等级
function
changeEditFolderType
(
type
){
$
(
"
#editfoldertype
"
).
text
(
folderTypes
[
type
]);
$
(
"
#newfoldername
"
).
attr
(
"
folderConstraintLevel
"
,
type
+
""
);
}
// 执行重命名文件夹
function
renameFolder
(
folderId
)
{
var
newName
=
$
(
"
#newfoldername
"
).
val
();
var
fc
=
$
(
"
#newfoldername
"
).
attr
(
"
folderConstraintLevel
"
);
var
reg
=
new
RegExp
(
"
^[0-9a-zA-Z_
\\
u4E00-
\\
u9FFF]+$
"
,
"
g
"
);
if
(
newName
.
length
==
0
)
{
showRenameFolderAlert
(
"
提示:文件夹名称不能为空。
"
);
...
...
@@ -749,7 +804,8 @@ function renameFolder(folderId) {
dataType
:
"
text
"
,
data
:
{
folderId
:
folderId
,
newName
:
newName
newName
:
newName
,
folderConstraint
:
fc
},
url
:
"
homeController/renameFolder.ajax
"
,
success
:
function
(
result
)
{
...
...
@@ -757,21 +813,19 @@ function renameFolder(folderId) {
window
.
location
.
href
=
"
login.html
"
;
}
else
{
if
(
result
==
"
noAuthorized
"
)
{
showRenameFolderAlert
(
"
提示:您的操作未被授权,
重命名
失败
"
);
showRenameFolderAlert
(
"
提示:您的操作未被授权,
编辑
失败
"
);
}
else
if
(
result
==
"
errorParameter
"
)
{
showRenameFolderAlert
(
"
提示:参数不正确,重命名失败
"
);
}
else
if
(
result
==
"
cannotRenameFolder
"
)
{
showRenameFolderAlert
(
"
提示:出现意外错误,可能未能重命名文件夹
"
);
showRenameFolderAlert
(
"
提示:参数不正确,编辑失败
"
);
}
else
if
(
result
==
"
renameFolderSuccess
"
)
{
$
(
'
#renameFolderModal
'
).
modal
(
'
hide
'
);
showFolderView
(
locationpath
);
}
else
{
showRenameFolderAlert
(
"
提示:出现意外错误,可能未能
重命名
文件夹
"
);
showRenameFolderAlert
(
"
提示:出现意外错误,可能未能
编辑
文件夹
"
);
}
}
},
error
:
function
()
{
showRenameFolderAlert
(
"
提示:出现意外错误,可能未能
重命名
文件夹
"
);
showRenameFolderAlert
(
"
提示:出现意外错误,可能未能
编辑
文件夹
"
);
}
});
}
else
{
...
...
@@ -1146,7 +1200,12 @@ function showPicture(fileId) {
var
imageslist
=
document
.
createElement
(
"
ul
"
);
$
.
each
(
pvl
.
pictureViewList
,
function
(
n
,
val
)
{
var
image
=
new
Image
();
image
.
src
=
"
fileblocks/
"
+
val
.
filePath
;
// 判断直接显示原图还是请求压缩流
if
(
val
.
filePath
.
startsWith
(
"
homeController
"
)){
image
.
src
=
val
.
filePath
;
}
else
{
image
.
src
=
"
fileblocks/
"
+
val
.
filePath
;
}
image
.
alt
=
val
.
fileName
;
var
imagerow
=
document
.
createElement
(
"
li
"
);
imagerow
.
appendChild
(
image
);
...
...
webContext/js/home.min.js
浏览文件 @
e2a01b40
此差异已折叠。
点击以展开。
使用许可
0 → 100644
浏览文件 @
e2a01b40
kiftd 使用许可
Copyright (c) 2018 青阳龙野 <kohgylw@163.com> (phone:15928143814)
使用kiftd软件或查看kiftd源代码代表您接收如下条款:
1,任何组织或个人均能够自由、无偿地获得kiftd软件及其源代码的原版拷贝,并对其进行无限制地进行使用——无论是商业的还是非商业的。
2,任何组织或个人均能够自由复制、分发或修改kiftd软件及其源代码,并将其运用于任何用途。修改后的作品之版权由修改者所有。
3,kiftd软件之作者无需为使用该软件及其源代码所造成的任何直接或间接后果承担责任。
4,作者“青阳龙野(kohgylw)”对kiftd软件及源代码享有版权并保留其著作权,该软件及其源代码的使用者需承认其原版部分之版权。
5,kiftd软件中所使用的所有第三方软件、工具或插件及其代码,其权利由该资源之作者享有并授予许可。kiftd作者无需为使用这些资源而造成的直接或间接后果承担责任。
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录