This commit is contained in:
arraykeys
2019-08-08 17:13:34 +08:00
parent e8e5966a8c
commit f0bf2d5fec
2885 changed files with 1195993 additions and 12 deletions
+13
View File
@@ -0,0 +1,13 @@
<!DOCTYPE HTML>
<html>
<head>
<title>{{.title}}</title>
{{template "common/head.html" .}}
</head>
<body>
{{.LayoutContent}} {{template "common/foot.html" .}}
</body>
</html>
+24
View File
@@ -0,0 +1,24 @@
<!DOCTYPE HTML>
<html>
<head>
<title>{{.titles}}</title>
{{template "common/head.html" .}}
<script src="/static/style/plugins/jquery.form.min.js"></script>
<link rel="stylesheet" href="/static/style/plugins/icon/icon-selector.css">
<link rel="stylesheet" href="/static/style/plugins/selectaor/fm.selectator.jquery.css">
<script src="/static/style/plugins/icon/icon-selector.js"></script>
<script src="/static/style/plugins/selectaor/fm.selectator.jquery.js"></script>
<link rel="stylesheet" href="/static/style/plugins/datepicker/bootstrap-datepicker3.css">
<script src="/static/style/plugins/datepicker/bootstrap-datepicker.min.js"></script>
<script src="/static/style/plugins/datepicker/bootstrap-datepicker.zh-CN.min.js"></script>
</head>
<body>
{{.LayoutContent}} {{template "common/foot.html" .}}
<script src="/static/style/common/form.js"></script>
</body>
</html>
+225
View File
@@ -0,0 +1,225 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{{.title}}</title>
<link rel="shortcut icon" href="/static/index/favicon2.ico">
<style>
@font-face {
font-family: 'Exo';
font-style: normal;
font-weight: 200;
src: local('Exo ExtraLight'), local('Exo-ExtraLight'), url(/static/index/D3Kro_SQxlEekR5WQVBxG-vvDin1pK8aKteLpeZ5c0A.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
@font-face {
font-family: 'Exo';
font-style: normal;
font-weight: 400;
src: local('Exo Regular'), local('Exo-Regular'), url(/static/index/7V_Hf8uqhTnCHU5pdwV73A.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
body {
margin: 0;
padding: 0;
background: #fff;
color: #fff;
font-family: Arial;
font-size: 12px;
}
.body {
position: absolute;
top: -20px;
left: -20px;
right: 0px;
bottom: 0px;
width: auto;
height: auto;
background-image: url(/static/index/login-bg{{randInt 1 3}}.jpg);
background-size: cover;
-webkit-filter: blur(5px);
z-index: 0;
}
.grad {
position: absolute;
top: -20px;
left: -20px;
right: 0px;
bottom: 0px;
width: auto;
height: auto;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(100%, rgba(0, 0, 0, 0.65)));
/* Chrome,Safari4+ */
z-index: 1;
opacity: 0.7;
}
.header {
position: absolute;
top: calc(50% - 35px);
left: calc(50% - 455px);
z-index: 2;
}
.header div {
float: left;
color: #fff;
font-family: 'Exo', sans-serif;
font-size: 35px;
font-weight: 200;
}
.header div span {
color: #5379fa !important;
}
.login {
position: absolute;
top: calc(50% - 75px);
left: calc(50% - 50px);
height: 150px;
width: 350px;
padding: 10px;
z-index: 2;
}
.login input[type=text] {
width: 250px;
height: 30px;
background: transparent;
border: 1px solid rgba(255, 255, 255, 0.6);
border-radius: 2px;
color: #fff;
font-family: 'Exo', sans-serif;
font-size: 16px;
font-weight: 400;
padding: 4px;
}
.login input[type=password] {
width: 250px;
height: 30px;
background: transparent;
border: 1px solid rgba(255, 255, 255, 0.6);
border-radius: 2px;
color: #fff;
font-family: 'Exo', sans-serif;
font-size: 16px;
font-weight: 400;
padding: 4px;
margin-top: 10px;
}
.login input[type=submit] {
width: 260px;
height: 35px;
background: #fff;
border: 1px solid #fff;
cursor: pointer;
border-radius: 2px;
color: #a18d6c;
font-family: 'Exo', sans-serif;
font-size: 16px;
font-weight: 400;
padding: 6px;
margin-top: 10px;
}
.login input[type=submit]:hover {
opacity: 0.8;
}
.login input[type=submit]:active {
opacity: 0.6;
}
.login input[type=text]:focus {
outline: none;
border: 1px solid rgba(255, 255, 255, 0.9);
}
.login input[type=password]:focus {
outline: none;
border: 1px solid rgba(255, 255, 255, 0.9);
}
.login input[type=submit] {
width: 252px;
}
::-webkit-input-placeholder {
color: rgba(255, 255, 255, 0.6);
}
::-moz-input-placeholder {
color: rgba(255, 255, 255, 0.6);
}
.login .captcha {
border: none;
width: 80px;
height: 28px;
margin-top: -2px;
}
.login input[type=text].captcha-value {
margin: 10px 10px 0 0;
width: 160px;
}
</style>
<script src="/static/index/prefixfree.min.js"></script>
</head>
<body>
<div class="body"></div>
<div class="grad"></div>
<div class="header">
<div>{{config "String" "sys.name" "" }}<span>Admin</span></div>
</div>
<br>
<form action="/login/login" class="ajaxform" ajaxSuccess="ajaxSuccess">
<div class="login">
<input type="text" placeholder="用户名" name="username" value="root"><br>
<input type="password" placeholder="密码" name="password" value="123abc"><br>
<input type="text" placeholder="验证码" name="captcha" class="captcha-value" value=""><img class="captcha" src="/login/captcha" /><br>
<input type="submit" value="Login">
</div>
</form>
<script src='/static/index/jquery-2.1.4.min.js'></script>
<script src="/static/style/plugins/notify.min.js"></script>
<script src="/static/style/plugins/jquery.form.min.js"></script>
<script src="/static/style/plugins/icon/icon-selector.js"></script>
<link rel="stylesheet" href="/static/style/plugins/icon/icon-selector.css">
<script src="/static/style/common/form.js"></script>
<script>
if (top != self) {
top.location = location;
}
$(".captcha").click(function() {
refreshCode();
});
function ajaxSuccess(data) {
if (!data.code) {
refreshCode();
}
}
function refreshCode() {
$(".captcha-value").val("")
$(".captcha").attr("src", "/login/captcha?_=" + (Math.random() + "").substring(2))
}
</script>
</body>
</html>
+255
View File
@@ -0,0 +1,255 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta charset="UTF-8">
<title>{{.title}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<link rel="stylesheet" href="/static/index/bootstrap.min.css">
<link rel="stylesheet" href="/static/index/font-awesome.min.css">
<link rel="stylesheet" href="/static/index/fonts.googleapis.com.css">
<link rel="stylesheet" href="/static/index/ace.min.css" class="ace-main-stylesheet" id="main-ace-style">
<link rel="stylesheet" href="/static/index/ace-skins.min.css">
<link rel="stylesheet" href="/static/index/ace-rtl.min.css">
<script src="/static/index/ace-extra.min.js"></script>
<link rel="shortcut icon" href="/static/index/favicon2.ico">
<style>
ul.nav-list {
display: none;
}
ul.nav-list.showul {
display: block
}
.ace-save-state {
animation-duration: 10ms;
animation-delay: 0s;
animation-name: nodeInserted;
}
.nav.navbar-nav li:focus,
.nav.navbar-nav a:focus,
.navbar-header a:focus {
outline: none;
}
.nav-active {
background-color: rgb(40, 40, 40);
}
</style>
</head>
<body class="skin-3 no-skin">
<div id="navbar" class="navbar navbar-default ace-save-state navbar-fixed-top">
<div class="navbar-container ace-save-state" id="navbar-container">
<div class="navbar-header pull-left">
<a href="/main/index.html" class="navbar-brand">
<small>
<img width="26px" style="margin-top:-4px" src="/static/index/favicon.png">
{{config "String" "sys.name" ""}} Admin
</small>
</a>
</div>
<nav role="navigation" class="navbar-menu pull-left collapse navbar-collapse">
<ul class="nav navbar-nav">
{{range .navigators}}
<li>
<a href="javascript:void(0)">
<i class="ace-icon {{.icon}}"></i> {{.name}}
</a>
</li>
{{end}}
</ul>
</nav>
<div class="navbar-buttons navbar-header pull-right" role="navigation">
<ul class="nav ace-nav">
<li class="dark dropdown-modal">
<a data-toggle="dropdown" href="/static/index/#" class="dropdown-toggle">
<img class="nav-user-photo" src="/static/index/user.jpg" alt="Jason's Photo">
<span class="user-info">
<small>Welcome,</small>
{{.loginUser.given_name}}
</span>
<i class="ace-icon fa fa-caret-down"></i>
</a>
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
<li class="divider"></li>
<li>
<a href="/login/logout.html">
<i class="ace-icon fa fa-power-off"></i> Logout
</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- /.navbar-container -->
</div>
<div class="main-container ace-save-state" id="main-container">
<div id="sidebar" class="sidebar responsive ace-save-state sidebar-fixed sidebar-scroll" data-sidebar="true" data-sidebar-scroll="true" data-sidebar-hover="true">
{{$navigators := .navigators}} {{$menus := .menus}} {{$controllers := .controllers}} {{range $i,$nav := $navigators}}
<ul class="nav nav-list {{if eq $i 0}}showul{{end}}">
{{range $menu := $menus}} {{if eq $nav.privilege_id $menu.parent_id}}
<li class="">
<a href="#" class="dropdown-toggle">
<i class="menu-icon {{.icon}}"></i>
<span class="menu-text">
{{$menu.name}}
</span>
<b class="arrow fa fa-angle-down"></b>
</a>
<b class="arrow"></b>
<ul class="submenu">
{{range $controller := $controllers}} {{if eq $menu.privilege_id $controller.parent_id}}
<li class="">
<a href="/{{$controller.controller}}/{{$controller.action}}">
<i class="menu-icon fa fa-caret-right"></i> {{$controller.name}}
</a>
<b class="arrow"></b>
</li>
{{end}} {{end}}
</ul>
</li>
{{end}} {{end}}
</ul>
<!-- /.nav-list -->
{{end}}
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
</div>
</div>
<div class="main-content">
<div class="main-content-inner">
<div style="margin:0;background-color:white;" class="breadcrumbs ace-save-state breadcrumbs-fixed" id="breadcrumbs">
<ul class="breadcrumb" style="border-radius:4px;padding:8px;margin:8px 8px 0;background-color:rgb(231, 242, 248);width:100%;height:100%;">
<li>
<i class="ace-icon fa fa-home home-icon"></i>
<a href="javascript:void(0)" class="navText">后台</a>
</li>
<li>
<a href="javascript:void(0)" class="menuText">首页</a>
</li>
<li class="active controllerText">Welcome</li>
</ul>
<!-- /.breadcrumb -->
</div>
<div class="page-content" style="padding-top: 43px;padding-bottom:0px;">
<div class="row">
<!--<div class="col-xs-12">-->
<!-- PAGE CONTENT BEGINS -->
<iframe id="main" name="main" src="/main/default.html" scrolling="yes" style="overflow-y:auto;border:none;" frameborder="yes" width="100%" height="100%"></iframe>
<!-- PAGE CONTENT ENDS -->
<!--</div>-->
<!-- /.col -->
</div>
<!-- /.row -->
</div>
<!-- /.page-content -->
</div>
</div>
<!-- /.main-content -->
<div class="footer">
<div class="footer-inner">
<div class="footer-content">
<span class="bigger-120">
<span class="blue bolder">{{config "String" "sys.name" ""}}</span> Application © 2017-{{.TimeNowYear}}
</span>
<!-- &nbsp; &nbsp; -->
<!-- <span class="action-buttons">
<a href="/static/index/#">
<i class="ace-icon fa fa-twitter-square light-blue bigger-150"></i>
</a>
<a href="/static/index/#">
<i class="ace-icon fa fa-facebook-square text-primary bigger-150"></i>
</a>
<a href="/static/index/#">
<i class="ace-icon fa fa-rss-square orange bigger-150"></i>
</a>
</span> -->
</div>
</div>
</div>
<a href="/static/index/#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
</a>
</div>
<script src="/static/index/jquery-2.1.4.min.js"></script>
<script src="/static/index/bootstrap.min.js"></script>
<script src="/static/index/ace-elements.min.js"></script>
<script src="/static/index/ace.min.js"></script>
<script type="text/javascript">
$(function() {
var prefix = location.protocol + "//" + location.host
setInterval(function() {
var mainheight = $("#main").contents().find("body").height();
var minHeight = $(window).height() - 200
if (mainheight < minHeight) {
mainheight = minHeight
}
$("#main").height(mainheight);
}, 200);
$('ul.nav-list a').not('.dropdown-toggle').click(function() {
$("ul.nav-list li.active").removeClass('active');
$(this).parent().addClass("active");
var controller = $.trim($(this).text());
var menu = $.trim($(this).parent().parent().parent().find('>a').text());
var index = $('ul.nav-list').index($(this).parent().parent().parent().parent());
var nav = $.trim($('.navbar-menu a').eq(index).text());
if (nav && menu && controller) {
$('.navText').text(nav);
$('.menuText').text(menu);
$('.controllerText').text(controller);
$('.breadcrumbs').removeClass("hide").show()
}
location.href = '/main/index.html#' + (this.href + "").replace(prefix, "");
$('#main').attr('src', this.href);
return false
});
var hash = location.hash;
if (hash) {
var found = false
$('ul.nav-list a').not('.dropdown-toggle').each(function() {
if ((this.href + "").replace(prefix, "") == hash.substring(1)) {
if (found) {
return
}
var index = $('ul.nav-list').index($(this).parent().parent().parent().parent())
$(".sidebar ul.nav").removeClass("showul").eq(index).addClass("showul")
$(this).parent().parent().parent().find('>a').click();
$("ul.nav-list li.active").removeClass('active');
$(this).parent().addClass("active");
$(".navbar-menu>ul>li").eq(index).addClass('nav-active');
$(this).click();
found = true
}
});
}
$(".navbar-menu a").click(function(index) {
$(".navbar-menu>ul>li").not($(this).parent()).removeClass('nav-active');
$(this).parent().addClass('nav-active');
$(".sidebar ul.nav").removeClass("showul").eq($(".navbar-menu a").index(this)).addClass("showul")
});
});
setTimeout(function() {
$("#sidebar").addClass("sidebar-fixed");
$("#breadcrumbs").addClass("breadcrumbs-fixed");
}, 1000);
</script>
</body>
</html>
+1
View File
@@ -0,0 +1 @@
{{template "layout/default.html" .}}
+1
View File
@@ -0,0 +1 @@
{{template "layout/form.html" .}}