优化配置权限监测
This commit is contained in:
parent
caf4fc942a
commit
0a7983e698
10
README.md
10
README.md
@ -2,13 +2,13 @@
|
||||
|
||||
> TaoLer是一个简单迅捷的轻论坛系统,适用于个人或组织区域型信息交流发布平台。
|
||||
|
||||
* 官网:https://www.aieok.com
|
||||
* 前台:http://bbs.aieok.com
|
||||
* 后台:http://adm.aieok.com
|
||||
* 官网:https://www.aieok.com:8443
|
||||
* 前台:http://bbs.aieok.com:888
|
||||
* 后台:http://adm.aieok.com:888
|
||||
* 账号:test
|
||||
* 密码:test123
|
||||
* 版本:TaoLer 1.7.20
|
||||
* 日期:2021.7.20
|
||||
* 版本:TaoLer 1.7.23
|
||||
* 日期:2021.7.22
|
||||
|
||||
#### 项目地址
|
||||
|
||||
|
@ -199,7 +199,7 @@ class Upgrade extends AdminController
|
||||
$upRes = $setConf->setConfig('taoler',$value);
|
||||
$result = $upRes->getData();
|
||||
if($result['code'] == -1){
|
||||
return json(['code'=>-1,'msg'=>$result['msg']]);
|
||||
return json(['code'=>-1,'msg'=>'代码写入成功,但'.$result['msg']]);
|
||||
}
|
||||
return json(['code'=>0,'msg'=>'升级成功']);
|
||||
|
||||
|
130
app/admin/view/databackup/index.html
Normal file
130
app/admin/view/databackup/index.html
Normal file
@ -0,0 +1,130 @@
|
||||
{extend name="public:base" /}
|
||||
|
||||
{block name="body"}
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header layuiadmin-card-header-auto">
|
||||
<button class="layui-btn layuiadmin-btn-ledger" data-type="back">备份</button>
|
||||
</div>
|
||||
|
||||
<div class="layui-progress layui-progress-big" lay-showpercent="true" lay-filter="demo">
|
||||
<div class="layui-progress-bar layui-bg-red" lay-percent="0%"></div>
|
||||
</div>
|
||||
|
||||
<div class="layui-card-body">
|
||||
<table id="LAY-app-content-ledger" lay-filter="LAY-app-content-ledger"></table>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
|
||||
<button class="layui-btn layui-btn-sm" lay-event="getCheckLength">获取选中数目</button>
|
||||
<button class="layui-btn layui-btn-sm" lay-event="isAll">验证是否全选</button>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="tao-ledger">
|
||||
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>备份</a>
|
||||
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="down"><i class="layui-icon layui-icon-edit"></i>下载</a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-edit"></i>删除</a>
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="js"}
|
||||
<script>
|
||||
|
||||
layui.config({
|
||||
base: '/static/admin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index','table','layer','element'], function(){
|
||||
|
||||
var table = layui.table,
|
||||
layer = layui.layer,
|
||||
element = layui.element;
|
||||
var $ = layui.$;
|
||||
|
||||
var active = {
|
||||
|
||||
back: function backup(predate)
|
||||
{
|
||||
//var index = layer.load();
|
||||
$.ajax({
|
||||
url: "{:url('admin/Databackup/backup')}",
|
||||
type: 'POST', //POST
|
||||
async: true, //或false,是否异步
|
||||
dataType: 'json',
|
||||
data:predate,
|
||||
success: function (data) {
|
||||
|
||||
if (data.totalpercentage >= 100)
|
||||
{
|
||||
//关闭
|
||||
//layer.close(index);
|
||||
layer.alert('备份完成', {icon: 1});
|
||||
}
|
||||
|
||||
element.progress('demo', data.totalpercentage+'%');
|
||||
|
||||
//循环备份
|
||||
if (data.totalpercentage < 100)
|
||||
{
|
||||
backup(data);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
//总帐信息
|
||||
table.render({
|
||||
elem: '#LAY-app-content-ledger'
|
||||
,url: "{:url('admin/Database/index')}" //进列表接口
|
||||
,toolbar: '#toolbarDemo' //开启头部工具栏,并为其绑定左侧模板
|
||||
,defaultToolbar: ['filter', 'exports', 'print']
|
||||
,cols: [[
|
||||
{type: 'checkbox', fixed: 'left'}
|
||||
,{field:'id', title:'ID', width:80, fixed: 'left', unresize: true, sort: true}
|
||||
,{field: 'time', title: '备份时间',width: 180}
|
||||
,{field: 'name', title: '备份名', minWidth: 200}
|
||||
,{title: '操作', width: 150, align: 'center', toolbar: '#tao-ledger'}
|
||||
]]
|
||||
,page: true
|
||||
,limit: 15
|
||||
,limits: [10, 15, 20, 25, 30]
|
||||
,text: '对不起,加载出现异常!'
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
$('#back1').on('click',function(){
|
||||
|
||||
//询问框
|
||||
layer.confirm('确定备份?', {
|
||||
btn: ['确定','取消'] //按钮
|
||||
}, function(){
|
||||
console.log(123);
|
||||
backup({});
|
||||
//layer.msg('的确很重要', {icon: 1});
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
$('.layui-btn.layuiadmin-btn-ledger').on('click', function(){
|
||||
var type = $(this).data('type');
|
||||
active[type] ? active[type].call(this) : '';
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{/block}
|
@ -21,8 +21,8 @@
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="tao-database">
|
||||
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="down"><i class="layui-icon layui-icon-edit"></i>下载</a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-edit"></i>删除</a>
|
||||
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="down"><i class="layui-icon layui-icon-download-circle"></i></a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i></a>
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
@ -82,7 +82,7 @@
|
||||
|
||||
|
||||
|
||||
//总帐信息
|
||||
//信息
|
||||
table.render({
|
||||
elem: '#LAY-app-content-database'
|
||||
,url: "{:url('admin/Database/index')}" //进列表接口
|
||||
@ -92,7 +92,7 @@
|
||||
,{field:'id', title:'ID', width:80, fixed: 'left', unresize: true, sort: true}
|
||||
,{field: 'time', title: '备份时间',width: 180}
|
||||
,{field: 'name', title: '备份名', minWidth: 200}
|
||||
,{title: '操作', width: 150, align: 'center', fixed: 'right', toolbar: '#tao-database'}
|
||||
,{title: '操作', width: 100, align: 'center', toolbar: '#tao-database'}
|
||||
]]
|
||||
,page: true
|
||||
,limit: 15
|
||||
@ -135,7 +135,7 @@
|
||||
var tr = $(obj.tr);
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '编辑支出'
|
||||
,title: '下载'
|
||||
,content: "{:url('Database/down')}" + '?id='+ data.id
|
||||
,area: ['420px', '460px']
|
||||
,btn: ['确定', '取消']
|
||||
|
@ -47,11 +47,11 @@
|
||||
<table id="sign-rule" lay-filter="sign-rule"></table>
|
||||
<script type="text/html" id="sign-rule-button">
|
||||
{if condition="checkRuleButton('admin/Sin/edit')"}
|
||||
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
|
||||
{else /}<a class="layui-btn layui-btn-normal layui-btn-xs layui-btn-disabled"><i class="layui-icon layui-icon-edit"></i>编辑</a>{/if}
|
||||
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i></a>
|
||||
{else /}<a class="layui-btn layui-btn-normal layui-btn-xs layui-btn-disabled"><i class="layui-icon layui-icon-edit"></i></a>{/if}
|
||||
{if condition="checkRuleButton('admin/Sign/delete')"}
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
|
||||
{else /}<a class="layui-btn layui-btn-danger layui-btn-xs layui-btn-disabled"><i class="layui-icon layui-icon-delete"></i>删除</a>{/if}
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i></a>
|
||||
{else /}<a class="layui-btn layui-btn-danger layui-btn-xs layui-btn-disabled"><i class="layui-icon layui-icon-delete"></i></a>{/if}
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -246,11 +246,24 @@
|
||||
});
|
||||
|
||||
form.on('submit(set_system_config)', function(data){
|
||||
console.log(data);
|
||||
var field = data.field;
|
||||
$.post("{:url('admin/set/config')}",field);
|
||||
|
||||
layer.msg(JSON.stringify(data.field));
|
||||
$.post("{:url('admin/set/config')}",field,function(res){
|
||||
if(res.code == 0){
|
||||
layer.msg(res.msg,{
|
||||
icon:6,
|
||||
tiye:2000
|
||||
},function(){
|
||||
location.reload();
|
||||
});
|
||||
} else {
|
||||
layer.open({
|
||||
title:"设置失败",
|
||||
content:res.msg,
|
||||
icon:5,
|
||||
anim:6
|
||||
});
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
|
@ -54,7 +54,7 @@ class SetConf
|
||||
catch (\Exception $e) {
|
||||
// 这是进行异常捕获
|
||||
//$e->getMessage();
|
||||
return json(['code'=>-1,'msg'=>$fileurl . '无写入权限']);
|
||||
return json(['code'=>-1,'msg'=> $file . '无写入权限']);
|
||||
}
|
||||
|
||||
return json(['code'=>0,'msg'=>'配置修改成功']);
|
||||
|
@ -11,7 +11,7 @@ class Index extends BaseController
|
||||
{
|
||||
// 检测是否安装过
|
||||
protected function initialize(){
|
||||
if(file_exists('../install.lock')){
|
||||
if(file_exists('./install.lock')){
|
||||
echo "<script>alert('已经成功安装了TaoLer社区系统,安装系统已锁定。如需重新安装,请删除根目录下的install.lock文件')</script>";
|
||||
die();
|
||||
}
|
||||
@ -197,23 +197,30 @@ return [
|
||||
];
|
||||
php;
|
||||
// 创建数据库链接配置文件
|
||||
$fp = fopen("../config/database.php","w");
|
||||
$res = fwrite($fp, $db_str);
|
||||
fclose($fp);
|
||||
if(!$res){
|
||||
echo '数据库配置文件创建失败!';
|
||||
}
|
||||
$database = '../config/database.php';
|
||||
if (file_exists($database)) {
|
||||
if(is_writable($database)){
|
||||
$fp = fopen($database,"w");
|
||||
$resf = fwrite($fp, $db_str);
|
||||
fclose($fp);
|
||||
if(!$resf){
|
||||
$res = json(['code' => -1,'msg'=>'数据库配置文件创建失败!']);
|
||||
}
|
||||
} else {
|
||||
$res = json(['code' => -1,'msg'=>'config/database.php 无写入权限']);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//安装上锁
|
||||
file_put_contents('../install.lock', 'lock');
|
||||
file_put_contents('./install.lock', 'lock');
|
||||
Session::clear();
|
||||
|
||||
return json(['code' => 0,'msg'=>'安装成功','url'=>(string) url('success/complete')]);
|
||||
} else {
|
||||
return '请求失败!';
|
||||
$res = json(['code' => 0,'msg'=>'安装成功','url'=>(string) url('success/complete')]);
|
||||
} else {
|
||||
$res = json(['code' => -1,'msg'=>'请求失败']);
|
||||
}
|
||||
|
||||
return $res;
|
||||
}
|
||||
}
|
@ -26,8 +26,8 @@
|
||||
<?php echo PHP_VERSION ?>
|
||||
</td>
|
||||
<?php $php_version=explode('.', PHP_VERSION); ?>
|
||||
<td class="<?php if(($php_version['0']>=7) || ($php_version['0']>=5 && $php_version['1']>=6))echo 'yes'; ?>">
|
||||
<?php if (($php_version['0']>=7) || ($php_version['0']>=5 && $php_version['1']>=3)): ?> √
|
||||
<td class="<?php if(($php_version['0']>=7) && $php_version['1']>1)echo 'yes'; ?>">
|
||||
<?php if (($php_version['0']>=7) && $php_version['1']>1): ?> √
|
||||
<?php else: ?> ×
|
||||
<?php endif ?>
|
||||
</td>
|
||||
@ -41,22 +41,22 @@
|
||||
<th width="25%">当前配置</th>
|
||||
<th width="25%">是否符合</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>./runtime</td>
|
||||
<tr>
|
||||
<td>app</td>
|
||||
<td>可写</td>
|
||||
<td>
|
||||
<?php if (is_writable('../runtime')): ?> 可写
|
||||
<?php if (is_writable('../app')): ?> 可写
|
||||
<?php else: ?> 不可写
|
||||
<?php endif ?>
|
||||
</td>
|
||||
<td class="<?php if(is_writable('../runtime'))echo 'yes'; ?>">
|
||||
<?php if (is_writable('../runtime')): ?> √
|
||||
<td class="<?php if(is_writable('../app'))echo 'yes'; ?>">
|
||||
<?php if (is_writable('../app')): ?> √
|
||||
<?php else: ?> ×
|
||||
<?php endif ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>./config</td>
|
||||
<td>config</td>
|
||||
<td>可写</td>
|
||||
<td>
|
||||
<?php if (is_writable('../config')): ?> 可写
|
||||
@ -70,21 +70,49 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>./app</td>
|
||||
<td>data</td>
|
||||
<td>可写</td>
|
||||
<td>
|
||||
<?php if (is_writable('../app')): ?> 可写
|
||||
<?php if (is_writable('../data')): ?> 可写
|
||||
<?php else: ?> 不可写
|
||||
<?php endif ?>
|
||||
</td>
|
||||
<td class="<?php if(is_writable('../app'))echo 'yes'; ?>">
|
||||
<?php if (is_writable('../app')): ?> √
|
||||
<td class="<?php if(is_writable('../data'))echo 'yes'; ?>">
|
||||
<?php if (is_writable('../data')): ?> √
|
||||
<?php else: ?> ×
|
||||
<?php endif ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>./view</td>
|
||||
<td>public</td>
|
||||
<td>可写</td>
|
||||
<td>
|
||||
<?php if (is_writable('../public')): ?> 可写
|
||||
<?php else: ?> 不可写
|
||||
<?php endif ?>
|
||||
</td>
|
||||
<td class="<?php if(is_writable('../public'))echo 'yes'; ?>">
|
||||
<?php if (is_writable('../public')): ?> √
|
||||
<?php else: ?> ×
|
||||
<?php endif ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>runtime</td>
|
||||
<td>可写</td>
|
||||
<td>
|
||||
<?php if (is_writable('../runtime')): ?> 可写
|
||||
<?php else: ?> 不可写
|
||||
<?php endif ?>
|
||||
</td>
|
||||
<td class="<?php if(is_writable('../runtime'))echo 'yes'; ?>">
|
||||
<?php if (is_writable('../runtime')): ?> √
|
||||
<?php else: ?> ×
|
||||
<?php endif ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>view</td>
|
||||
<td>可写</td>
|
||||
<td>
|
||||
<?php if (is_writable('../view')): ?> 可写
|
||||
@ -97,34 +125,6 @@
|
||||
<?php endif ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>./install</td>
|
||||
<td>可写</td>
|
||||
<td>
|
||||
<?php if (is_writable('../app/install')): ?> 可写
|
||||
<?php else: ?> 不可写
|
||||
<?php endif ?>
|
||||
</td>
|
||||
<td class="<?php if(is_writable('../app/install'))echo 'yes'; ?>">
|
||||
<?php if (is_writable('../app/install')): ?> √
|
||||
<?php else: ?> ×
|
||||
<?php endif ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>./app</td>
|
||||
<td>可写</td>
|
||||
<td>
|
||||
<?php if (is_writable('../app')): ?> 可写
|
||||
<?php else: ?> 不可写
|
||||
<?php endif ?>
|
||||
</td>
|
||||
<td class="<?php if(is_writable('../app'))echo 'yes'; ?>">
|
||||
<?php if (is_writable('../app')): ?> √
|
||||
<?php else: ?> ×
|
||||
<?php endif ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="inout1">
|
||||
<a href="{:url('index/index')}">上一步</a>
|
||||
|
@ -7,7 +7,7 @@ class Install
|
||||
{
|
||||
public function handle($request, \Closure $next)
|
||||
{
|
||||
if(!file_exists('../install.lock')){
|
||||
if(!file_exists('./install.lock')){
|
||||
return redirect('/install/index');
|
||||
//header('Location:'.Request::domain().'/install.php');
|
||||
}
|
||||
|
@ -7,14 +7,14 @@ return [
|
||||
//应用名,此项不可更改
|
||||
'appname' => 'TaoLer',
|
||||
//版本配置
|
||||
'version' => '1.7.22',
|
||||
'version' => '1.7.23',
|
||||
//加盐
|
||||
'salt' => 'taoler',
|
||||
//数据库备份目录
|
||||
'databasebackdir' => app()->getRootPath() .'data/',
|
||||
//配置
|
||||
'config' =>[
|
||||
'area_show' => 1,
|
||||
'area_show' => 0,
|
||||
'email_notice' => 1,
|
||||
]
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
// +----------------------------------------------------------------------
|
||||
use think\facade\Db;
|
||||
//如果网站安装从数据库查询选择的模板
|
||||
if(file_exists('../install.lock')){
|
||||
if(file_exists('./install.lock')){
|
||||
$template = Db::name('system')->where('id',1)->value('template');
|
||||
} else {
|
||||
$template = '';
|
||||
@ -29,4 +29,9 @@ return [
|
||||
'taglib_begin' => '{',
|
||||
// 标签库标签结束标记
|
||||
'taglib_end' => '}',
|
||||
//模板输出替换
|
||||
'tpl_replace_string' => [
|
||||
'__STATIC__'=>'/static/layui',
|
||||
'__JS__' => '/static/res/',
|
||||
]
|
||||
];
|
||||
|
1
public/install.lock
Normal file
1
public/install.lock
Normal file
@ -0,0 +1 @@
|
||||
lock
|
@ -14,7 +14,7 @@ layui.define(['table', 'form'], function(exports){
|
||||
{field: 'days',title: '天数'},
|
||||
{field: 'score',title: '积分'},
|
||||
{field: 'ctime',title: '时间'},
|
||||
{title: '操作', width: 150, align:'center', fixed: 'right', toolbar: '#sign-rule-button'}
|
||||
{title: '操作', width: 150, align:'center', toolbar: '#sign-rule-button'}
|
||||
|
||||
]]
|
||||
,page: true
|
||||
@ -128,7 +128,7 @@ layui.define(['table', 'form'], function(exports){
|
||||
{field: 'nick',title: '认证'},
|
||||
{field: 'rules',title: '权限'},
|
||||
{field: 'ctime',title: '时间'},
|
||||
{title: '操作', width: 150, align:'center', fixed: 'right', toolbar: '#vip-rule-button'}
|
||||
{title: '操作', width: 150, align:'center', toolbar: '#vip-rule-button'}
|
||||
|
||||
]]
|
||||
,page: true
|
||||
|
@ -28,7 +28,7 @@ i{font-style: normal;}
|
||||
|
||||
.site-menu{position: fixed; top: 0px; bottom: 0; min-height: 0; overflow-y: auto; overflow-x: hidden; z-index: 10001; left: -300px; background-color: #fff; transition: all .3s;}
|
||||
/* 头部伸缩菜单栏 */
|
||||
.site-tree-mobile-top{display: block!important; position: fixed; z-index: 16666668; top: 2px; left: 20px; width: 57px; height: 57px; line-height: 57px; border-radius: 2px; text-align: center; color: #e2e2e2;}
|
||||
.site-tree-mobile-top{display: block!important; position: fixed; z-index: 16666668; top: 2px; left: 10px; width: 57px; height: 57px; line-height: 57px; border-radius: 2px; text-align: center; color: #e2e2e2;}
|
||||
.site-home .site-tree-mobile-top{display: none!important;}
|
||||
.site-mobile .site-tree-mobile-top{display: none !important;}
|
||||
.site-mobile .site-menu{left: 0;}
|
||||
|
@ -2,30 +2,30 @@
|
||||
<div class="layui-panel site-menu" style="width: auto;">
|
||||
|
||||
<ul class="layui-menu layui-menu-lg">
|
||||
<li class="search" style="padding-left:5px;padding-top:2px;">
|
||||
<li class="search" style="padding-left:5px;padding-top:2px;padding-right:5px;">
|
||||
<form action="{:url('index/search',['keywords'=>$Request.param.keywords])}">
|
||||
<input type="search" name="keywords" value="" aria-label="Search text" placeholder="搜索" class="layui-input">
|
||||
</form>
|
||||
</li>
|
||||
{if session('?user_id')}
|
||||
<li class="layui-nav-item">
|
||||
<li class="layui-nav-item" style="padding-left:25px;">
|
||||
<a class="fly-nav-avatar" href="javascript:;">
|
||||
<img src="{$user['user_img']}" >
|
||||
</a>
|
||||
</li>
|
||||
{else /}
|
||||
<li class="layui-nav-item">
|
||||
<li class="layui-nav-item" style="padding-left:25px;">
|
||||
<a class="iconfont icon-touxiang" href="{:url('login/index')}"></a>
|
||||
<a href="{:url('login/index')}">{:lang('login')}</a>
|
||||
<a href="{:url('login/reg')}">{:lang('register')}</a>
|
||||
</li>
|
||||
<li class="layui-nav-item" >
|
||||
<a href="{:url('login/index')}"> {:lang('login')} </a>
|
||||
<a href="{:url('login/reg')}"> {:lang('register')} </a>
|
||||
</li>
|
||||
<li class="layui-nav-item" style="padding-left:25px;">
|
||||
<select name="language" style="width:100px;" lay-filter="language1" lay-verify="" id="language1">
|
||||
<option value="cn" {if cookie('think_lang')=='zh-cn'} selected{/if} >{:lang('chinese')}</option>
|
||||
<option value="tw" {if cookie('think_lang')=='zh-tw'} selected{/if} >{:lang('tChinese')}</option>
|
||||
<option value="en" {if cookie('think_lang')=='en-us'} selected{/if} >{:lang('english')}</option>
|
||||
</select>
|
||||
</li>
|
||||
</li>
|
||||
{/if}
|
||||
|
||||
<li class="layui-menu-item-group" lay-options="{type: 'group', isAllowSpread: true}">
|
||||
@ -48,31 +48,20 @@
|
||||
</li>
|
||||
|
||||
<li class="layui-menu-item-group" lay-options="{type: 'group', isAllowSpread: true}">
|
||||
<div class="layui-menu-body-title">
|
||||
框架
|
||||
</div>
|
||||
<div class="layui-menu-body-title">菜单</div>
|
||||
<hr>
|
||||
<ul>
|
||||
<li class="">
|
||||
<div class="layui-menu-body-title">
|
||||
<a href="http://wiki.aieok.com/">
|
||||
<span>Wiki </span>
|
||||
<span class="layui-font-12 layui-font-gray">框架文档</span>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="">
|
||||
<div class="layui-menu-body-title">
|
||||
<a href="http://bbs.aieok.com/doc/timeline.html">
|
||||
<span>日志 </span>
|
||||
<span class="layui-font-12 layui-font-gray">更新日志</span>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
{volist name="headlinks" id="vo"}
|
||||
<li class="">
|
||||
<div class="layui-menu-body-title">
|
||||
<a href="{$vo.slid_href}"><i class="layui-icon {$vo.slid_img}"></i><span> {$vo.slid_name} </span></a>
|
||||
</div>
|
||||
</li>
|
||||
{/volist}
|
||||
<li class="">
|
||||
<div class="layui-menu-body-title">
|
||||
<a href="/">
|
||||
<span>回首页 </span>
|
||||
<i class="layui-icon layui-icon-home" style="color: #009688;"></i><span> 回首页</span>
|
||||
<span class="layui-font-12 layui-font-gray">index</span>
|
||||
</a>
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user