2019-04-30 17:48:27 +08:00

133 lines
7.1 KiB
HTML

<!DOCTYPE html>
<html lang="zh">
<head>
<title>{block name="title"}{$title|default=''}{if !empty($title)} · {/if}{:sysconf('site_name')}{/block}</title>
<meta charset="utf-8">
<meta name="renderer" content="webkit">
<meta name="format-detection" content="telephone=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=0.4">
<link rel="shortcut icon" href="{:sysconf('site_icon')}">
<link rel="stylesheet" href="__ROOT__/static/plugs/awesome/fonts.css?at={:date('md')}">
<link rel="stylesheet" href="__ROOT__/static/plugs/layui/css/layui.css?at={:date('md')}">
<link rel="stylesheet" href="__ROOT__/static/theme/css/console.css?at={:date('md')}">
{block name="style"}{/block}
<script>window.ROOT_URL = '__ROOT__';</script>
<script src="__ROOT__/static/plugs/jquery/pace.min.js"></script>
</head>
<body class="layui-layout-body">
{block name='body'}
<div class="layui-layout layui-layout-admin layui-layout-left-hide">
<!-- 顶部菜单 开始 -->
<div class="layui-header notselect">
<a href="{:url('@')}" class="layui-logo layui-elip">{:sysconf('app_name')} {if sysconf('app_version')}<sup class="padding-left-5">{:sysconf('app_version')}</sup>{/if}</a>
<ul class="layui-nav layui-layout-left">
{foreach $menus as $oneMenu}
<li class="layui-nav-item">
<a data-menu-node="m-{$oneMenu.id}" data-open="{$oneMenu.url}">
{notempty name='oneMenu.icon'}<span class='{$oneMenu.icon} padding-right-5'></span>{/notempty}
<span>{$oneMenu.title|default=''}</span>
</a>
</li>
{/foreach}
</ul>
<ul class="layui-nav layui-layout-right">
<li lay-unselect class="layui-nav-item"><a data-reload><i class="layui-icon layui-icon-refresh-3"></i></a></li>
{notempty name='Think.session.user'}
<li class="layui-nav-item">
<dl class="layui-nav-child">
<dd lay-unselect><a data-modal="{:url('admin/index/info',['id'=>session('user.id')])}"><i class="layui-icon layui-icon-set-fill margin-right-5"></i>基本资料</a></dd>
<dd lay-unselect><a data-modal="{:url('admin/index/pass',['id'=>session('user.id')])}"><i class="layui-icon layui-icon-component margin-right-5"></i>安全设置</a></dd>
<dd lay-unselect><a data-modal="{:url('admin/index/buildOptimize')}"><i class="layui-icon layui-icon-template-1 margin-right-5"></i>压缩发布</a></dd>
<dd lay-unselect><a data-modal="{:url('admin/index/clearRuntime')}"><i class="layui-icon layui-icon-fonts-clear margin-right-5"></i>清理缓存</a></dd>
<dd lay-unselect><a data-confirm="确定要退出登录吗?" data-load="{:url('admin/login/out')}"><i class="layui-icon layui-icon-release margin-right-5"></i>退出登录</a></dd>
</dl>
<a><span><i class="layui-icon layui-icon-username margin-right-5"></i> {:session('user.username')}</span></a>
</li>
{else}
<li class="layui-nav-item">
<a data-href="{:url('@admin/login')}"><i class="layui-icon layui-icon-username"></i> 立即登录</a>
</li>
{/notempty}
</ul>
</div>
<!-- 顶部菜单 结束 -->
<!-- 左则菜单 开始 -->
<div class="layui-side layui-bg-black notselect">
<div class="layui-side-scroll">
<ul class="layui-nav layui-nav-tree layui-nav-tree-top">
<li class="layui-nav-item" lay-unselect><a class="text-center" data-target-menu-type><i class="layui-icon layui-icon-spread-left"></i></a></li>
</ul>
{foreach $menus as $oneMenu}
{notempty name='oneMenu.sub'}
<ul class="layui-nav layui-nav-tree layui-hide" data-menu-layout="m-{$oneMenu.id}">
{foreach $oneMenu.sub as $twoMenu}
{empty name='twoMenu.sub'}
<li class="layui-nav-item">
<a data-target-tips="{$twoMenu.title}" data-menu-node="m-{$oneMenu.id}-{$twoMenu.id}" data-open="{$twoMenu.url}">
<span class='{$twoMenu.icon|default="layui-icon layui-icon-link"}'></span>
<span class="nav-text padding-left-5">{$twoMenu.title}</span>
</a>
</li>
{else}
<li class="layui-nav-item" data-submenu-layout='m-{$oneMenu.id}-{$twoMenu.id}'>
<a data-target-tips="{$twoMenu.title}" style="background:#393D49">
<span class='nav-icon layui-hide {$twoMenu.icon|default="layui-icon layui-icon-triangle-d"}'></span>
<span class="nav-text padding-left-5">{$twoMenu.title}</span>
</a>
<dl class="layui-nav-child">
{foreach $twoMenu.sub as $thrMenu}
<dd>
<a data-target-tips="{$thrMenu.title}" data-open="{$thrMenu.url}" data-menu-node="m-{$oneMenu.id}-{$twoMenu.id}-{$thrMenu.id}">
<span class='nav-icon padding-left-5 {$thrMenu.icon|default="layui-icon layui-icon-link"}'></span>
<span class="nav-text padding-left-5">{$thrMenu.title}</span>
</a>
</dd>
{/foreach}
</dl>
</li>
{/empty}
{/foreach}
</ul>
{/notempty}
{/foreach}
</div>
</div>
<!-- 左则菜单 结束 -->
<!-- 主体内容 开始 -->
<div class="layui-body">{block name='content'}{/block}</div>
<!-- 主体内容 结束 -->
</div>
{/block}
<script src="__ROOT__/static/plugs/layui/layui.all.js"></script>
<script src="__ROOT__/static/plugs/require/require.js"></script>
<script src="__ROOT__/static/admin.js"></script>
{block name='script'}{/block}
{if session('user.id') and sysconf('system_message_state')}
<script>
require(['spop'], function () {
(function syncMessage() {
$.get('{:url("@admin/api.message/gets")}').then(function (ret) {
if (ret.code && ret.data.length > 0) for (var i in ret.data) if ($('[data-message-code=' + ret.data[i].code + ']').size() < 1) spop({
template: '<h4 data-message-code="' + ret.data[i].code + '" class="spop-title">' + ret.data[i].title + '</h4>' + ret.data[i].desc + '<span class="font-s10 color-desc pull-right"> ' + ret.data[i].create_at + ' </span>', position: 'bottom-right', style: 'success', group: ret.data[i].code, onClose: function () {
$.post('{:url("@admin/api.message/set")}', {code: this.group});
}
});
setTimeout(syncMessage, 3000)
});
})();
});
</script>
{/if}
</body>
</html>