@ -1,5 +1,4 @@ |
||||
# 后台admin |
||||
|
||||
- sop-admin-front: admin前端layui实现(停止维护,改用sop-admin-vue) |
||||
- sop-admin-server: admin服务端 |
||||
- 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 |