@ -1,5 +1,4 @@ |
|||||||
# 后台admin |
# 后台admin |
||||||
|
|
||||||
- sop-admin-front: admin前端layui实现(停止维护,改用sop-admin-vue) |
|
||||||
- sop-admin-server: admin服务端 |
- sop-admin-server: admin服务端 |
||||||
- sop-admin-vue: admin前端vue实现 |
- sop-admin-vue: admin前端vue实现 |
||||||
|
@ -1,23 +0,0 @@ |
|||||||
# admin前端页面(停止维护,改用sop-admin-vue) |
|
||||||
|
|
||||||
做到前后端分离。 |
|
||||||
|
|
||||||
当然也可以不分离,直接把前端页面放入到server中。这样做的好处是启动服务器即可访问页面。 |
|
||||||
|
|
||||||
步骤如下: |
|
||||||
|
|
||||||
- cd到sop-admin-front目录,执行命令`mvn clean install` |
|
||||||
- sop-admin-server工程添加maven依赖 |
|
||||||
|
|
||||||
``` |
|
||||||
<dependency> |
|
||||||
<groupId>com.gitee.sop</groupId> |
|
||||||
<artifactId>sop-admin-front</artifactId> |
|
||||||
<version>1.0.0-SNAPSHOT</version> |
|
||||||
</dependency> |
|
||||||
``` |
|
||||||
|
|
||||||
启动服务端,访问:http://localhost:8082 |
|
||||||
|
|
||||||
原理就是springboot访问webjars资源,建议在开发的时候前后端分离,开发完成后再打包成webjars。 |
|
||||||
|
|
@ -1,16 +0,0 @@ |
|||||||
@font-face { |
|
||||||
font-family: 'iconfont'; |
|
||||||
src: url('../fonts/iconfont.eot'); |
|
||||||
src: url('../fonts/iconfont.eot?#iefix') format('embedded-opentype'), |
|
||||||
url('../fonts/iconfont.woff') format('woff'), |
|
||||||
url('../fonts/iconfont.ttf') format('truetype'), |
|
||||||
url('../fonts/iconfont.svg#iconfont') format('svg'); |
|
||||||
} |
|
||||||
.iconfont{ |
|
||||||
font-family:"iconfont" !important; |
|
||||||
font-size:16px;font-style:normal; |
|
||||||
-webkit-font-smoothing: antialiased; |
|
||||||
-webkit-text-stroke-width: 0.2px; |
|
||||||
-moz-osx-font-smoothing: grayscale; |
|
||||||
} |
|
||||||
|
|
@ -1,680 +0,0 @@ |
|||||||
@charset "utf-8"; |
|
||||||
@import url(../lib/layui/css/layui.css); |
|
||||||
*{ |
|
||||||
margin: 0px; |
|
||||||
padding: 0px; |
|
||||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; |
|
||||||
} |
|
||||||
a{ |
|
||||||
text-decoration: none; |
|
||||||
} |
|
||||||
html{ |
|
||||||
width: 100%; |
|
||||||
height: 100%; |
|
||||||
overflow-x:hidden; |
|
||||||
overflow-y:auto; |
|
||||||
} |
|
||||||
body{ |
|
||||||
width: 100%; |
|
||||||
min-height: 100%; |
|
||||||
} |
|
||||||
.login-bg{ |
|
||||||
/*background: #eeeeee url() 0 0 no-repeat;*/ |
|
||||||
background:url(../images/bg.png) no-repeat center; |
|
||||||
background-size: cover; |
|
||||||
overflow: hidden; |
|
||||||
} |
|
||||||
.login{ |
|
||||||
margin: 120px auto 0 auto; |
|
||||||
min-height: 420px; |
|
||||||
max-width: 420px; |
|
||||||
padding: 40px; |
|
||||||
background-color: #ffffff; |
|
||||||
margin-left: auto; |
|
||||||
margin-right: auto; |
|
||||||
border-radius: 4px; |
|
||||||
/* overflow-x: hidden; */ |
|
||||||
box-sizing: border-box; |
|
||||||
} |
|
||||||
.login a.logo{ |
|
||||||
display: block; |
|
||||||
height: 58px; |
|
||||||
width: 167px; |
|
||||||
margin: 0 auto 30px auto; |
|
||||||
background-size: 167px 42px; |
|
||||||
} |
|
||||||
.login .message { |
|
||||||
margin: 10px 0 0 -58px; |
|
||||||
padding: 18px 10px 18px 60px; |
|
||||||
background: #189F92; |
|
||||||
position: relative; |
|
||||||
color: #fff; |
|
||||||
font-size: 16px; |
|
||||||
} |
|
||||||
.login #darkbannerwrap { |
|
||||||
background: url(../images/aiwrap.png); |
|
||||||
width: 18px; |
|
||||||
height: 10px; |
|
||||||
margin: 0 0 20px -58px; |
|
||||||
position: relative; |
|
||||||
} |
|
||||||
|
|
||||||
.login input[type=text], |
|
||||||
.login input[type=file], |
|
||||||
.login input[type=password], |
|
||||||
.login input[type=email], select { |
|
||||||
border: 1px solid #DCDEE0; |
|
||||||
vertical-align: middle; |
|
||||||
border-radius: 3px; |
|
||||||
height: 50px; |
|
||||||
padding: 0px 16px; |
|
||||||
font-size: 14px; |
|
||||||
color: #555555; |
|
||||||
outline:none; |
|
||||||
width:100%; |
|
||||||
box-sizing: border-box; |
|
||||||
} |
|
||||||
.login input[type=text]:focus, |
|
||||||
.login input[type=file]:focus, |
|
||||||
.login input[type=password]:focus, |
|
||||||
.login input[type=email]:focus, select:focus { |
|
||||||
border: 1px solid #27A9E3; |
|
||||||
} |
|
||||||
.login input[type=submit], |
|
||||||
.login input[type=button]{ |
|
||||||
display: inline-block; |
|
||||||
vertical-align: middle; |
|
||||||
padding: 12px 24px; |
|
||||||
margin: 0px; |
|
||||||
font-size: 18px; |
|
||||||
line-height: 24px; |
|
||||||
text-align: center; |
|
||||||
white-space: nowrap; |
|
||||||
vertical-align: middle; |
|
||||||
cursor: pointer; |
|
||||||
color: #ffffff; |
|
||||||
background-color: #189F92; |
|
||||||
border-radius: 3px; |
|
||||||
border: none; |
|
||||||
-webkit-appearance: none; |
|
||||||
outline:none; |
|
||||||
width:100%; |
|
||||||
} |
|
||||||
.login hr { |
|
||||||
background: #fff 0 0 no-repeat; |
|
||||||
} |
|
||||||
.login hr.hr15 { |
|
||||||
height: 15px; |
|
||||||
border: none; |
|
||||||
margin: 0px; |
|
||||||
padding: 0px; |
|
||||||
width: 100%; |
|
||||||
} |
|
||||||
.login hr.hr20 { |
|
||||||
height: 20px; |
|
||||||
border: none; |
|
||||||
margin: 0px; |
|
||||||
padding: 0px; |
|
||||||
width: 100%; |
|
||||||
} |
|
||||||
.x-body{ |
|
||||||
padding: 10px; |
|
||||||
} |
|
||||||
.x-nav{ |
|
||||||
padding: 0 20px; |
|
||||||
position: relative; |
|
||||||
z-index: 99; |
|
||||||
border-bottom: 1px solid #e5e5e5; |
|
||||||
line-height: 39px; |
|
||||||
height: 37px; |
|
||||||
overflow: hidden; |
|
||||||
} |
|
||||||
xblock{ |
|
||||||
display: block; |
|
||||||
margin-bottom: 10px; |
|
||||||
padding: 5px; |
|
||||||
line-height: 22px; |
|
||||||
/* border-left: 5px solid #009688; */ |
|
||||||
border-radius: 0 2px 2px 0; |
|
||||||
background-color: #f2f2f2; |
|
||||||
} |
|
||||||
.x-right{ |
|
||||||
float: right; |
|
||||||
} |
|
||||||
.x-so{ |
|
||||||
/*text-align: center;*/ |
|
||||||
/*background: #f2f2f2 url() 0 0 no-repeat;*/ |
|
||||||
margin-bottom: 20px; |
|
||||||
} |
|
||||||
.x-so input.layui-input{ |
|
||||||
width: 150px; |
|
||||||
} |
|
||||||
.x-so .layui-form-label{ |
|
||||||
display: inline-block; |
|
||||||
} |
|
||||||
.x-so input.layui-input,.x-so input.layui-btn{ |
|
||||||
display: inline-block; |
|
||||||
} |
|
||||||
.x-red{ |
|
||||||
color: red; |
|
||||||
} |
|
||||||
.x-green{ |
|
||||||
color: green; |
|
||||||
} |
|
||||||
.x-yellow{ |
|
||||||
color: #ffae19; |
|
||||||
} |
|
||||||
.x-a{ |
|
||||||
color: #1AA093; |
|
||||||
} |
|
||||||
.x-a:hover{ |
|
||||||
color: #127F74; |
|
||||||
} |
|
||||||
.x-sort{ |
|
||||||
height: 30px; |
|
||||||
} |
|
||||||
.x-show{ |
|
||||||
cursor: pointer; |
|
||||||
} |
|
||||||
.layui-form-switch{ |
|
||||||
margin-top: 0px; |
|
||||||
} |
|
||||||
.layui-input:focus, .layui-textarea:focus { |
|
||||||
border-color: #189f92!important; |
|
||||||
} |
|
||||||
|
|
||||||
.page{ |
|
||||||
margin-top: 20px; |
|
||||||
text-align: center; |
|
||||||
|
|
||||||
} |
|
||||||
.page a{ |
|
||||||
display: inline-block; |
|
||||||
background: #fff 0 0 no-repeat; |
|
||||||
color: #888; |
|
||||||
padding: 10px; |
|
||||||
min-width: 15px; |
|
||||||
border: 1px solid #E2E2E2; |
|
||||||
|
|
||||||
} |
|
||||||
.page span{ |
|
||||||
display: inline-block; |
|
||||||
padding: 10px; |
|
||||||
min-width: 15px; |
|
||||||
border: 1px solid #E2E2E2; |
|
||||||
} |
|
||||||
.page span.current{ |
|
||||||
display: inline-block; |
|
||||||
background: #009688 0 0 no-repeat; |
|
||||||
color: #fff; |
|
||||||
padding: 10px; |
|
||||||
min-width: 15px; |
|
||||||
border: 1px solid #009688; |
|
||||||
} |
|
||||||
.page .pagination li{ |
|
||||||
display: inline-block; |
|
||||||
margin-right: 5px; |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
.page .pagination li.active span{ |
|
||||||
background: #009688 0 0 no-repeat; |
|
||||||
color: #fff; |
|
||||||
border: 1px solid #009688; |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
/*登录样式*/ |
|
||||||
/*头部*/ |
|
||||||
.container{ |
|
||||||
width: 100%; |
|
||||||
height: 45px; |
|
||||||
background-color: #222; |
|
||||||
border-bottom: 1px solid rgba(255, 255, 255, 0.2); |
|
||||||
} |
|
||||||
.container .logo a{ |
|
||||||
float: left; |
|
||||||
color: #fff; |
|
||||||
font-size: 18px; |
|
||||||
padding-left: 20px; |
|
||||||
line-height: 45px; |
|
||||||
width: 200px; |
|
||||||
} |
|
||||||
.container .right{ |
|
||||||
background-color:rgba(0,0,0,0); |
|
||||||
float: right; |
|
||||||
|
|
||||||
} |
|
||||||
.container .left_open{ |
|
||||||
height: 45px; |
|
||||||
float: left; |
|
||||||
} |
|
||||||
.container .left_open i{ |
|
||||||
display: block; |
|
||||||
background: rgba(255,255,255,0.1) 0 0 no-repeat; |
|
||||||
color: #fff; |
|
||||||
width: 32px; |
|
||||||
height: 32px; |
|
||||||
line-height: 32px; |
|
||||||
border-radius: 3px; |
|
||||||
text-align: center; |
|
||||||
margin-top: 7px; |
|
||||||
cursor: pointer; |
|
||||||
} |
|
||||||
.container .left_open i:hover{ |
|
||||||
background: rgba(255,255,255,0.3) 0 0 no-repeat; |
|
||||||
} |
|
||||||
|
|
||||||
.container .left{ |
|
||||||
background-color:rgba(0,0,0,0); |
|
||||||
float: left; |
|
||||||
|
|
||||||
} |
|
||||||
.container .layui-nav-item{ |
|
||||||
line-height: 45px; |
|
||||||
} |
|
||||||
.container .layui-nav-more{ |
|
||||||
top: 20px; |
|
||||||
} |
|
||||||
.container .layui-nav-child{ |
|
||||||
top: 50px; |
|
||||||
} |
|
||||||
.container .layui-nav-child i{ |
|
||||||
margin-right: 10px; |
|
||||||
} |
|
||||||
.layui-nav .layui-nav-item a{ |
|
||||||
color: #fff; |
|
||||||
cursor: pointer; |
|
||||||
} |
|
||||||
.layui-nav .layui-nav-child a{ |
|
||||||
color: #333; |
|
||||||
cursor: pointer; |
|
||||||
} |
|
||||||
.left-nav{ |
|
||||||
position: absolute; |
|
||||||
top: 46px; |
|
||||||
bottom: 42px; |
|
||||||
left: 0; |
|
||||||
z-index: 2; |
|
||||||
/*padding-top: 1px;*/ |
|
||||||
background-color: #EEEEEE; |
|
||||||
width: 220px; |
|
||||||
max-width: 220px; |
|
||||||
overflow: auto; |
|
||||||
overflow-x:hidden; |
|
||||||
border-right: 1px solid #e5e5e5; |
|
||||||
|
|
||||||
/*width: 0px;*/ |
|
||||||
} |
|
||||||
.left-nav #nav li{ |
|
||||||
border-bottom: 1px solid #e5e5e5; |
|
||||||
} |
|
||||||
.left-nav #nav li:hover > a{ |
|
||||||
/*color: blue;*/ |
|
||||||
} |
|
||||||
.left-nav #nav .current{ |
|
||||||
background-color: rgba(0, 0, 0, 0.3); |
|
||||||
} |
|
||||||
.left-nav #nav li a{ |
|
||||||
font-size: 14px; |
|
||||||
padding: 10px 15px 10px 20px; |
|
||||||
display: block; |
|
||||||
cursor: pointer; |
|
||||||
} |
|
||||||
.left-nav #nav li a cite{ |
|
||||||
font-size: 14px; |
|
||||||
} |
|
||||||
|
|
||||||
.left-nav #nav li .sub-menu{ |
|
||||||
display: block; |
|
||||||
} |
|
||||||
.left-nav #nav li .opened{ |
|
||||||
display: block; |
|
||||||
} |
|
||||||
.left-nav #nav li .opened:hover{ |
|
||||||
/*background: #fff url() 0 0 no-repeat;*/ |
|
||||||
} |
|
||||||
.left-nav #nav li .opened .current{ |
|
||||||
|
|
||||||
} |
|
||||||
.left-nav #nav li .sub-menu li:hover{ |
|
||||||
/*color: blue;*/ |
|
||||||
/*background: #fff url() 0 0 no-repeat;*/ |
|
||||||
} |
|
||||||
.left-nav #nav li .sub-menu li a{ |
|
||||||
padding: 12px 15px 12px 30px; |
|
||||||
font-size: 14px; |
|
||||||
cursor: pointer; |
|
||||||
} |
|
||||||
.left-nav #nav li .sub-menu li .sub-menu li a{ |
|
||||||
padding-left: 45px; |
|
||||||
} |
|
||||||
.left-nav #nav li .sub-menu li a:hover{ |
|
||||||
color: #148cf1; |
|
||||||
} |
|
||||||
.left-nav #nav li .sub-menu li a i{ |
|
||||||
font-size: 12px; |
|
||||||
margin-left: 8px; |
|
||||||
} |
|
||||||
.left-nav #nav li a i{ |
|
||||||
/*padding-right: 10px;*/ |
|
||||||
line-height: 14px; |
|
||||||
} |
|
||||||
.left-nav #nav li .nav_right{ |
|
||||||
float: right; |
|
||||||
font-size: 16px; |
|
||||||
} |
|
||||||
.left-nav #nav li.active { |
|
||||||
background: #ddd; |
|
||||||
} |
|
||||||
.left-nav #nav li.active a { |
|
||||||
color: #148cf1; |
|
||||||
} |
|
||||||
|
|
||||||
.x-slide_left { |
|
||||||
width: 17px; |
|
||||||
height: 61px; |
|
||||||
position: absolute; |
|
||||||
top: 200px; |
|
||||||
left: 221px; |
|
||||||
cursor: pointer; |
|
||||||
z-index: 3; |
|
||||||
} |
|
||||||
.page-content{ |
|
||||||
position: absolute; |
|
||||||
top: 46px; |
|
||||||
right: 0; |
|
||||||
bottom: 42px; |
|
||||||
left: 221px; |
|
||||||
overflow: hidden; |
|
||||||
z-index: 1; |
|
||||||
} |
|
||||||
.page-content-bg{ |
|
||||||
position: absolute; |
|
||||||
top: 46px; |
|
||||||
right: 0; |
|
||||||
bottom: 42px; |
|
||||||
left: 221px; |
|
||||||
background: rgba(0,0,0,0.5); url() 0 0 no-repeat; |
|
||||||
overflow: hidden; |
|
||||||
z-index: 100; |
|
||||||
display: none; |
|
||||||
} |
|
||||||
|
|
||||||
.page-content .tab{ |
|
||||||
height: 100%; |
|
||||||
width: 100%; |
|
||||||
background: #EFEEF0 0 0 no-repeat; |
|
||||||
margin: 0px; |
|
||||||
} |
|
||||||
.page-content .layui-tab-title{ |
|
||||||
/*padding-top: 5px;*/ |
|
||||||
height: 35px; |
|
||||||
background: #EFEEF0 0 0 no-repeat; |
|
||||||
position: relative; |
|
||||||
z-index: 100; |
|
||||||
} |
|
||||||
.page-content .layui-tab-title li.home i{ |
|
||||||
padding-right: 5px; |
|
||||||
} |
|
||||||
.page-content .layui-tab-title li.home .layui-tab-close{ |
|
||||||
display: none; |
|
||||||
} |
|
||||||
.page-content .layui-tab-title li{ |
|
||||||
line-height: 35px; |
|
||||||
} |
|
||||||
.page-content .layui-tab-title .layui-this:after{ |
|
||||||
height: 36px; |
|
||||||
} |
|
||||||
.page-content .layui-tab-title li .layui-tab-close{ |
|
||||||
border-radius: 50%; |
|
||||||
} |
|
||||||
.page-content .layui-tab-title .layui-this{ |
|
||||||
background: #fff 0 0 no-repeat; |
|
||||||
} |
|
||||||
.page-content .layui-tab-bar{ |
|
||||||
height:34px; |
|
||||||
line-height: 35px; |
|
||||||
} |
|
||||||
.page-content .layui-tab-content{ |
|
||||||
position: absolute; |
|
||||||
top: 36px; |
|
||||||
bottom: 0px; |
|
||||||
width: 100%; |
|
||||||
background: #fff 0 0 no-repeat; |
|
||||||
padding: 0px; |
|
||||||
overflow: hidden; |
|
||||||
} |
|
||||||
.page-content .layui-tab-content .layui-tab-item{ |
|
||||||
width: 100%; |
|
||||||
height: 100%; |
|
||||||
|
|
||||||
} |
|
||||||
.page-content .layui-tab-content .layui-tab-item iframe{ |
|
||||||
width: 100%; |
|
||||||
height: 100%; |
|
||||||
|
|
||||||
} |
|
||||||
.x-admin-carousel,.layui-carousel,.x-admin-carousel>[carousel-item]>* { |
|
||||||
background-color:#fff |
|
||||||
} |
|
||||||
|
|
||||||
.x-admin-backlog .x-admin-backlog-body { |
|
||||||
display:block; |
|
||||||
padding:10px 15px; |
|
||||||
background-color:#f8f8f8; |
|
||||||
color:#999; |
|
||||||
border-radius:2px; |
|
||||||
transition:all .3s; |
|
||||||
-webkit-transition:all .3s |
|
||||||
} |
|
||||||
.x-admin-backlog-body h3 { |
|
||||||
padding-bottom:10px; |
|
||||||
font-size:12px |
|
||||||
} |
|
||||||
.x-admin-backlog-body p cite { |
|
||||||
font-style:normal; |
|
||||||
font-size:30px; |
|
||||||
font-weight:300; |
|
||||||
color:#009688 |
|
||||||
} |
|
||||||
.x-admin-backlog-body:hover { |
|
||||||
background-color:#CFCFCF; |
|
||||||
color:#888 |
|
||||||
} |
|
||||||
|
|
||||||
.welcome-footer{padding: 30px 0; line-height: 30px; text-align: center; background-color: #eee; color: #666; font-weight: 300;} |
|
||||||
body .layui-layout-admin .footer-demo{height: auto; padding: 15px 0; line-height: 26px;} |
|
||||||
.welcome-footer a{padding: 0 5px;} |
|
||||||
|
|
||||||
table th, table td { |
|
||||||
word-break: break-all; |
|
||||||
} |
|
||||||
|
|
||||||
.footer{ |
|
||||||
position: fixed; |
|
||||||
bottom: 0px; |
|
||||||
width: 100%; |
|
||||||
background-color: #222; |
|
||||||
border-top: 1px solid rgba(255, 255, 255, 0.2); |
|
||||||
line-height: 41px; |
|
||||||
color: #fff; |
|
||||||
/*padding-left: 10px;*/ |
|
||||||
} |
|
||||||
.footer .copyright{ |
|
||||||
margin-left: 10px; |
|
||||||
} |
|
||||||
|
|
||||||
/*404页面样式*/ |
|
||||||
.fly-panel { |
|
||||||
margin-bottom: 15px; |
|
||||||
border-radius: 2px; |
|
||||||
background-color: #fff; |
|
||||||
box-shadow: 0 1px 2px 0 rgba(0,0,0,.05); |
|
||||||
} |
|
||||||
.fly-none { |
|
||||||
min-height: 600px; |
|
||||||
text-align: center; |
|
||||||
padding-top: 50px; |
|
||||||
color: #999; |
|
||||||
} |
|
||||||
.fly-none .layui-icon { |
|
||||||
line-height: 300px; |
|
||||||
font-size: 300px; |
|
||||||
color: #393D49; |
|
||||||
} |
|
||||||
.fly-none p { |
|
||||||
margin-top: 50px; |
|
||||||
padding: 0 15px; |
|
||||||
font-size: 20px; |
|
||||||
color: #999; |
|
||||||
font-weight: 300; |
|
||||||
} |
|
||||||
#tab_right{ |
|
||||||
display: none; |
|
||||||
width: 80px; |
|
||||||
position: absolute; |
|
||||||
top: 35px; |
|
||||||
left: 0px; |
|
||||||
} |
|
||||||
#tab_right dl{ |
|
||||||
top: 0px; |
|
||||||
} |
|
||||||
#tab_show{ |
|
||||||
position: absolute; |
|
||||||
top: 36px; |
|
||||||
bottom: 0px; |
|
||||||
width: 100%; |
|
||||||
background:rgb(255, 255, 255); |
|
||||||
padding: 0px; |
|
||||||
overflow: hidden; |
|
||||||
display: none; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
@media screen and (max-width: 768px){ |
|
||||||
.fast-add{ |
|
||||||
display: none; |
|
||||||
} |
|
||||||
.layui-nav .to-index{ |
|
||||||
display: none; |
|
||||||
} |
|
||||||
.container .logo a{ |
|
||||||
width: 140px; |
|
||||||
} |
|
||||||
.container .left_open { |
|
||||||
/*float: right;*/ |
|
||||||
} |
|
||||||
.left-nav{ |
|
||||||
left: -221px; |
|
||||||
} |
|
||||||
.page-content{ |
|
||||||
left: 0px; |
|
||||||
} |
|
||||||
.page-content .layui-tab-content .layui-tab-item{ |
|
||||||
-webkit-overflow-scrolling: touch; |
|
||||||
overflow-y: scroll; |
|
||||||
} |
|
||||||
.x-so input.layui-input{ |
|
||||||
width: 100%; |
|
||||||
margin: 10px; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
/*精细版样式*/ |
|
||||||
|
|
||||||
.x-admin-sm{ |
|
||||||
font-size: 12px; |
|
||||||
} |
|
||||||
.x-admin-sm body{ |
|
||||||
font-size: 12px; |
|
||||||
} |
|
||||||
/*登录页面样式*/ |
|
||||||
.x-admin-sm .login input[type=submit],.x-admin-sm .login input[type=button]{ |
|
||||||
font-size: 14px; |
|
||||||
} |
|
||||||
.x-admin-sm .login input[type=text], |
|
||||||
.x-admin-sm .login input[type=file], |
|
||||||
.x-admin-sm .login input[type=password], |
|
||||||
.x-admin-sm .login input[type=email], .x-admin-sm select { |
|
||||||
font-size: 12px; |
|
||||||
} |
|
||||||
.x-admin-sm .login .message{ |
|
||||||
font-size: 14px; |
|
||||||
} |
|
||||||
|
|
||||||
.x-admin-sm .layui-table td, .x-admin-sm .layui-table th{ |
|
||||||
font-size: 12px; |
|
||||||
} |
|
||||||
.x-admin-sm .layui-elem-field legend{ |
|
||||||
font-size: 18px; |
|
||||||
} |
|
||||||
|
|
||||||
.x-admin-sm .x-admin-backlog-body p cite{ |
|
||||||
font-size: 24px; |
|
||||||
} |
|
||||||
.x-admin-sm .left-nav #nav li a cite{ |
|
||||||
font-size: 12px; |
|
||||||
} |
|
||||||
.x-admin-sm .iconfont{ |
|
||||||
font-size: 14px; |
|
||||||
} |
|
||||||
.x-admin-sm .layui-tab-title li{ |
|
||||||
font-size: 12px; |
|
||||||
} |
|
||||||
.x-admin-sm .layui-icon{ |
|
||||||
font-size: 14px; |
|
||||||
} |
|
||||||
.x-admin-sm .layui-nav *{ |
|
||||||
font-size: 12px; |
|
||||||
} |
|
||||||
.x-admin-sm .layui-breadcrumb>*{ |
|
||||||
font-size: 12px; |
|
||||||
} |
|
||||||
.x-admin-sm .layui-btn,.x-admin-sm .layui-btn-xs,.x-admin-sm .layui-btn-sm{ |
|
||||||
font-size: 12px; |
|
||||||
} |
|
||||||
|
|
||||||
.x-admin-sm .layui-laydate{ |
|
||||||
font-size: 12px; |
|
||||||
} |
|
||||||
.x-admin-sm .layui-btn{ |
|
||||||
height: 30px; |
|
||||||
line-height: 30px; |
|
||||||
padding: 0 10px; |
|
||||||
} |
|
||||||
|
|
||||||
.layui-table-cell .layui-btn { |
|
||||||
height: 27px; |
|
||||||
line-height: 28px; |
|
||||||
} |
|
||||||
|
|
||||||
.x-admin-sm .layui-btn-lg{ |
|
||||||
height: 38px; |
|
||||||
line-height: 38px; |
|
||||||
padding: 0 18px; |
|
||||||
font-size: 14px; |
|
||||||
} |
|
||||||
.x-admin-sm .layui-layer-title,.x-admin-sm .layui-layer-dialog .layui-layer-content{ |
|
||||||
font-size: 12px; |
|
||||||
} |
|
||||||
.x-admin-sm .layui-input,.x-admin-sm .layui-select,.x-admin-sm .layui-textarea{ |
|
||||||
height: 30px; |
|
||||||
} |
|
||||||
|
|
||||||
.x-admin-sm .layui-form-pane .layui-form-label{ |
|
||||||
height: 30px; |
|
||||||
line-height: 14px; |
|
||||||
} |
|
||||||
.x-admin-sm .layui-form-checkbox span{ |
|
||||||
font-size: 12px; |
|
||||||
} |
|
||||||
.x-admin-sm .fly-none .layui-icon { |
|
||||||
line-height: 300px; |
|
||||||
font-size: 300px; |
|
||||||
color: #393D49; |
|
||||||
} |
|
||||||
|
|
||||||
.x-win {display: none;padding: 20px;} |
|
||||||
|
|
||||||
.layui-this{font-weight: bold;} |
|
Before Width: | Height: | Size: 315 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 28 KiB |
@ -1,85 +0,0 @@ |
|||||||
/** |
|
||||||
* 请求工具 |
|
||||||
*/ |
|
||||||
var ApiUtil = (function () { |
|
||||||
var ACCESS_TOKEN_KEY = "sop_admin_access_token"; |
|
||||||
|
|
||||||
// 接口URL,更改此处即可
|
|
||||||
var url = SopConfig.url; |
|
||||||
var URI_CHAR = '/'; |
|
||||||
var params = {}; |
|
||||||
|
|
||||||
(function () { |
|
||||||
var aPairs, aTmp; |
|
||||||
var queryString = window.location.search.toString(); |
|
||||||
queryString = queryString.substring(1, queryString.length); //remove "?"
|
|
||||||
aPairs = queryString.split("&"); |
|
||||||
for (var i = 0; i < aPairs.length; i++) { |
|
||||||
aTmp = aPairs[i].split("="); |
|
||||||
params[aTmp[0]] = decodeURIComponent(aTmp[1]); |
|
||||||
} |
|
||||||
})(); |
|
||||||
|
|
||||||
function formatUri(uri) { |
|
||||||
if (uri.substring(0, 1) !== URI_CHAR) { |
|
||||||
uri = URI_CHAR + uri; |
|
||||||
} |
|
||||||
if (uri.substring(uri.length - 1) !== URI_CHAR) { |
|
||||||
uri = uri + URI_CHAR; |
|
||||||
} |
|
||||||
return uri; |
|
||||||
} |
|
||||||
|
|
||||||
function getAccessToken() { |
|
||||||
return localStorage.getItem(ACCESS_TOKEN_KEY) || ''; |
|
||||||
} |
|
||||||
|
|
||||||
return { |
|
||||||
post: function (uri, params, callback) { |
|
||||||
uri = formatUri(uri); |
|
||||||
sdk.post({ |
|
||||||
url: url + uri |
|
||||||
, data: params // 请求参数
|
|
||||||
, access_token: getAccessToken() |
|
||||||
, callback: function (resp) { // 成功回调
|
|
||||||
var code = resp.code |
|
||||||
if (!code || code === '-9') { |
|
||||||
alert('系统错误'); |
|
||||||
return |
|
||||||
} |
|
||||||
if (code === '-100' || code === '18' || code === '21') { // 未登录
|
|
||||||
ApiUtil.logout() |
|
||||||
return |
|
||||||
} |
|
||||||
if (code === '0') { // 成功
|
|
||||||
callback(resp) |
|
||||||
} else { |
|
||||||
layer.alert(resp.msg); |
|
||||||
} |
|
||||||
} |
|
||||||
}); |
|
||||||
} |
|
||||||
, setAccessToken:function (accessToken) { |
|
||||||
localStorage.setItem(ACCESS_TOKEN_KEY,accessToken); |
|
||||||
} |
|
||||||
, getAccessToken: function () { |
|
||||||
return getAccessToken(); |
|
||||||
} |
|
||||||
, logout: function () { |
|
||||||
localStorage.removeItem(ACCESS_TOKEN_KEY); |
|
||||||
top.location.href = '../login/login.html'; |
|
||||||
} |
|
||||||
, getUrl: function () { |
|
||||||
return url; |
|
||||||
} |
|
||||||
, createUrl: function (uri, params) { |
|
||||||
if (!uri) { |
|
||||||
throw new Error('uri不能为空'); |
|
||||||
} |
|
||||||
return url + formatUri(uri) + (params ? '?data=' + encodeURIComponent(JSON.stringify(params)) : ''); |
|
||||||
} |
|
||||||
, getParam: function (paramName) { |
|
||||||
return params[paramName]; |
|
||||||
} |
|
||||||
} |
|
||||||
})(); |
|
@ -1,38 +0,0 @@ |
|||||||
function setCookie(name, value, expires, path, domain, secure) { |
|
||||||
if(typeof is_remember!="undefined") |
|
||||||
return false; |
|
||||||
var today = new Date(); |
|
||||||
today.setTime( today.getTime() ); |
|
||||||
var expires_date = new Date( today.getTime() + (expires) ); |
|
||||||
document.cookie= name + "=" + escape(value) + |
|
||||||
((expires) ? "; expires=" + expires_date.toGMTString() : "") + |
|
||||||
((path) ? "; path=" + path : "") + |
|
||||||
((domain) ? "; domain=" + domain : "") + |
|
||||||
((secure) ? "; secure" : ""); |
|
||||||
} |
|
||||||
function getCookie(name) { |
|
||||||
var dc = document.cookie; |
|
||||||
var prefix = name + "="; |
|
||||||
var begin = dc.indexOf("; " + prefix); |
|
||||||
if (begin == -1) { |
|
||||||
begin = dc.indexOf(prefix); |
|
||||||
if (begin != 0) return null; |
|
||||||
} else { |
|
||||||
begin += 2; |
|
||||||
} |
|
||||||
var end = document.cookie.indexOf(";", begin); |
|
||||||
if (end == -1) { |
|
||||||
end = dc.length; |
|
||||||
} |
|
||||||
return unescape(dc.substring(begin + prefix.length, end)); |
|
||||||
} |
|
||||||
function deleteCookie(name, path, domain) { |
|
||||||
if (getCookie(name)) { |
|
||||||
document.cookie = name + "=" + |
|
||||||
((path) ? "; path=" + path : "") + |
|
||||||
((domain) ? "; domain=" + domain : "") + |
|
||||||
"; expires=Thu, 01-Jan-70 00:00:01 GMT"; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
|
|
@ -1,37 +0,0 @@ |
|||||||
$(function () { |
|
||||||
var $pageFrame = $('#pageFrame'); |
|
||||||
var $selectLi = null; |
|
||||||
$('.left-nav').on('click', 'li', function (event) { |
|
||||||
var $tagLi = $(this); |
|
||||||
var $tagA = $tagLi.find('a').eq(0); |
|
||||||
var href = $tagA.prop('href'); |
|
||||||
if (href) { |
|
||||||
$pageFrame.prop('src', href + '?q=' + new Date().getTime()); |
|
||||||
if ($selectLi) { |
|
||||||
$selectLi.removeClass('active') |
|
||||||
} |
|
||||||
$selectLi = $tagLi.addClass('active'); |
|
||||||
} |
|
||||||
return false; |
|
||||||
}); |
|
||||||
|
|
||||||
$('.container .left_open i').click(function(event) { |
|
||||||
if($('.left-nav').css('left')=='0px'){ |
|
||||||
$('.left-nav').animate({left: '-221px'}, 100); |
|
||||||
$('.page-content').animate({left: '0px'}, 100); |
|
||||||
$('.page-content-bg').hide(); |
|
||||||
}else{ |
|
||||||
$('.left-nav').animate({left: '0px'}, 100); |
|
||||||
$('.page-content').animate({left: '221px'}, 100); |
|
||||||
if($(window).width()<768){ |
|
||||||
$('.page-content-bg').show(); |
|
||||||
} |
|
||||||
} |
|
||||||
}); |
|
||||||
|
|
||||||
ApiUtil.post('admin.userinfo.get', {}, function (resp) { |
|
||||||
var userInfo = resp.data; |
|
||||||
$('#username').text(userInfo.username); |
|
||||||
}); |
|
||||||
|
|
||||||
}); |
|
@ -1,22 +0,0 @@ |
|||||||
var RouteRole = { |
|
||||||
loadAllRole: function (form, contentId, callback) { |
|
||||||
ApiUtil.post('role.listall', {}, function (resp) { |
|
||||||
var roles = resp.data; |
|
||||||
var html = [] |
|
||||||
for (var i = 0; i < roles.length; i++) { |
|
||||||
if (i > 0 && i % 5 === 0) { |
|
||||||
html.push('<br>'); |
|
||||||
} |
|
||||||
var role = roles[i]; |
|
||||||
html.push('<input type="checkbox" name="roleCode" value="'+role.roleCode+'" lay-skin="primary" title="'+role.description+'">'); |
|
||||||
} |
|
||||||
$('#' + contentId).html(html.join('')); |
|
||||||
|
|
||||||
// 如果你的HTML是动态生成的,自动渲染就会失效
|
|
||||||
// 因此你需要在相应的地方,执行下述方法来手动渲染,跟这类似的还有 element.init();
|
|
||||||
form.render(); |
|
||||||
|
|
||||||
callback && callback(); |
|
||||||
}); |
|
||||||
} |
|
||||||
} |
|
@ -1,414 +0,0 @@ |
|||||||
// Array.prototype.remove = function(val) {
|
|
||||||
// var index = this.indexOf(val);
|
|
||||||
// if (index > -1) {
|
|
||||||
// return this.splice(index, 1);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// };
|
|
||||||
|
|
||||||
$(function () { |
|
||||||
|
|
||||||
//加载弹出层
|
|
||||||
layui.use(['form','element'], |
|
||||||
function() { |
|
||||||
layer = layui.layer; |
|
||||||
element = layui.element; |
|
||||||
|
|
||||||
//tab 右键事件
|
|
||||||
$(".layui-tab-title").on('contextmenu', 'li', function(event) { |
|
||||||
var tab_left = $(this).position().left; |
|
||||||
var left = $(this).position().top; |
|
||||||
this_index = $(this).attr('lay-id'); |
|
||||||
$('#tab_right').css({'left':tab_left+50}).show(); |
|
||||||
$('#tab_show').show(); |
|
||||||
return false; |
|
||||||
}); |
|
||||||
|
|
||||||
$('.page-content,#tab_show,.container,.left-nav').click(function(event) { |
|
||||||
$('#tab_right').hide(); |
|
||||||
$('#tab_show').hide(); |
|
||||||
}); |
|
||||||
|
|
||||||
$('#tab_right').on('click', 'dd', function(event) { |
|
||||||
|
|
||||||
if(getCookie('tab_list')){ |
|
||||||
var tab_list = getCookie('tab_list').split(','); |
|
||||||
}else{ |
|
||||||
var tab_list = []; |
|
||||||
} |
|
||||||
|
|
||||||
var type = $(this).attr('data-type'); |
|
||||||
|
|
||||||
if(type=='this'){ |
|
||||||
|
|
||||||
tab.tabDelete(this_index); |
|
||||||
|
|
||||||
var index = -1; |
|
||||||
|
|
||||||
for (var i in tab_list) { |
|
||||||
if(tab_list[i]==(this_index-1)){ |
|
||||||
index = i; |
|
||||||
} |
|
||||||
}
|
|
||||||
if (index > -1) {
|
|
||||||
tab_list.splice(index, 1);
|
|
||||||
} |
|
||||||
|
|
||||||
setCookie('tab_list',tab_list); |
|
||||||
} |
|
||||||
if(type=='all'){ |
|
||||||
|
|
||||||
for (var i in tab_list) { |
|
||||||
tab.tabDelete(Number(tab_list[i])+1);
|
|
||||||
} |
|
||||||
|
|
||||||
setCookie('tab_list',[]); |
|
||||||
} |
|
||||||
|
|
||||||
if(type=='other'){ |
|
||||||
|
|
||||||
for (var i in tab_list) { |
|
||||||
if(tab_list[i]!=(this_index-1)){ |
|
||||||
tab.tabDelete(Number(tab_list[i])+1);
|
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
setCookie('tab_list',[this_index-1]); |
|
||||||
} |
|
||||||
// alert(this_index);
|
|
||||||
$('#tab_right').hide(); |
|
||||||
}); |
|
||||||
|
|
||||||
// tab 双击事件
|
|
||||||
$(".layui-tab-title").on('dblclick', 'li', function(event) { |
|
||||||
var id = $(this).attr('lay-id'); |
|
||||||
tab.tabDelete(id); |
|
||||||
|
|
||||||
if(getCookie('tab_list')){ |
|
||||||
tab_list = getCookie('tab_list').split(','); |
|
||||||
}else{ |
|
||||||
tab_list = []; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
var index = -1; |
|
||||||
|
|
||||||
for (var i in tab_list) { |
|
||||||
if(tab_list[i]==(id-1)){ |
|
||||||
index = i; |
|
||||||
} |
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (index > -1) {
|
|
||||||
tab_list.splice(index, 1);
|
|
||||||
} |
|
||||||
|
|
||||||
setCookie('tab_list',tab_list); |
|
||||||
return false; |
|
||||||
}); |
|
||||||
|
|
||||||
// tab 删除事件
|
|
||||||
element.on('tabDelete(xbs_tab)', function(data){ |
|
||||||
var id = $(this).parent().attr('lay-id')-1; |
|
||||||
|
|
||||||
if(getCookie('tab_list')){ |
|
||||||
tab_list = getCookie('tab_list').split(','); |
|
||||||
}else{ |
|
||||||
tab_list = []; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
var index = -1; |
|
||||||
|
|
||||||
for (var i in tab_list) { |
|
||||||
if(tab_list[i]==id){ |
|
||||||
index = i; |
|
||||||
} |
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (index > -1) {
|
|
||||||
tab_list.splice(index, 1);
|
|
||||||
} |
|
||||||
|
|
||||||
setCookie('tab_list',tab_list); |
|
||||||
|
|
||||||
}); |
|
||||||
|
|
||||||
if(getCookie('tab_list')){ |
|
||||||
tab_list = getCookie('tab_list').split(','); |
|
||||||
|
|
||||||
for (var i in tab_list) { |
|
||||||
$('.left-nav #nav li').eq(tab_list[i]).click(); |
|
||||||
} |
|
||||||
} |
|
||||||
}); |
|
||||||
|
|
||||||
//触发事件
|
|
||||||
var tab = { |
|
||||||
tabAdd: function(title,url,id){ |
|
||||||
//新增一个Tab项
|
|
||||||
element.tabAdd('xbs_tab', { |
|
||||||
title: title
|
|
||||||
,content: '<iframe tab-id="'+id+'" frameborder="0" src="'+url+'" scrolling="yes" class="x-iframe"></iframe>' |
|
||||||
,id: id |
|
||||||
}) |
|
||||||
} |
|
||||||
,tabDelete: function(othis){ |
|
||||||
//删除指定Tab项
|
|
||||||
element.tabDelete('xbs_tab', othis); //删除:“商品管理”
|
|
||||||
|
|
||||||
|
|
||||||
// othis.addClass('layui-btn-disabled');
|
|
||||||
} |
|
||||||
,tabChange: function(id){ |
|
||||||
//切换到指定Tab项
|
|
||||||
element.tabChange('xbs_tab', id); //切换到:用户管理
|
|
||||||
} |
|
||||||
}; |
|
||||||
|
|
||||||
|
|
||||||
tableCheck = { |
|
||||||
init:function () { |
|
||||||
$(".x-admin .layui-form-checkbox").click(function(event) { |
|
||||||
if($(this).hasClass('layui-form-checked')){ |
|
||||||
$(this).removeClass('layui-form-checked'); |
|
||||||
if($(this).hasClass('header')){ |
|
||||||
$(".x-admin .layui-form-checkbox").removeClass('layui-form-checked'); |
|
||||||
} |
|
||||||
}else{ |
|
||||||
$(this).addClass('layui-form-checked'); |
|
||||||
if($(this).hasClass('header')){ |
|
||||||
$(".x-admin .layui-form-checkbox").addClass('layui-form-checked'); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
}, |
|
||||||
getData:function () { |
|
||||||
var obj = $(".x-admin .layui-form-checked").not('.header'); |
|
||||||
var arr=[]; |
|
||||||
obj.each(function(index, el) { |
|
||||||
arr.push(obj.eq(index).attr('data-id')); |
|
||||||
}); |
|
||||||
return arr; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
// 开启表格多选
|
|
||||||
tableCheck.init(); |
|
||||||
|
|
||||||
|
|
||||||
$('.container .left_open i').click(function(event) { |
|
||||||
if($('.left-nav').css('left')=='0px'){ |
|
||||||
$('.left-nav').animate({left: '-221px'}, 100); |
|
||||||
$('.page-content').animate({left: '0px'}, 100); |
|
||||||
$('.page-content-bg').hide(); |
|
||||||
}else{ |
|
||||||
$('.left-nav').animate({left: '0px'}, 100); |
|
||||||
$('.page-content').animate({left: '221px'}, 100); |
|
||||||
if($(window).width()<768){ |
|
||||||
$('.page-content-bg').show(); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
|
|
||||||
$('.page-content-bg').click(function(event) { |
|
||||||
$('.left-nav').animate({left: '-221px'}, 100); |
|
||||||
$('.page-content').animate({left: '0px'}, 100); |
|
||||||
$(this).hide(); |
|
||||||
}); |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$('.layui-tab-close').click(function(event) { |
|
||||||
$('.layui-tab-title li').eq(0).find('i').remove(); |
|
||||||
}); |
|
||||||
|
|
||||||
$("tbody.x-cate tr[fid!='0']").hide(); |
|
||||||
// 栏目多级显示效果
|
|
||||||
$('.x-show').click(function () { |
|
||||||
if($(this).attr('status')=='true'){ |
|
||||||
$(this).html('');
|
|
||||||
$(this).attr('status','false'); |
|
||||||
cateId = $(this).parents('tr').attr('cate-id'); |
|
||||||
$("tbody tr[fid="+cateId+"]").show(); |
|
||||||
}else{ |
|
||||||
cateIds = []; |
|
||||||
$(this).html(''); |
|
||||||
$(this).attr('status','true'); |
|
||||||
cateId = $(this).parents('tr').attr('cate-id'); |
|
||||||
getCateId(cateId); |
|
||||||
for (var i in cateIds) { |
|
||||||
$("tbody tr[cate-id="+cateIds[i]+"]").hide().find('.x-show').html('').attr('status','true'); |
|
||||||
} |
|
||||||
} |
|
||||||
}) |
|
||||||
|
|
||||||
//左侧菜单效果
|
|
||||||
|
|
||||||
$('.left-nav #nav').on('click', 'li', function(event) { |
|
||||||
|
|
||||||
var index = $('.left-nav #nav li').index($(this)); |
|
||||||
|
|
||||||
if($(this).children('.sub-menu').length){ |
|
||||||
if($(this).hasClass('open')){ |
|
||||||
|
|
||||||
if($(this).parent().hasClass('sub-menu')){ |
|
||||||
deleteCookie('left_menu_son'); |
|
||||||
}else{ |
|
||||||
deleteCookie('left_menu_father'); |
|
||||||
} |
|
||||||
|
|
||||||
$(this).removeClass('open'); |
|
||||||
$(this).find('.nav_right').html(''); |
|
||||||
$(this).children('.sub-menu').stop().slideUp(); |
|
||||||
// $(this).siblings().children('.sub-menu').slideUp();
|
|
||||||
}else{ |
|
||||||
|
|
||||||
|
|
||||||
if($(this).parent().hasClass('sub-menu')){ |
|
||||||
setCookie('left_menu_son',index); |
|
||||||
}else{ |
|
||||||
setCookie('left_menu_father',index); |
|
||||||
} |
|
||||||
|
|
||||||
$(this).addClass('open'); |
|
||||||
$(this).children('a').find('.nav_right').html(''); |
|
||||||
$(this).children('.sub-menu').stop().slideDown(); |
|
||||||
// $(this).siblings().children('.sub-menu').stop().slideUp();
|
|
||||||
// $(this).siblings().find('.nav_right').html('');
|
|
||||||
// $(this).siblings().removeClass('open');
|
|
||||||
} |
|
||||||
}else{ |
|
||||||
|
|
||||||
var url = $(this).children('a').attr('_href'); |
|
||||||
var title = $(this).find('cite').html(); |
|
||||||
// var index = $('.left-nav #nav li').index($(this));
|
|
||||||
|
|
||||||
var is_refresh = $(this).attr('date-refresh')?true:false;
|
|
||||||
|
|
||||||
for (var i = 0; i <$('.x-iframe').length; i++) { |
|
||||||
if($('.x-iframe').eq(i).attr('tab-id')==index+1){ |
|
||||||
tab.tabChange(index+1); |
|
||||||
event.stopPropagation(); |
|
||||||
|
|
||||||
if(is_refresh) |
|
||||||
$('.x-iframe').eq(i).attr("src",$('.x-iframe').eq(i).attr('src')); |
|
||||||
|
|
||||||
return; |
|
||||||
} |
|
||||||
}; |
|
||||||
|
|
||||||
if(getCookie('tab_list')){ |
|
||||||
tab_list = getCookie('tab_list').split(','); |
|
||||||
}else{ |
|
||||||
tab_list = []; |
|
||||||
} |
|
||||||
|
|
||||||
var is_exist = false; |
|
||||||
|
|
||||||
for (var i in tab_list) { |
|
||||||
if(tab_list[i]==index) |
|
||||||
is_exist = true; |
|
||||||
} |
|
||||||
|
|
||||||
if(!is_exist){ |
|
||||||
tab_list.push(index); |
|
||||||
} |
|
||||||
|
|
||||||
setCookie('tab_list',tab_list); |
|
||||||
|
|
||||||
tab.tabAdd(title,url,index+1); |
|
||||||
tab.tabChange(index+1); |
|
||||||
} |
|
||||||
|
|
||||||
event.stopPropagation(); |
|
||||||
|
|
||||||
}) |
|
||||||
|
|
||||||
// 左侧菜单记忆功能
|
|
||||||
/*if(getCookie('left_menu_father')!=null){ |
|
||||||
$('.left-nav #nav li').eq(getCookie('left_menu_father')).click(); |
|
||||||
} |
|
||||||
|
|
||||||
if(getCookie('left_menu_son')!=null){ |
|
||||||
$('.left-nav #nav li').eq(getCookie('left_menu_son')).click(); |
|
||||||
}*/ |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}) |
|
||||||
|
|
||||||
var cateIds = []; |
|
||||||
function getCateId(cateId) { |
|
||||||
|
|
||||||
$("tbody tr[fid="+cateId+"]").each(function(index, el) { |
|
||||||
id = $(el).attr('cate-id'); |
|
||||||
cateIds.push(id); |
|
||||||
getCateId(id); |
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
/*弹出层*/ |
|
||||||
/* |
|
||||||
参数解释: |
|
||||||
title 标题 |
|
||||||
url 请求的url |
|
||||||
id 需要操作的数据id |
|
||||||
w 弹出层宽度(缺省调默认值) |
|
||||||
h 弹出层高度(缺省调默认值) |
|
||||||
*/ |
|
||||||
function x_admin_show(title,url,w,h){ |
|
||||||
if (title == null || title == '') { |
|
||||||
title=false; |
|
||||||
}; |
|
||||||
if (url == null || url == '') { |
|
||||||
url="404.html"; |
|
||||||
}; |
|
||||||
if (w == null || w == '') { |
|
||||||
w=($(window).width()*0.9); |
|
||||||
}; |
|
||||||
if (h == null || h == '') { |
|
||||||
h=($(window).height() - 50); |
|
||||||
}; |
|
||||||
layer.open({ |
|
||||||
type: 2, |
|
||||||
area: [w+'px', h +'px'], |
|
||||||
fix: false, //不固定
|
|
||||||
maxmin: true, |
|
||||||
shadeClose: true, |
|
||||||
shade:0.4, |
|
||||||
title: title, |
|
||||||
content: url, |
|
||||||
success: function(){ |
|
||||||
//窗口加载成功刷新frame
|
|
||||||
// location.replace(location.href);
|
|
||||||
}, |
|
||||||
cancel:function(){ |
|
||||||
//关闭窗口之后刷新frame
|
|
||||||
// location.replace(location.href);
|
|
||||||
}, |
|
||||||
end:function(){ |
|
||||||
//窗口销毁之后刷新frame
|
|
||||||
// location.replace(location.href);
|
|
||||||
} |
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
/*关闭弹出框口*/ |
|
||||||
function x_admin_close(){ |
|
||||||
var index = parent.layer.getFrameIndex(window.name); |
|
||||||
parent.layer.close(index); |
|
||||||
} |
|
||||||
|
|
||||||
function x_admin_father_reload(){ |
|
||||||
|
|
||||||
parent.location.reload(); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,136 +0,0 @@ |
|||||||
<!DOCTYPE html> |
|
||||||
<html> |
|
||||||
<head> |
|
||||||
<meta charset="UTF-8"> |
|
||||||
<title>sdk</title> |
|
||||||
<script type="text/javascript" src="sdk.js"></script> |
|
||||||
<script type="text/javascript"> |
|
||||||
//需要发布到服务器上运行,并且server端需要处理跨域 |
|
||||||
//在IndexController.java上加@CrossOrigin(origins={"*"}) |
|
||||||
|
|
||||||
// 初始化配置,执行一次即可 |
|
||||||
sdk.config({ |
|
||||||
url : 'http://localhost:8080/api' |
|
||||||
,app_key : 'test' |
|
||||||
,secret : '123456' |
|
||||||
}); |
|
||||||
|
|
||||||
sdk.get({ |
|
||||||
name : 'goods.get' // 接口名 |
|
||||||
// ,version:'1.0' |
|
||||||
// ,access_token:'' |
|
||||||
,data : {'goods_name':'iphone'} // 请求参数 |
|
||||||
,callback:function(resp) { // 成功回调 |
|
||||||
console.log(resp) |
|
||||||
} |
|
||||||
}); |
|
||||||
</script> |
|
||||||
</head> |
|
||||||
<body> |
|
||||||
|
|
||||||
<h1>打开F12查看效果</h1> |
|
||||||
|
|
||||||
<fieldset> |
|
||||||
<legend>GET/POST</legend> |
|
||||||
<button onclick="getTest()">GET</button> |
|
||||||
<button onclick="postTest()">POST</button> |
|
||||||
</fieldset> |
|
||||||
<hr> |
|
||||||
<fieldset> |
|
||||||
<legend>上传文件demo</legend> |
|
||||||
<form id="frm"> |
|
||||||
头像图片:<input type="file" name="headImg"/> <br><br> |
|
||||||
身份证图片:<input type="file" name="idcardImg"/> |
|
||||||
</form> |
|
||||||
<br> |
|
||||||
<button onclick="uploadTest()">上传文件请求</button> |
|
||||||
</fieldset> |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<pre> |
|
||||||
//需要发布到服务器上运行,并且server端需要处理跨域 |
|
||||||
//在IndexController.java上加@CrossOrigin(origins={"*"}) |
|
||||||
|
|
||||||
sdk.config({ |
|
||||||
url : 'http://localhost:8080/api' |
|
||||||
,app_key : 'test' |
|
||||||
,secret : '123456' |
|
||||||
}); |
|
||||||
|
|
||||||
sdk.get({ |
|
||||||
name : 'goods.get' // 接口名 |
|
||||||
,data : {'goods_name':'iphone'} // 请求参数 |
|
||||||
,callback:function(resp) { // 成功回调 |
|
||||||
console.log(resp) |
|
||||||
} |
|
||||||
}); // get方式不支持上传 |
|
||||||
|
|
||||||
sdk.post({ |
|
||||||
name : 'goods.get' // 接口名 |
|
||||||
,data : {'goods_name':'iphone'} // 请求参数 |
|
||||||
,callback:function(resp) { // 成功回调 |
|
||||||
console.log(resp) |
|
||||||
} |
|
||||||
}); |
|
||||||
|
|
||||||
|
|
||||||
/* ****************上传文件**************** */ |
|
||||||
<form id="frm"> |
|
||||||
上传文件1:<input type="file" name="headImg"/> |
|
||||||
上传文件2:<input type="file" name="idcardImg"/> |
|
||||||
</form> |
|
||||||
|
|
||||||
function uploadTest() { |
|
||||||
sdk.get({ |
|
||||||
name : 'file.upload' // 接口名 |
|
||||||
,data : {'goods_name':'iphone'} // 请求参数 |
|
||||||
,form : document.getElementById('frm') |
|
||||||
,callback:function(resp) { // 成功回调 |
|
||||||
if(resp.code == '0') { |
|
||||||
alert('上传成功,' + resp.msg); |
|
||||||
} else { |
|
||||||
alert('上传失败,' + resp.msg) |
|
||||||
} |
|
||||||
} |
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
</pre> |
|
||||||
|
|
||||||
<script type="text/javascript"> |
|
||||||
function uploadTest() { |
|
||||||
sdk.post({ |
|
||||||
name : 'file.upload' // 接口名 |
|
||||||
,data : {'goods_name':'iphone'} // 请求参数 |
|
||||||
,form : document.getElementById('frm') |
|
||||||
,callback:function(resp) { // 成功回调 |
|
||||||
if(resp.code == '0') { |
|
||||||
alert('上传成功,' + resp.data); |
|
||||||
} else { |
|
||||||
alert('上传失败,' + resp.msg) |
|
||||||
} |
|
||||||
} |
|
||||||
}); |
|
||||||
} |
|
||||||
function getTest() { |
|
||||||
sdk.get({ |
|
||||||
name : 'goods.get' // 接口名 |
|
||||||
,data : {'goods_name':'iphone'} // 请求参数 |
|
||||||
,callback:function(resp) { // 成功回调 |
|
||||||
console.log(resp); |
|
||||||
} |
|
||||||
}); |
|
||||||
} |
|
||||||
function postTest() { |
|
||||||
sdk.post({ |
|
||||||
name : 'goods.get' // 接口名 |
|
||||||
,data : {'goods_name':'iphone'} // 请求参数 |
|
||||||
,callback:function(resp) { // 成功回调 |
|
||||||
console.log(resp); |
|
||||||
} |
|
||||||
}); |
|
||||||
} |
|
||||||
</script> |
|
||||||
</body> |
|
||||||
</html> |
|
@ -1,2 +0,0 @@ |
|||||||
/** layui-v2.4.5 MIT License By https://www.layui.com */ |
|
||||||
html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none} |
|
Before Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 701 B |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 274 KiB |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 777 B |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 3.5 KiB |