修复bug&优化layui主题&可设置默认排序字段

master
abbeyokgo 5 years ago
parent b3064df7f4
commit f70b43f6c3
  1. 2
      app/admin/manage.py
  2. 3
      app/admin/setting.py
  3. 2
      app/front/views.py
  4. 17
      app/templates/admin/manage/manage.html
  5. 8
      app/templates/admin/setting/setting.html
  6. 8
      app/templates/theme/bst_sketchy/header.html
  7. 2
      app/templates/theme/bst_sketchy/layout.html
  8. 9
      app/templates/theme/layui/_macro.html
  9. 6
      app/templates/theme/layui/find.html
  10. 116
      app/templates/theme/layui/index.html
  11. 3
      app/utils/common.py
  12. 2
      config.py
  13. 0
      logs/README.md
  14. 3
      self_config.py.sample
  15. 6
      update.sh

@ -9,6 +9,8 @@ def manage():
if request.method=='POST':
pass
path=urllib.unquote(request.args.get('path','A:/'))
if path=='':
path='A:/'
user,n_path=path.split(':')
if n_path=='':
path=':'.join([user,'/'])

@ -32,6 +32,7 @@ def setting():
REDIS_DB=request.form.get('REDIS_DB','0')
REDIS_PASSWORD=request.form.get('REDIS_PASSWORD','')
default_sort=request.form.get('default_sort','lastModtime')
show_secret=request.form.get('show_secret','no')
encrypt_file=request.form.get('encrypt_file','no')
set('title',title)
@ -56,6 +57,7 @@ def setting():
set('REDIS_DB',REDIS_DB)
set('REDIS_PASSWORD',REDIS_PASSWORD)
set('default_sort',default_sort)
set('show_secret',show_secret)
set('encrypt_file',encrypt_file)
# reload()
@ -83,6 +85,7 @@ def setting():
redis_client.set('REDIS_DB',REDIS_DB)
redis_client.set('REDIS_PASSWORD',REDIS_PASSWORD)
redis_client.set('default_sort',default_sort)
redis_client.set('show_secret',show_secret)
redis_client.set('encrypt_file',encrypt_file)
flash('更新成功')

@ -60,7 +60,7 @@ def index(path='A:/'):
path=':'.join([user,'/'])
page=request.args.get('page',1,type=int)
image_mode=GetCookie(key='image_mode',default=0)
sortby=GetCookie(key='sortby',default='lastModtime')
sortby=GetCookie(key='sortby',default=GetConfig('default_sort'))
order=GetCookie(key='order',default='desc')
action=request.args.get('action','download')
data,total = FetchData(path=path,page=page,per_page=50,sortby=sortby,order=order,dismiss=True)

@ -61,14 +61,13 @@ a:hover {
<table class="mdui-table mdui-table-selectable">
<div class="mdui-toolbar nexmoe-item">
<a href="/">{{cur_user}}</a>
{%if path%}
{%for idx,p in enumerate(path_list(path))%}
{%for name,p,last in breadCrumb(path)%}
{%if last==False%}
<a href="{{url_for('admin.manage',path=p[1:])}}">{{name}}</a>
<i class="mdui-icon material-icons mdui-icon-dark" style="margin:0;">chevron_right</i>
{%if idx==len(path_list(path))-1%}
<a href="{{url_for('admin.manage',path=cur_user+':/')}}">{{p|replace(cur_user+':/','')|replace(cur_user+':','')}}</a>
{%else%}
<a href="{{url_for('admin.manage',path='/'.join(path_list(path)[:idx+1]))}}">{{p|replace(cur_user+':/','')|replace(cur_user+':','')}}</a>
<a href="#">{{name}}</a>
{%endif%}
{%endfor%}
{%endif%}
@ -91,15 +90,9 @@ a:hover {
<tr>
<td></td>
<td>
{%if '/'.join(path_list(path)[:-1])==''%}
<a href="{{url_for('admin.manage',path=cur_user+':/')|safe}}">
<a href="{{url_for('admin.manage',path=list(breadCrumb(path))[-2][1][1:])}}">
<i class="mdui-icon material-icons">arrow_upward</i> 返回上一层
</a>
{%else%}
<a href="{{url_for('admin.manage',path='/'.join(path_list(path)[:-1]))|safe}}">
<i class="mdui-icon material-icons">arrow_upward</i> 返回上一层
</a>
{%endif%}
</td>
<td></td>
<td></td>

@ -41,6 +41,14 @@
<input class="mdui-textfield-input" type="text" name="allow_site" value="{{GetConfig('allow_site')}}"/>
</div>
<h4>默认排序字段</h4>
<select class="mdui-select" name="default_sort" mdui-select>
<option value="lastModtime"{%if GetConfig('default_sort')=='lastModtime'%} selected{%endif%}>修改时间</option>
<option value="name"{%if GetConfig('default_sort')=='name'%} selected{%endif%}>文件名</option>
<option value="type"{%if GetConfig('default_sort')=='type'%} selected{%endif%}>文件类型</option>
<option value="size"{%if GetConfig('default_sort')=='size'%} selected{%endif%}>文件大小</option>
</select>
<div class="mdui-textfield">
<h4>Aria2信息编辑</h4>
<div class="mdui-panel" mdui-panel>

@ -9,13 +9,15 @@
<ul class="navbar-nav mr-auto">
{%for user in get_od_user()%}
{%if user[1]!='添加网盘'%}
<li class="nav-item active">
{%if cur_user==user[0]%}
<a class="nav-link" href="{{user[2]}}">{{user[1]}}<span class="sr-only">(current)</span></a>
<li class="nav-item">
<a class="nav-link active" href="{{user[2]}}">{{user[1]}}<span class="sr-only">(current)</span></a>
</li>
{%else%}
<li class="nav-item">
<a class="nav-link" href="{{user[2]}}">{{user[1]}}</a>
</li>
{%endif%}
</li>
{%endif%}
{%endfor%}
</ul>

@ -8,7 +8,7 @@
<!-- 上述3个meta标签*必须*放在最前面任何其他内容都*必须*跟随其后 -->
<title>{{GetConfig('title_pre')}} {{path}} - {{GetConfig('title')}}</title>
<!-- Bootstrap -->
<link href="https://cdn.jsdelivr.net/npm/bootswatch@4/dist/sketchy/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.staticfile.org/bootswatch/4.3.1/sketchy/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.staticfile.org/bootstrap-switch/4.0.0-alpha.1/css/bootstrap-switch.min.css">
<link rel="stylesheet" href="https://cdn.staticfile.org/font-awesome/4.7.0/css/font-awesome.css">
<!-- <link rel='stylesheet' href='/static/theme/bst4/css/style.css?t=20190130' type='text/css' /> -->

@ -35,15 +35,18 @@
{% macro Arraw(endpoint,name,cur_type,sortby,order) %}
<th>
<a href="{% if order=='asc' %}{{url_for(endpoint,sortby=cur_type,order='desc',**kwargs)|safe}}{%else%}{{url_for(endpoint,sortby=cur_type,order='asc',**kwargs)|safe}}{%endif%}">
{{ name }}
{% if cur_type==sortby %}
{% if order=='asc' %}
<i class="fa fa-arrow-up" aria-hidden="true"></i>
{{ name }}<i class="fa fa-arrow-up" aria-hidden="true"></i>
{% else %}
<i class="fa fa-arrow-down" aria-hidden="true"></i>
{{ name }}<i class="fa fa-arrow-down" aria-hidden="true"></i>
{% endif %}
{%else%}
{{ name }}
{% endif %}
</a>
</th>
{% endmacro %}

@ -6,10 +6,10 @@
<table class="layui-table" lay-data="{url:'{{url_for('front.find',ajax="yes",key_word=key_word)}}', page:true,limit:50, id:'test'}" lay-filter="filelist">
<thead>
<tr>
<th lay-data="{field: 'name', width:400, sort: true, fixed: 'left',unresize:true}">标题</th>
<th lay-data="{field: 'name', width:600, sort: true, fixed: 'left',unresize:true}">标题</th>
<th lay-data="{field: 'lastModtime', width:200,unresize:true}" class="layui-hide-xs">修改时间</th>
<th lay-data="{field: 'type', width:200, sort: true,unresize:true}" class="layui-hide-xs">类型</th>
<th lay-data="{field: 'size', width:180, sort: true,unresize:true}", fixed: 'right'>大小</th>
<th lay-data="{field: 'type', width:150, sort: true,unresize:true}" class="layui-hide-xs">类型</th>
<th lay-data="{field: 'size', sort: true,unresize:true}", fixed: 'right'>大小</th>
</tr>
</thead>
</table>

@ -15,57 +15,97 @@
{%if all_image!=True or image_mode==0%}
<div class="layui-row">
<div class="layui-col-lg12">
<table class="layui-table" lay-filter="filelist">
<thead>
<tr>
<th lay-data="{field: 'name', width:400, sort: true, fixed: 'left',unresize:true}">标题</th>
<th lay-data="{field: 'lastModtime', width:200,unresize:true}" class="layui-hide-xs">修改时间</th>
<th lay-data="{field: 'type', width:200, sort: true,unresize:true}" class="layui-hide-xs">类型</th>
<th lay-data="{field: 'size', width:200, sort: true,unresize:true}", fixed: 'right'>大小</th>
</tr>
</thead>
<tbody>
<table class="layui-table">
<colgroup>
<col width="600">
<col width="200">
<col width="150">
<col>
</colgroup>
<thead>
<tr>
{{ macros.Arraw(endpoint=endpoint,name='标题',cur_type='name',sortby=sortby,order=order,path=path) }}
{{ macros.Arraw(endpoint=endpoint,name='修改时间',cur_type='lastModtime',sortby=sortby,order=order,path=path) }}
{{ macros.Arraw(endpoint=endpoint,name='类型',cur_type='type',sortby=sortby,order=order,path=path) }}
{{ macros.Arraw(endpoint=endpoint,name='大小',cur_type='size',sortby=sortby,order=order,path=path) }}
</tr>
</thead>
<tbody>
{%if path.split(':')[-1]!=''%}
<tr>
<td>
<tr>
<td>
<div class="layui-table-cell laytable-cell-1-0-0">
<a href="{{list(breadCrumb(path))[-2][1]}}">
<i class="fa fa-level-up" aria-hidden="true"></i> 返回上一层</a>
</td>
<td></td>
<td></td>
<td></td>
</tr>
<i class="fa fa-level-up" aria-hidden="true"></i> 返回上一层
</a>
</div>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
{%endif%}
{%for data in items%}
{%if data['type']=='folder' %}
<tr>
<td><a href="{{url_for('front.index',path=data['path'])}}"><i class="fa fa-folder-o"></i> {{data['name']}}</a></td>
<td>{{data['lastModtime']}}</td>
<td>{{data['type']}}</td>
<td>{{data['size']}}</td>
</tr>
<tr>
<td>
<a href="{{url_for('front.index',path=data['path'])}}"><i class="fa fa-folder-o"></i> {{data['name']}}</a>
</td>
<td>
{{data['lastModtime']}}
</td>
<td>
{{data['type']}}
</td>
<td>
{{data['size']}}
</td>
</tr>
{%else%}
{%if image_mode==1%}
{%if file_ico(data)!='image'%}
<tr>
<td><a href="{{url_for('front.index',path=data['path'],action='share')}}" target="_blank">{{ macros.get_ico(file_ico(data)) }} {{data['name']}}</a></td>
<td>{{data['lastModtime']}}</td>
<td>{{data['type']}}</td>
<td>{{data['size']}}</td>
</tr>
<tr>
<td>
<a href="{{url_for('front.index',path=data['path'],action='share')}}" target="_blank">
{{ macros.get_ico(file_ico(data)) }} {{data['name']}}
</a>
</td>
<td>
{{data['lastModtime']}}
</td>
<td>
{{data['type']}}
</td>
<td>
{{data['size']}}
</td>
</tr>
{%endif%}
{%else%}
<tr>
<td><a href="{{url_for('front.index',path=data['path'],action='share')}}" target="_blank">{{ macros.get_ico(file_ico(data)) }} {{data['name']}}</a></td>
<td>{{data['lastModtime']}}</td>
<td>{{data['type']}}</td>
<td>{{data['size']}}</td>
</tr>
<tr>
<td>
<a href="{{url_for('front.index',path=data['path'],action='share')}}" target="_blank">
{{ macros.get_ico(file_ico(data)) }} {{data['name']}}
</a>
</td>
<td>
{{data['lastModtime']}}
</td>
<td>
{{data['type']}}
</td>
<td>
{{data['size']}}
</td>
</tr>
{%endif%}
{%endif%}
</tr>
{%endfor%}
</tbody>
</tbody>
</table>
</div>
</div>

@ -394,10 +394,11 @@ def breadCrumb(path):
if path.endswith('/'):
path=path[:-1]
plist=path.split('/')
#name:显示名称;pt:路径;
for idx,p in enumerate(plist):
if idx==0:
name=p.split(':')[0]
pt='/'
pt='/'+plist[0]
last=False
elif idx==len(plist)-1:
name=p

@ -9,7 +9,7 @@ class config:
SECRET_KEY = os.path.join(config_dir,'PyOne'+password)
CACHE_TYPE='redis'
SEND_FILE_MAX_AGE_DEFAULT=timedelta(seconds=1)
version='4.190313'
version='4.190315'
@staticmethod
def init_app(app):

@ -56,6 +56,9 @@ REDIS_DB="0"
#搜索模式
show_secret="no"
#文件默认排序字段
default_sort='lastModtime'
#文件是否支持加密--no-文件夹加密的情况下,如果直接访问该文件夹下的文件链接,则会跳过密码
encrypt_file="no"

@ -64,6 +64,11 @@ update_config(){
echo 'REDIS_DB="0"' >> self_config.py
fi
num=`cat self_config.py | grep "default_sort" | wc -l`
if [ $num == 0 ]; then
echo '' >> self_config.py
echo 'default_sort="lastModtime"' >> self_config.py
fi
}
@ -132,6 +137,7 @@ echo "2019.02.28更新版本:美化500&404页面"
echo "2019.03.05更新版本:重构&优化上传界面"
echo "2019.03.08更新版本:优化逻辑&修复文件夹连级加密失效的bug&添加新主题"
echo "2019.03.14更新版本:后台输出实时日志&&一键升级PyOne"
echo "2019.03.15更新版本:修复bug&优化layui主题&可设置默认排序字段"
echo "---------------------------------------------------------------"
echo "更新完成!"
echo "如果网站无法访问,请检查config.py!"

Loading…
Cancel
Save