补充文件
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
/.idea
|
||||
|
||||
@@ -13,13 +13,13 @@ return [
|
||||
// 数据库类型
|
||||
'type' => 'mysql',
|
||||
// 服务器地址
|
||||
'hostname' => 'localhost',
|
||||
'hostname' => 'mysql',
|
||||
// 数据库名
|
||||
'database' => 'helper',
|
||||
// 用户名
|
||||
'username' => 'helper',
|
||||
// 密码
|
||||
'password' => 'wjyBRncHHY2ls4Cd',
|
||||
'password' => '123456',
|
||||
// 端口
|
||||
'hostport' => 3306,
|
||||
// 连接dsn
|
||||
|
||||
@@ -8,10 +8,10 @@
|
||||
// +------------------------------------------------+
|
||||
|
||||
return [
|
||||
'token' => 'A2aj8BtAv',
|
||||
'appid' => 'wxa655be02706ddeea',
|
||||
'secret' => '06196cb22490c323a5edcbf1d9e67403',
|
||||
'AESKey' => 'u7xi2oB8FcFJ4dn2MiP3wFhOaM65WQQUgHIpnbTnEiv',
|
||||
'mch_id' => '1486263952',
|
||||
'paykey' => 'CA72BE33311570FE25AFD91DE880376D',
|
||||
'token' => '',
|
||||
'appid' => 'wx1c5ee7f76bfcb824',
|
||||
'secret' => '2c81a59698a2cf70547ef9e88986ccc5',
|
||||
'AESKey' => '',
|
||||
'mch_id' => '',
|
||||
'paykey' => '',
|
||||
];
|
||||
|
||||
@@ -18,11 +18,11 @@ return [
|
||||
],
|
||||
|
||||
'__domain__' => [
|
||||
'www.helper.skl2010.com' => 'index',
|
||||
'm.helper.skl2010.com' => 'mobile',
|
||||
'console.helper.skl2010.com' => 'system',
|
||||
'api.helper.skl2010.com' => 'openapi',
|
||||
'*' => 'index',
|
||||
'helper.demos.uzchain.tech' => 'index',
|
||||
'm.helper.demos.uzchain.tech' => 'mobile',
|
||||
'console.helper.demos.uzchain.tech' => 'system',
|
||||
'api.helper.demos.uzchain.tech' => 'openapi',
|
||||
'*' => 'index',
|
||||
],
|
||||
|
||||
// 'u/:uid' => ['user/index', ['domain' => 'm.helper.cnskl.com']],
|
||||
|
||||
1
public/static/.gitignore
vendored
@@ -1,2 +1 @@
|
||||
*
|
||||
!.gitignore
|
||||
1
public/static/mobile/css/conciseUi.css
Normal file
@@ -0,0 +1 @@
|
||||
input{-webkit-appearance:normal;-moz-appearance:normal;appearance:normal;font-family:"微软雅黑";font-size:14px}.ce-normal{font-weight:normal !important}.ce-bold{font-weight:bold !important}.ce-bolder{font-weight:bolder !important}.ce-lighter{font-weight:lighter !important}.ce-text-r{text-align:right}.ce-text-l{text-align:left}.ce-text-c{text-align:center}.ce-float-r{float:right}.ce-float-l{float:left}.ce-position-r{position:relative}.ce-position-a{position:absolute}.ce-position-f{position:fixed}.ce-nowrap{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ce-nowrap-multi{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ce-pack-center{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-pack:center;position:absolute;left:0;right:0;top:0;bottom:0}.ce-padding{padding:20px}.ce-padding-l{padding-left:20px}.ce-padding-t{padding-top:20px}.ce-padding-r{padding-right:20px}.ce-padding-b{padding-bottom:20px}.ce-padding-tb{padding:20px 0 !important}.ce-padding-rl{padding:0 20px !important}.ce-padding-sm{padding:10px}.ce-padding-l-sm{padding-left:10px}.ce-padding-t-sm{padding-top:10px}.ce-padding-r-sm{padding-right:10px}.ce-padding-b-sm{padding-bottom:10px}.ce-padding-tb-sm{padding:10px 0 !important}.ce-padding-rl-sm{padding:0 10px !important}.ce-padding-none{padding:0 !important}.ce-margin{margin:20px}.ce-margin-l{margin-left:20px}.ce-margin-t{margin-top:20px}.ce-margin-r{margin-right:20px}.ce-margin-b{margin-bottom:20px}.ce-margin-tb{margin:20px 0 !important}.ce-margin-rl{margin:0 20px !important}.ce-margin-sm{margin:10px}.ce-margin-l-sm{margin-left:10px}.ce-margin-t-sm{margin-top:10px}.ce-margin-r-sm{margin-right:10px}.ce-margin-b-sm{margin-bottom:10px}.ce-margin-tb-sm{margin:10px 0 !important}.ce-margin-rl-sm{margin:0 10px !important}.ce-margin-none{margin:0 !important}.ce-border{border:1px solid #e0e0e0}.ce-border-l{border-left:1px solid #e0e0e0}.ce-border-t{border-top:1px solid #e0e0e0}.ce-border-r{border-right:1px solid #e0e0e0}.ce-border-b{border-bottom:1px solid #e0e0e0}.ce-header{top:0;height:46px}.ce-footer{bottom:0;height:60px}.ce-header,.ce-footer{position:fixed;width:100%;z-index:99}.ce-header~.ce-content{border-top:solid 46px transparent}.ce-footer~.ce-content{border-bottom:solid 59px transparent}.ce-user-portrait,.ce-img{position:relative}.ce-user-portrait>span,.ce-img>span{position:absolute;height:100%;width:100%;top:0;left:0}.ce-user-portrait{background-image:url(../img/conciseuiLogo.png)}.ce-img{background-image:url(../img/conciceui_img.png)}.ce-radius{border-radius:100%}.ce-user-portrait,.ce-user-portrait>span,.ce-img>span{background-repeat:no-repeat;background-size:cover;background-position:center}
|
||||
4
public/static/mobile/css/font-awesome.min.css
vendored
Normal file
359
public/static/mobile/css/layer.css
Normal file
@@ -0,0 +1,359 @@
|
||||
.layui-m-layer {
|
||||
position: relative;
|
||||
z-index: 19891014
|
||||
}
|
||||
|
||||
.layui-m-layer * {
|
||||
-webkit-box-sizing: content-box;
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box
|
||||
}
|
||||
|
||||
.layui-m-layermain,.layui-m-layershade {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%
|
||||
}
|
||||
|
||||
.layui-m-layershade {
|
||||
background-color: rgba(0,0,0,.7);
|
||||
pointer-events: auto
|
||||
}
|
||||
|
||||
.layui-m-layermain {
|
||||
display: table;
|
||||
font-family: Helvetica,arial,sans-serif;
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.layui-m-layermain .layui-m-layersection {
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.layui-m-layerchild {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
text-align: left;
|
||||
background-color: #fff;
|
||||
font-size: 14px;
|
||||
border-radius: 5px;
|
||||
box-shadow: 0 0 8px rgba(0,0,0,.1);
|
||||
pointer-events: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
-webkit-animation-fill-mode: both;
|
||||
animation-fill-mode: both;
|
||||
-webkit-animation-duration: .2s;
|
||||
animation-duration: .2s
|
||||
}
|
||||
|
||||
@-webkit-keyframes layui-m-anim-scale {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: scale(.5);
|
||||
transform: scale(.5)
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
-webkit-transform: scale(1);
|
||||
transform: scale(1)
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes layui-m-anim-scale {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: scale(.5);
|
||||
transform: scale(.5)
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
-webkit-transform: scale(1);
|
||||
transform: scale(1)
|
||||
}
|
||||
}
|
||||
|
||||
.layui-m-anim-scale {
|
||||
animation-name: layui-m-anim-scale;
|
||||
-webkit-animation-name: layui-m-anim-scale
|
||||
}
|
||||
|
||||
@-webkit-keyframes layui-m-anim-up {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: translateY(800px);
|
||||
transform: translateY(800px)
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
-webkit-transform: translateY(0);
|
||||
transform: translateY(0)
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes layui-m-anim-up {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: translateY(800px);
|
||||
transform: translateY(800px)
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
-webkit-transform: translateY(0);
|
||||
transform: translateY(0)
|
||||
}
|
||||
}
|
||||
|
||||
.layui-m-anim-up {
|
||||
-webkit-animation-name: layui-m-anim-up;
|
||||
animation-name: layui-m-anim-up
|
||||
}
|
||||
|
||||
.layui-m-layer0 .layui-m-layerchild {
|
||||
width: 90%;
|
||||
max-width: 640px
|
||||
}
|
||||
|
||||
.layui-m-layer1 .layui-m-layerchild {
|
||||
border: none;
|
||||
border-radius: 0
|
||||
}
|
||||
|
||||
.layui-m-layer2 .layui-m-layerchild {
|
||||
width: auto;
|
||||
max-width: 260px;
|
||||
min-width: 40px;
|
||||
border: none;
|
||||
background: 0 0;
|
||||
box-shadow: none;
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.layui-m-layerchild h3 {
|
||||
padding: 0 10px;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
font-size: 16px;
|
||||
margin-bottom: 0;
|
||||
font-weight: 400;
|
||||
border-radius: 5px 5px 0 0;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.layui-m-layerbtn span,.layui-m-layerchild h3 {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
white-space: nowrap
|
||||
}
|
||||
|
||||
.layui-m-layercont {
|
||||
padding: 20px;
|
||||
line-height: 22px;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.layui-m-layer1 .layui-m-layercont {
|
||||
padding: 0;
|
||||
text-align: left
|
||||
}
|
||||
|
||||
.layui-m-layer2 .layui-m-layercont {
|
||||
text-align: center;
|
||||
padding: 0;
|
||||
line-height: 0
|
||||
}
|
||||
|
||||
.layui-m-layer2 .layui-m-layercont i {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
margin-left: 8px;
|
||||
display: inline-block;
|
||||
background-color: #fff;
|
||||
border-radius: 100%;
|
||||
-webkit-animation: layui-m-anim-loading 1.4s infinite ease-in-out;
|
||||
animation: layui-m-anim-loading 1.4s infinite ease-in-out;
|
||||
-webkit-animation-fill-mode: both;
|
||||
animation-fill-mode: both
|
||||
}
|
||||
|
||||
.layui-m-layerbtn,.layui-m-layerbtn span {
|
||||
position: relative;
|
||||
text-align: center;
|
||||
border-radius: 0 0 5px 5px
|
||||
}
|
||||
|
||||
.layui-m-layer2 .layui-m-layercont p {
|
||||
margin-top: 20px
|
||||
}
|
||||
|
||||
@-webkit-keyframes layui-m-anim-loading {
|
||||
0%,100%,80% {
|
||||
transform: scale(0);
|
||||
-webkit-transform: scale(0)
|
||||
}
|
||||
|
||||
40% {
|
||||
transform: scale(1);
|
||||
-webkit-transform: scale(1)
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes layui-m-anim-loading {
|
||||
0%,100%,80% {
|
||||
transform: scale(0);
|
||||
-webkit-transform: scale(0)
|
||||
}
|
||||
|
||||
40% {
|
||||
transform: scale(1);
|
||||
-webkit-transform: scale(1)
|
||||
}
|
||||
}
|
||||
|
||||
.layui-m-layer2 .layui-m-layercont i:first-child {
|
||||
margin-left: 0;
|
||||
-webkit-animation-delay: -.32s;
|
||||
animation-delay: -.32s
|
||||
}
|
||||
|
||||
.layui-m-layer2 .layui-m-layercont i.layui-m-layerload {
|
||||
-webkit-animation-delay: -.16s;
|
||||
animation-delay: -.16s
|
||||
}
|
||||
|
||||
.layui-m-layer2 .layui-m-layercont>div {
|
||||
line-height: 22px;
|
||||
padding-top: 7px;
|
||||
margin-bottom: 20px;
|
||||
font-size: 14px
|
||||
}
|
||||
|
||||
.layui-m-layerbtn {
|
||||
display: box;
|
||||
display: -moz-box;
|
||||
display: -webkit-box;
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
font-size: 0;
|
||||
border-top: 1px solid #D0D0D0;
|
||||
background-color: #F2F2F2
|
||||
}
|
||||
|
||||
.layui-m-layerbtn span {
|
||||
display: block;
|
||||
-moz-box-flex: 1;
|
||||
box-flex: 1;
|
||||
-webkit-box-flex: 1;
|
||||
font-size: 14px;
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.layui-m-layerbtn span[yes] {
|
||||
color: #fff;
|
||||
background: #56abec;
|
||||
border-radius: 0 0 5px 0;
|
||||
}
|
||||
|
||||
.layui-m-layerbtn span[no] {
|
||||
border-right: 1px solid #D0D0D0;
|
||||
border-radius: 0 0 0 5px;
|
||||
color: #fff;
|
||||
background: #c8c8c8;
|
||||
}
|
||||
|
||||
.layui-m-layerbtn span:active {
|
||||
background-color: #F6F6F6
|
||||
}
|
||||
|
||||
.layui-m-layerend {
|
||||
position: absolute;
|
||||
right: 7px;
|
||||
top: 10px;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
border: 0;
|
||||
font-weight: 400;
|
||||
background: 0 0;
|
||||
cursor: pointer;
|
||||
-webkit-appearance: none;
|
||||
font-size: 30px
|
||||
}
|
||||
|
||||
.layui-m-layerend::after,.layui-m-layerend::before {
|
||||
position: absolute;
|
||||
left: 5px;
|
||||
top: 15px;
|
||||
content: '';
|
||||
width: 18px;
|
||||
height: 1px;
|
||||
background-color: #999;
|
||||
transform: rotate(45deg);
|
||||
-webkit-transform: rotate(45deg);
|
||||
border-radius: 3px
|
||||
}
|
||||
|
||||
.layui-m-layerend::after {
|
||||
transform: rotate(-45deg);
|
||||
-webkit-transform: rotate(-45deg)
|
||||
}
|
||||
|
||||
body .layui-m-layer .layui-m-layer-footer {
|
||||
position: fixed;
|
||||
width: 95%;
|
||||
max-width: 100%;
|
||||
margin: 0 auto;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 10px;
|
||||
background: 0 0
|
||||
}
|
||||
|
||||
.layui-m-layer-footer .layui-m-layercont {
|
||||
padding: 20px;
|
||||
border-radius: 5px 5px 0 0;
|
||||
background-color: rgba(255,255,255,.8)
|
||||
}
|
||||
|
||||
.layui-m-layer-footer .layui-m-layerbtn {
|
||||
display: block;
|
||||
height: auto;
|
||||
background: 0 0;
|
||||
border-top: none
|
||||
}
|
||||
|
||||
.layui-m-layer-footer .layui-m-layerbtn span {
|
||||
background-color: rgba(255,255,255,.8)
|
||||
}
|
||||
|
||||
.layui-m-layer-footer .layui-m-layerbtn span[no] {
|
||||
color: #FD482C;
|
||||
border-top: 1px solid #c2c2c2;
|
||||
border-radius: 0 0 5px 5px;
|
||||
}
|
||||
|
||||
.layui-m-layer-footer .layui-m-layerbtn span[yes] {
|
||||
margin-top: 10px;
|
||||
border-radius: 5px
|
||||
}
|
||||
|
||||
body .layui-m-layer .layui-m-layer-msg {
|
||||
width: auto;
|
||||
max-width: 90%;
|
||||
margin: 0 auto;
|
||||
bottom: -150px;
|
||||
background-color: rgba(0,0,0,.7);
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.layui-m-layer-msg .layui-m-layercont {
|
||||
padding: 10px 20px
|
||||
}
|
||||
|
||||
4
public/static/mobile/css/mzui.min.css
vendored
Normal file
615
public/static/mobile/css/style.css
Normal file
@@ -0,0 +1,615 @@
|
||||
|
||||
*,ul,p,img{margin: 0; padding: 0;}
|
||||
body{background: #f8f8f8; font-size: .7rem; font-family: "微软雅黑";}
|
||||
ul{list-style-type: none;}
|
||||
|
||||
/*
|
||||
头部
|
||||
*/
|
||||
|
||||
.header{background: #18b4ed; color: #fff; line-height: 2.3rem;}
|
||||
.header-btn{position: absolute;}
|
||||
.header-left{left: .5rem;}
|
||||
.header-right{right: .5rem}
|
||||
|
||||
/*
|
||||
尾部
|
||||
*/
|
||||
|
||||
.footer-nav{background: #fff; box-shadow: .05rem .05rem .05rem 0 #f2f2f2; border-top: solid .05rem #dedede;}
|
||||
.footer-nav ul{overflow: hidden; padding:.5rem 0;}
|
||||
.footer-nav li{width: 20%; float: left; text-align: center; color: #666;}
|
||||
.footer-nav i{font-size: .9rem; margin-bottom: .15rem;}
|
||||
.footer-nav p{font-size: .6rem;}
|
||||
.footer-nav ul li.active{color: #059ad0;}
|
||||
|
||||
/*
|
||||
用户主页
|
||||
*/
|
||||
|
||||
.user-home-btn{background: #fff; overflow: hidden; border-top: solid .05rem #dedede;}
|
||||
.user-home-btn li{float: left; width: 33.33%; text-align: center; padding: 1rem .5rem; border-left: solid .05rem #dedede; border-bottom: solid .05rem #dedede;}
|
||||
.user-home-btn li:nth-child(1),.user-home-btn li:nth-child(4){border-left: none;}
|
||||
.user-home-btn i{font-size: 1rem; margin-bottom:.2rem;}
|
||||
.user-home-btn li:nth-child(1)>i{color: #18b4ed;}
|
||||
.user-home-btn li:nth-child(2)>i{color: #efc91c;}
|
||||
.user-home-btn li:nth-child(3)>i{color: #e85700;}
|
||||
.user-home-btn li:nth-child(4)>i{color: #db0f1a;}
|
||||
.user-home-btn li:nth-child(5)>i{color: #9ddf1d;}
|
||||
.user-home-btn li:nth-child(6)>i{color: #aaaaaa;}
|
||||
.user-home-btn li:nth-child(10)>i{color: #7a9cff;}
|
||||
.user-home-btn li:nth-child(11)>i{color: #ff7474;}
|
||||
.user-home-btn li:nth-child(12)>i{color: #ffa264;}
|
||||
|
||||
.user-home-data{background: #18b4ed; position: relative;}
|
||||
.user-home-portrait{position: relative; height: 3rem; width: 3rem; overflow: hidden; background: url(../img/portrait_03.jpg); background-size: cover; background-position: center;}
|
||||
.user-home-portrait>p{position: absolute; background: rgba(0,0,0,.5); font-size: .6rem; bottom: 0; color: #fff; line-height: 1.2rem; width: 100%; text-align: center;}
|
||||
.user-home-name{color: #fff; left: 4.5rem; top: 1rem; bottom: 1rem; right: 1rem;}
|
||||
.user-home-cog{position: absolute; right: .5rem; top: .5rem; background: rgba(0,0,0,.2); color: #fff; line-height: 1rem; padding: 0 .5rem; border-radius: .5rem;}
|
||||
|
||||
.user-home-data-btn{margin-top: .2rem;}
|
||||
.user-home-data-btn span:nth-child(1),.user-home-data-btn a,.user-identity-vip{display: inline-block; border-radius: .2rem; border:solid .05rem #fff; font-size: .65rem; padding: 0 .3rem;}
|
||||
.user-home-data-btn span:nth-child(1){background: #aaa; color: #fff;}
|
||||
.user-home-data-btn a{background: #db0f1a; color: #fff;}
|
||||
.user-home-data-btn span.user-identity-vip{background: #db0f1a; color: #fee300;}
|
||||
.user-home-data-btn span.user-identity-vip{display: none;}
|
||||
.user-home-data-vip span:nth-child(1),.user-home-data-vip a{display: none;}
|
||||
.user-home-data-vip span.user-identity-vip{display: inline-block;}
|
||||
|
||||
/*
|
||||
经验分享
|
||||
*/
|
||||
|
||||
.header-experience-share{border:solid .05rem #fff; color: #fff; padding: 0 .2rem; border-radius: .2rem;}
|
||||
.header-return-btn>i{font-size: .8rem;}
|
||||
.experience-list>li{background: #fff; border-top: solid .05rem #dedede; border-bottom: solid .05rem #dedede;}
|
||||
.experience-list-other{color: #999;}
|
||||
.experience-list-other span{margin-right: .5rem;}
|
||||
.experience-list-user{padding-left: 2.5rem; position: relative; height: 2rem;}
|
||||
.experience-list-user>p{color: #999; line-height: 1rem;}
|
||||
.experience-list-user>p:nth-child(2){color: #18b4ed;}
|
||||
.experience-user-portrait{height: 2rem; width: 2rem; position: absolute; left: 0; top: 0;}
|
||||
|
||||
.experience-float-btn{position: fixed; bottom: 4rem; z-index: 99; right: 1rem; background: #e1811b; color: #fff; height: 2rem; width: 2rem; text-align: center; line-height: 2rem; border-radius: 50%; font-size: .9rem;}
|
||||
|
||||
.experience-release{width: 100%; border-top:solid .05rem #dedede; border-bottom:solid .05rem #dedede; border-right:none; border-left:none; padding: .5rem; height: 10rem;}
|
||||
|
||||
/*
|
||||
分享经验详情
|
||||
*/
|
||||
.experience-footer ~ .reply-content{margin-bottom: 2.4rem;}
|
||||
|
||||
.experience-footer{position: fixed; bottom: 0; background: #fff; width: 100%; padding: .4rem 0; border-top: solid .05rem #dedede; z-index: 99;}
|
||||
.experience-footer li{float: left; width: 33.33%; line-height: 1.6rem; border-right: solid .05rem #dedede; text-align: center; color: #999;}
|
||||
.experience-footer li:last-child{border-right: none;}
|
||||
.experience-footer li.active{color: #18b4ed;}
|
||||
|
||||
.experience-txt{background: #fff; border-bottom: solid .05rem #dedede; }
|
||||
.experience-txt>div.experience-list-user{padding-left: 3rem; height: 3rem; border-bottom: solid .05rem #dedede;}
|
||||
.experience-txt>div.experience-list-user .experience-user-portrait{top: .5rem; left: .5rem;}
|
||||
.user-lv{background: #fcbe00; margin-right: .2rem; padding: 0 .2rem; border-radius: .2rem; color: #fff; font-size: .6rem;}
|
||||
|
||||
.reply-content{background: #fff; border-top: solid .05rem #dedede; border-bottom: solid .05rem #dedede;}
|
||||
.reply-content-title{border-left: .3rem solid #18b4ed; line-height: 1.5rem; padding-left: .5rem; margin: .2rem 0; padding-right: .5rem; overflow: hidden;}
|
||||
.reply-content-title>span{float: right; color: #18b4ed}
|
||||
.reply-list li{border-bottom: solid .05rem #dedede;}
|
||||
.reply-list li:last-child{border-bottom: none;}
|
||||
|
||||
.reply-content-user{position: relative;}
|
||||
.reply-content-user>p,.reply-content-user>span.reply-list-layer{color: #999; top: 0; line-height: 1.5rem; position: absolute;}
|
||||
.reply-content-user>p{left:2rem; right: 2rem; }
|
||||
.reply-content-user>span.reply-list-layer{right: 0;}
|
||||
.reply-content-portrait{height: 1.5rem; width: 1.5rem;}
|
||||
|
||||
.reply-list-tool span{float: right; margin-left: .8rem;}
|
||||
.reply-list-tool span.active{color: #18b4ed;}
|
||||
|
||||
.comment-form{padding: .5rem; overflow: hidden; background: #fff; position: absolute; z-index: 99; width: 90%; -webkit-box-sizing: border-box; box-sizing: border-box; left: 5%; top: 30%; border-radius: .2rem;}
|
||||
.comment-form textarea{width: 100%; height: 5rem; border:solid .05rem #dedede; border-radius: .2rem; padding: .5rem; -webkit-box-sizing: border-box; box-sizing: border-box;}
|
||||
.comment-form button{float: right; margin-top: .5rem; background: #18b4ed; color: #fff; padding: .2rem .5rem; border:none; border-radius: .2rem;}
|
||||
.comment-form p{text-align: center; padding-bottom: .5rem;}
|
||||
.comment-form-back{position: absolute; height: 100%; width: 100%; background: rgba(0,0,0,.5); z-index: 98;}
|
||||
|
||||
.comment-form,.comment-form-back{display: none;}
|
||||
|
||||
/*
|
||||
我的分享
|
||||
*/
|
||||
|
||||
.my-experience-list{padding-right: 2rem;}
|
||||
.my-experience-list>a{position: absolute; right: 0; top: 0; display: block; width: 2rem; line-height: 2rem; font-size: .9rem; text-align: center; color: #777;}
|
||||
|
||||
/*
|
||||
发布文章
|
||||
*/
|
||||
|
||||
.novice-guide{background: #fff; border-bottom: solid .05rem #dedede; position: relative; z-index: 9;}
|
||||
.novice-guide>a{border:solid .05rem #18b4ed; color: #18b4ed; line-height: 2rem; display:block; border-radius: .2rem; text-align: center;}
|
||||
|
||||
.article-pub-list{padding-bottom: .5rem;}
|
||||
.article-pub-list li{background: #fff; border:solid .05rem #dedede; margin-top: .5rem; border-radius: .2rem;}
|
||||
|
||||
.edit-btn{text-align: center; overflow: hidden; line-height: 1.6rem; border-top: solid .05rem #dedede;}
|
||||
.edit-btn>a{width:33.33%; display: inline-block; float: left;}
|
||||
.edit-btn>a:nth-child(1){color: #999;}
|
||||
.edit-btn>a:nth-child(2){color: #18b4ed;}
|
||||
.edit-btn>a:nth-child(3){color: #f76951;}
|
||||
|
||||
.edit-txt{position: relative;}
|
||||
.edit-txt-img{height: 3rem; width: 3rem; background-image: url(../img/collection-img_03.png); background-size: cover; border:solid .05rem #dedede;}
|
||||
.edit-txt-txt{position: absolute; left: 4rem; top: .5rem; right: .5rem; bottom: .5rem;}
|
||||
.edit-txt-txt>p.edit-txt-time{position: absolute; bottom: 0; width: 100%; color: #999;}
|
||||
.edit-txt-txt>p.edit-txt-time>span{float: right;}
|
||||
|
||||
/*
|
||||
采集文章
|
||||
*/
|
||||
|
||||
.collectione-add-block{border-radius: .2rem; margin: .5rem; border:solid .05rem #dedede; background: #fff;}
|
||||
.collectione-add-form{padding: .5rem;}
|
||||
.collectione-add-form>textarea{width: 100%; height: 4rem; background: #f7f7f7; border:none; margin-bottom: .5rem;}
|
||||
.collectione-add-form button{text-align: center; width: 40%; margin: 0 .5rem; border-radius: .2rem; border:none; line-height: 1.5rem; color: #fff; background: #d0d0d0;}
|
||||
.collectione-add-form>p>button:nth-child(2){background: #18b4ed;}
|
||||
|
||||
.collectione-add-txt{color: #999;}
|
||||
.collectione-add-telte{border-bottom: solid .05rem #dedede;}
|
||||
|
||||
/*
|
||||
空提示
|
||||
*/
|
||||
|
||||
.null-prompt{text-align: center; color: #999;}
|
||||
.null-prompt>img{width: 4rem;}
|
||||
|
||||
/*
|
||||
模版列表
|
||||
*/
|
||||
|
||||
.template-list{overflow: hidden; padding: .25rem;}
|
||||
.template-list>li{margin: .25rem; width: -webkit-calc( 50% - .5rem ); width: calc( 50% - .5rem ); float: left; background: #fff; padding: .5rem; box-shadow: 0 0 .1rem 0 rgba(0,0,0,.2); border:solid .05rem #dedede;}
|
||||
.template-list span{background: #fff; margin-top: .5rem; display: block; width: 100%; border:solid .05rem #dedede; line-height: 1.5rem; text-align: center;border-radius: .2rem;}
|
||||
.template-list>li.template-active span{background: #56abec; color: #fff; border-color: #56abec;}
|
||||
|
||||
/*
|
||||
帮助中心
|
||||
*/
|
||||
|
||||
.help-banner{width: 100%; padding-top: 50%;}
|
||||
.help-btn{padding: .25rem;}
|
||||
.help-btn>a{float: left; width: -webkit-calc( 50% - .5rem ); width: calc( 50% - .5rem ); text-align: center; display: inline-block; margin: .25rem; padding:20px 10px; box-shadow: 0 0 -.5rem -.5rem #333; color: #fff;}
|
||||
.help-btn>a:nth-child(1){background: #c09cc2}
|
||||
.help-btn>a:nth-child(2){background: #5a4e7e}
|
||||
.help-btn>a:nth-child(3){background: #e54b81}
|
||||
.help-btn>a:nth-child(4){background: #9dd53e}
|
||||
.help-btn>a i{font-size: 1.2rem;}
|
||||
.help-btn>a p{font-size: .6rem; padding-top: .5rem;}
|
||||
|
||||
|
||||
/*
|
||||
帮助中心列表
|
||||
*/
|
||||
|
||||
.help-core-list{background: #fff; border-bottom: solid .05rem #dedede;}
|
||||
.help-core-list>li{line-height: 1rem; border-top:solid .05rem #dedede;}
|
||||
.help-core-list>li>a{display: block; padding: .5rem;}
|
||||
|
||||
|
||||
/*
|
||||
帮助中心详情
|
||||
*/
|
||||
|
||||
.help-core-title{width: 100%; padding: .8rem; border-bottom: solid .05rem #dedede; background: #fff;}
|
||||
.help-core-mian{padding: .5rem; background: #fff; border-bottom: solid .05rem #dedede;}
|
||||
.help-core-mian img{max-width: 100%;display:inline-block;margin-bottom: 10px;}
|
||||
|
||||
/*
|
||||
直销技巧列表
|
||||
*/
|
||||
|
||||
.direct-tab{background: #fff; position: fixed; top: 0; left: 0; width: 100%; z-index: 9; border-bottom: solid .05rem #dedede;}
|
||||
.direct-tab a{width: 33.33%; border-right:solid .05rem #dedede;}
|
||||
.direct-tab a:last-child{border-right: none;}
|
||||
.direct-tab a.active{font-weight: normal; background: #f7f7f7;}
|
||||
.direct-selling-list{overflow: hidden;}
|
||||
.direct-selling-list li{background: #fff; border-bottom: solid .05rem #dedede; border-top: solid .05rem #dedede;}
|
||||
.direct-selling-list-img{width: 100%; padding-top: 50%;}
|
||||
|
||||
.direct-tab ~ .direct-selling-content{padding-top: 2rem;}
|
||||
|
||||
/*
|
||||
直销技巧详情
|
||||
*/
|
||||
|
||||
.direct-video{position: relative; padding-top:50%; background: #fff;}
|
||||
.direct-video>video{width: 100%; position: absolute; top: 0; left: 0; height: 100%;}
|
||||
|
||||
.direct-video-auto{background: #f0f1f1; position: fixed; bottom: 0; width: 100%; border-top: solid .05rem #dedede;}
|
||||
.direct-video-auto>audio{display: none;}
|
||||
|
||||
.direct-video-auto ~ .help-core-mian{margin-bottom: 2.5rem;}
|
||||
|
||||
/*
|
||||
我的第一版
|
||||
*/
|
||||
|
||||
.one-user-data{background: url(../img/user-back_02.png) center no-repeat; background-size: cover; padding: 1.2rem .5rem; text-align: center; color: #fff;}
|
||||
.one-user-btn{background: #fff; border-top:solid .05rem #dedede; border-bottom: solid .05rem #dedede; overflow: hidden;}
|
||||
.one-user-btn>li{float: left; width: 33.33%; border-right: solid .05rem #dedede; text-align: center;}
|
||||
.one-user-btn>li:last-child{ border-right: none;}
|
||||
.one-user-btn>li:nth-child(1) i{background: #e1811b}
|
||||
.one-user-btn>li:nth-child(2) i{background: #1b8fe1}
|
||||
.one-user-btn>li:nth-child(3) i{background: #b0e11b}
|
||||
.one-user-btn i{font-size: .8rem; color: #fff; width: 1.7rem; height: 1.7rem; line-height: 1.7rem; border-radius: 50%;}
|
||||
.one-user-btn a{display: block; padding: .5rem;}
|
||||
.one-user-btn p{font-size: .65rem;}
|
||||
.one-data-portrait{display: inline-block; width: 3.5rem; height: 3.5rem; border:solid .1rem #dedede;}
|
||||
|
||||
/*
|
||||
我的第二版
|
||||
*/
|
||||
|
||||
.two-user-data{padding: 2rem .5rem; text-align: center; background: url(../img/user-two-back_02.png) center no-repeat; background-size: cover; padding-top: 73%; position: relative;}
|
||||
.two-user-data h6{color: #e1371b; font-weight: normal;}
|
||||
|
||||
.two-user-btn{position: fixed; bottom: 4rem; width: 100%; background: #fff; overflow: hidden;}
|
||||
.two-user-btn>li{float: left; width: 33.33%; text-align: center;}
|
||||
.two-user-btn>li:nth-child(1) i{background: #e1811b}
|
||||
.two-user-btn>li:nth-child(2) i{background: #1b8fe1}
|
||||
.two-user-btn>li:nth-child(3) i{background: #b0e11b}
|
||||
.two-user-btn i{font-size: .8rem; color: #fff; width: 1.7rem; height: 1.7rem; line-height: 1.7rem; border-radius: 50%;}
|
||||
.two-user-btn a{display: block; padding: .5rem;}
|
||||
.two-user-btn p{font-size: .65rem;}
|
||||
|
||||
/*
|
||||
我的第三版
|
||||
*/
|
||||
|
||||
.three-user-data{padding: 2rem .5rem; text-align: center; background: url(../img/user-three-back_02.png) center no-repeat; background-size: cover; padding-top: 94%; position: relative;}
|
||||
.three-user-data h6{color: #e1371b; font-weight: normal;}
|
||||
|
||||
.three-user-btn{position: fixed; bottom: 4rem; width: 100%; background: #fff; overflow: hidden;}
|
||||
.three-user-btn>li{float: left; width: 33.33%; text-align: center;}
|
||||
.three-user-btn>li:nth-child(1) i{background: #e1811b}
|
||||
.three-user-btn>li:nth-child(2) i{background: #1b8fe1}
|
||||
.three-user-btn>li:nth-child(3) i{background: #b0e11b}
|
||||
.three-user-btn i{font-size: .8rem; color: #fff; width: 1.7rem; height: 1.7rem; line-height: 1.7rem; border-radius: 50%;}
|
||||
.three-user-btn a{display: block; padding: .5rem;}
|
||||
.three-user-btn p{font-size: .65rem;}
|
||||
|
||||
/*
|
||||
我的第三版
|
||||
*/
|
||||
|
||||
.four-user-data{padding: 3rem .5rem; text-align: center;}
|
||||
|
||||
.four-user-back{position: fixed; background: url(../img/user-four-back_02.png) center bottom; height: 100%; width: 100%; background-size: cover; z-index: -1;}
|
||||
|
||||
.four-user-identity>small{background: #f2e517; display: inline-block; border-radius: .2rem; color: #e1811b; padding: 0 .5rem;}
|
||||
|
||||
.four-user-btn{position: fixed; bottom: 4rem; width: 100%; overflow: hidden;}
|
||||
.four-user-btn>li{float: left; width: 33.33%; text-align: center;}
|
||||
.four-user-btn>li:nth-child(1) i{background: #e1811b}
|
||||
.four-user-btn>li:nth-child(2) i{background: #1b8fe1}
|
||||
.four-user-btn>li:nth-child(3) i{background: #b0e11b}
|
||||
.four-user-btn i{font-size: .8rem; color: #fff; width: 1.7rem; height: 1.7rem; line-height: 1.7rem; border-radius: 50%;}
|
||||
.four-user-btn a{display: block; padding: .5rem; color: #fff;}
|
||||
.four-user-btn p{font-size: .65rem;}
|
||||
|
||||
/*
|
||||
个人资料
|
||||
*/
|
||||
|
||||
.user-data-list{background: #fff; border-bottom: solid .05rem #dedede;}
|
||||
.user-data-list li{border-top: solid .05rem #dedede;}
|
||||
.user-data-list a{padding: .5rem; display: block;}
|
||||
.user-data-list a span{float: right; display: inline-block; line-height: 1rem;}
|
||||
.user-data-list a span i{font-size: 1rem; color: #939393;}
|
||||
|
||||
.user-btn{padding: .5rem;}
|
||||
.user-btn a,.user-btn button{background: #18b4ed; color: #fff; line-height: 2rem; width: 100%; border-radius: .2rem; display: block; text-align: center; border:none;}
|
||||
|
||||
.user-upload-portrait{overflow: hidden; position: relative;}
|
||||
.user-upload-portrait>span{position: absolute; bottom: .5rem;}
|
||||
.user-upload-portrait>div.user-home-portrait{border:solid .1rem #dedede;}
|
||||
.user-upload-portrait>div.user-home-portrait>input[type="file"]{position: absolute; z-index: 9; height: 100%; width: 100%; opacity: 0;}
|
||||
|
||||
/*
|
||||
修改资料
|
||||
*/
|
||||
|
||||
.user-data-form>li{position: relative; padding-left:4.5rem;}
|
||||
.user-data-form>li>label{position: absolute; left: .5rem;}
|
||||
.user-data-form>li>input,.user-data-form>li>select{width: 100%; border:none;}
|
||||
.user-data-form>li>select{-webkit-appearance: none; appearance: none; padding-right: .8rem;}
|
||||
.user-data-form>li>select + i{position: absolute; line-height: 2rem; top: 0rem; right: .5rem; color: #999;}
|
||||
|
||||
/*
|
||||
上传二维码
|
||||
*/
|
||||
|
||||
.qrcode-upload{position: relative; border: dashed .05rem #dedede; margin: 1.5rem; padding-top:-webkit-calc( 100% - 3.1rem ); padding-top:calc( 100% - 3.1rem ); background: url(../img/upload-qrcode_03.png) #fff no-repeat center; background-size: 30%;}
|
||||
.qrcode-upload p{position: absolute; top: 70%; text-align: center; width: 100%; color: #999;}
|
||||
.qrcode-upload input[type="file"],.qrcode-upload span{position: absolute; width: 100%; height: 100%; top: 0; left: 0;}
|
||||
.qrcode-upload input[type="file"]{ z-index: 9; opacity: 0;}
|
||||
.qrcode-upload span{display: block; z-index: 8; background-size: cover;}
|
||||
|
||||
/*
|
||||
注册
|
||||
*/
|
||||
|
||||
.register-form li{margin-bottom: .5rem; background: #fff; border:solid .05rem #dedede; position: relative; padding-left: 2rem; border-radius: .2rem; overflow: hidden;}
|
||||
.register-form li>label{position: absolute; left: 0; top: 0; line-height: 2rem; width: 2rem; text-align: center; color: #999; font-size: .8rem;}
|
||||
.register-form li>input{width: 100%; border:none; height: 2rem;}
|
||||
.register-form li>a.tel-code-btn{width: 5rem; background: #e1811b; position: absolute; right: 0; top: 0; display: block; line-height: 2rem; color: #fff; text-align: center;}
|
||||
.register-form li>a.tel-code-btn + input{width: -webkit-calc( 100% - 6rem ); width: calc( 100% - 6rem );}
|
||||
|
||||
.register-btn{padding: .25rem; overflow: hidden;}
|
||||
.register-btn>button{width: -webkit-calc( 50% - .5rem ); width: calc( 50% - .5rem ); text-align: center; margin: 0 .25rem; line-height: 2rem; float: left; border-radius: .2rem;}
|
||||
.register-btn>button:nth-child(2){color: #fff; background: #18b4ed; border:none;}
|
||||
.register-btn>button:nth-child(1){color: #666; background: #fff; border:solid .05rem #dedede;}
|
||||
|
||||
.follow-wechat{background: #fff; border:solid .05rem #dedede; overflow: hidden;}
|
||||
.follow-wechat>p{color: #666; line-height: 1.5rem;}
|
||||
.follow-wechat>p>span{color: #18b4ed;}
|
||||
|
||||
.follow-wechat-txt img{max-width: 100%;}
|
||||
|
||||
/*
|
||||
vip权限
|
||||
*/
|
||||
|
||||
.vip-block{margin: .5rem; background: #fff; border-radius: .2rem; border:solid .05rem #dedede;}
|
||||
.vip-block-margin{margin-bottom: 3.5rem;}
|
||||
.vip-table{width: 100%; text-align: center;}
|
||||
.vip-table i{font-size: .9rem;}
|
||||
.vip-table tr{border-bottom: solid .05rem #dedede;}
|
||||
.vip-table tr:last-child{border-bottom: none;}
|
||||
.vip-table td{padding: .5rem; border-right: solid .05rem #dedede;}
|
||||
.vip-table td:last-child{border-right: none;}
|
||||
|
||||
.vip-btn{position: fixed; bottom: 0; width: 100%;}
|
||||
.vip-btn>button{background: #ff6600; width: 100%; line-height: 2rem; color: #fff; border:none; border-radius: .2rem;}
|
||||
|
||||
.vip-layer{padding: .5rem; background: #fff; position: relative;}
|
||||
.vip-icon{width: 3rem; height: 3rem; border-radius: .2rem;}
|
||||
.vip-txt{position: absolute; left: 4rem; top: .5rem; line-height: 1rem;}
|
||||
.vip-txt>p:nth-child(3){color: #e90000;}
|
||||
|
||||
.vip-open-btn{overflow: hidden; line-height: 1.5rem;}
|
||||
.vip-open-btn>span{color: #df0000;}
|
||||
.vip-open-btn a{float: right; color: #fff; background: #ff6600; line-height: 1.5rem; border-right: .2rem; padding: 0 .5rem; border-radius: .2rem;}
|
||||
|
||||
/*
|
||||
开通VIP
|
||||
*/
|
||||
|
||||
.open-vip-block{line-height: 1.5rem; background: #fff; border-bottom: solid .05rem #dedede;}
|
||||
|
||||
.address-list-radio>input[type="radio"]{display: none;}
|
||||
.address-list-radio>label{color: #999; line-height: 1.7rem; padding-top: .1rem;}
|
||||
.address-list-radio>label i{font-size: .9rem;}
|
||||
.address-list-radio>input[type="radio"]:checked + label{color: #28c54d;}
|
||||
.modular-list{overflow: hidden; background: #fff; border-bottom: solid .05rem #e8e8e8; padding: .5rem 0 .5rem .5rem;}
|
||||
.modular-list>li{border-bottom: solid .05rem #f5f5f5; padding-right: .5rem; line-height: 1.8rem; overflow: hidden;}
|
||||
.modular-list>li:last-child{border-bottom: none;}
|
||||
.order-pay-icon{height: 1.2rem; width: 1.2rem; display: inline-block; vertical-align: middle; background-image: url(../img/pay-icon.png); background-size: cover; margin-right: .2rem;}
|
||||
.weixin-icon{background-position: 0 0;}
|
||||
.balance-icon{background-position: 0 -1.2rem;}
|
||||
|
||||
/*
|
||||
新手教学视频
|
||||
*/
|
||||
|
||||
.teaching-video{padding-top: 57%;}
|
||||
|
||||
/*
|
||||
事业
|
||||
*/
|
||||
|
||||
.banner{ width: 100%; padding-top: 48%; position: relative;}
|
||||
.banner-img{position: absolute; top: 0; left: 0; height: 100%; width: 100%;}
|
||||
.banner-img>span{background-size: cover; background-position: center;}
|
||||
.banner-page{position: absolute; z-index: 9; text-align: center;}
|
||||
.banner-page>span.swiper-pagination-bullet-active{background: #000;}
|
||||
|
||||
.cause-ul{overflow: hidden; padding: .25rem;}
|
||||
.cause-ul>li{float: left; width: 50%; padding: .25rem;}
|
||||
.cause-ul a{background: #fff; display: block;}
|
||||
.cause-ul p{padding: .5rem 0;}
|
||||
.cause-ul-img{padding-top: 50%; width: 100%;}
|
||||
|
||||
/*
|
||||
事业列表
|
||||
*/
|
||||
|
||||
.cause-list-ul{border-bottom: solid .05rem #dedede;}
|
||||
.cause-list-ul>li{border-top: solid .05rem #dedede;}
|
||||
.cause-list-ul>li>a{display: block; padding:.5rem; position: relative;}
|
||||
.cause-list-ul-img{width: 5rem; padding-top: 3.5rem;}
|
||||
.cause-list-ul-txt{position: absolute; left: 6rem; top: .5rem; right: .5rem; bottom: .5rem;}
|
||||
|
||||
.share-user{position: relative;}
|
||||
|
||||
.share-user-data{width: 4rem;}
|
||||
.share-user-data>div.user-home-portrait{display: inline-block;}
|
||||
.share-user-data>h6{color: #69b6dc; font-weight: normal;}
|
||||
.share-user{background: #fff; border-top: solid .05rem #dedede; border-bottom: solid .05rem #dedede;}
|
||||
|
||||
.share-user-btn{margin: 0 -.25rem; overflow: hidden; text-align: center;}
|
||||
.share-user-btn>button{margin: .25rem; width: -webkit-calc( 50% - .5rem ); width: calc( 50% - .5rem ); float: left; line-height: 1.5rem; color: #fff; border:none; border-radius: .2rem; border:none;}
|
||||
.share-user-btn>button:nth-child(1),.share-user-btn>a:nth-child(1){background: #36b2e0;}
|
||||
.share-user-btn>button:nth-child(2),.share-user-btn>a:nth-child(2){background: #b8b8b8;}
|
||||
|
||||
.share-user-btn>a{display: inline-block; text-align: center; margin: .25rem; width: -webkit-calc( 50% - .5rem ); width: calc( 50% - .5rem ); line-height: 1.5rem; color: #fff; border:none; border-radius: .2rem; border:none;}
|
||||
|
||||
.share-user-contact{position: absolute; top:.5rem; left: 5rem; right: 2rem; line-height: 1.6rem; color: #666;}
|
||||
.share-user-contact i{border:solid .1rem #333; height: 1.3rem; line-height: 1.1rem; width: 1.3rem; border-radius: 50%; text-align: center; margin-right: .3rem;}
|
||||
.share-user-contact>p:nth-child(1) i{color: #e96694; border-color: #e96694;}
|
||||
.share-user-contact>p:nth-child(2) i{color: #5a4e7e; border-color: #5a4e7e;}
|
||||
.share-user-contact>p:nth-child(3) i{color: #9dd53e; border-color: #9dd53e;}
|
||||
|
||||
.share-user-qrcode>i.fa-qrcode{position: absolute; right: .5rem; top: .5rem; color: #777; font-size: 1.2rem;}
|
||||
|
||||
/*
|
||||
详情页面添加按钮 20170724
|
||||
*/
|
||||
|
||||
.detail-user-add{ overflow: hidden; background: #f8f8f8;}
|
||||
.detail-user-add a{display: block; float: left; color: #36b2e0; border:solid .05rem #36b2e0; border:solid .05rem #36b2e0; width: -webkit-calc( 50% - 1rem ); width: calc( 50% - 1rem ); margin:.5rem; text-align: center; line-height: 1.5rem; border-radius: .2rem;}
|
||||
|
||||
/*
|
||||
我的二维码名片
|
||||
*/
|
||||
|
||||
.maxcard-card{margin: .5rem; background: #fff; border-right: .2rem; position: relative; padding-right: 4rem;}
|
||||
.maxcard-card>.maxcard-userdata{position: absolute; right: .5rem; top: .5rem; bottom: .5rem; width: 2rem; text-align: center;}
|
||||
.maxcard-userdata-portrait{height: 2rem; width: 2rem; position: relative; display: inline-block; border-radius: .2rem; overflow: hidden;}
|
||||
.maxcard-userdata-qrcode{position: absolute; bottom: 0; width: 2rem;}
|
||||
.maxcard-userdata-qrcode>i{font-size: 1rem;}
|
||||
|
||||
.maxcard-browser{background: #fff; overflow: hidden;}
|
||||
.maxcard-browser>li{float: left; width: 33.33%; text-align: center;}
|
||||
.maxcard-browser>li i{font-size: .8rem; margin-bottom: .3rem;}
|
||||
.maxcard-browser>li.active i{color: #ff6600;}
|
||||
|
||||
.maxcard-userdata-moreinfo{position: relative; width: 100%; background: #fff; padding-left: 4rem;}
|
||||
.maxcard-userdata-moreinfo label{position: absolute; left: .5rem; top: .5rem;}
|
||||
.maxcard-userdata-moreinfo textarea{width: 100%; height: 3rem; border:none; background: #fff;}
|
||||
|
||||
/*
|
||||
二维码名片评论
|
||||
*/
|
||||
|
||||
.user-comment-list{background: #fff;}
|
||||
.user-comment-list>li{border-bottom: solid .05rem #dedede;}
|
||||
.user-comment-data{ position: relative;}
|
||||
.user-comment-data-portrait{height: 2rem; width: 2rem;}
|
||||
.user-comment-data>p.user-comment-name,.user-comment-data>p.user-comment-time{position: absolute; left: 2.5rem; line-height: 1rem; right: 0;}
|
||||
.user-comment-data>p.user-comment-name{top: 0rem;}
|
||||
.user-comment-data>p.user-comment-time{bottom: .5rem;font-size: .6rem;}
|
||||
|
||||
.user-comment-footer{position: fixed; bottom: 0; left: 0; right: 0; background: #fff; border-top: solid .05rem #dedede; z-index: 99;}
|
||||
.user-comment-footer>span{width: 100%; display: block; background: #ff6600; width: 100%; line-height: 2rem; color: #fff; border:none; border-radius: .2rem;}
|
||||
.user-comment-footer ~ .user-comment-list{margin-bottom: 4.5rem;}
|
||||
|
||||
.user-vip-integral{display: flex;}
|
||||
.user-vip-integral>p{flex:1;}
|
||||
.user-vip-integral>span{margin-top: 5px; display: inline-block; color:#fff; padding: 0 .5rem; border-radius: .2rem; border:solid .05rem #fff;}
|
||||
|
||||
.maxcard-pageempty{bottom: 4.5rem;}
|
||||
.user-comment-list>li ~ .maxcard-pageempty{display: none;}
|
||||
|
||||
.maxcard-comment-form{position: fixed; background: rgba(0,0,0,.5); z-index: 999; width: 100%; bottom: 0; top: 0; display: none;}
|
||||
.maxcard-comment-form>form{background: #fff; width: 80%; margin: 0 auto; border-radius: .2rem;}
|
||||
.maxcard-comment-form textarea{width: 100%; height: 4rem; border:none;}
|
||||
|
||||
.maxcard-comment-btn{text-align: center; margin: 0 -.25rem;}
|
||||
.maxcard-comment-btn>a{display: block; width: -webkit-calc( 50% - .5rem ); width: calc( 50% - .5rem ); float: left; margin: 0 .25rem; border:solid .05rem #dedede; line-height: 1.7rem; border-radius: .2rem;}
|
||||
.maxcard-comment-btn>a:nth-child(1){color: #999;}
|
||||
.maxcard-comment-btn>a:nth-child(2){color: #ff6600;}
|
||||
|
||||
.user-comment-content{width: 100%; display: block; word-wrap:break-word;}
|
||||
|
||||
/*
|
||||
登陆
|
||||
*/
|
||||
|
||||
.fast-login{ width: 100%; position: relative;margin-top: 60%; padding-bottom: 1rem;}
|
||||
.fast-login-title>span{text-align: center; display: inline-block; position: relative; line-height: 1rem; width: 5rem; background: #f8f8f8;}
|
||||
.fast-login-title::before{position: absolute; top: .5rem; left: .5rem; right: .5rem; content: ""; background: #dedede; height: .05rem;}
|
||||
.fast-login a{color: gray;}
|
||||
.fast-login a>i{color: #62b900;font-size: 1rem;padding-right: 5px;}
|
||||
/*
|
||||
二维码
|
||||
*/
|
||||
|
||||
.qrcode-back{background-image: url(../img/qrcode-back.png); position: absolute; height: 100%; width: 100%; background-size: cover;}
|
||||
.qrcode-img{width: 10rem; height: 10rem; border:solid .5rem #fff; position: absolute; bottom: 6.5rem; left: -webkit-calc( 50% - 5rem ); left: calc( 50% - 5rem );}
|
||||
.qrcode-user{padding-top: 3rem;}
|
||||
.qrcode-user-portrait{height: 3rem; width: 3rem; display: inline-block; border:solid .1rem #fff;}
|
||||
.qrcode-invitation{position: fixed; bottom: 0; width: 100%; left: 0;}
|
||||
.qrcode-invitation>span{width: 100%; text-align: center; line-height: 2rem; display: block; background: #ff6600; border-radius: .2rem; color: #fff;}
|
||||
.qrcode-invitation-layer{position: fixed; height: 100%; width: 100%; background: rgba(0,0,0,.6) url(../img/share_img_03.png) no-repeat right top; background-size: 80%; z-index: 99; display: none;}
|
||||
|
||||
/*
|
||||
错误成功提示
|
||||
*/
|
||||
|
||||
.errorprompt i,.successprompt i{font-size: 2.6rem;}
|
||||
.errorprompt i{color: #fd6a65;}
|
||||
.successprompt i{color: #10c55b;}
|
||||
.errorprompt a ,.successprompt a{padding: 0 1rem; line-height: 1.5rem; background: #fff; border:solid .05rem #dedede; display: inline-block;}
|
||||
|
||||
/*
|
||||
微信绑定信息
|
||||
*/
|
||||
|
||||
.bindwechat{position: relative; overflow: hidden;}
|
||||
.bindwechat-icon{position: absolute; width: 2rem; height: 2rem; line-height: 2rem; text-align: center; color: gray; left: -webkit-calc( 50% - 1rem ); left: calc( 50% - 1rem ); top: -webkit-calc( 50% - 1rem ); top: calc( 50% - 1rem );}
|
||||
.bindwechat-data{background: #fff; border: solid .05rem #ddd; width:-webkit-calc( 50% - 1rem ); width:calc( 50% - 1rem ); text-align: center}
|
||||
.bind-user-data{float: left;}
|
||||
.bind-wechat-data{float: right;}
|
||||
.bindwechat-data-title{border-bottom: solid .05rem #dedede; color: gray;}
|
||||
|
||||
.bindwechat-btn{width: 100%;}
|
||||
.bindwechat-btn>button{background: #ff6600; width: 100%; line-height: 2rem; color: #fff; border:none; border-radius: .2rem;}
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
积分详情
|
||||
*/
|
||||
|
||||
.reportform-statistics {padding-right: .5rem;padding-top: .5rem;padding-bottom: .5rem;overflow: hidden}
|
||||
.reportform-statistics li {float: left;width: 33.333%;border-left: solid .5rem transparent;text-align: center;}
|
||||
.reportform-statistics li>p:nth-child(2) {padding-top: .5rem;color: #ca0000}
|
||||
.reportform-title {padding: .5rem;background: #eee;overflow: hidden}
|
||||
.reportform-list {overflow: hidden}
|
||||
.reportform-list li {position: relative;padding: .5rem 5rem .5rem 4rem;overflow: hidden}
|
||||
.reportform-list li .reportform-cny,.reportform-list li .reportform-time {position: absolute;display: block;top: .5rem}
|
||||
.reportform-list li>span.reportform-cny {left: .5rem;width: 4rem}
|
||||
.reportform-list li>span.element-span {width: 1rem;height: 1rem;line-height: 1rem;border-radius: 100%;text-align: center;background: #a3a3a3;color: #fff;font-size: .5rem}
|
||||
.reportform-list li>span.reportform-time {text-align: right;right: .5rem;width: 4rem;color: #a3a3a3}
|
||||
.reportform-list li:nth-child(1)>span.element-span {background: #ca0000}
|
||||
.reportform-list li:nth-child(2)>span.element-span {background: #b28147}
|
||||
.reportform-list li:nth-child(3)>span.element-span {background: #d2c2a5}
|
||||
.reportform-list li:nth-child(even) {background: #efefef}
|
||||
.reportform-list .element {padding-left: 2rem}
|
||||
|
||||
|
||||
|
||||
.Lmember{padding-bottom: 100px;}
|
||||
.Lmember-list{border:solid .05rem #dedede;padding: 10px;background-color:#fff;position: relative;}
|
||||
.Lmember-list>p{font-size: 14px;color: #333;margin-bottom: 10px;font-weight: bold;}
|
||||
.Lmember-list>h3{font-weight: normal;font-size: 12px;color: #666;margin:0;}
|
||||
.Lmember-list>button,.Lmember-list>p>button{position: absolute;right:15px;top:20px;border:1px solid red;line-height: 20px;color:red; border-radius: 6px;font-size: 12px;background-color: #fff;padding: 0 10px;}
|
||||
.Lmember-list>p>button{position: static;line-height: 14px;margin-left: 6px;background-color: #fff;border:1px solid #18b4ed;color:#18b4ed;}
|
||||
.Lmember-btn{width: 100%;border:none; background-color: #18b4ed;line-height: 2rem;color: #fff;position: absolute;bottom: 0;left:0;}
|
||||
|
||||
.Lwrite_cnt{padding:0 10px;background-color: #fff;}
|
||||
.Lwrite_list{padding:12px 0;border-bottom:1px solid #dedede;overflow: hidden;}
|
||||
.Lwrite_list>label{font-size: 14px;color: #666;line-height: 26px;}
|
||||
.Lwrite_list>input{width: calc(100% - 84px);line-height: 24px;float: right;padding: 0 5px;border:1px solid #dedede;border-radius: 2px;}
|
||||
.Lwrite_cnt>.Lwrite_list:last-child{border:none;}
|
||||
|
||||
.Linfo_cnt{padding:0 25px 0 25px;margin-top: 20px;}
|
||||
.Linfo_inst{overflow: hidden;padding: 10px 5px;border-bottom:1px solid #ececec;}
|
||||
.Linfo_inst>h3{ display: block;float: left;width: 30%;margin:0;font-size: 14px;color:#333;line-height: 22px;}
|
||||
.Linfo_inst>p{ display: block;float: left;font-size: 14px;line-height: 22px;}
|
||||
.Longuser-home-btn li{border-left: none;border-right: solid .05rem #dedede;}
|
||||
.Longuser-home-btn li:nth-child(3n){border-right: none;}
|
||||
|
||||
/* 提示页面 */
|
||||
|
||||
.L_hint_t1{width: 50%;margin: 35% auto 0;}
|
||||
.L_hintimg1{width: 80%;padding-bottom: 80%;background:url(../img/123.png) no-repeat center;background-size: contain; margin: 0 auto 10px;}
|
||||
.L_hint_t1>h3,.L_hint_t2>h3{font-size: 14px;color: #4b4b4b;font-weight: normal; text-align: center;line-height: 22px;}
|
||||
.L_hint_t1>h3>span{display: inline-block;width: 30px;height: 16px;background:url(../img/wechat_d.png) no-repeat center;background-size: contain;border-radius: 5px; margin-bottom: -3px;}
|
||||
.L_hint_t1>button{width: 100%;background-color: #55aaeb;color: #fff;font-size: 14px;border-radius: 4px;line-height: 30px;margin-top: 40px; border:none;}
|
||||
|
||||
.L_hint_t2{width: 30%;position: fixed;top:20px;right:0;}
|
||||
.L_hintimg2{width: 60%;padding-bottom: 60%;margin: 0 auto;background:url(../img/wechat_hand.png) no-repeat center;background-size: contain; }
|
||||
.L_hint_t2>h3{font-size: 12px;color: #afafaf;}
|
||||
.L_hint_t2>h3>span{color: #55aaeb;margin: 0 2px;}
|
||||
.L_hint_t2>h3>span:before{content: ""; display: inline-block;width: 12px;height: 12px;background:url(../img/wechat_handball.png) no-repeat center;background-size: contain;margin-bottom:-2px;}
|
||||
15
public/static/mobile/css/swiper.min.css
vendored
Normal file
2091
public/static/mobile/edit/css/Common.css
Normal file
62
public/static/mobile/edit/css/font.css
Normal file
@@ -0,0 +1,62 @@
|
||||
@font-face {
|
||||
font-family: 'iconfont';
|
||||
src: url('//at.alicdn.com/t/font_1458365148_6313732.eot'); /* IE9*/
|
||||
src: url('//at.alicdn.com/t/font_1458365148_6313732.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
||||
url('//at.alicdn.com/t/font_1458365148_6313732.woff') format('woff'), /* chrome、firefox */
|
||||
url('//at.alicdn.com/t/font_1458365148_6313732.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
|
||||
url('//at.alicdn.com/t/font_1458365148_6313732.svg#iconfont') format('svg'); /* iOS 4.1- */
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.ui-icon,[class^=ui-icon-] {
|
||||
font-family:iconfont!important;
|
||||
|
||||
font-style:normal;
|
||||
-webkit-font-smoothing:antialiased;
|
||||
-webkit-text-stroke-width:.2px;
|
||||
display:block;
|
||||
color:rgba(0,0,0,.5)
|
||||
}
|
||||
.ui-icon-phone:before {
|
||||
content:"\e601"
|
||||
}
|
||||
.ui-icon-pwd:before {
|
||||
content:"\e603"
|
||||
}
|
||||
.ui-icon-yzm:before {
|
||||
content:"\e600"
|
||||
}
|
||||
.ui-icon-gs:before {
|
||||
content:"\e605"
|
||||
}
|
||||
|
||||
|
||||
.ui-icon-add:before {
|
||||
content:"\e60b"
|
||||
}
|
||||
.ui-icon-true:before {
|
||||
content:"\e60d";
|
||||
font-size: 22px !important;
|
||||
color:#4cd964
|
||||
}
|
||||
.ui-icon-false:before {
|
||||
content:"\e60e";
|
||||
font-size: 22px !important;
|
||||
color: #f6383a
|
||||
}
|
||||
.icon2 {
|
||||
font-family: iconfont!important;
|
||||
font-style: normal;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
background-size: 100% auto;
|
||||
background-position: center;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-webkit-text-stroke-width: .2px;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
.icon-video:before {
|
||||
content: "\e60c";
|
||||
}
|
||||
6
public/static/mobile/edit/css/sm-extend.min.css
vendored
Normal file
6
public/static/mobile/edit/css/sm.min.css
vendored
Normal file
BIN
public/static/mobile/edit/img/addimg.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
public/static/mobile/edit/img/cosle.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
public/static/mobile/edit/img/icon_bgcolor.png
Normal file
|
After Width: | Height: | Size: 343 B |
BIN
public/static/mobile/edit/img/icon_bold.png
Normal file
|
After Width: | Height: | Size: 473 B |
BIN
public/static/mobile/edit/img/icon_center.png
Normal file
|
After Width: | Height: | Size: 341 B |
BIN
public/static/mobile/edit/img/icon_color.png
Normal file
|
After Width: | Height: | Size: 400 B |
BIN
public/static/mobile/edit/img/icon_font.png
Normal file
|
After Width: | Height: | Size: 561 B |
BIN
public/static/mobile/edit/img/icon_left.png
Normal file
|
After Width: | Height: | Size: 340 B |
BIN
public/static/mobile/edit/img/icon_right.png
Normal file
|
After Width: | Height: | Size: 337 B |
BIN
public/static/mobile/edit/img/link.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
public/static/mobile/edit/img/t_add.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
public/static/mobile/edit/img/t_cancel.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
public/static/mobile/edit/img/t_del0.png
Normal file
|
After Width: | Height: | Size: 612 B |
BIN
public/static/mobile/edit/img/t_image.png
Normal file
|
After Width: | Height: | Size: 755 B |
BIN
public/static/mobile/edit/img/t_text.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
public/static/mobile/edit/img/t_video.png
Normal file
|
After Width: | Height: | Size: 664 B |
BIN
public/static/mobile/edit/img/t_word.png
Normal file
|
After Width: | Height: | Size: 556 B |
787
public/static/mobile/edit/js/common.js
Normal file
@@ -0,0 +1,787 @@
|
||||
|
||||
$(function(){
|
||||
|
||||
//
|
||||
//
|
||||
$(document).on("pageInit", "#page-upimages", function(e, pageId, $page) {
|
||||
|
||||
var Options = {
|
||||
width : 300,
|
||||
height : 300,
|
||||
cutWidth : 300,
|
||||
cutHeight : 300,
|
||||
cutMinSize : 50,//裁剪框最小尺寸,即最小可以缩放到这个size,width及height任意一个都无法小于这个值。
|
||||
|
||||
//--系统自带,运行时自动运算,请不要修改。
|
||||
cropViewWidth : 0,//在画布里面显示的最大宽度
|
||||
cropViewHeight : 0,//在画布里面显示的最大高度
|
||||
cropLeft : 0,
|
||||
cropTop : 0,
|
||||
//--裁剪框
|
||||
cutViewWidth : 0, //当前宽度,
|
||||
cutViewHeight : 0,//当前高度
|
||||
cutMaxWidth : 0, //裁剪框最大宽度。
|
||||
cutMaxHeight : 0,//裁剪框最大高度。
|
||||
//--四象限。用于判断距离。
|
||||
cutBoxLimitX1 : 0,
|
||||
cutBoxLimitX2 : 0,
|
||||
cutBoxLimitY1 : 0,
|
||||
cutBoxLimitY2 : 0,
|
||||
cutLeft : 0,//裁剪框绝对定位,左侧距离。
|
||||
cutTop : 0,//裁剪框绝对定位,离顶部距离。
|
||||
initStatus : false
|
||||
//当前组件是否已经初始化了。
|
||||
};
|
||||
var Options_image = {
|
||||
width : 0,
|
||||
height : 0,
|
||||
imgData : ""
|
||||
}
|
||||
|
||||
var input_browseFile = document.getElementById("browseFile");
|
||||
var img_preview = document.getElementById("imgPreview");
|
||||
var cutBox = document.getElementById("cutBox");
|
||||
var tipBox = document.getElementById("tipBox");
|
||||
var _cropper = document.getElementById("cropper");
|
||||
var mainCutter = document.getElementById("mainCutter");
|
||||
var tips2 = $("#tips2");
|
||||
var wrapper = document.getElementById("wrapper");
|
||||
var component_box = document.getElementById("component_box");
|
||||
|
||||
var ctx = _cropper.getContext('2d');//ctx.drawImage(myImage, 50, 50);
|
||||
|
||||
function previewInImage(file) {
|
||||
//通过file.size可以取得图片大小
|
||||
var reader = new FileReader();
|
||||
LoadingImage();
|
||||
|
||||
reader.onload = function(evt) {
|
||||
img_preview.src = evt.target.result;
|
||||
}
|
||||
Options_image.imgData = reader.readAsDataURL(file);
|
||||
}
|
||||
img_preview.onload = function() {
|
||||
Options_image.width = img_preview.width;
|
||||
Options_image.height = img_preview.height;
|
||||
_initCropAndCut();
|
||||
}
|
||||
function LoadingImage() {
|
||||
$(img_preview).css({
|
||||
"width" : "",
|
||||
"height" : ""
|
||||
});
|
||||
}
|
||||
function _initCropAndCut() {
|
||||
//--计算比例,将其放到canvas里面。
|
||||
|
||||
var scale = Math.max(Options_image.width / Options.width,
|
||||
Options_image.height / Options.height);
|
||||
if (scale > 1) {
|
||||
Options.cropViewWidth = parseInt(Math.floor(Options_image.width
|
||||
/ scale));
|
||||
Options.cropViewHeight = parseInt(Math.floor(Options_image.height
|
||||
/ scale));
|
||||
} else {
|
||||
Options.cropViewWidth = Options_image.width;
|
||||
Options.cropViewHeight = Options_image.height;
|
||||
}
|
||||
//--计算画布里面的图像的位置。
|
||||
Options.cropLeft = parseInt((Options.width - Options.cropViewWidth) / 2);
|
||||
Options.cropTop = parseInt((Options.height - Options.cropViewHeight) / 2);
|
||||
//--计算裁剪框实际大小及实际位置。
|
||||
//计算裁剪框的位置。
|
||||
|
||||
var scale_2 = Math.max(Options.cutWidth / Options.cropViewWidth,
|
||||
Options.cutHeight / Options.cropViewHeight);
|
||||
if (scale_2 > 1) {
|
||||
Options.cutViewWidth = parseInt(Math.floor(Options.cutWidth
|
||||
/ scale_2));
|
||||
Options.cutViewHeight = parseInt(Math.floor(Options.cutHeight
|
||||
/ scale_2));
|
||||
} else {
|
||||
Options.cutViewHeight = Options.cutHeight;
|
||||
Options.cutViewWidth = Options.cutWidth;
|
||||
}
|
||||
Options.cutMaxWidth = Options.cutViewWidth;
|
||||
Options.cutMaxHeight = Options.cutViewHeight;
|
||||
|
||||
Options.cutLeft = parseInt(Math
|
||||
.floor((Options.cropViewWidth - Options.cutViewWidth)) / 2);
|
||||
Options.cutTop = parseInt(Math
|
||||
.floor((Options.cropViewHeight - Options.cutViewHeight)) / 2);
|
||||
//-四象限。
|
||||
Options.cutBoxLimitX1 = 0;
|
||||
Options.cutBoxLimitX2 = Options.cropViewWidth;
|
||||
Options.cutBoxLimitY1 = 0;
|
||||
Options.cutBoxLimitY2 = Options.cropViewHeight;
|
||||
|
||||
//获取x、y坐标!!!
|
||||
$("#x").val(Options.cutLeft);
|
||||
$("#y").val(Options.cutTop);
|
||||
//获取图片长宽!!!
|
||||
$("#h").val(Options.cropViewHeight);
|
||||
$("#w").val(Options.cropViewWidth);
|
||||
//获取剪切框长宽!!!
|
||||
$("#hh").val(Options.cutViewHeight);
|
||||
$("#ww").val(Options.cutViewWidth);
|
||||
//获取图片实际长宽!!!
|
||||
$("#imgh").val(Options.cutViewHeight);
|
||||
$("#imgw").val(Options.cutViewWidth);
|
||||
$("#scale").val(scale);
|
||||
|
||||
$(cutBox).css({
|
||||
"display" : "block",
|
||||
"width" : Options.cutViewWidth + "px",
|
||||
"height" : Options.cutViewHeight + "px",
|
||||
"left" : Options.cutLeft + "px",
|
||||
"top" : Options.cutTop + "px"
|
||||
});
|
||||
//$(cutBox).css({"display":"block","left":Options.cutLeft+"px","top":Options.cutTop+"px"});
|
||||
$(img_preview).css({
|
||||
"width" : Options.cropViewWidth + "px",
|
||||
"height" : Options.cropViewHeight + "px"
|
||||
});
|
||||
$(mainCutter).css({
|
||||
"display" : "block",
|
||||
"width" : Options.cropViewWidth + "px",
|
||||
"height" : Options.cropViewHeight + "px",
|
||||
"left" : Options.cropLeft + "px",
|
||||
"top" : Options.cropTop + "px"
|
||||
});
|
||||
//ctx.drawImage(img_preview,Options.cropLeft,Options.cropTop,Options.cropViewWidth,Options.cropViewHeight);
|
||||
//ctx.drawImage(img_preview, 0, 0, Options_image.width,Options_image.height, Options.cropLeft, Options.cropTop, Options.cropViewWidth, Options.cropViewHeight );
|
||||
|
||||
Options.initStatus = true;
|
||||
Options_process.initStatus = true;
|
||||
Options_process.percent = 100;
|
||||
Options_process.pointX = Options_process.barWidth;
|
||||
_resizeProcessBar();
|
||||
}
|
||||
|
||||
input_browseFile.addEventListener("change", function() {
|
||||
//通过 this.files 取到 FileList ,这里只有一个
|
||||
previewInImage(this.files[0]);
|
||||
|
||||
$.popup('.popup-caiface');
|
||||
|
||||
}, false);
|
||||
//--添加缩放功能。
|
||||
Options_zoom = {
|
||||
beginX1 : 0,
|
||||
beginY1 : 0,
|
||||
beginX2 : 0,
|
||||
beginY2 : 0,
|
||||
endX1 : 0,
|
||||
endY1 : 0,
|
||||
endX2 : 0,
|
||||
endY2 : 0
|
||||
};
|
||||
//--添加裁剪框移动功能
|
||||
Options_move = {
|
||||
beginX1 : 0,
|
||||
beginY1 : 0,
|
||||
endX1 : 0,
|
||||
endY1 : 0
|
||||
};
|
||||
|
||||
/**
|
||||
* 拖动裁剪框的逻辑处理。
|
||||
* */
|
||||
cutBox.addEventListener("touchstart", function(event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
Options_move = {
|
||||
beginX1 : 0,
|
||||
beginY1 : 0,
|
||||
endX1 : 0,
|
||||
endY1 : 0
|
||||
};
|
||||
var beginX = event.changedTouches[0].pageX;
|
||||
var beginY = event.changedTouches[0].pageY;
|
||||
Options_move.beginX1 = beginX;
|
||||
Options_move.beginY1 = beginY;
|
||||
|
||||
}, false);
|
||||
cutBox.addEventListener("touchmove", function(event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
//--
|
||||
var beginX = event.changedTouches[0].pageX;
|
||||
var beginY = event.changedTouches[0].pageY;
|
||||
Options_move.endX1 = beginX;
|
||||
Options_move.endY1 = beginY;
|
||||
//--计算是否发生位移,根据位移来定位裁剪框位置。
|
||||
//位移量。
|
||||
var _d_x = Options_move.endX1 - Options_move.beginX1;
|
||||
var _d_y = Options_move.endY1 - Options_move.beginY1;
|
||||
//--当前裁剪框原始位置。
|
||||
var _new_x = Options.cutLeft;
|
||||
var _new_y = Options.cutTop;
|
||||
_new_x += _d_x;
|
||||
_new_y += _d_y;
|
||||
//--判断是否在矩形边框,假如超出去,那么就取最终点。
|
||||
//--注意,判断相关点的范围。
|
||||
|
||||
if (_new_x < Options.cutBoxLimitX1) {
|
||||
_new_x = Options.cutBoxLimitX1;
|
||||
} else if (_new_x > Options.cutBoxLimitX2) {
|
||||
_new_x = Options.cutBoxLimitX2;
|
||||
}
|
||||
//--顺便判断,加上宽度后,是否超过了范围。
|
||||
if ((_new_x + Options.cutViewWidth) > Options.cutBoxLimitX2) {
|
||||
_new_x = Options.cutBoxLimitX2 - Options.cutViewWidth;
|
||||
}
|
||||
if (_new_y < Options.cutBoxLimitY1) {
|
||||
_new_y = Options.cutBoxLimitY1;
|
||||
} else if (_new_y > Options.cutBoxLimitY2) {
|
||||
_new_y = Options.cutBoxLimitY2;
|
||||
}
|
||||
//--顺便判断,加上裁剪框高度后,是否超过下限。
|
||||
if ((_new_y + Options.cutViewHeight) > Options.cutBoxLimitY2) {
|
||||
_new_y = Options.cutBoxLimitY2 - Options.cutViewHeight;
|
||||
}
|
||||
|
||||
//获取x、y坐标!!!
|
||||
$("#x").val(_new_x);
|
||||
$("#y").val(_new_y);
|
||||
|
||||
Options.cutLeft = _new_x;
|
||||
Options.cutTop = _new_y;
|
||||
_resizeCutBox();
|
||||
//---将这一点的放回前一点。
|
||||
Options_move.beginX1 = Options_move.endX1;
|
||||
Options_move.beginY1 = Options_move.endY1;
|
||||
|
||||
}, false);
|
||||
cutBox.addEventListener("touchend", function(event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
return;
|
||||
|
||||
}, false);
|
||||
/**
|
||||
* 根据相关参数重新resize裁剪框
|
||||
* */
|
||||
function _resizeCutBox() {
|
||||
|
||||
//$(cutBox).css({"left":Options.cutLeft+"px","top":Options.cutTop+"px"});
|
||||
$(cutBox).css({
|
||||
"width" : Options.cutViewWidth + "px",
|
||||
"height" : Options.cutViewHeight + "px",
|
||||
"left" : Options.cutLeft + "px",
|
||||
"top" : Options.cutTop + "px"
|
||||
});
|
||||
}
|
||||
function _getCutImageData() {
|
||||
var output = document.createElement("canvas");
|
||||
//--坐标换算。
|
||||
var scale_x = Options_image.width / Options.cropViewWidth;
|
||||
var scale_y = Options_image.height / Options.cropViewHeight;
|
||||
var _o_x = parseInt((scale_x) * Options.cutLeft);
|
||||
var _o_y = parseInt((scale_y) * Options.cutTop);
|
||||
//--长度换算
|
||||
var _o_width = parseInt(scale_x * Options.cutViewWidth);
|
||||
var _o_height = parseInt(scale_y * Options.cutViewHeight);
|
||||
|
||||
output.width = Options.cutWidth;
|
||||
output.height = Options.cutHeight;
|
||||
output.getContext("2d").drawImage(img_preview, _o_x, _o_y, _o_width,
|
||||
_o_height, 0, 0, output.width, output.height);
|
||||
return output.toDataURL("image/jpeg");
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 图片剪切提交方法
|
||||
*/
|
||||
function saveImage() {
|
||||
var imgData = _getCutImageData();
|
||||
var img=imgData.substr(23, imgData.length);
|
||||
$.post(url+'Img/index',{img:img},function(r){
|
||||
if(r){
|
||||
$.hidePreloader();
|
||||
xface=r;
|
||||
$.closeModal();
|
||||
history.go(-1);
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
/**
|
||||
* processBar 进度条相关操作。
|
||||
* */
|
||||
|
||||
Options_process = {
|
||||
beginX : 0,//触摸时候起始点
|
||||
beginY : 0,//触摸时候起始点
|
||||
endX : 0,//触摸时候终点
|
||||
endY : 0,//触摸时候终点
|
||||
barWidth : 280,//进度条长度
|
||||
pointX : 0,//当前指示点位置
|
||||
pointY : 0,
|
||||
percent : 0,//百分比值。
|
||||
initStatus : false
|
||||
};
|
||||
var processBar = document.getElementById("processBar");
|
||||
var processPoint = document.getElementById("processPoint");
|
||||
|
||||
//--添加触屏事件,监控相关动作。
|
||||
//开始触摸
|
||||
processBar.addEventListener("touchstart", function(event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
if (!Options_process.initStatus) {
|
||||
return;
|
||||
}
|
||||
var beginX = event.changedTouches[0].pageX;
|
||||
var beginY = event.changedTouches[0].pageY;
|
||||
Options_process.beginX = beginX;
|
||||
Options_process.beginY = beginY;
|
||||
}, false);
|
||||
//--移动中
|
||||
processBar.addEventListener("touchmove", function(event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
if (!Options_process.initStatus) {
|
||||
return;
|
||||
}
|
||||
var beginX = event.changedTouches[0].pageX;
|
||||
var beginY = event.changedTouches[0].pageY;
|
||||
Options_process.endX = beginX;
|
||||
Options_process.endY = beginY;
|
||||
//--计算比分比。
|
||||
var _d_x = Options_process.endX - Options_process.beginX;
|
||||
Options_process.percent += parseInt(_d_x * 100/Options_process.barWidth);
|
||||
if (Options_process.percent < 0) {
|
||||
Options_process.percent = 0;
|
||||
} else if (Options_process.percent > 100) {
|
||||
Options_process.percent = 100;
|
||||
}
|
||||
//--计算那个指示点位置。
|
||||
Options_process.pointX = parseInt(Options_process.barWidth
|
||||
* (Options_process.percent / 100));
|
||||
_resizeProcessBar();
|
||||
//--根据百分比,设置裁剪框大小。
|
||||
var _o_cut_x = Options.cutLeft;
|
||||
var _o_cut_y = Options.cutTop;
|
||||
var _o_cut_width = Options.cutViewWidth;
|
||||
var _new_cut_width = parseInt(Options.cutMaxWidth
|
||||
* (Options_process.percent / 100));
|
||||
var _new_cut_height = parseInt(Options.cutMaxHeight
|
||||
* (Options_process.percent / 100));
|
||||
|
||||
//最小裁剪框尺寸
|
||||
var cutMinSize = Options.cutMinSize;
|
||||
if (_new_cut_width < cutMinSize) {
|
||||
_new_cut_width = _new_cut_height = cutMinSize;
|
||||
}
|
||||
|
||||
if (_new_cut_width > _o_cut_width) {
|
||||
//--扩大了。
|
||||
//--计算当前坐标
|
||||
var _d_x_2 = _new_cut_width - Options.cutViewWidth;
|
||||
var _d_y_2 = _new_cut_height - Options.cutViewHeight;
|
||||
|
||||
Options.cutLeft = Options.cutLeft - parseInt(_d_x_2 / 2);
|
||||
Options.cutTop = Options.cutTop - parseInt(_d_y_2 / 2);
|
||||
Options.cutViewWidth = _new_cut_width;
|
||||
Options.cutViewHeight = _new_cut_height;
|
||||
_resizeCutBox();
|
||||
|
||||
} else if (_new_cut_width < _o_cut_width) {
|
||||
//--缩小了。
|
||||
var _d_x_2 = Options.cutViewWidth - _new_cut_width;
|
||||
var _d_y_2 = Options.cutViewHeight - _new_cut_height;
|
||||
Options.cutLeft = Options.cutLeft + parseInt(_d_x_2 / 2);
|
||||
Options.cutTop = Options.cutTop + parseInt(_d_y_2 / 2);
|
||||
Options.cutViewWidth = _new_cut_width;
|
||||
Options.cutViewHeight = _new_cut_height;
|
||||
_resizeCutBox();
|
||||
|
||||
}
|
||||
|
||||
//获取剪切框长宽!!!
|
||||
$("#hh").val(_new_cut_height);
|
||||
$("#ww").val(_new_cut_width);
|
||||
|
||||
//--后续处理。
|
||||
Options_process.beginX = Options_process.endX;
|
||||
Options_process.endY = Options_process.endY;
|
||||
|
||||
}, false);
|
||||
//--结束
|
||||
processBar.addEventListener("touchend", function(event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
if (!Options_process.initStatus) {
|
||||
return;
|
||||
}
|
||||
}, false);
|
||||
|
||||
function _resizeProcessBar() {
|
||||
var lefe_x = Options_process.pointX;
|
||||
var left_w = parseInt(lefe_x + 5)
|
||||
$(processPoint).css("left", lefe_x + "px");
|
||||
$("#leftBar").css("width", left_w + "px");
|
||||
}
|
||||
|
||||
$("#saveimg").click(function() {
|
||||
if (Options.initStatus == false) {
|
||||
alert("请先选择图片!");
|
||||
return;
|
||||
}
|
||||
$.showPreloader('上传中...');
|
||||
saveImage();
|
||||
});
|
||||
|
||||
|
||||
//
|
||||
})
|
||||
|
||||
|
||||
|
||||
//设置
|
||||
|
||||
$(document).on("pageInit", "#page-set", function(e, pageId, $page) {
|
||||
if(xface){
|
||||
$('.uface_img').attr('src',imgUrl+'face/'+xface);
|
||||
}
|
||||
//
|
||||
//
|
||||
var liclick;
|
||||
$('.list-block .item-link').click(function(){
|
||||
|
||||
liclick=$(this);
|
||||
var t=liclick.attr('pid');
|
||||
if(t!=''){
|
||||
|
||||
$.popup('.popup-'+t);
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
|
||||
//
|
||||
$('.pull-right').click(function(){
|
||||
|
||||
var n=$(this).attr('pid');
|
||||
var v=$('input[name='+n+']').val();
|
||||
if(v==''){
|
||||
|
||||
$.toast('该项不能为空');
|
||||
return false;
|
||||
}
|
||||
|
||||
$.post(url+'UserSet/info',{name:n,val:v},function(r){
|
||||
|
||||
if(r){
|
||||
|
||||
$.toast('修改成功');
|
||||
liclick.children().children('.item-after').html(v);
|
||||
|
||||
if(n=='name'){
|
||||
xname=v;
|
||||
}
|
||||
$('input[name='+n+']').val(v);
|
||||
$.closeModal();
|
||||
}
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
//
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
$('.ewm').click(function(){
|
||||
document.querySelector('#file').addEventListener('change', function () {
|
||||
lrz(this.files[0])
|
||||
.then(function (rst) {
|
||||
|
||||
$.post(url+'Img/ewm',{img:rst.base64},function(r){
|
||||
|
||||
$('.ewm').html('<img src=\"'+imgUrl+'wxewm/'+r+'\">');
|
||||
})
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
|
||||
})
|
||||
//
|
||||
$("#city-picker").cityPicker({
|
||||
toolbarTemplate: '<header class="bar bar-nav">\
|
||||
<button class="button button-link pull-right close-picker">确定</button>\
|
||||
<h1 class="title">选择城市</h1>\
|
||||
</header>'
|
||||
});
|
||||
//
|
||||
$('#savepwd').click(function(){
|
||||
|
||||
var opwd=$('input[name=opwd]').val();
|
||||
var npwd=$('input[name=npwd]').val();
|
||||
var npwd2=$('input[name=npwd2]').val();
|
||||
if(opwd==''){
|
||||
$.toast('旧密码不能为空');
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
if(npwd==''){
|
||||
|
||||
$.toast('新密码不能为空');
|
||||
return false;
|
||||
|
||||
}
|
||||
if(npwd.length<6){
|
||||
$.toast('新密码不能小于6位');
|
||||
return false;
|
||||
|
||||
}
|
||||
if(npwd2==''){
|
||||
|
||||
$.toast('确认密码不能为空');
|
||||
return false;
|
||||
}
|
||||
if(npwd2!=npwd){
|
||||
$.toast('两次密码输入不一致');
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
$.post(url+'UserSet/pwd',{opwd:opwd,npwd:npwd},function(r){
|
||||
if(r.s){
|
||||
$.toast('密码修改成功,请牢记!');
|
||||
$('input[name=opwd]').val('');
|
||||
$('input[name=npwd]').val('');
|
||||
$('input[name=npwd2]').val('');
|
||||
setTimeout(function() {
|
||||
$.closeModal();
|
||||
}, 2000);
|
||||
}else{
|
||||
|
||||
$.toast(r.info);
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
|
||||
})
|
||||
|
||||
//
|
||||
$('.close').click(function(){
|
||||
|
||||
$.get(url+'/Login/close',function(r){
|
||||
|
||||
location.href= url+'Index/login';
|
||||
})
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
|
||||
// 发布文章
|
||||
$(document).on("pageInit", "#page-wzadd", function(e, pageId, $page) {
|
||||
colseimg();
|
||||
var on=Get('on');
|
||||
item=false;
|
||||
var winwidth=$(document).width();
|
||||
$('.fixedDiv').css({width:winwidth+"px",marginLeft:-winwidth/2+"px"});
|
||||
file();
|
||||
/* 文章设置 */
|
||||
$('#wzadd').click(function(){
|
||||
$.popup('.popup-set');
|
||||
})
|
||||
/* 直接插入文字 */
|
||||
$('#addword').click(function(){
|
||||
|
||||
word(1);
|
||||
})
|
||||
/* 插入文字面板 */
|
||||
$('.tinsert_hl ul li').click(function(){
|
||||
|
||||
var pid=$(this).attr('pid');
|
||||
textsub(parseInt(pid));
|
||||
})
|
||||
/* 插入文字面板清空 */
|
||||
$('.text_reset').click(function(){
|
||||
textsub(0);
|
||||
})
|
||||
// 取消插入或者修改文字
|
||||
$('.boxNo').click(function(){
|
||||
var pid=$(this).attr('pid');
|
||||
hidebox(pid);
|
||||
})
|
||||
//提交插入或者修改文字
|
||||
$('.boxYes').click(function(){
|
||||
instrd(parseInt($(this).attr('pid')))
|
||||
})
|
||||
// 颜色 背景颜色 字体大小
|
||||
$('.bgcolor ul li,.color ul li,.check_size ul li').click(function(){
|
||||
textstyle(parseInt($(this).parent('ul').attr('pid')),$(this));
|
||||
})
|
||||
|
||||
|
||||
//清空
|
||||
$('.text_tit_r').click(function(){
|
||||
|
||||
var i=$(this).attr('pid');
|
||||
|
||||
if(i==1){
|
||||
$('.text_word').css('color','');
|
||||
$('.text_color').hide();
|
||||
}else{
|
||||
|
||||
$('.text_word').css('background','');
|
||||
$('.text_bgcolor').hide();
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
$('#addimg').click(function(){
|
||||
$('.text_img').show();
|
||||
$('.mask').show();
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
$('#wzcon').on("click",'a,span,div,em,p,img,section,fieldset,table,td,tr',function(){
|
||||
if(item){
|
||||
return false;
|
||||
}
|
||||
item=$(this);
|
||||
//调操作面板
|
||||
showpanel();
|
||||
var a1=item.height()+item.position().top+$('.tedit_tool').height()+$('nav').height()+10;
|
||||
var a2=$(window).height()-$('header').height();
|
||||
var a3=$('#wzcon').position().top;
|
||||
if(a1>a2){
|
||||
$('.content').scrollTop(-(a3-(a1-a2)));
|
||||
}
|
||||
|
||||
return false;
|
||||
})//*****点击处理 end!
|
||||
$('#wzcon').on('click','.t_link',function(){
|
||||
var pid=$(this).attr('pid');
|
||||
panelclick(pid);
|
||||
|
||||
})
|
||||
//
|
||||
$('#wxstyle').click(function(){
|
||||
if(($('#wxcon').html()=='')){
|
||||
$.get("/ajax/modelstyle",function(data){
|
||||
var str='';
|
||||
if(data.code==1){
|
||||
$('#wxcon').html(data.msg);
|
||||
}
|
||||
});
|
||||
};
|
||||
$.popup('.popup-style');
|
||||
});
|
||||
//
|
||||
//
|
||||
$('#wxcon').on("click",'.card',function(){
|
||||
var str=$(this).children().children('.card-content-inner').html();
|
||||
$('#wzcon').append(str);
|
||||
$.closeModal();
|
||||
})
|
||||
//
|
||||
|
||||
$('#addvideo').click(function(){
|
||||
$('.text_video').show();
|
||||
$('.mask').show();
|
||||
})
|
||||
//
|
||||
var addbtn=false;
|
||||
$('#fbtext').click(function(){
|
||||
var content=$('#wzcon').html();
|
||||
var title=$('input[name=title]').val();
|
||||
var jianjie=$('.jianjie').val();
|
||||
var imgsrc=$('.lstimg img').attr('pid');
|
||||
var imgthumb=$('.lstimg img').attr('src');
|
||||
if(content.length<255){
|
||||
$.toast('您未填写内容,或者内容不足一篇文章');
|
||||
return false;
|
||||
}
|
||||
// if(title==''||jianjie==''){
|
||||
if(1){
|
||||
addbtn=true;
|
||||
$.toast('请先设置文章信息');
|
||||
setTimeout(function(){
|
||||
$.popup('.popup-set');
|
||||
},1600)
|
||||
}else{
|
||||
addwz(title,jianjie,imgsrc,imgthumb,content);
|
||||
}
|
||||
})
|
||||
//
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
//上传略缩图
|
||||
//
|
||||
$('.lstbox').click(function(){
|
||||
$('.text_img').show();
|
||||
$('.mask').show();
|
||||
thumb=true;
|
||||
})
|
||||
//
|
||||
//
|
||||
//
|
||||
$('#addbtn').click(function(){
|
||||
var title=$('input[name=title]').val();
|
||||
var jianjie=$('.jianjie').val();
|
||||
var imgsrc=$('.lstimg img').attr('pid');
|
||||
var imgthumb=$('.lstimg img').attr('src');
|
||||
if(title==''){
|
||||
$.toast('文章标题不能为空');
|
||||
return false;
|
||||
}
|
||||
if(jianjie==''){
|
||||
$.toast('文章简介不能为空');
|
||||
return false;
|
||||
}
|
||||
// if(imgsrc==undefined){
|
||||
// $.toast('文章略缩图不能为空');
|
||||
// return false;
|
||||
// }
|
||||
if(addbtn){
|
||||
addwz(title,jianjie,imgsrc,imgthumb,$('#wzcon').html());
|
||||
$.showPreloader('正在发布,请稍后...')
|
||||
}else{
|
||||
$.closeModal();
|
||||
}
|
||||
|
||||
})
|
||||
//
|
||||
function addwz(a,b,c,d,e){
|
||||
var editid=$("#editid").val();
|
||||
var url='/Article/edit';
|
||||
if(editid=="0"){
|
||||
url='/Article/add';
|
||||
}
|
||||
$.post(url,{title:a,description:b,storage_id:c,thumb:d,content:e,id:editid},function(r){
|
||||
$.hidePreloader();
|
||||
if(r['code']==1){
|
||||
$.closeModal();
|
||||
$.alert('发布成功',function(){
|
||||
location.href=r['url'];
|
||||
})
|
||||
}else{
|
||||
$.toast(r['msg']);
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
$.init();
|
||||
})
|
||||
|
||||
|
||||
822
public/static/mobile/edit/js/function.js
Normal file
@@ -0,0 +1,822 @@
|
||||
// 公共函数
|
||||
var url='http://m.zhixiaodaren.cn/index.php/';
|
||||
var web='http://m.zhixiaodaren.cn/';
|
||||
var imgUrl='/uploads/';
|
||||
var fxurl='http://fx.dyunkeji.com/index.php/Index/index/id/';
|
||||
var item=false,xg=false;
|
||||
var page=2;
|
||||
var loading=false;
|
||||
var msgs=true;
|
||||
var upimgurl='';
|
||||
var imgfun='';
|
||||
var xface=false,xname=false,thumb=false,guanzhu=false;
|
||||
|
||||
|
||||
//非vip提示
|
||||
function novip(s){
|
||||
$.confirm('您非VIP会员,'+s+'</br>立即开通VIP,享受更多功能特权!', '功能操作受限', function () {
|
||||
location.href=url+'User/vip.html';
|
||||
});
|
||||
}
|
||||
|
||||
function getTime(i)
|
||||
{
|
||||
var now=new Date(i*1000);
|
||||
var year=now.getFullYear();
|
||||
var month=now.getMonth()+1;
|
||||
var date=now.getDate();
|
||||
var hour=now.getHours();
|
||||
var minute=now.getMinutes();
|
||||
var second=now.getSeconds();
|
||||
return year+"-"+add0(month)+"-"+add0(date);
|
||||
}
|
||||
|
||||
function add0(a){
|
||||
var a=a.toString();
|
||||
if(a.length<2){
|
||||
|
||||
return '0'+a;
|
||||
}else{
|
||||
return a;
|
||||
}
|
||||
|
||||
}
|
||||
function Get(name)
|
||||
{
|
||||
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
|
||||
var r = window.location.search.substr(1).match(reg);
|
||||
if(r!=null)return unescape(r[2]); return null;
|
||||
}
|
||||
|
||||
//分享
|
||||
function wxShare(a){
|
||||
wx.onMenuShareTimeline(a);
|
||||
wx.onMenuShareAppMessage(a);
|
||||
wx.onMenuShareQQ(a);
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
|
||||
//
|
||||
// 文字编辑面板
|
||||
function word(e){
|
||||
var m=$('.text_insert');
|
||||
var s=$('.text_word');
|
||||
if(e==2){
|
||||
xg=true;
|
||||
s.val(item.text());
|
||||
s.attr('style',item.attr('style'));
|
||||
}else{
|
||||
s.val('');
|
||||
s.removeAttr('style');
|
||||
}
|
||||
m.show();
|
||||
$('.mask').show();
|
||||
|
||||
}
|
||||
//文字编辑面板 子面板
|
||||
function textsub(e){
|
||||
var m=$('.text_word');
|
||||
switch(e){
|
||||
case 1:
|
||||
if(m.css('font-weight')=="bold"){
|
||||
m.css('font-weight','');
|
||||
}else{
|
||||
m.css('font-weight','bold');
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
$('.text_color').show();
|
||||
break;
|
||||
case 3:
|
||||
$('.text_bgcolor').show();
|
||||
break;
|
||||
case 4:
|
||||
$('.text_size').show();
|
||||
break;
|
||||
case 5:
|
||||
m.css('textAlign','left');
|
||||
break;
|
||||
case 6:
|
||||
m.css('textAlign','center');
|
||||
break;
|
||||
case 7:
|
||||
m.css('textAlign','right');
|
||||
break;
|
||||
|
||||
default:
|
||||
m.val('');
|
||||
m.removeAttr('style');
|
||||
$('.nowcolor').css("background",'rgb(51, 51, 51)');
|
||||
}
|
||||
}
|
||||
//
|
||||
//
|
||||
//取消 输入框 或者video 输入
|
||||
|
||||
function hidebox(i){
|
||||
switch(parseInt(i)){
|
||||
case 1:
|
||||
$('.text_insert').hide();
|
||||
break;
|
||||
|
||||
case 2:
|
||||
$('.text_video').hide();
|
||||
|
||||
case 3:
|
||||
$('.text_url').hide();
|
||||
case 4:
|
||||
$('.text_title').hide();
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
xg=false;
|
||||
$('.mask').hide();
|
||||
|
||||
}
|
||||
//
|
||||
// 文字编辑面板 子面板 事件
|
||||
function textstyle(i,t){
|
||||
|
||||
switch(i){
|
||||
case 1:
|
||||
$('.text_word').css('background',t.children('span').css('backgroundColor'));
|
||||
$('.text_bgcolor').hide();
|
||||
break;
|
||||
case 2:
|
||||
var c=t.children('span').css('backgroundColor');
|
||||
$('.text_word').css('color',c);
|
||||
$('.nowcolor').css("background",c);
|
||||
$('.text_color').hide();
|
||||
break;
|
||||
case 3:
|
||||
$('.text_word').css('fontSize',t.html());
|
||||
$('.text_size').hide();
|
||||
break;
|
||||
case 4:
|
||||
$('.text_word').removeAttr('style').val('');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function cler(){
|
||||
item.removeClass('eing');
|
||||
item=false;
|
||||
$('#selp').remove();
|
||||
}
|
||||
//
|
||||
// 提交或者插入视频 插入链接
|
||||
function instrd(i){
|
||||
switch(i)
|
||||
{
|
||||
case 1: //插入文字
|
||||
var text=$('.text_word');
|
||||
var val=text.val();
|
||||
var sty=text.attr('style');
|
||||
if(typeof sty=='object')
|
||||
{
|
||||
var s='<p>'+val+'</p>';
|
||||
}
|
||||
else
|
||||
{
|
||||
var s='<p style="'+sty+'">'+val+'</p>';
|
||||
}
|
||||
if(xg){
|
||||
item.text(val);
|
||||
item.attr('style',sty);
|
||||
item.removeClass('eing');
|
||||
item=false;
|
||||
xg=false;
|
||||
}else{
|
||||
if(item){
|
||||
item.after(s);
|
||||
item.removeClass('eing');
|
||||
item=false;
|
||||
}else{
|
||||
$('#wzcon').append(s);
|
||||
}
|
||||
}
|
||||
$('.text_insert').hide();
|
||||
$('.mask').hide();
|
||||
$('#selp').remove();
|
||||
//
|
||||
//
|
||||
break;
|
||||
case 2: //插入视频
|
||||
//
|
||||
//
|
||||
var video=$('input[name=video]').val();
|
||||
|
||||
if(video==''){
|
||||
$.toast('视频地址不能为空');
|
||||
return false;
|
||||
}
|
||||
|
||||
if(video.search(/v\.qq\.com/)<0){
|
||||
|
||||
$.toast('请输入有效的腾讯视频网址');
|
||||
return false;
|
||||
}
|
||||
|
||||
if(video.search(/vid=/)>0){
|
||||
var v=video.substr(video.search(/vid=/)+4,11);
|
||||
}else{
|
||||
var v=video.substr(video.length-16,11);
|
||||
}
|
||||
var s='<p style="max-width:100%; margin:4px"><iframe frameborder="0" src="http://v.qq.com/iframe/player.html?vid='+v+'&auto=0" style="z-index: 1; width: 100% ! important; height: 231.75px ! important; overflow: hidden;" class="video_iframe" scrolling="no"></iframe></p>';
|
||||
if(item){
|
||||
item.after(s);
|
||||
item.removeClass('eing');
|
||||
item=false;
|
||||
$('#selp').remove();
|
||||
|
||||
}else{
|
||||
$('#wzcon').append(s);
|
||||
}
|
||||
$('input[name=video]').val('');
|
||||
$('.text_video').hide();
|
||||
$('.mask').hide();
|
||||
//
|
||||
//
|
||||
//
|
||||
break;
|
||||
|
||||
case 3: //插入链接
|
||||
//
|
||||
//
|
||||
var url=$('input[name=text_url]').val();
|
||||
if(url==''){
|
||||
$.toast('链接不能为空!');
|
||||
return false;
|
||||
}
|
||||
|
||||
if( url.match(/http:\/\/.+/)==null){
|
||||
$.toast('您输入的网址格式不正确');
|
||||
return false;
|
||||
}
|
||||
$('.text_url').hide();
|
||||
$('.mask').hide();
|
||||
|
||||
item.wrap('<a href=\"'+url+'\"></a>');
|
||||
item.removeClass('eing');
|
||||
|
||||
item=false;
|
||||
$('#selp').remove();
|
||||
$('input[name=text_url]').val('');
|
||||
//
|
||||
//
|
||||
//
|
||||
break;
|
||||
case 4:
|
||||
var str=$('.text_ct').val();
|
||||
if(str==''){
|
||||
$.toast('标题不能为空');
|
||||
return false;
|
||||
}
|
||||
$('#title').html(str);
|
||||
$('.text_title').hide();
|
||||
$('.mask').hide();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function showpanel(){
|
||||
|
||||
var panel=[{c:'t_word',t:'插文字'},{c:'t_text',t:'改文字'},{c:'t_image',t:'插图片'},{c:'t_video',t:'插视频'},{c:'t_add',t:'插链接'},{c:'t_del0',t:'删除前'},{c:'t_del0',t:'删除后'},{c:'t_del0',t:'删除'},{c:'t_cancel',t:'取消'}];
|
||||
var str='<div class="tedit_tool" id="selp"><ul>';
|
||||
for(var i=0;i<panel.length;i++){
|
||||
str+='<span class="t_link" pid=\"'+i+'\"><li class=\"'+panel[i].c+'\">'+panel[i].t+'</li></span>';
|
||||
}
|
||||
str+="</ul></div>";
|
||||
item.after(str).addClass('eing');
|
||||
|
||||
}
|
||||
|
||||
|
||||
function rq(){
|
||||
|
||||
var prev = item.prev();
|
||||
var i=item;
|
||||
|
||||
while (prev.length<0||prev.length==0&& !i.hasClass("content-inner")){
|
||||
i=i.parent();
|
||||
prev=i.prev();
|
||||
};
|
||||
|
||||
prev.remove();
|
||||
item.removeClass('eing');
|
||||
$('#selp').remove();
|
||||
item=false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function rh(){
|
||||
var i=$('#selp');
|
||||
var h=i.next();
|
||||
|
||||
while (h.length<0||h.length==0&& !i.hasClass("content-inner")){
|
||||
i=i.parent();
|
||||
h=i.next();
|
||||
}
|
||||
h.remove();
|
||||
item.removeClass('eing');
|
||||
$('#selp').remove();
|
||||
item=false;
|
||||
}
|
||||
//
|
||||
function colseimg(){
|
||||
|
||||
$('.text_img .tinsert_head .cosle').click(function(){
|
||||
$('.text_img').hide();
|
||||
$('.mask').hide();
|
||||
})
|
||||
}
|
||||
function file(){
|
||||
document.querySelector('#files').addEventListener('change', function () {
|
||||
$.showPreloader('图片上传中请稍候...');
|
||||
lrz(this.files[0])
|
||||
.then(function (rst) {
|
||||
var data = {
|
||||
base64: rst.base64,
|
||||
size: rst.base64.length
|
||||
};
|
||||
$.post('/upload/uploadPicture',{files:data},function(r){
|
||||
|
||||
$.hidePreloader();
|
||||
$('.text_img').hide();
|
||||
$('.mask').hide();
|
||||
if(item){
|
||||
item.after('<img src=\"'+r['data']['filename']+'\" width=\"100%\">');
|
||||
item.removeClass('eing');
|
||||
item=false;
|
||||
$('#selp').remove();
|
||||
}else{
|
||||
if(!thumb){
|
||||
$('#wzcon').append('<img src=\"'+r['data']['filename']+'\" width=\"100%\">');
|
||||
}else{
|
||||
$('#thumb').attr('src',r['data']['filename']);
|
||||
$('#thumb').attr('pid',r['data']['fileid']);
|
||||
thumb=false;
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
});
|
||||
|
||||
}
|
||||
function panelclick(pid){
|
||||
|
||||
switch(parseInt(pid))
|
||||
{
|
||||
case 0:
|
||||
word(1);
|
||||
break;
|
||||
case 1:
|
||||
word(2);
|
||||
break;
|
||||
case 2:
|
||||
$('.text_img').show();
|
||||
$('.mask').show();
|
||||
break;
|
||||
case 3:
|
||||
$('.text_video').show();
|
||||
$('.mask').show();
|
||||
|
||||
break;
|
||||
case 4:
|
||||
$('.text_url').show();
|
||||
$('.mask').show();
|
||||
break;
|
||||
case 5:
|
||||
rq();
|
||||
|
||||
break;
|
||||
case 6:
|
||||
rh();
|
||||
break;
|
||||
case 7:
|
||||
item.remove();
|
||||
item=false;
|
||||
$('#selp').remove();
|
||||
break;
|
||||
case 8:
|
||||
item.removeClass('eing');
|
||||
$('#selp').remove();
|
||||
item=false;
|
||||
break;
|
||||
default:
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 采集或者发布文章列表
|
||||
function article(p,i,e){
|
||||
$.get(url+'UserGet/UserArticle',{p:p,on:i},function(r){
|
||||
|
||||
if(p==1&&r.length==0){
|
||||
e.html('<div class="null_icon">您还没有发布过哦!点击右上角加号开始添加</div>');
|
||||
return false;
|
||||
}
|
||||
var str='';
|
||||
|
||||
for (var i=0;i<r.length; i++) {
|
||||
str+='<div class="card">'+
|
||||
'<div class="card-content">'+
|
||||
'<div class="list-block media-list">'+
|
||||
'<ul>'+
|
||||
'<li class="item-content">'+
|
||||
'<div class="item-media">'+
|
||||
'<img src=\"'+wximg(r[i].img)+'\" style="width: 4rem;">'+
|
||||
'</div>'+
|
||||
'<div class="item-inner">'+
|
||||
'<div class="item-text">'+r[i].title+'</div>'+
|
||||
'<div class="item-title-row mt">'+
|
||||
'<div class="item-after">'+getTime(r[i].time)+'</div>'+
|
||||
'<div class="item-after">'+r[i].eye+'人浏览</div>'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'</li>'+
|
||||
'</ul>'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="card-footer">'+
|
||||
'<a href=\"'+wze(2,r[i].id)+'\" class="link icon icon-search c1" external> 查看</a>'+
|
||||
'<a href=\"'+wze(1,r[i].id,r[i].on)+'\" class="link icon icon-edit c2"> 编辑</a>'+
|
||||
'<a href="javascript:void(0);" class="link icon icon-remove c3" pid=\"'+r[i].id+'\"> 删除</a>'+
|
||||
'</div>'+
|
||||
'</div>';
|
||||
}
|
||||
|
||||
if(p==1){
|
||||
e.html(str);
|
||||
|
||||
}else{
|
||||
if(r.length<10){
|
||||
$.detachInfiniteScroll($('.infinite-scroll'));
|
||||
|
||||
}else{
|
||||
page++;
|
||||
loading = false;
|
||||
}
|
||||
e.append(str);
|
||||
$.refreshScroller();
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
function wximg(src){
|
||||
|
||||
if(src==''){
|
||||
return web+'Public/icon/noimg.png';
|
||||
}else{
|
||||
return imgUrl+'wzimg/'+src;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function wze(i,id,on){
|
||||
|
||||
if(i==1){
|
||||
if(on==1){
|
||||
|
||||
return url+'User/caibian.html?&id='+id;
|
||||
}
|
||||
return url+'User/wzadd.html?on=0&id='+id;
|
||||
|
||||
}
|
||||
if(i==2){
|
||||
return url+'User/uact?id='+id;
|
||||
}
|
||||
|
||||
if(i==3){
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
//头像
|
||||
function uface(f){
|
||||
if(f==''){
|
||||
return '/Uploads/face/noface.png';
|
||||
}
|
||||
return '/Uploads/face/'+f;
|
||||
}
|
||||
// 获取经验
|
||||
function getjy(p,on,e){
|
||||
|
||||
$.get(url+'Jingyan/fen',{p:p,on:on},function(r){
|
||||
|
||||
if(p==1&&r.length==0){
|
||||
e.html('<div class="null_icon">空空地撒!</div>');
|
||||
$('.infinite-scroll-preloader').remove();
|
||||
return ;
|
||||
}
|
||||
|
||||
var str='';
|
||||
|
||||
for(var i=0;i<r.length;i++){
|
||||
|
||||
var v=r[i];
|
||||
str+='<li>'+
|
||||
'<div class="topbar">'+
|
||||
'<img src="'+uface(v.small)+'">'+
|
||||
'<div class="jy-u-info">'+
|
||||
'<p class="u-name">'+v.name+'</p>'+
|
||||
'<p class="time">'+getTime(v.time)+'</p>'+
|
||||
'</div>'+delbtn(on,v.id)+
|
||||
'</div>'+
|
||||
'<div class=\"jyurl\" pid=\"'+v.id+'\">'+
|
||||
'<div class="jy-con">'+getfaces(v.content)+'</div>'+jyimgs(v.img)+'<div class="groupbody">'+
|
||||
'<div class="icon-wrap">'+
|
||||
'<span class="liulan">'+v.eye+'</span>'+
|
||||
'<span class="ping">'+v.ping+'</span>'+
|
||||
'<span class="zan">'+v.agree+'</span>'+
|
||||
'</div>'+
|
||||
'</div></div>'+
|
||||
'</li>';
|
||||
}
|
||||
if(p==1){
|
||||
$.pullToRefreshDone('.pull-to-refresh-content');
|
||||
e.html(str);
|
||||
|
||||
if(r.length<10){
|
||||
loading=true;
|
||||
$('.infinite-scroll-preloader').remove();
|
||||
}else{
|
||||
page=2;
|
||||
loading=false;
|
||||
$('.infinite-scroll-preloader').html('<div class="preloader"></div>');
|
||||
|
||||
}
|
||||
}else{
|
||||
e.append(str);
|
||||
if(r.length<10){
|
||||
$('.infinite-scroll-preloader').html('没有更多了...');
|
||||
}else{
|
||||
loading=false;
|
||||
page++;
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 删除自己的按钮
|
||||
function delbtn(on,id){
|
||||
|
||||
if(on==1){
|
||||
return '<span class=\"icon icon-remove\" pid=\"'+id+'\"> 删除</span>';
|
||||
}else{
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 表情字符替换
|
||||
function getfaces(str){
|
||||
var reg = /\[([^\]]+)\]/g;
|
||||
return str.replace(reg,"<img src='/Public/images/$1.png'/>");
|
||||
|
||||
}
|
||||
// 经验图片
|
||||
function jyimgs(s){
|
||||
if(s==''){
|
||||
return '';
|
||||
}
|
||||
var ss = s.split(",");
|
||||
var str='<div class="jy-img row">';
|
||||
|
||||
if(ss.length>3){
|
||||
for(var i=0;i<3;i++){
|
||||
str+='<p class="jy-imgs col-33" style="background-image: url('+imgUrl+'/jy/'+ss[i]+');">'+imgcount(i,ss.length)+'</p>';
|
||||
}
|
||||
}else{
|
||||
for(var i=0;i<ss.length;i++){
|
||||
|
||||
str+='<p class="jy-imgs col-33" style="background-image: url('+imgUrl+'/jy/'+ss[i]+');"></p>';
|
||||
}
|
||||
|
||||
}
|
||||
return str+'</div>';
|
||||
}
|
||||
// 经验图片
|
||||
function jyimgs2(s){
|
||||
if(s==''){
|
||||
return '';
|
||||
}
|
||||
var ss = s.split(",");
|
||||
var str='<div class="img-box">';
|
||||
for(var i=0;i<ss.length;i++){
|
||||
|
||||
str+='<img src=\"'+imgUrl+'/jy/'+ss[i]+'\">';
|
||||
}
|
||||
|
||||
|
||||
return str+'</div>';
|
||||
}
|
||||
// 经验总图数
|
||||
function imgcount(a,b){
|
||||
if(a==2){
|
||||
return '<span class="total-img"><span class="total-img-text">'+b+'</span></span>'
|
||||
}else{
|
||||
return '';
|
||||
}
|
||||
}
|
||||
// 选择表情
|
||||
function faces(i){
|
||||
|
||||
var str='微笑/撇嘴/色/发呆/得意/流泪/害羞/闭嘴/睡/大哭/尴尬/发怒/调皮/呲牙/惊讶/难过/酷/冷汗/抓狂/吐/偷笑/可爱/白眼/傲慢/饥饿/困/惊恐/流汗/憨笑/装逼/奋斗/咒骂/疑问/嘘/晕/折磨/衰/骷髅/敲打/再见/擦汗/抠鼻/鼓掌/糗大了/坏笑/左哼哼/右哼哼/哈欠/鄙视/委屈/快哭了/阴险/亲亲/吓/可怜/菜刀/西瓜/啤酒/篮球/乒乓/咖啡/饭/猪头/玫瑰/凋谢/示爱/爱心/心碎/蛋糕/闪电/炸弹/刀/足球/瓢虫/便便/月亮/太阳/礼物/拥抱/赞/踩/握手/胜利/抱拳/勾引/拳头/差劲/爱你/NO/OK/爱情/飞吻/跳跳/发抖/怄火/转圈/磕头/回头/跳绳/挥手';
|
||||
var f=str.split("/");
|
||||
if(f[i]!=undefined){
|
||||
return '['+f[i]+']';
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 经验图片
|
||||
function jyimgs3(s){
|
||||
if(s==''){
|
||||
return '';
|
||||
}
|
||||
var ss = s.split(",");
|
||||
|
||||
var str='<div class="img-box-container row">';
|
||||
for(var i=0;i<ss.length;i++){
|
||||
|
||||
str+='<div class="img-box col-50">'+
|
||||
'<img src=\"'+imgUrl+'/jy/'+ss[i]+'\">'+
|
||||
'</div>';
|
||||
}
|
||||
return str+'</div>';
|
||||
}
|
||||
|
||||
//经验 回复 多重回复
|
||||
function commentto(r){
|
||||
if(r==0||r==null)return '';
|
||||
(r.img !='') ? a='<span>[图片]</span>' : a='';
|
||||
return '<div class="ref-comment">'+
|
||||
'<span><span>'+r.name+'</span>: </span>'+
|
||||
a+
|
||||
'<span>'+getfaces(r.con)+'</span>'+
|
||||
'</div>';
|
||||
}
|
||||
|
||||
function comment(r,p){
|
||||
var com='';
|
||||
|
||||
for(var i=0;i<r.length;i++){
|
||||
var s=r[i];
|
||||
(s.isagree!=0)?liked='liked':liked='';
|
||||
(s.my!=0)?my='<span class=\"js-btn-action btn-action delete\" pid=\"'+s.id+'\">删除</span>':my='';
|
||||
com+='<li class="list section-1px">'+
|
||||
'<div class="comment-wrapper">'+
|
||||
'<div class="user-avatar">'+
|
||||
'<img src=\"'+imgUrl+'/face/'+s.small+'\">'+
|
||||
'</div>'+
|
||||
'<div class="name-wrap">'+
|
||||
'<div class="name-section1">'+
|
||||
'<span class="author user-nick">'+s.name+'</span>'+
|
||||
'<label class=\"l-level\">LV.'+s.total.i+'</label>'+
|
||||
'<label class="author-male"></label>'+
|
||||
'<span class="floor">'+s.floor+'楼</span>'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="content-wrapper">'+
|
||||
'<div class="comment-con">'+getfaces(s.con)+'</div>'+
|
||||
jyimgs(s.img)+
|
||||
commentto(s.mid)+
|
||||
|
||||
'</div>'+
|
||||
'<div class="actions">'+
|
||||
'<span class="btn-action time">'+s.time+'</span>'+my+
|
||||
|
||||
'<span class=\"btn-action reply\" pid=\"'+s.id+'\"></span>'+
|
||||
'<span class=\"js-btn-action btn-action clike like '+liked+' \" pid=\"'+s.id+'\">'+s.agree+'</span>'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'</li>';
|
||||
}
|
||||
|
||||
|
||||
if(p==1){
|
||||
|
||||
|
||||
$('.lists').html(com);
|
||||
|
||||
}else if(p==2){
|
||||
|
||||
$('.lists').append(com);
|
||||
$('#noping').hide();
|
||||
$('#to_reply').text(parseInt($('#to_reply').text())+1);
|
||||
}else{
|
||||
|
||||
$('.lists').append(com);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
//获取更多评论
|
||||
function commore(id,p){
|
||||
$.get(url+'Jingyan/commore',{id:id,p:p},function(r){
|
||||
if(r.length<10){
|
||||
$.detachInfiniteScroll($('.infinite-scroll'));
|
||||
$('.infinite-scroll-preloader').html('没有更多了');
|
||||
}else{
|
||||
page++;
|
||||
}
|
||||
comment(r,3);
|
||||
$.refreshScroller();
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//清空编辑器
|
||||
function clertbjq(){
|
||||
$('.addjy').hide();
|
||||
$('.pub-pics').hide();
|
||||
$('.pub-faces').hide();
|
||||
$('.pub-pics .up-pic').remove();
|
||||
$('.editor').val('');
|
||||
|
||||
}
|
||||
|
||||
function editorpanel(){
|
||||
//插入表情面板
|
||||
$('.pub-face').click(function(){
|
||||
|
||||
$('.pub-faces').show();
|
||||
$('.pub-pics').hide();
|
||||
$(".swiper-container").swiper();
|
||||
})
|
||||
|
||||
$('.pub-cancel').click(function(){
|
||||
|
||||
$('.addjy').hide();
|
||||
})
|
||||
|
||||
//插入图片
|
||||
$('#selectPic').click(function(){
|
||||
$(this).addClass('active');
|
||||
$('.pub-pics').show();
|
||||
$('.pub-faces').hide();
|
||||
})
|
||||
|
||||
//插入表情
|
||||
$('.face-panel span').click(function(){
|
||||
var str=faces($(this).attr('index'));
|
||||
if(str){
|
||||
$('.editor').val($('.editor').val()+str);
|
||||
}else{
|
||||
|
||||
var str=$('.editor').val();
|
||||
var a=str.substring(str.length-1);
|
||||
if(a==']'){
|
||||
var ab=str.lastIndexOf('[');
|
||||
$('.editor').val(str.substring(0,ab))
|
||||
}else{
|
||||
$('.editor').val(str.substring(0,str.length-1));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
// 删除图片
|
||||
$('.pub-pics').on('click','.btn-del',function(){
|
||||
$(this).parent('li').remove();
|
||||
if($('.pub-pics').children('li').length<9){
|
||||
$('.up-entry').show();
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
function jyfile(){
|
||||
document.querySelector('#files').addEventListener('change', function () {
|
||||
$.showPreloader('图片上传中...');
|
||||
lrz(this.files[0])
|
||||
.then(function (rst) {
|
||||
|
||||
/**************************/
|
||||
$.post(url+'Img/jy',{img:rst.base64},function(r){
|
||||
$.hidePreloader();
|
||||
var str='<li class=\"up-pic up-over\" pid=\"'+r+'\">'+
|
||||
'<div class="clip">'+
|
||||
'<img src=\"'+web+'Uploads/jy/'+r+'\" style=\"width: 65px; height: 104px; display: block; margin-top: -19.5px;\">'+
|
||||
'</div>'+
|
||||
'<a class="btn-del" href="javascript:void(0)" title="关闭"> </a>'+
|
||||
'</li>';
|
||||
$('.up-entry').before(str);
|
||||
})
|
||||
})
|
||||
});
|
||||
}
|
||||
1
public/static/mobile/edit/js/lib/lrz.all.bundle.js
Normal file
8
public/static/mobile/edit/js/sm-city-picker.min.js
vendored
Normal file
8
public/static/mobile/edit/js/sm-extend.min.js
vendored
Normal file
10
public/static/mobile/edit/js/sm.min.js
vendored
Normal file
2
public/static/mobile/edit/js/zepto.min.js
vendored
Normal file
BIN
public/static/mobile/fonts/fontawesome-webfont.ttf
Normal file
BIN
public/static/mobile/fonts/zenicon.ttf
Normal file
BIN
public/static/mobile/img/123.mp3
Normal file
BIN
public/static/mobile/img/123.png
Normal file
|
After Width: | Height: | Size: 89 KiB |
BIN
public/static/mobile/img/cause-img_02.png
Normal file
|
After Width: | Height: | Size: 464 KiB |
BIN
public/static/mobile/img/cause-img_05.png
Normal file
|
After Width: | Height: | Size: 72 KiB |
BIN
public/static/mobile/img/cause-img_07.png
Normal file
|
After Width: | Height: | Size: 79 KiB |
BIN
public/static/mobile/img/cause-img_11.png
Normal file
|
After Width: | Height: | Size: 76 KiB |
BIN
public/static/mobile/img/cause-img_12.png
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
public/static/mobile/img/collection-img_03.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
public/static/mobile/img/conciceui_img.png
Normal file
|
After Width: | Height: | Size: 162 B |
BIN
public/static/mobile/img/conciseuiLogo.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
public/static/mobile/img/default_img.png
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
public/static/mobile/img/follow-wechat-img_03.png
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
public/static/mobile/img/help-banner_02.png
Normal file
|
After Width: | Height: | Size: 97 KiB |
BIN
public/static/mobile/img/help.jpg
Normal file
|
After Width: | Height: | Size: 8.3 KiB |
BIN
public/static/mobile/img/logo.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
public/static/mobile/img/null-share_03.png
Normal file
|
After Width: | Height: | Size: 44 KiB |
BIN
public/static/mobile/img/pay-icon.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
public/static/mobile/img/portrait_03.jpg
Normal file
|
After Width: | Height: | Size: 7.9 KiB |
BIN
public/static/mobile/img/qrcode-back.png
Normal file
|
After Width: | Height: | Size: 748 KiB |
BIN
public/static/mobile/img/share_img_03.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
public/static/mobile/img/template-img_1.png
Normal file
|
After Width: | Height: | Size: 102 KiB |
BIN
public/static/mobile/img/template-img_2.png
Normal file
|
After Width: | Height: | Size: 141 KiB |
BIN
public/static/mobile/img/template-img_3.png
Normal file
|
After Width: | Height: | Size: 86 KiB |
BIN
public/static/mobile/img/template-img_4.png
Normal file
|
After Width: | Height: | Size: 212 KiB |
BIN
public/static/mobile/img/upload-qrcode_03.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
public/static/mobile/img/user-back_02.png
Normal file
|
After Width: | Height: | Size: 212 KiB |
BIN
public/static/mobile/img/user-four-back_02.png
Normal file
|
After Width: | Height: | Size: 720 KiB |
BIN
public/static/mobile/img/user-portrait.png
Normal file
|
After Width: | Height: | Size: 136 KiB |
BIN
public/static/mobile/img/user-three-back_02.png
Normal file
|
After Width: | Height: | Size: 141 KiB |
BIN
public/static/mobile/img/user-two-back_02.png
Normal file
|
After Width: | Height: | Size: 245 KiB |
BIN
public/static/mobile/img/video.mp4
Normal file
BIN
public/static/mobile/img/vip-img_03.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
public/static/mobile/img/wechat_d.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
public/static/mobile/img/wechat_hand.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
public/static/mobile/img/wechat_handball.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
541
public/static/mobile/js/audio.min.js
vendored
Normal file
@@ -0,0 +1,541 @@
|
||||
// JavaScript Document
|
||||
(function (h, o, g) {
|
||||
var p = function () {
|
||||
for (var b = /audio(.min)?.js.*/, a = document.getElementsByTagName('script'), c = 0, d = a.length; c < d; c++) {
|
||||
var e = a[c].getAttribute('src');
|
||||
if (b.test(e)) return e.replace(b, '')
|
||||
}
|
||||
}();
|
||||
g[h] = {
|
||||
instanceCount: 0,
|
||||
instances: {
|
||||
},
|
||||
flashSource: ' <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="$1" width="1" height="1" name="$1" style="position: absolute; left: -1px;"> <param name="movie" value="$2?playerInstance=' + h + '.instances[\'$1\']&datetime=$3"> <param name="allowscriptaccess" value="always"> <embed name="$1" src="$2?playerInstance=' +
|
||||
h + '.instances[\'$1\']&datetime=$3" width="1" height="1" allowscriptaccess="always"> </object>',
|
||||
settings: {
|
||||
autoplay: false,
|
||||
loop: false,
|
||||
preload: true,
|
||||
imageLocation: 'img/player-graphics.gif',
|
||||
swfLocation: p + 'swf/audiojs.swf',
|
||||
useFlash: function () {
|
||||
var b = document.createElement('audio');
|
||||
return !(b.canPlayType && b.canPlayType('audio/mpeg;').replace(/no/, ''))
|
||||
}(),
|
||||
hasFlash: function () {
|
||||
if (navigator.plugins && navigator.plugins.length && navigator.plugins['Shockwave Flash']) return true;
|
||||
else if (navigator.mimeTypes && navigator.mimeTypes.length) {
|
||||
var b =
|
||||
navigator.mimeTypes['application/x-shockwave-flash'];
|
||||
return b && b.enabledPlugin
|
||||
} else try {
|
||||
new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
|
||||
return true
|
||||
} catch (a) {
|
||||
}
|
||||
return false
|
||||
}(),
|
||||
createPlayer: {
|
||||
markup: ' <div class="play-pause"> <p class="play"><i class="icon-play-circle"></i></p> <p class="pause"><i class="icon-pause"></i></p> <p class="loading"></p> <p class="error"></p> </div> <div class="play-right"><span class="playname ui-nowrap"></span><div class="time"> <em class="played">00:00</em>/<strong class="duration">00:00</strong> </div></div> <div class="scrubber"> <div class="progress"></div> <div class="loaded"></div> </div> <div class="volume"></div> <div class="error-message"></div>',
|
||||
playPauseClass: 'play-pause',
|
||||
playnameClass: 'playname',
|
||||
scrubberClass: 'scrubber',
|
||||
progressClass: 'progress',
|
||||
loaderClass: 'loaded',
|
||||
timeClass: 'time',
|
||||
durationClass: 'duration',
|
||||
playedClass: 'played',
|
||||
volumeClass: 'volume',
|
||||
closingClass: 'closing',
|
||||
errorMessageClass: 'error-message',
|
||||
playingClass: 'playing',
|
||||
loadingClass: 'loading',
|
||||
errorClass: 'error'
|
||||
},
|
||||
css: ' .audiojs audio { position: absolute; left: -1px; }.audiojs { width: 100%; height: 50px; background: #f1f1f1; overflow: hidden; font-family: monospace; font-size: 12px;-webkit-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3); -moz-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3); -o-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3); box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3); position:relative} .audiojs .playname{ float:left; height:30px; line-height:30px; color:#666; padding:0 8px 0 6px;width:100%;font-size:14px;} .audiojs .play-pause { width: 60px; height: 50px; line-height:50px; padding: 4px 6px 4px 12px; margin: 0px; float: left; overflow: hidden; } .audiojs p { display: none; width: 35px; line-height:45px; height: 40px; margin: 0px; cursor: pointer; text-align:center;} .audiojs .play { display: block; } .audiojs .play i { font-size:32px;color:#888 } .audiojs .scrubber { position: relative; float: left; width: 280px; background: #5a5a5a; height: 14px; margin: 10px; border-top: 1px solid #3f3f3f; border-left: 0px; border-bottom: 0px; overflow: hidden; display:none} .audiojs .progress { position: absolute; top: 0px; left: 0px; height: 14px; width: 0px; background: #ccc; z-index: 1; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #ccc), color-stop(0.5, #ddd), color-stop(0.51, #ccc), color-stop(1, #ccc)); background-image: -moz-linear-gradient(center top, #ccc 0%, #ddd 50%, #ccc 51%, #ccc 100%); } .audiojs .loaded { position: absolute; top: 0px; left: 0px; height: 14px; width: 0px; background: #000; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #222), color-stop(0.5, #333), color-stop(0.51, #222), color-stop(1, #222)); background-image: -moz-linear-gradient(center top, #222 0%, #333 50%, #222 51%, #222 100%); } .play-right .time { float: left; height: 15px; line-height: 15px; padding: 0px 6px 0px 6px;color: #888; } .play-right .time em { padding: 0px 2px 0px 0px; color: #888; font-style: normal; } .play-right .time strong { padding: 0px 0px 0px 2px; font-weight: normal; } .volume{ width:14px; height:14px; margin:11px 6px; float:left; background:url(img/volume.png) no-repeat 0 -14px; cursor:pointer;display:none} .closing .volume{ background:url(./audiojs/volume.png) no-repeat 0 0;} .audiojs .error-message { float: left; display: none; margin: 0px 10px; height: 36px; width: 400px; overflow: hidden; line-height: 36px; white-space: nowrap; color: #fff; text-overflow: ellipsis; -o-text-overflow: ellipsis; -icab-text-overflow: ellipsis; -khtml-text-overflow: ellipsis; -moz-text-overflow: ellipsis; -webkit-text-overflow: ellipsis; } .audiojs .error-message a { color: #eee; text-decoration: none; padding-bottom: 1px; border-bottom: 1px solid #999; white-space: wrap; } .audiojs .loading { background: url("$1") -2px -31px no-repeat; } .audiojs .error { background: url("$1") -2px -61px no-repeat; } .audiojs .pause { background: none; } .audiojs .pause i{font-size:24px;color:#888 } .playing .play, .playing .loading, .playing .error { display: none; } .playing .pause { display: block; padding-top: 2px; line-height:45px; text-align:center;} .loading .play, .loading .pause, .loading .error { display: none; } .loading .loading { display: block; } .error .time, .error .play, .error .pause, .error .scrubber, .error .loading, .error .playname, .error .volume { display: none; } .error .error { display: block; } .error .play-pause p { cursor: auto; } .error .error-message { display: block; }.play-right{width:calc( 100% - 90px );float:left} .play-close{position:absolute;right:10px;top:10px;} .play-close i{font-size:20px;color:#999}',
|
||||
trackEnded: function () {
|
||||
},
|
||||
flashError: function () {
|
||||
var b = this.settings.createPlayer,
|
||||
a = j(b.errorMessageClass, this.wrapper),
|
||||
c = 'Missing <a href="http://get.adobe.com/flashplayer/">flash player</a> plugin.';
|
||||
if (this.mp3) c += ' <a href="' + this.mp3 + '">Download audio file</a>.';
|
||||
g[h].helpers.removeClass(this.wrapper, b.loadingClass);
|
||||
g[h].helpers.addClass(this.wrapper, b.errorClass);
|
||||
a.innerHTML = c
|
||||
},
|
||||
loadError: function () {
|
||||
var b = this.settings.createPlayer,
|
||||
a = j(b.errorMessageClass, this.wrapper);
|
||||
g[h].helpers.removeClass(this.wrapper, b.loadingClass);
|
||||
g[h].helpers.addClass(this.wrapper, b.errorClass);
|
||||
a.innerHTML = 'Error loading: "' + this.mp3 + '"'
|
||||
},
|
||||
init: function () {
|
||||
g[h].helpers.addClass(this.wrapper, this.settings.createPlayer.loadingClass)
|
||||
},
|
||||
loadStarted: function () {
|
||||
var b = this.settings.createPlayer,
|
||||
a = j(b.durationClass, this.wrapper),
|
||||
c = Math.floor(this.duration / 60),
|
||||
d = Math.floor(this.duration % 60);
|
||||
g[h].helpers.removeClass(this.wrapper, b.loadingClass);
|
||||
a.innerHTML = (c < 10 ? '0' : '') + c + ':' + (d < 10 ? '0' : '') + d
|
||||
},
|
||||
loadProgress: function (b) {
|
||||
var a = this.settings.createPlayer,
|
||||
c = j(a.scrubberClass, this.wrapper);
|
||||
j(a.loaderClass, this.wrapper).style.width = c.offsetWidth * b - 2 + 'px'
|
||||
},
|
||||
playPause: function () {
|
||||
this.playing ? this.settings.play() : this.settings.pause()
|
||||
},
|
||||
play: function () {
|
||||
g[h].helpers.addClass(this.wrapper, this.settings.createPlayer.playingClass)
|
||||
},
|
||||
pause: function () {
|
||||
g[h].helpers.removeClass(this.wrapper, this.settings.createPlayer.playingClass)
|
||||
},
|
||||
controlVolume: function(){
|
||||
this.closing ? this.setting.openVolume() : this.setting.closeVolume()
|
||||
},
|
||||
openVolume: function(){
|
||||
g[h].helpers.removeClass(this.wrapper, this.settings.createPlayer.closingClass)
|
||||
},
|
||||
closeVolume: function(){
|
||||
g[h].helpers.addClass(this.wrapper, this.settings.createPlayer.closingClass)
|
||||
},
|
||||
updatePlayhead: function (b) {
|
||||
var a = this.settings.createPlayer,
|
||||
c = j(a.scrubberClass, this.wrapper);
|
||||
j(a.progressClass, this.wrapper).style.width =
|
||||
c.offsetWidth * b + 'px';
|
||||
a = j(a.playedClass, this.wrapper);
|
||||
c = this.duration * b;
|
||||
b = Math.floor(c / 60);
|
||||
c = Math.floor(c % 60);
|
||||
a.innerHTML = (b < 10 ? '0' : '') + b + ':' + (c < 10 ? '0' : '') + c
|
||||
}
|
||||
},
|
||||
create: function (b, a) {
|
||||
a = a || {
|
||||
};
|
||||
return b.length ? this.createAll(a, b) : this.newInstance(b, a)
|
||||
},
|
||||
createAll: function (b, a) {
|
||||
var c = a || document.getElementsByTagName('audio'),
|
||||
d = [
|
||||
];
|
||||
b = b || {
|
||||
};
|
||||
for (var e = 0, i = c.length; e < i; e++) d.push(this.newInstance(c[e], b));
|
||||
return d
|
||||
},
|
||||
newInstance: function (b, a) {
|
||||
var c = this.helpers.clone(this.settings),
|
||||
d = 'audiojs' + this.instanceCount,
|
||||
e = 'audiojs_wrapper' + this.instanceCount;
|
||||
this.instanceCount++;
|
||||
if (b.getAttribute('autoplay') != null) c.autoplay = true;
|
||||
if (b.getAttribute('loop') != null) c.loop = true;
|
||||
if (b.getAttribute('preload') == 'none') c.preload = false;
|
||||
a && this.helpers.merge(c, a);
|
||||
if (c.createPlayer.markup) b = this.createPlayer(b, c.createPlayer, e);
|
||||
else b.parentNode.setAttribute('id', e);
|
||||
e = new g[o](b, c);
|
||||
c.css && this.helpers.injectCss(e, c.css);
|
||||
if (c.useFlash && c.hasFlash) {
|
||||
this.injectFlash(e, d);
|
||||
this.attachFlashEvents(e.wrapper, e)
|
||||
} else c.useFlash && !c.hasFlash &&
|
||||
this.settings.flashError.apply(e);
|
||||
if (!c.useFlash || c.useFlash && c.hasFlash) this.attachEvents(e.wrapper, e);
|
||||
return this.instances[d] = e
|
||||
},
|
||||
createPlayer: function (b, a, c) {
|
||||
var d = document.createElement('div'),
|
||||
e = b.cloneNode(true);
|
||||
d.setAttribute('class', 'audiojs');
|
||||
d.setAttribute('className', 'audiojs');
|
||||
d.setAttribute('id', c);
|
||||
if (e.outerHTML && !document.createElement('audio').canPlayType) {
|
||||
e = this.helpers.cloneHtml5Node(b);
|
||||
d.innerHTML = a.markup;
|
||||
d.appendChild(e);
|
||||
b.outerHTML = d.outerHTML;
|
||||
d = document.getElementById(c)
|
||||
} else {
|
||||
d.appendChild(e);
|
||||
d.innerHTML += a.markup;
|
||||
b.parentNode.replaceChild(d, b)
|
||||
}
|
||||
return d.getElementsByTagName('audio') [0]
|
||||
},
|
||||
attachEvents: function (b, a) {
|
||||
if (a.settings.createPlayer) {
|
||||
var c = a.settings.createPlayer,
|
||||
d = j(c.playPauseClass, b),
|
||||
e = j(c.scrubberClass, b);
|
||||
v = j(c.volumeClass,b);
|
||||
g[h].events.addListener(d, 'click', function () {
|
||||
a.playPause.apply(a)
|
||||
});
|
||||
g[h].events.addListener(v, 'click', function () {
|
||||
a.controlVolume.apply(a)
|
||||
});
|
||||
g[h].events.addListener(e, 'click', function (i) {
|
||||
i = i.clientX;
|
||||
var f = this,
|
||||
k = 0;
|
||||
if (f.offsetParent) {
|
||||
do k += f.offsetLeft;
|
||||
while (f = f.offsetParent)
|
||||
}
|
||||
a.skipTo((i - k) / e.offsetWidth)
|
||||
});
|
||||
if (!a.settings.useFlash) {
|
||||
g[h].events.trackLoadProgress(a);
|
||||
g[h].events.addListener(a.element, 'timeupdate', function () {
|
||||
a.updatePlayhead.apply(a)
|
||||
});
|
||||
g[h].events.addListener(a.element, 'ended', function () {
|
||||
a.trackEnded.apply(a)
|
||||
});
|
||||
g[h].events.addListener(a.source, 'error', function () {
|
||||
clearInterval(a.readyTimer);
|
||||
clearInterval(a.loadTimer);
|
||||
a.settings.loadError.apply(a)
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
attachFlashEvents: function (b, a) {
|
||||
a.swfReady = false;
|
||||
a.load = function (c) {
|
||||
a.mp3 = c;
|
||||
a.swfReady && a.element.load(c)
|
||||
};
|
||||
a.loadProgress = function (c, d) {
|
||||
a.loadedPercent = c;
|
||||
a.duration = d;
|
||||
a.settings.loadStarted.apply(a);
|
||||
a.settings.loadProgress.apply(a, [
|
||||
c
|
||||
])
|
||||
};
|
||||
a.skipTo = function (c) {
|
||||
if (!(c > a.loadedPercent)) {
|
||||
a.updatePlayhead.call(a, [
|
||||
c
|
||||
]);
|
||||
a.element.skipTo(c)
|
||||
}
|
||||
};
|
||||
a.updatePlayhead = function (c) {
|
||||
a.settings.updatePlayhead.apply(a, [
|
||||
c
|
||||
])
|
||||
};
|
||||
a.play = function () {
|
||||
if (!a.settings.preload) {
|
||||
a.settings.preload = true;
|
||||
a.element.init(a.mp3)
|
||||
}
|
||||
a.playing = true;
|
||||
a.element.pplay();
|
||||
a.settings.play.apply(a)
|
||||
};
|
||||
a.pause = function () {
|
||||
a.playing = false;
|
||||
a.element.ppause();
|
||||
a.settings.pause.apply(a)
|
||||
};
|
||||
a.setVolume = function (c) {
|
||||
a.element.setVolume(c)
|
||||
};
|
||||
a.loadStarted = function () {
|
||||
a.swfReady =
|
||||
true;
|
||||
a.settings.preload && a.element.init(a.mp3);
|
||||
a.settings.autoplay && a.play.apply(a)
|
||||
}
|
||||
},
|
||||
injectFlash: function (b, a) {
|
||||
var c = this.flashSource.replace(/\$1/g, a);
|
||||
c = c.replace(/\$2/g, b.settings.swfLocation);
|
||||
c = c.replace(/\$3/g, + new Date + Math.random());
|
||||
var d = b.wrapper.innerHTML,
|
||||
e = document.createElement('div');
|
||||
e.innerHTML = c + d;
|
||||
b.wrapper.innerHTML = e.innerHTML;
|
||||
b.element = this.helpers.getSwf(a)
|
||||
},
|
||||
helpers: {
|
||||
merge: function (b, a) {
|
||||
for (attr in a) if (b.hasOwnProperty(attr) || a.hasOwnProperty(attr)) b[attr] = a[attr]
|
||||
},
|
||||
clone: function (b) {
|
||||
if (b ==
|
||||
null || typeof b !== 'object') return b;
|
||||
var a = new b.constructor,
|
||||
c;
|
||||
for (c in b) a[c] = arguments.callee(b[c]);
|
||||
return a
|
||||
},
|
||||
addClass: function (b, a) {
|
||||
RegExp('(\\s|^)' + a + '(\\s|$)').test(b.className) || (b.className += ' ' + a)
|
||||
},
|
||||
removeClass: function (b, a) {
|
||||
b.className = b.className.replace(RegExp('(\\s|^)' + a + '(\\s|$)'), ' ')
|
||||
},
|
||||
injectCss: function (b, a) {
|
||||
for (var c = '', d = document.getElementsByTagName('style'), e = a.replace(/\$1/g, b.settings.imageLocation), i = 0, f = d.length; i < f; i++) {
|
||||
var k = d[i].getAttribute('title');
|
||||
if (k && ~k.indexOf('audiojs')) {
|
||||
f =
|
||||
d[i];
|
||||
if (f.innerHTML === e) return;
|
||||
c = f.innerHTML;
|
||||
break
|
||||
}
|
||||
}
|
||||
d = document.getElementsByTagName('head') [0];
|
||||
i = d.firstChild;
|
||||
f = document.createElement('style');
|
||||
if (d) {
|
||||
f.setAttribute('type', 'text/css');
|
||||
f.setAttribute('title', 'audiojs');
|
||||
if (f.styleSheet) f.styleSheet.cssText = c + e;
|
||||
else f.appendChild(document.createTextNode(c + e));
|
||||
i ? d.insertBefore(f, i) : d.appendChild(styleElement)
|
||||
}
|
||||
},
|
||||
cloneHtml5Node: function (b) {
|
||||
var a = document.createDocumentFragment(),
|
||||
c = a.createElement ? a : document;
|
||||
c.createElement('audio');
|
||||
c = c.createElement('div');
|
||||
a.appendChild(c);
|
||||
c.innerHTML = b.outerHTML;
|
||||
return c.firstChild
|
||||
},
|
||||
getSwf: function (b) {
|
||||
b = document[b] || window[b];
|
||||
return b.length > 1 ? b[b.length - 1] : b
|
||||
}
|
||||
},
|
||||
events: {
|
||||
memoryLeaking: false,
|
||||
listeners: [
|
||||
],
|
||||
addListener: function (b, a, c) {
|
||||
if (b.addEventListener) b.addEventListener(a, c, false);
|
||||
else if (b.attachEvent) {
|
||||
this.listeners.push(b);
|
||||
if (!this.memoryLeaking) {
|
||||
window.attachEvent('onunload', function () {
|
||||
if (this.listeners) for (var d = 0, e = this.listeners.length; d < e; d++) g[h].events.purge(this.listeners[d])
|
||||
});
|
||||
this.memoryLeaking = true
|
||||
}
|
||||
b.attachEvent('on' +
|
||||
a, function () {
|
||||
c.call(b, window.event)
|
||||
})
|
||||
}
|
||||
},
|
||||
trackLoadProgress: function (b) {
|
||||
if (b.settings.preload) {
|
||||
var a,
|
||||
c;
|
||||
b = b;
|
||||
var d = /(ipod|iphone|ipad)/i.test(navigator.userAgent);
|
||||
a = setInterval(function () {
|
||||
if (b.element.readyState > - 1) d || b.init.apply(b);
|
||||
if (b.element.readyState > 1) {
|
||||
b.settings.autoplay && b.play.apply(b);
|
||||
clearInterval(a);
|
||||
c = setInterval(function () {
|
||||
b.loadProgress.apply(b);
|
||||
b.loadedPercent >= 1 && clearInterval(c)
|
||||
})
|
||||
}
|
||||
}, 10);
|
||||
b.readyTimer = a;
|
||||
b.loadTimer = c
|
||||
}
|
||||
},
|
||||
purge: function (b) {
|
||||
var a = b.attributes,
|
||||
c;
|
||||
if (a) for (c = 0; c < a.length; c +=
|
||||
1) if (typeof b[a[c].name] === 'function') b[a[c].name] = null;
|
||||
if (a = b.childNodes) for (c = 0; c < a.length; c += 1) purge(b.childNodes[c])
|
||||
},
|
||||
ready: function () {
|
||||
return function (b) {
|
||||
var a = window,
|
||||
c = false,
|
||||
d = true,
|
||||
e = a.document,
|
||||
i = e.documentElement,
|
||||
f = e.addEventListener ? 'addEventListener' : 'attachEvent',
|
||||
k = e.addEventListener ? 'removeEventListener' : 'detachEvent',
|
||||
n = e.addEventListener ? '' : 'on',
|
||||
m = function (l) {
|
||||
if (!(l.type == 'readystatechange' && e.readyState != 'complete')) {
|
||||
(l.type == 'load' ? a : e) [k](n + l.type, m, false);
|
||||
if (!c && (c = true)) b.call(a, l.type ||
|
||||
l)
|
||||
}
|
||||
},
|
||||
q = function () {
|
||||
try {
|
||||
i.doScroll('left')
|
||||
} catch (l) {
|
||||
setTimeout(q, 50);
|
||||
return
|
||||
}
|
||||
m('poll')
|
||||
};
|
||||
if (e.readyState == 'complete') b.call(a, 'lazy');
|
||||
else {
|
||||
if (e.createEventObject && i.doScroll) {
|
||||
try {
|
||||
d = !a.frameElement
|
||||
} catch (r) {
|
||||
}
|
||||
d && q()
|
||||
}
|
||||
e[f](n + 'DOMContentLoaded', m, false);
|
||||
e[f](n + 'readystatechange', m, false);
|
||||
a[f](n + 'load', m, false)
|
||||
}
|
||||
}
|
||||
}()
|
||||
}
|
||||
};
|
||||
g[o] = function (b, a) {
|
||||
this.element = b;
|
||||
this.wrapper = b.parentNode;
|
||||
this.source = b.getElementsByTagName('source') [0] || b;
|
||||
this.mp3 = function (c) {
|
||||
var d = c.getElementsByTagName('source') [0];
|
||||
return c.getAttribute('src') || (d ? d.getAttribute('src') : null)
|
||||
}(b);
|
||||
this.settings = a;
|
||||
this.loadStartedCalled = false;
|
||||
this.loadedPercent = 0;
|
||||
this.duration = 1;
|
||||
this.playing = false;
|
||||
this.closing = false
|
||||
};
|
||||
g[o].prototype = {
|
||||
updatePlayhead: function () {
|
||||
this.settings.updatePlayhead.apply(this, [
|
||||
this.element.currentTime / this.duration
|
||||
])
|
||||
},
|
||||
skipTo: function (b) {
|
||||
if (!(b > this.loadedPercent)) {
|
||||
this.element.currentTime = this.duration * b;
|
||||
this.updatePlayhead()
|
||||
}
|
||||
},
|
||||
load: function (b) {
|
||||
this.loadStartedCalled = false;
|
||||
this.source.setAttribute('src', b);
|
||||
this.element.load();
|
||||
this.mp3 = b;
|
||||
g[h].events.trackLoadProgress(this)
|
||||
},
|
||||
loadError: function () {
|
||||
this.settings.loadError.apply(this)
|
||||
},
|
||||
init: function () {
|
||||
this.settings.init.apply(this)
|
||||
},
|
||||
loadStarted: function () {
|
||||
if (!this.element.duration) return false;
|
||||
this.duration = this.element.duration;
|
||||
this.updatePlayhead();
|
||||
this.settings.loadStarted.apply(this)
|
||||
},
|
||||
loadProgress: function () {
|
||||
if (this.element.buffered != null && this.element.buffered.length) {
|
||||
if (!this.loadStartedCalled) this.loadStartedCalled = this.loadStarted();
|
||||
this.loadedPercent = this.element.buffered.end(this.element.buffered.length - 1) / this.duration;
|
||||
this.settings.loadProgress.apply(this, [
|
||||
this.loadedPercent
|
||||
])
|
||||
}
|
||||
},
|
||||
playPause: function () {
|
||||
this.playing ? this.pause() : this.play()
|
||||
},
|
||||
play: function () {
|
||||
/(ipod|iphone|ipad)/i.test(navigator.userAgent) && this.element.readyState == 0 && this.init.apply(this);
|
||||
if (!this.settings.preload) {
|
||||
this.settings.preload = true;
|
||||
this.element.setAttribute('preload', 'auto');
|
||||
g[h].events.trackLoadProgress(this)
|
||||
}
|
||||
this.playing = true;
|
||||
this.element.play();
|
||||
this.settings.play.apply(this)
|
||||
},
|
||||
pause: function () {
|
||||
this.playing = false;
|
||||
this.element.pause();
|
||||
this.settings.pause.apply(this)
|
||||
},
|
||||
controlVolume: function(){
|
||||
this.closing ? this.openVolume() : this.closeVolume()
|
||||
},
|
||||
openVolume: function(){
|
||||
this.closing = false;
|
||||
this.element.volume = 0.5;
|
||||
this.settings.openVolume.apply(this)
|
||||
},
|
||||
closeVolume: function(){
|
||||
this.closing = true;
|
||||
this.element.volume = 0;
|
||||
this.settings.closeVolume.apply(this)
|
||||
},
|
||||
setVolume: function (b) {
|
||||
this.element.volume = b
|
||||
},
|
||||
trackEnded: function () {
|
||||
this.skipTo.apply(this, [0]);
|
||||
this.settings.loop || this.pause.apply(this);
|
||||
this.settings.trackEnded.apply(this)
|
||||
}
|
||||
};
|
||||
var j = function (b, a) {
|
||||
var c = [];
|
||||
a = a || document;
|
||||
if (a.getElementsByClassName) c = a.getElementsByClassName(b);
|
||||
else {
|
||||
var d,
|
||||
e,
|
||||
i = a.getElementsByTagName('*'),
|
||||
f = RegExp('(^|\\s)' + b + '(\\s|$)');
|
||||
d = 0;
|
||||
for (e = i.length; d < e; d++) f.test(i[d].className) && c.push(i[d])
|
||||
}
|
||||
return c.length > 1 ? c : c[0]
|
||||
}
|
||||
}) ('audiojs', 'audiojsInstance', this);
|
||||
|
||||
function getByClass(oParent, sClass){
|
||||
var aEle=document.getElementsByTagName('*');
|
||||
var i=0;
|
||||
var aResult=[];
|
||||
|
||||
for(i=0;i<aEle.length;i++){
|
||||
if(aEle[i].className==sClass){
|
||||
aResult.push(aEle[i]);
|
||||
}
|
||||
}
|
||||
return aResult;
|
||||
}
|
||||
248
public/static/mobile/js/cjango.js
Normal file
@@ -0,0 +1,248 @@
|
||||
/*使用js跳转*/
|
||||
$('[data-href]').on('click', function(event) {
|
||||
event.preventDefault();
|
||||
location.href = $(this).data('href');
|
||||
});
|
||||
|
||||
// ajax GET 请求
|
||||
$('.ajax-get').on('click', function(event) {
|
||||
event.preventDefault();
|
||||
var target;
|
||||
var $this = $(this);
|
||||
var $callback = $this.attr('callback');
|
||||
var $tips = $this.attr('tip') || '确认要执行该操作吗?';
|
||||
if ( $this.hasClass('confirm') ) {
|
||||
if(!confirm($tips)){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if ((target = $this.data('href')) || (target = $this.attr('href')) || (target = $this.attr('url'))) {
|
||||
$.get(target, function(data) {
|
||||
if (data.code == 1) {
|
||||
updateAlert(data.msg, 'success');
|
||||
setTimeout(function() {
|
||||
if ($this.hasClass('no-refresh')) {
|
||||
if ($callback != '') {
|
||||
eval($callback);
|
||||
}
|
||||
} else if (data.url) {
|
||||
location.href = data.url;
|
||||
} else {
|
||||
location.reload();
|
||||
}
|
||||
}, 1500);
|
||||
} else {
|
||||
updateAlert(data.msg, 'warning');
|
||||
setTimeout(function() {
|
||||
if (data.url) {
|
||||
location.href = data.url;
|
||||
} else {
|
||||
|
||||
}
|
||||
}, 1500);
|
||||
}
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
// ajax POST 请求
|
||||
$(".ajax-post").on('click', function(event) {
|
||||
if ($(this).hasClass('disabled') || $(this).attr('disabled')) {
|
||||
return false;
|
||||
};
|
||||
event.preventDefault();
|
||||
var $this = $(this);
|
||||
var $form = $('form');
|
||||
var $action = $form.attr("action");
|
||||
var $tips = $this.attr('tip') || '确认要执行该操作吗?';
|
||||
if ($this.hasClass('confirm')) {
|
||||
if(!confirm($tips)){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
$this.attr('disabled', 'disabled');
|
||||
var query = $form.serialize();
|
||||
$.post($action, query, function(data) {
|
||||
if (data.code == 1) {
|
||||
updateAlert(data.msg, true);
|
||||
setTimeout(function(){
|
||||
if (data.url) {
|
||||
location.href = data.url;
|
||||
} else if ($this.hasClass('no-refresh')) {
|
||||
$this.removeAttr('disabled');
|
||||
} else {
|
||||
location.reload();
|
||||
}
|
||||
}, 1500);
|
||||
} else {
|
||||
updateAlert(data.msg, false);
|
||||
setTimeout(function() {
|
||||
if (data.url) {
|
||||
location.href = data.url;
|
||||
}
|
||||
}, 1500);
|
||||
$this.removeAttr('disabled');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/*顶部消息提示*/
|
||||
window.updateAlert = function(text, type) {
|
||||
var types = type ? 'success' : 'warning';
|
||||
var myDisplay = new $.Display({
|
||||
display: 'messager',
|
||||
placement:'top',
|
||||
content: text,
|
||||
autoHide:2000,
|
||||
type: types,
|
||||
displayAuto:true,
|
||||
});
|
||||
}
|
||||
|
||||
$(".nextpage").on('click',function() {
|
||||
var $this = $(this);
|
||||
if ($this.data('end')==1) {
|
||||
updateAlert('已经到最后一页', false);
|
||||
return false;
|
||||
}
|
||||
$this.removeClass('primary');
|
||||
$this.addClass('loading');
|
||||
$this.addClass('loading-light');
|
||||
$this.addClass('gray');
|
||||
var page = $this.data('page');
|
||||
var content = $this.data('content');
|
||||
var href = $this.data('posturl');
|
||||
var query = $this.data('qkey') + "&page=" + (page + 1);
|
||||
|
||||
$.get(href, query, function(data) {
|
||||
if (data.code==1) {
|
||||
$("#"+content).append(data.msg);
|
||||
$this.data('page',(page+1));
|
||||
$this.removeClass('loading');
|
||||
$this.removeClass('loading-light');
|
||||
$this.removeClass('gray');
|
||||
$this.addClass('primary');
|
||||
if ($this.hasClass('refjs')) {
|
||||
refjs();
|
||||
}
|
||||
} else {
|
||||
updateAlert(data.msg,false);
|
||||
$this.data('end',1);
|
||||
$this.removeClass('loading');
|
||||
$this.removeClass('loading-light');
|
||||
$this.text('已经到最后一页');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
function refjs()
|
||||
{
|
||||
$('[data-href]').on('click', function(event) {
|
||||
event.preventDefault();
|
||||
if ($(this).hasClass('ajax-get') || $(this).hasClass('ajax-post')) {
|
||||
return;
|
||||
}
|
||||
location.href = $(this).data('href');
|
||||
});
|
||||
|
||||
$('.ajax-get').on('click', function(event){
|
||||
event.preventDefault();
|
||||
var target;
|
||||
var $this = $(this);
|
||||
var $callback = $this.attr('callback');
|
||||
var $tips = $this.attr('tip') || '确认要执行该操作吗?';
|
||||
if ( $this.hasClass('confirm') ) {
|
||||
if(!confirm($tips)){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if ((target = $this.data('href')) || (target = $this.attr('href')) || (target = $this.attr('url'))) {
|
||||
$.get(target, function(data) {
|
||||
if (data.code == 1) {
|
||||
upAlert(data.msg, 'success');
|
||||
setTimeout(function() {
|
||||
if ($this.hasClass('no-refresh')) {
|
||||
if ($callback != '') {
|
||||
eval($callback);
|
||||
}
|
||||
} else if (data.locate) {
|
||||
location.href = data.locate;
|
||||
} else {
|
||||
location.reload();
|
||||
}
|
||||
}, 1500);
|
||||
} else {
|
||||
upAlert(data.msg, 'warning');
|
||||
setTimeout(function() {
|
||||
if (data.locate) {
|
||||
location.href = data.locate;
|
||||
} else {
|
||||
|
||||
}
|
||||
}, 1500);
|
||||
}
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
$(".ajax-post").on('click', function(event) {
|
||||
if ($(this).hasClass('disabled') || $(this).attr('disabled')) {
|
||||
return false;
|
||||
};
|
||||
event.preventDefault();
|
||||
var $this = $(this);
|
||||
var $form = $this.parents('form');
|
||||
var $action = $form.attr("action");
|
||||
var $tips = $this.attr('tip') || '确认要执行该操作吗?';
|
||||
if ($this.hasClass('confirm')) {
|
||||
if(!confirm($tips)){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
$this.attr('disabled', 'disabled');
|
||||
var query = $form.serialize();
|
||||
$.post($action, query, function(data) {
|
||||
if (data.code == 1) {
|
||||
upAlert(data.msg, true);
|
||||
setTimeout(function(){
|
||||
if (data.url) {
|
||||
location.href = data.url;
|
||||
} else if ($this.hasClass('no-refresh')) {
|
||||
$this.removeAttr('disabled');
|
||||
} else {
|
||||
location.reload();
|
||||
}
|
||||
}, 1500);
|
||||
} else {
|
||||
upAlert(data.msg, false);
|
||||
setTimeout(function() {
|
||||
if (data.url) {
|
||||
location.href = data.url;
|
||||
}
|
||||
}, 1500);
|
||||
$this.removeAttr('disabled');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
$(".Qrcode").on('click', function(event) {
|
||||
// $('.Qrcode').tap(function() {
|
||||
var img = $(this).data('img');
|
||||
var html = '<img src="'+ img +'">';
|
||||
if (img=='') {
|
||||
html='他还没有上传微信二维码';
|
||||
};
|
||||
layer.open({
|
||||
type: 1,
|
||||
title: false,
|
||||
closeBtn: 0,
|
||||
area: '516px',
|
||||
skin: 'layui-layer-nobg', //没有背景色
|
||||
shadeClose: true,
|
||||
content:html
|
||||
});
|
||||
});
|
||||
2
public/static/mobile/js/layer.js
Normal file
@@ -0,0 +1,2 @@
|
||||
/*! layer mobile-v2.0 弹层组件移动版 License LGPL http://layer.layui.com/mobile By 贤心 */
|
||||
;!function(a){"use strict";var b=document,c="querySelectorAll",d="getElementsByClassName",e=function(a){return b[c](a)},f={type:0,shade:!0,shadeClose:!0,fixed:!0,anim:"scale"},g={extend:function(a){var b=JSON.parse(JSON.stringify(f));for(var c in a)b[c]=a[c];return b},timer:{},end:{}};g.touch=function(a,b){a.addEventListener("click",function(a){b.call(this,a)},!1)};var h=0,i=["layui-m-layer"],j=function(a){var b=this;b.config=g.extend(a),b.view()};j.prototype.view=function(){var a=this,c=a.config,f=b.createElement("div");a.id=f.id=i[0]+h,f.setAttribute("class",i[0]+" "+i[0]+(c.type||0)),f.setAttribute("index",h);var g=function(){var a="object"==typeof c.title;return c.title?'<h3 style="'+(a?c.title[1]:"")+'">'+(a?c.title[0]:c.title)+"</h3>":""}(),j=function(){"string"==typeof c.btn&&(c.btn=[c.btn]);var a,b=(c.btn||[]).length;return 0!==b&&c.btn?(a='<span yes type="1">'+c.btn[0]+"</span>",2===b&&(a='<span no type="0">'+c.btn[1]+"</span>"+a),'<div class="layui-m-layerbtn">'+a+"</div>"):""}();if(c.fixed||(c.top=c.hasOwnProperty("top")?c.top:100,c.style=c.style||"",c.style+=" top:"+(b.body.scrollTop+c.top)+"px"),2===c.type&&(c.content='<i></i><i class="layui-m-layerload"></i><i></i><p>'+(c.content||"")+"</p>"),c.skin&&(c.anim="up"),"msg"===c.skin&&(c.shade=!1),f.innerHTML=(c.shade?"<div "+("string"==typeof c.shade?'style="'+c.shade+'"':"")+' class="layui-m-layershade"></div>':"")+'<div class="layui-m-layermain" '+(c.fixed?"":'style="position:static;"')+'><div class="layui-m-layersection"><div class="layui-m-layerchild '+(c.skin?"layui-m-layer-"+c.skin+" ":"")+(c.className?c.className:"")+" "+(c.anim?"layui-m-anim-"+c.anim:"")+'" '+(c.style?'style="'+c.style+'"':"")+">"+g+'<div class="layui-m-layercont">'+c.content+"</div>"+j+"</div></div></div>",!c.type||2===c.type){var k=b[d](i[0]+c.type),l=k.length;l>=1&&layer.close(k[0].getAttribute("index"))}document.body.appendChild(f);var m=a.elem=e("#"+a.id)[0];c.success&&c.success(m),a.index=h++,a.action(c,m)},j.prototype.action=function(a,b){var c=this;a.time&&(g.timer[c.index]=setTimeout(function(){layer.close(c.index)},1e3*a.time));var e=function(){var b=this.getAttribute("type");0==b?(a.no&&a.no(),layer.close(c.index)):a.yes?a.yes(c.index):layer.close(c.index)};if(a.btn)for(var f=b[d]("layui-m-layerbtn")[0].children,h=f.length,i=0;h>i;i++)g.touch(f[i],e);if(a.shade&&a.shadeClose){var j=b[d]("layui-m-layershade")[0];g.touch(j,function(){layer.close(c.index,a.end)})}a.end&&(g.end[c.index]=a.end)},a.layer={v:"2.0",index:h,open:function(a){var b=new j(a||{});return b.index},close:function(a){var c=e("#"+i[0]+a)[0];c&&(c.innerHTML="",b.body.removeChild(c),clearTimeout(g.timer[a]),delete g.timer[a],"function"==typeof g.end[a]&&g.end[a](),delete g.end[a])},closeAll:function(){for(var a=b[d](i[0]),c=0,e=a.length;e>c;c++)layer.close(0|a[0].getAttribute("index"))}},"function"==typeof define?define(function(){return layer}):function(){var a=document.scripts,c=a[a.length-1],d=c.src,e=d.substring(0,d.lastIndexOf("/")+1);c.getAttribute("merge")||document.head.appendChild(function(){var a=b.createElement("link");return a.href=e+"../css/layer.css?2.0",a.type="text/css",a.rel="styleSheet",a.id="layermcss",a}())}()}(window);
|
||||
4
public/static/mobile/js/lrz.bundle.js
Normal file
7
public/static/mobile/js/mzui.min.js
vendored
Normal file
18
public/static/mobile/js/swiper.min.js
vendored
Normal file
11
public/static/system/css/animate.min.css
vendored
Normal file
256
public/static/system/css/global.css
Normal file
@@ -0,0 +1,256 @@
|
||||
/** layui官网 By 贤心*//* 布局 */
|
||||
.site-inline {font-size:0;}
|
||||
.site-tree,.site-content {display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:14px;}
|
||||
.site-tree {width:220px;min-height:900px;padding:5px 0 20px;}
|
||||
.site-content {width:899px;min-height:900px;padding:20px 0 10px 20px;}
|
||||
/* 头部 */admin-side-toggle.header {height:65px;border-bottom:1px solid #404553;background-color:#393D49;color:#fff;}
|
||||
.logo {position:absolute;left:0;top:18px;}
|
||||
.logo img {width:82px;height:31px;}
|
||||
.header .layui-nav {position:absolute;right:0;top:0;padding:0;background:none;}
|
||||
.header .layui-nav .layui-nav-item {margin:0 20px;line-height:66px;}
|
||||
.menu {position:absolute;right:0;top:0;line-height:65px;}
|
||||
.menu a {display:inline-block;*display:inline;*zoom:1;vertical-align:top;}
|
||||
.menu a {position:relative;padding:0 20px;margin:0 20px;color:#c2c2c2;font-size:14px;}
|
||||
.menu a:hover {color:#fff;transition:all .5s;-webkit-transition:all .5s}
|
||||
.menu a.this {color:#fff}
|
||||
.menu a.this::after {content:'';position:absolute;left:0;bottom:-1px;width:100%;height:5px;background-color:#5FB878;}
|
||||
.header-index {background-color:#080018;border:none;}
|
||||
.layui-layout-admin .header-demo {border-bottom-color:#1AA094;background-color:#23262E;}
|
||||
.header-demo .logo {left:40px;color:#eee}
|
||||
.header-demo .layui-nav {top:0;}
|
||||
.header-demo .layui-nav .layui-nav-item {margin:0 10px;line-height:65px;}
|
||||
.header-demo .layui-nav .layui-nav-item a {color:#ccc;}
|
||||
.header-demo .layui-nav .layui-nav-item dd a {color:#333;}
|
||||
.header-demo .layui-nav .layui-nav-item dd a:hover {color:#393D49;}
|
||||
.header-demo .layui-nav .layui-this {background-color:#393D49;}
|
||||
.header-demo .layui-nav dd.layui-this {background-color:#fff;}
|
||||
.header-demo .layui-nav .layui-nav-item a:hover,.header-demo .layui-nav .layui-this a {color:#fff;}
|
||||
.header-demo .layui-nav .layui-this:after,.header-demo .layui-nav-bar {background-color:#393D49;}
|
||||
.header-demo .layui-nav .layui-this a {padding:0 20px;}
|
||||
.layui-layout-admin .layui-body {border-left:solid 2px #1AA094;bottom:0;}
|
||||
/* 底部 */.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:5px 0;line-height:26px;z-index:998;border-left:solid 2px #1AA094;}
|
||||
.footer a {padding:0 5px;}
|
||||
/* 首页banner部分 */.site-banner {position:relative;height:600px;text-align:center;overflow:hidden;background-color:#393D49;}
|
||||
.site-banner-bg,.site-banner-main {position:absolute;left:0;top:0;width:100%;height:100%;}
|
||||
.site-banner-bg {background-position:center 0;}
|
||||
.site-zfj {padding-top:25px;height:220px;}
|
||||
.site-zfj i {position:absolute;left:50%;top:25px;width:200px;height:200px;margin-left:-100px;font-size:200px;color:#c2c2c2;}
|
||||
@-webkit-keyframes site-zfj {0% {opacity:1;-webkit-transform:translate3d(0,0,0) rotate(0deg) scale(1);}
|
||||
10% {opacity:0.8;-webkit-transform:translate3d(-100px,0px,0) rotate(10deg) scale(0.7);}
|
||||
35% {opacity:0.6;-webkit-transform:translate3d(100px,0px,0) rotate(30deg) scale(0.4);}
|
||||
50% {opacity:0.4;-webkit-transform:translate3d(0,0,0) rotate(360deg) scale(0);}
|
||||
80% {opacity:0.2;-webkit-transform:translate3d(0,0,0) rotate(720deg) scale(1);}
|
||||
90% {opacity:0.1;-webkit-transform:translate3d(0,0,0) rotate(3600deg) scale(6);}
|
||||
100% {opacity:1;-webkit-transform:translate3d(0,0,0) rotate(3600deg) scale(1);}
|
||||
}
|
||||
@keyframes site-zfj {0% {opacity:1;transform:translate3d(0,0,0) rotate(0deg) scale(1);}
|
||||
10% {opacity:0.8;transform:translate3d(-100px,0px,0) rotate(10deg) scale(0.7);}
|
||||
35% {opacity:0.6;transform:translate3d(100px,0px,0) rotate(30deg) scale(0.4);}
|
||||
50% {opacity:0.4;transform:translate3d(0,0,0) rotate(360deg) scale(0);}
|
||||
80% {opacity:0.2;transform:translate3d(0,0,0) rotate(720deg) scale(1);}
|
||||
90% {opacity:0.1;transform:translate3d(0,0,0) rotate(3600deg) scale(6);}
|
||||
100% {opacity:1;transform:translate3d(0,0,0) rotate(3600deg) scale(1);}
|
||||
}
|
||||
@-webkit-keyframes site-desc {0% {-webkit-transform:scale(1.1);}
|
||||
100% {opacity:1;-webkit-transform:scale(1);}
|
||||
}
|
||||
@keyframes site-desc {0% {transform:scale(1.1);}
|
||||
100% {transform:scale(1);}
|
||||
}
|
||||
.layui-anim-scaleSpring {-webkit-animation-name:layui-scale-spring;animation-name:layui-scale-spring}
|
||||
.site-zfj-anim i {-webkit-animation-name:site-zfj;animation-name:site-zfj;-webkit-animation-duration:5s;animation-duration:5s;-webkit-animation-timing-function:linear;animation-timing-function:linear;}
|
||||
.site-desc {position:relative;height:70px;margin-top:25px;background:url(../images/layui/desc.png) center no-repeat;}
|
||||
.site-desc-anim {-webkit-animation-name:site-desc;animation-name:site-desc;}
|
||||
.site-desc cite {position:absolute;bottom:-40px;left:0;width:100%;color:#c2c2c2;font-style:normal;}
|
||||
.site-download {margin-top:80px;font-size:0;}
|
||||
.site-download a {position:relative;padding:0 45px 0 90px;height:60px;line-height:60px;border:1px solid #464B5B;font-size:24px;color:#ccc;transition:all .5s;-webkit-transition:all .5s;}
|
||||
.site-download a:hover {border:1px solid #778097;color:#fff;border-radius:30px;}
|
||||
.site-download a cite {position:absolute;left:45px;font-size:30px;}
|
||||
.site-version {position:relative;margin-top:15px;color:#ccc;font-size:12px;}
|
||||
.site-version span {padding:0 3px;}
|
||||
.site-version * {font-style:normal;}
|
||||
.site-version a {color:#e2e2e2;text-decoration:underline;}
|
||||
.site-banner-other {position:absolute;left:0;bottom:32px;width:100%;text-align:center;}
|
||||
.site-banner-other iframe {border:none;}
|
||||
.site-idea {margin:50px 0;font-size:0;text-align:center;font-weight:300;}
|
||||
.site-idea li {display:inline-block;vertical-align:top;*display:inline;*zoom:1;font-size:14px;}
|
||||
.site-idea li {width:298px;height:150px;padding:30px;line-height:24px;margin-left:30px;border:1px solid #d2d2d2;text-align:left;}
|
||||
.site-idea li:first-child {margin-left:0}
|
||||
.site-idea .layui-field-title {border-color:#d2d2d2}
|
||||
.site-idea .layui-field-title legend {margin:0 20px 20px 0;padding:0 20px;text-align:center;}
|
||||
/* 辅助 */.site-tips {margin-bottom:10px;padding:15px;border-left:5px solid #0078AD;background-color:#f2f2f2;}
|
||||
body .site-tips p {margin:0;}
|
||||
/* 目录 */.site-dir {display:none;}
|
||||
.site-dir li {line-height:26px;margin-left:20px;overflow:visible;list-style-type:disc;}
|
||||
.site-dir li a {display:block;}
|
||||
.site-dir li a:active {color:#01AAED;}
|
||||
.site-dir li a.layui-this {color:#01AAED;}
|
||||
body .layui-layer-dir {box-shadow:none;border:1px solid #d2d2d2;}
|
||||
body .layui-layer-dir .layui-layer-content {padding:10px;max-height:280px;overflow:auto;}
|
||||
.site-dir a em {padding-left:5px;font-size:12px;color:#c2c2c2;font-style:normal;}
|
||||
/* 文档 */.site-tree {border-right:1px solid #eee;}
|
||||
.site-tree .layui-tree {line-height:32px;}
|
||||
.site-tree .layui-tree li i {position:relative;font-size:22px;color:#000}
|
||||
.site-tree .layui-tree li a cite {padding:0 8px;}
|
||||
.site-tree .layui-tree .site-tree-noicon a cite {padding-left:15px;}
|
||||
.site-tree .layui-tree li a em {font-size:12px;color:#bbb;padding-right:5px;font-style:normal;}
|
||||
.site-tree .layui-tree li h2 {line-height:36px;border-left:5px solid #009E94;margin:15px 0 5px;padding:0 10px;background-color:#f2f2f2;}
|
||||
.site-tree .layui-tree li ul {margin-left:27px;line-height:28px;}
|
||||
.site-tree .layui-tree li ul a,.site-tree .layui-tree li ul a i {color:#777;}
|
||||
.site-tree .layui-tree li ul a:hover {color:#333;}
|
||||
.site-tree .layui-tree li ul li {margin-left:25px;overflow:visible;list-style-type:disc;/*list-style-position:inside;*/}
|
||||
.site-tree .layui-tree li ul li cite,.site-tree .layui-tree .site-tree-noicon ul li cite {padding-left:0;}
|
||||
.site-tree .layui-tree .layui-this a {color:#01AAED;}
|
||||
.site-tree .layui-tree .layui-this .layui-icon {color:#01AAED;}
|
||||
.site-fix .site-tree {position:fixed;top:0;bottom:0;z-index:666;min-height:0;overflow:auto;background-color:#fff;}
|
||||
.site-fix .site-content {margin-left:220px;}
|
||||
.site-fix-footer .site-tree {margin-bottom:120px;}
|
||||
.site-title {margin:30px 0 20px;}
|
||||
.site-title fieldset {border:none;padding:0;border-top:1px solid #eee;}
|
||||
.site-title fieldset legend {margin-left:20px;padding:0 10px;font-size:22px;font-weight:300;}
|
||||
.site-text a {color:#01AAED;}
|
||||
.site-h1 {margin-bottom:20px;line-height:60px;padding-bottom:10px;color:#393D49;border-bottom:1px solid #eee;font-size:28px;font-weight:300;}
|
||||
.site-h1 .layui-icon {position:relative;top:5px;font-size:50px;margin-right:10px;}
|
||||
.site-text {position:relative;}
|
||||
.site-text p {margin-bottom:10px;line-height:22px;}
|
||||
.site-text em {padding:0 3px;font-weight:500;font-style:italic;color:#666;}
|
||||
.site-text code {margin:0 5px;padding:3px 10px;border:1px solid #e2e2e2;background-color:#fbfbfb;color:#666;border-radius:2px;}
|
||||
.site-table {width:100%;margin:10px 0;}
|
||||
.site-table thead {background-color:#f2f2f2;}
|
||||
.site-table th,.site-table td {padding:6px 15px;min-height:20px;line-height:20px;border:1px solid #ddd;font-size:14px;font-weight:400;}
|
||||
.site-table tr:nth-child(even) {background:#fbfbfb;}
|
||||
.site-block {padding:20px;border:1px solid #eee;}
|
||||
.site-block .layui-form {margin-right:200px;}
|
||||
/* 演示 */body .layui-layout-admin .site-demo {bottom:82px;padding:0;z-index:-1;}
|
||||
body .site-demo-nav .layui-nav-item {line-height:40px}
|
||||
.layui-nav-item .layui-icon {position:relative;/*font-size:20px;*/}
|
||||
.layui-nav-item a cite {padding:0 10px;}
|
||||
.site-demo .layui-main {margin:15px;line-height:22px;}
|
||||
.site-demo-editor {position:absolute;top:0;bottom:0;left:0;width:50%;}
|
||||
.site-demo-area {position:absolute;top:0;bottom:90px;width:100%;}
|
||||
.site-demo-editor textarea {position:absolute;width:100%;height:100%;padding:15px;border:none;resize:none;/*background-color:#F7FBFF;*/ background-color:#272822;color:#CFBFAF;font-family:Courier New;font-size:12px;-webkit-box-sizing:border-box !important;-moz-box-sizing:border-box !important;box-sizing:border-box !important;}
|
||||
.site-demo-btn {position:absolute;bottom:100px;right:20px;}
|
||||
.site-demo-zanzhu {position:absolute;bottom:0;left:0;width:100%;height:90px;text-align:center;background-color:#e2e2e2;overflow:hidden;}
|
||||
.site-demo-zanzhu>* {position:relative;z-index:1;}
|
||||
.site-demo-zanzhu:before {content:"";position:absolute;z-index:0;top:50%;left:50%;width:120px;margin:-10px 0px 0px -60px;text-align:center;color:rgb(170,170,170);font-size:18px;font-weight:300;}
|
||||
.site-demo-result {position:absolute;right:0;top:0;bottom:0;width:50%;}
|
||||
.site-demo-result iframe {position:absolute;width:100%;height:100%;}
|
||||
.site-demo-button {margin-bottom:30px;}
|
||||
.site-demo-button div {margin:20px 30px 10px;}
|
||||
.site-demo-button .layui-btn {margin-bottom:10px;}
|
||||
.site-demo-laytpl {text-align:center;}
|
||||
.site-demo-laytpl textarea,.site-demo-laytpl div span {width:40%;padding:15px;margin:0 15px;}
|
||||
.site-demo-laytpl textarea {height:300px;border:none;background-color:#3F3F3F;color:#E3CEAB;font-family:Courier New;resize:none;}
|
||||
.site-demo-laytpl div span {display:inline-block;text-align:center;background:#101010;color:#fff;}
|
||||
.site-demo-tplres {margin:10px 0;text-align:center}
|
||||
.site-demo-tplres .site-demo-tplh2,.site-demo-tplres .site-demo-tplview {display:inline-block;width:50%;}
|
||||
.site-demo-tplres h2 {padding:15px;background:#e2e2e2;}
|
||||
.site-demo-tplres h3 {font-weight:700;}
|
||||
.site-demo-tplres div {padding:14px;border:1px solid #e2e2e2;text-align:left;}
|
||||
.site-demo-upload,.site-demo-upload img {width:200px;height:200px}
|
||||
.site-demo-upload {position:relative;background:#e2e2e2;}
|
||||
.site-demo-upload .site-demo-upbar {position:absolute;top:50%;left:50%;margin:-18px 0 0 -56px;}
|
||||
.site-demo-upload .layui-upload-button {background-color:rgba(0,0,0,.2);color:rgba(255,255,255,1);}
|
||||
.site-demo-util {position:relative;width:300px;}
|
||||
.site-demo-util img {width:300px;border-radius:100%;}
|
||||
.site-demo-util span {position:absolute;left:0;top:0;width:100%;height:100%;background:#333;cursor:pointer;}
|
||||
@-webkit-keyframes demo-fengjie {0% {-webkit-filter:blur(0);opacity:1;background:#fff;height:300px;border-radius:100%;}
|
||||
80% {-webkit-filter:blur(50px);opacity:0.95;}
|
||||
100% {-webkit-filter:blur(20px);opacity:0;background:#fff;}
|
||||
}
|
||||
@keyframes demo-fengjie {0% {filter:blur(0);opacity:1;background:#fff;height:300px;border-radius:100%;}
|
||||
80% {filter:blur(50px);opacity:0.95;}
|
||||
100% {filter:blur(20px);opacity:0;background:#fff;}
|
||||
}
|
||||
.site-demo-fengjie {-webkit-animation-name:demo-fengjie;animation-name:demo-fengjie;-webkit-animation-duration:5s;animation-duration:5s;}
|
||||
.layui-layout-admin .site-demo-body {top:117px;}
|
||||
.site-demo-title {position:fixed;left:200px;right:0;top:76px;}
|
||||
.site-demo-code {position:absolute;left:0;top:0;width:100%;height:100%;border:none;padding:10px;resize:none;font-size:12px;background-color:#F7FBFF;color:#881280;font-family:Courier New;}
|
||||
.site-demo-body .layui-elem-quote a {color:#01AAED;}
|
||||
.site-demo-body .layui-elem-quote a:hover {color:#FF5722;}
|
||||
/* 其它 */#trans-tooltip,#tip-arrow-bottom,#tip-arrow-top {display:none !important;}
|
||||
/* 独立组件 */.alone {width:730px;margin:200px auto;}
|
||||
.alone ul {margin-left:1px;font-size:0;}
|
||||
.alone li {display:inline-block;width:181px;font-size:16px;text-align:center;line-height:80px;margin:0 1px 1px 0;background-color:#393D49;color:#fff;}
|
||||
.alone li:hover {opacity:0.8;}
|
||||
.alone li a {display:block;color:#fff;}
|
||||
/* 自定义css */.admin-header-item-mobile {position:absolute;right:0px;height:70px;line-height:70px;padding:0 20px;text-align:center;top:0;display:none;}
|
||||
.admin-nav-tree .layui-nav-child a {padding-left:30px;}
|
||||
.admin {border:0;margin:0;box-shadow:none;}
|
||||
.admin-nav-card {margin-top:5px;}
|
||||
.admin-nav-card .layui-icon {position:relative;}
|
||||
.admin-nav-card .layui-tab-item iframe {width:100%;border:0;height:100%;}
|
||||
.admin-nav-card>.layui-tab-title {border-bottom:1px solid #1AA094;}
|
||||
.admin-nav-card .layui-tab-title cite {font-style:normal;padding-left:5px;}
|
||||
.admin-nav-card>.layui-tab-title .layui-this {color:white;background-color:#1AA094;}
|
||||
.admin-nav-card>.layui-tab-title .layui-this:after {border-bottom:0;}
|
||||
.admin-header-user img {width:40px;height:40px;border-radius:100%;/*position:relative;top:15px;*/}
|
||||
.admin-header-user .layui-nav-more {top:33px;}
|
||||
.admin-header-user .layui-nav-mored {top:26px;}
|
||||
/*lock*/.admin-header-lock {width:320px;height:150px;padding:20px;position:relative;text-align:center;}
|
||||
.admin-header-lock-img {width:60px;height:60px;margin:0 auto;}
|
||||
.admin-header-lock-img img {width:60px;height:60px;border-radius:100%;}
|
||||
.admin-header-lock-name {color:#009688;margin:8px 0 15px 0;}
|
||||
.admin-header-lock-input {width:150px;color:#FFFFFF;height:30px;border:0;background-color:#009688;padding:0 7px;border-radius:2px;}
|
||||
/*table*/.site-table tbody tr td {text-align:center;}
|
||||
.site-table tbody tr td .layui-btn+.layui-btn {margin-left:0px;}
|
||||
.admin-table-page {position:fixed;z-index:19940201;bottom:0;width:100%;background-color:#eee;border-bottom:1px solid #ddd;left:0px;}
|
||||
.admin-table-page .page {padding-left:20px;}
|
||||
.admin-table-page .page .layui-laypage {margin:6px 0 0 0;}
|
||||
/**/.admin-main {margin:15px;}
|
||||
.admin-side-toggle,.admin-side-full {position:absolute;cursor:pointer;z-index:19940201;left:200px;color:white;text-align:center;width:30px;height:30px;background-color:#1AA094;line-height:30px;top:25%;}
|
||||
.admin-side-toggle:hover,.admin-side-full:hover {background-color:#5FB878;}
|
||||
.admin-side-full {left:240px;}
|
||||
.admin-login-box {width:185px;height:70px;position:relative;}
|
||||
.beg-navbar .layui-nav-child dd a {padding-left:30px;}
|
||||
.admin-contextmenu {position:absolute;line-height:36px;padding:5px 0;border:1px solid #d2d2d2;background-color:white;z-index:19940201;border-radius:2px;white-space:nowrap;top:30px;/*width:100px;height:200px;*/}
|
||||
.admin-contextmenu ul li {padding:0 15px;}
|
||||
.admin-contextmenu ul li:hover {background-color:#eee;cursor:pointer;}
|
||||
/* 适配多设备 */@media screen and (max-width:750px) {.layui-main {width:auto;margin:0 10px;}
|
||||
.logo,.header-demo .logo {left:10px;}
|
||||
.site-nav-layim {display:none !important;}
|
||||
.header .layui-nav .layui-nav-item {margin:0;}
|
||||
.header .layui-nav .layui-nav-item a {padding:0 15px;}
|
||||
.site-banner {height:300px;}
|
||||
.site-banner-bg {background-size:cover;}
|
||||
.site-zfj {height:100px;padding-top:5px;}
|
||||
.site-zfj i {top:10px;width:100px;height:100px;margin-left:-50px;font-size:100px;}
|
||||
.site-desc {background-size:70%;margin:0;}
|
||||
.site-desc cite {display:none;}
|
||||
.site-download {margin-top:0;}
|
||||
.site-download a {height:40px;line-height:40px;padding:0 25px 0 60px;border:1px solid #778097;border-radius:30px;color:#fff;font-size:16px;}
|
||||
.site-download a cite {left:20px;}
|
||||
.site-banner-other {bottom:15px;}
|
||||
.site-idea {margin:20px 0;}
|
||||
.site-idea li {margin:0 0 20px 0;width:100%;height:auto;-webkit-box-sizing:border-box !important;-moz-box-sizing:border-box !important;box-sizing:border-box !important;}
|
||||
.site-hengfu img {max-width:100%}
|
||||
.layui-layer-dir {display:none;}
|
||||
.site-tree {position:fixed;top:0;bottom:0;min-height:0;overflow:auto;z-index:1000;left:-260px;background-color:#fff;transition:all .3s;-webkit-transition:all .3s;}
|
||||
.site-content {width:100%;padding:0;overflow:auto;}
|
||||
.site-content img {max-width:100%;}
|
||||
.site-tree-mobile {display:block!important;position:fixed;z-index:100000;bottom:15px;left:15px;width:50px;height:50px;line-height:50px;border-radius:2px;text-align:center;background-color:rgba(0,0,0,.7);color:#fff;}
|
||||
.site-home .site-tree-mobile {display:none!important;}
|
||||
.site-mobile .site-tree-mobile {display:none !important;}
|
||||
.site-mobile .site-tree {left:0;}
|
||||
.site-mobile .site-mobile-shade {content:'';position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(0,0,0,.8);z-index:9999;}
|
||||
.site-tree-mobile i {font-size:20px;}
|
||||
.layui-code-view {-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
|
||||
.layui-layout-admin .layui-side {position:fixed;top:0;left:-260px;transition:all .3s;-webkit-transition:all .3s;z-index:10000;}
|
||||
.layui-body {position:static;bottom:0;left:0;}
|
||||
.site-mobile .layui-side {left:0;}
|
||||
body .layui-layout-admin .footer-demo {position:static;}
|
||||
.site-demo-area,.site-demo-editor,.site-demo-result,.site-demo-editor textarea,.site-demo-result iframe {position:static;width:100%;}
|
||||
.site-demo-editor textarea {height:350px;}
|
||||
.site-demo-zanzhu {display:none;}
|
||||
.site-demo-btn {bottom:auto;top:370px;}
|
||||
.site-demo-result iframe {height:500px;}
|
||||
.site-demo-laytpl textarea,.site-demo-laytpl div span {margin:0;}
|
||||
.site-demo-tplres .site-demo-tplh2,.site-demo-tplres .site-demo-tplview {width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
|
||||
.site-demo-title {position:static;left:0;}
|
||||
body .layui-layout-admin .site-demo {}
|
||||
.site-demo-code {position:static;height:350px;}
|
||||
.admin-side-toggle,.admin-header-item {display:none;}
|
||||
.admin-header-item-mobile {display:block;}
|
||||
}
|
||||
.badge {display:inline-block;padding:2px 5px;font-size:8px;line-height:1;border-radius:9px;position:absolute;top:15px;right:8px;background:#e53d1c;color:#fff;}
|
||||
449
public/static/system/css/global.css11
Normal file
@@ -0,0 +1,449 @@
|
||||
/**
|
||||
|
||||
layui官网
|
||||
By 贤心
|
||||
|
||||
*/
|
||||
|
||||
|
||||
/* 布局 */
|
||||
.site-inline{font-size: 0;}
|
||||
.site-tree, .site-content{display: inline-block; *display:inline; *zoom:1; vertical-align: top; font-size: 14px;}
|
||||
.site-tree{width: 220px; min-height: 900px; padding: 5px 0 20px;}
|
||||
.site-content{width: 899px; min-height: 900px; padding: 20px 0 10px 20px;}
|
||||
|
||||
/* 头部 */admin-side-toggle
|
||||
.header{height: 65px; border-bottom: 1px solid #404553; background-color: #393D49; color: #fff;}
|
||||
.logo{position: absolute; left: 0; top: 18px;}
|
||||
.logo img{width: 82px; height: 31px;}
|
||||
|
||||
.header .layui-nav{position: absolute; right: 0; top: 0; padding: 0; background: none;}
|
||||
.header .layui-nav .layui-nav-item{margin: 0 20px; line-height: 66px;}
|
||||
|
||||
.menu{position: absolute; right: 0; top: 0; line-height: 65px;}
|
||||
.menu a{display:inline-block; *display:inline; *zoom:1; vertical-align:top;}
|
||||
.menu a{position: relative; padding: 0 20px; margin: 0 20px; color: #c2c2c2; font-size: 14px;}
|
||||
.menu a:hover{color: #fff; transition: all .5s; -webkit-transition: all .5s}
|
||||
.menu a.this{color: #fff}
|
||||
.menu a.this::after{content: ''; position: absolute; left: 0; bottom: -1px; width: 100%; height: 5px; background-color: #5FB878;}
|
||||
|
||||
.header-index{background-color: #080018; border: none;}
|
||||
|
||||
.layui-layout-admin .header-demo{border-bottom-color: #1AA094; background-color: #23262E;}
|
||||
.header-demo .logo{left: 40px;color: #eee}
|
||||
.header-demo .layui-nav{top: 0;}
|
||||
.header-demo .layui-nav .layui-nav-item{margin: 0 10px; line-height: 65px;}
|
||||
.header-demo .layui-nav .layui-nav-item a{color: #ccc;}
|
||||
.header-demo .layui-nav .layui-nav-item dd a{color: #333;}
|
||||
.header-demo .layui-nav .layui-nav-item dd a:hover{color: #393D49;}
|
||||
.header-demo .layui-nav .layui-this{background-color: #393D49;}
|
||||
.header-demo .layui-nav dd.layui-this{background-color: #fff;}
|
||||
.header-demo .layui-nav .layui-nav-item a:hover,
|
||||
.header-demo .layui-nav .layui-this a{color: #fff;}
|
||||
.header-demo .layui-nav .layui-this:after,
|
||||
.header-demo .layui-nav-bar{background-color: #393D49;}
|
||||
.header-demo .layui-nav .layui-this a{padding: 0 20px;}
|
||||
|
||||
.layui-layout-admin .layui-body{border-left: solid 2px #1AA094;bottom:0;}
|
||||
/* 底部 */
|
||||
.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: 5px 0; line-height: 26px;z-index: 998;border-left: solid 2px #1AA094;}
|
||||
.footer a{padding: 0 5px;}
|
||||
|
||||
/* 首页banner部分 */
|
||||
.site-banner{position: relative; height: 600px; text-align: center; overflow: hidden; background-color: #393D49;}
|
||||
.site-banner-bg
|
||||
,.site-banner-main{position: absolute; left: 0; top: 0; width: 100%; height: 100%;}
|
||||
.site-banner-bg{background-position: center 0;}
|
||||
|
||||
|
||||
.site-zfj{padding-top: 25px; height: 220px;}
|
||||
.site-zfj i{position: absolute; left: 50%; top: 25px; width: 200px; height: 200px; margin-left: -100px; font-size: 200px; color: #c2c2c2;}
|
||||
|
||||
@-webkit-keyframes site-zfj {
|
||||
0% {opacity: 1; -webkit-transform: translate3d(0, 0, 0) rotate(0deg) scale(1);}
|
||||
10% {opacity: 0.8; -webkit-transform: translate3d(-100px, 0px, 0) rotate(10deg) scale(0.7);}
|
||||
35% {opacity: 0.6; -webkit-transform: translate3d(100px, 0px, 0) rotate(30deg) scale(0.4);}
|
||||
50% {opacity: 0.4; -webkit-transform: translate3d(0, 0, 0) rotate(360deg) scale(0);}
|
||||
80% {opacity: 0.2; -webkit-transform: translate3d(0, 0, 0) rotate(720deg) scale(1);}
|
||||
90% {opacity: 0.1; -webkit-transform: translate3d(0, 0, 0) rotate(3600deg) scale(6);}
|
||||
100% {opacity: 1; -webkit-transform: translate3d(0, 0, 0) rotate(3600deg) scale(1);}
|
||||
}
|
||||
@keyframes site-zfj {
|
||||
0% {opacity: 1; transform: translate3d(0, 0, 0) rotate(0deg) scale(1);}
|
||||
10% {opacity: 0.8; transform: translate3d(-100px, 0px, 0) rotate(10deg) scale(0.7);}
|
||||
35% {opacity: 0.6; transform: translate3d(100px, 0px, 0) rotate(30deg) scale(0.4);}
|
||||
50% {opacity: 0.4; transform: translate3d(0, 0, 0) rotate(360deg) scale(0);}
|
||||
80% {opacity: 0.2; transform: translate3d(0, 0, 0) rotate(720deg) scale(1);}
|
||||
90% {opacity: 0.1; transform: translate3d(0, 0, 0) rotate(3600deg) scale(6);}
|
||||
100% {opacity: 1; transform: translate3d(0, 0, 0) rotate(3600deg) scale(1);}
|
||||
}
|
||||
|
||||
@-webkit-keyframes site-desc {
|
||||
0% { -webkit-transform: scale(1.1);}
|
||||
100% {opacity: 1; -webkit-transform: scale(1);}
|
||||
}
|
||||
@keyframes site-desc {
|
||||
0% { transform: scale(1.1);}
|
||||
100% {transform: scale(1);}
|
||||
}
|
||||
|
||||
.layui-anim-scaleSpring{-webkit-animation-name: layui-scale-spring; animation-name: layui-scale-spring}
|
||||
.site-zfj-anim i{-webkit-animation-name: site-zfj; animation-name: site-zfj; -webkit-animation-duration: 5s; animation-duration: 5s; -webkit-animation-timing-function: linear; animation-timing-function: linear;}
|
||||
|
||||
|
||||
.site-desc{position: relative; height: 70px; margin-top: 25px; background: url(../images/layui/desc.png) center no-repeat;}
|
||||
.site-desc-anim{-webkit-animation-name: site-desc; animation-name: site-desc;}
|
||||
|
||||
.site-desc cite{position: absolute; bottom: -40px; left: 0; width: 100%; color: #c2c2c2; font-style: normal;}
|
||||
.site-download{margin-top: 80px; font-size: 0;}
|
||||
.site-download a{position: relative; padding: 0 45px 0 90px; height: 60px; line-height: 60px; border: 1px solid #464B5B; font-size: 24px; color: #ccc; transition: all .5s; -webkit-transition: all .5s;}
|
||||
.site-download a:hover{border: 1px solid #778097; color: #fff; border-radius: 30px; }
|
||||
.site-download a cite{position: absolute; left: 45px; font-size: 30px;}
|
||||
.site-version{position: relative; margin-top: 15px; color: #ccc; font-size: 12px;}
|
||||
.site-version span{padding: 0 3px;}
|
||||
.site-version *{font-style: normal;}
|
||||
.site-version a{color: #e2e2e2; text-decoration: underline;}
|
||||
|
||||
.site-banner-other{position: absolute; left: 0; bottom: 32px; width: 100%; text-align: center;}
|
||||
.site-banner-other iframe{border: none;}
|
||||
|
||||
.site-idea{margin: 50px 0; font-size: 0; text-align: center; font-weight: 300;}
|
||||
.site-idea li{display: inline-block; vertical-align: top; *display: inline; *zoom:1; font-size: 14px; }
|
||||
.site-idea li{width: 298px; height: 150px; padding: 30px; line-height: 24px; margin-left: 30px; border: 1px solid #d2d2d2; text-align: left;}
|
||||
.site-idea li:first-child{margin-left: 0}
|
||||
.site-idea .layui-field-title{border-color: #d2d2d2}
|
||||
.site-idea .layui-field-title legend{margin: 0 20px 20px 0; padding: 0 20px; text-align: center;}
|
||||
|
||||
|
||||
/* 辅助 */
|
||||
.site-tips{margin-bottom: 10px; padding: 15px; border-left: 5px solid #0078AD; background-color: #f2f2f2;}
|
||||
body .site-tips p{margin: 0;}
|
||||
|
||||
/* 目录 */
|
||||
.site-dir{display: none;}
|
||||
.site-dir li{line-height: 26px; margin-left: 20px; overflow: visible; list-style-type: disc;}
|
||||
.site-dir li a{display: block;}
|
||||
.site-dir li a:active{color: #01AAED;}
|
||||
.site-dir li a.layui-this{color: #01AAED;}
|
||||
body .layui-layer-dir{box-shadow: none; border: 1px solid #d2d2d2;}
|
||||
body .layui-layer-dir .layui-layer-content{padding: 10px; max-height: 280px; overflow: auto;}
|
||||
.site-dir a em{padding-left: 5px; font-size: 12px; color: #c2c2c2; font-style: normal;}
|
||||
|
||||
/* 文档 */
|
||||
.site-tree{border-right: 1px solid #eee; }
|
||||
.site-tree .layui-tree{line-height: 32px;}
|
||||
.site-tree .layui-tree li i{position: relative; font-size: 22px; color: #000}
|
||||
.site-tree .layui-tree li a cite{padding: 0 8px;}
|
||||
.site-tree .layui-tree .site-tree-noicon a cite{padding-left: 15px;}
|
||||
.site-tree .layui-tree li a em{font-size: 12px; color: #bbb; padding-right: 5px; font-style: normal;}
|
||||
.site-tree .layui-tree li h2{line-height: 36px; border-left: 5px solid #009E94; margin: 15px 0 5px; padding: 0 10px; background-color: #f2f2f2;}
|
||||
.site-tree .layui-tree li ul{margin-left: 27px; line-height: 28px;}
|
||||
.site-tree .layui-tree li ul a,
|
||||
.site-tree .layui-tree li ul a i{color: #777;}
|
||||
.site-tree .layui-tree li ul a:hover{color: #333;}
|
||||
.site-tree .layui-tree li ul li{margin-left: 25px; overflow: visible; list-style-type: disc; /*list-style-position: inside;*/}
|
||||
.site-tree .layui-tree li ul li cite,
|
||||
.site-tree .layui-tree .site-tree-noicon ul li cite{padding-left: 0;}
|
||||
|
||||
.site-tree .layui-tree .layui-this a{color: #01AAED;}
|
||||
.site-tree .layui-tree .layui-this .layui-icon{color: #01AAED;}
|
||||
|
||||
.site-fix .site-tree{position: fixed; top: 0; bottom: 0; z-index: 666; min-height: 0; overflow: auto; background-color: #fff;}
|
||||
.site-fix .site-content{margin-left: 220px;}
|
||||
.site-fix-footer .site-tree{margin-bottom: 120px;}
|
||||
|
||||
|
||||
.site-title{ margin: 30px 0 20px;}
|
||||
.site-title fieldset{border: none; padding: 0; border-top: 1px solid #eee;}
|
||||
.site-title fieldset legend{margin-left: 20px; padding: 0 10px; font-size: 22px; font-weight: 300;}
|
||||
|
||||
.site-text a{color: #01AAED;}
|
||||
.site-h1{margin-bottom: 20px; line-height: 60px; padding-bottom: 10px; color: #393D49; border-bottom: 1px solid #eee; font-size: 28px; font-weight: 300;}
|
||||
.site-h1 .layui-icon{position: relative; top: 5px; font-size: 50px; margin-right: 10px;}
|
||||
.site-text{position:relative;}
|
||||
.site-text p{margin-bottom: 10px; line-height:22px;}
|
||||
.site-text em{padding: 0 3px; font-weight: 500; font-style: italic; color: #666;}
|
||||
.site-text code{margin:0 5px; padding: 3px 10px; border: 1px solid #e2e2e2; background-color: #fbfbfb; color: #666; border-radius: 2px;}
|
||||
|
||||
.site-table{width: 100%; margin: 10px 0;}
|
||||
.site-table thead{background-color:#f2f2f2; }
|
||||
.site-table th,
|
||||
.site-table td{padding: 6px 15px; min-height: 20px; line-height: 20px; border:1px solid #ddd; font-size: 14px; font-weight: 400;}
|
||||
.site-table tr:nth-child(even){background: #fbfbfb;}
|
||||
|
||||
.site-block{padding: 20px; border: 1px solid #eee;}
|
||||
.site-block .layui-form{margin-right: 200px;}
|
||||
|
||||
|
||||
/* 演示 */
|
||||
body .layui-layout-admin .site-demo{bottom: 82px; padding: 0;z-index:-1;}
|
||||
body .site-demo-nav .layui-nav-item{line-height: 40px}
|
||||
.layui-nav-item .layui-icon{position: relative; /*font-size: 20px;*/}
|
||||
.layui-nav-item a cite{padding: 0 10px;}
|
||||
.site-demo .layui-main{margin: 15px; line-height: 22px;}
|
||||
.site-demo-editor{position: absolute; top: 0; bottom: 0; left: 0; width: 50%; }
|
||||
.site-demo-area{position: absolute; top: 0; bottom: 90px; width: 100%;}
|
||||
.site-demo-editor textarea{position: absolute; width: 100%; height: 100%; padding: 15px; border: none; resize: none; /*background-color: #F7FBFF;*/ background-color: #272822; color: #CFBFAF; font-family: Courier New; font-size: 12px; -webkit-box-sizing: border-box !important; -moz-box-sizing: border-box !important; box-sizing: border-box !important;}
|
||||
.site-demo-btn{position: absolute; bottom: 100px; right: 20px;}
|
||||
.site-demo-zanzhu{position: absolute; bottom: 0; left: 0; width: 100%; height: 90px; text-align: center; background-color: #e2e2e2; overflow: hidden;}
|
||||
.site-demo-zanzhu>*{position: relative; z-index: 1;}
|
||||
.site-demo-zanzhu:before{content: ""; position: absolute; z-index: 0; top: 50%; left: 50%; width: 120px; margin: -10px 0px 0px -60px; text-align: center; color: rgb(170, 170, 170); font-size: 18px; font-weight: 300; }
|
||||
|
||||
.site-demo-result{position: absolute; right: 0; top: 0; bottom: 0; width: 50%;}
|
||||
.site-demo-result iframe{position: absolute; width: 100%; height: 100%;}
|
||||
|
||||
.site-demo-button{margin-bottom: 30px;}
|
||||
.site-demo-button div{margin: 20px 30px 10px;}
|
||||
.site-demo-button .layui-btn{margin-bottom: 10px;}
|
||||
|
||||
.site-demo-laytpl{text-align: center;}
|
||||
.site-demo-laytpl textarea,
|
||||
.site-demo-laytpl div span{width: 40%; padding: 15px; margin: 0 15px;}
|
||||
.site-demo-laytpl textarea{height: 300px; border: none; background-color: #3F3F3F; color: #E3CEAB; font-family: Courier New; resize: none;}
|
||||
.site-demo-laytpl div span{display: inline-block; text-align: center; background: #101010; color: #fff;}
|
||||
.site-demo-tplres{margin: 10px 0; text-align: center}
|
||||
.site-demo-tplres .site-demo-tplh2,
|
||||
.site-demo-tplres .site-demo-tplview{display: inline-block; width: 50%;}
|
||||
.site-demo-tplres h2{padding: 15px; background: #e2e2e2;}
|
||||
.site-demo-tplres h3{font-weight: 700;}
|
||||
.site-demo-tplres div{padding: 14px; border: 1px solid #e2e2e2; text-align: left;}
|
||||
|
||||
.site-demo-upload,
|
||||
.site-demo-upload img{width: 200px; height: 200px}
|
||||
.site-demo-upload{position: relative; background: #e2e2e2;}
|
||||
.site-demo-upload .site-demo-upbar{position: absolute; top: 50%; left: 50%; margin: -18px 0 0 -56px;}
|
||||
.site-demo-upload .layui-upload-button{background-color: rgba(0,0,0,.2); color: rgba(255,255,255,1);}
|
||||
|
||||
.site-demo-util{position: relative; width: 300px;}
|
||||
.site-demo-util img{width: 300px; border-radius: 100%;}
|
||||
.site-demo-util span{position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #333; cursor: pointer;}
|
||||
@-webkit-keyframes demo-fengjie {
|
||||
0% {-webkit-filter: blur(0); opacity: 1; background: #fff; height: 300px; border-radius: 100%;}
|
||||
80% {-webkit-filter: blur(50px); opacity: 0.95;}
|
||||
100% {-webkit-filter: blur(20px); opacity: 0; background: #fff;}
|
||||
}
|
||||
@keyframes demo-fengjie {
|
||||
0% {filter: blur(0); opacity: 1; background: #fff; height: 300px; border-radius: 100%;}
|
||||
80% {filter: blur(50px); opacity: 0.95;}
|
||||
100% {filter: blur(20px); opacity: 0; background: #fff;}
|
||||
}
|
||||
.site-demo-fengjie{-webkit-animation-name: demo-fengjie; animation-name: demo-fengjie; -webkit-animation-duration: 5s; animation-duration: 5s;}
|
||||
|
||||
|
||||
.layui-layout-admin .site-demo-body{top: 117px;}
|
||||
.site-demo-title{position: fixed; left: 200px; right: 0; top: 76px;}
|
||||
.site-demo-code{position: absolute; left: 0; top: 0; width: 100%; height: 100%; border: none; padding: 10px; resize: none; font-size: 12px; background-color: #F7FBFF; color: #881280; font-family: Courier New;}
|
||||
|
||||
.site-demo-body .layui-elem-quote a{color: #01AAED;}
|
||||
.site-demo-body .layui-elem-quote a:hover{color: #FF5722;}
|
||||
|
||||
|
||||
/* 其它 */
|
||||
#trans-tooltip,
|
||||
#tip-arrow-bottom,
|
||||
#tip-arrow-top{display: none !important;}
|
||||
|
||||
|
||||
/* 独立组件 */
|
||||
.alone{width:730px; margin:200px auto;}
|
||||
.alone ul{margin-left:1px; font-size:0;}
|
||||
.alone li{display:inline-block; width:181px; font-size: 16px; text-align:center; line-height:80px; margin:0 1px 1px 0; background-color:#393D49; color:#fff;}
|
||||
.alone li:hover{opacity:0.8;}
|
||||
.alone li a{display:block; color:#fff;}
|
||||
|
||||
|
||||
/* 自定义css */
|
||||
.admin-header-item-mobile{
|
||||
position: absolute; right: 0px; height: 70px;line-height: 70px;
|
||||
padding: 0 20px; text-align: center; top:0;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.admin-nav-tree .layui-nav-child a {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
.admin{
|
||||
border: 0;
|
||||
margin: 0;
|
||||
box-shadow:none;
|
||||
}
|
||||
.admin-nav-card{
|
||||
margin-top: 5px;
|
||||
}
|
||||
.admin-nav-card .layui-icon{
|
||||
position: relative;
|
||||
}
|
||||
.admin-nav-card .layui-tab-item iframe{
|
||||
width: 100%;
|
||||
border: 0;
|
||||
height: 100%;
|
||||
}
|
||||
.admin-nav-card>.layui-tab-title{
|
||||
border-bottom: 1px solid #1AA094;
|
||||
}
|
||||
.admin-nav-card .layui-tab-title cite{
|
||||
font-style: normal;
|
||||
padding-left: 5px;
|
||||
}
|
||||
.admin-nav-card>.layui-tab-title .layui-this{
|
||||
color: white;
|
||||
background-color: #1AA094;
|
||||
}
|
||||
.admin-nav-card>.layui-tab-title .layui-this:after{
|
||||
border-bottom: 0;
|
||||
}
|
||||
.admin-header-user img{
|
||||
width: 40px; height: 40px; border-radius: 100%;
|
||||
/*position: relative;
|
||||
top: 15px;*/
|
||||
}
|
||||
.admin-header-user .layui-nav-more{
|
||||
top:33px;
|
||||
}
|
||||
.admin-header-user .layui-nav-mored{
|
||||
top: 26px;
|
||||
}
|
||||
|
||||
/*lock*/
|
||||
.admin-header-lock{
|
||||
width: 320px; height: 150px; padding: 20px; position: relative; text-align: center;
|
||||
}
|
||||
.admin-header-lock-img{
|
||||
width: 60px; height: 60px; margin: 0 auto;
|
||||
}
|
||||
.admin-header-lock-img img{
|
||||
width: 60px; height: 60px; border-radius: 100%;
|
||||
}
|
||||
.admin-header-lock-name{
|
||||
color: #009688;margin: 8px 0 15px 0;
|
||||
}
|
||||
.admin-header-lock-input{
|
||||
width: 150px; color: #FFFFFF; height: 30px; border: 0;background-color: #009688; padding: 0 7px; border-radius: 2px;
|
||||
}
|
||||
/*table*/
|
||||
.site-table tbody tr td {text-align: center;}
|
||||
.site-table tbody tr td .layui-btn+.layui-btn{margin-left: 0px;}
|
||||
.admin-table-page {position: fixed;z-index: 19940201;bottom: 0;width: 100%;background-color: #eee;border-bottom: 1px solid #ddd;left: 0px;}
|
||||
.admin-table-page .page{padding-left:20px;}
|
||||
.admin-table-page .page .layui-laypage {margin: 6px 0 0 0;}
|
||||
|
||||
/**/
|
||||
.admin-main {margin: 15px;}
|
||||
|
||||
.admin-side-toggle,.admin-side-full{
|
||||
position: absolute; cursor: pointer;
|
||||
z-index: 19940201;
|
||||
left: 200px;
|
||||
color: white;
|
||||
text-align: center;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
background-color: #1AA094;
|
||||
line-height: 30px;
|
||||
top: 25%;
|
||||
}
|
||||
.admin-side-toggle:hover,.admin-side-full:hover{
|
||||
background-color: #5FB878;
|
||||
}
|
||||
.admin-side-full{
|
||||
left: 240px;
|
||||
}
|
||||
.admin-login-box{
|
||||
width: 185px; height: 70px; position: relative;
|
||||
}
|
||||
|
||||
.beg-navbar .layui-nav-child dd a{
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
|
||||
.admin-contextmenu{
|
||||
position: absolute;line-height: 36px;padding: 5px 0;
|
||||
border: 1px solid #d2d2d2;background-color: white;z-index: 19940201;border-radius: 2px;white-space: nowrap;top:30px;
|
||||
/*width: 100px;height: 200px; */
|
||||
}
|
||||
.admin-contextmenu ul li{
|
||||
padding: 0 15px;
|
||||
}
|
||||
.admin-contextmenu ul li:hover{
|
||||
background-color: #eee;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
||||
/* 适配多设备 */
|
||||
@media screen and (max-width: 750px) {
|
||||
.layui-main{width: auto; margin: 0 10px;}
|
||||
.logo,
|
||||
.header-demo .logo{left: 10px;}
|
||||
|
||||
.site-nav-layim{display: none !important;}
|
||||
.header .layui-nav .layui-nav-item{margin: 0;}
|
||||
.header .layui-nav .layui-nav-item a{padding: 0 15px;}
|
||||
.site-banner{height: 300px;}
|
||||
.site-banner-bg{background-size: cover;}
|
||||
.site-zfj{height: 100px; padding-top: 5px;}
|
||||
.site-zfj i{top: 10px; width: 100px; height: 100px; margin-left: -50px; font-size: 100px;}
|
||||
.site-desc{background-size: 70%; margin: 0;}
|
||||
.site-desc cite{display: none;}
|
||||
.site-download{margin-top: 0; }
|
||||
.site-download a{height: 40px; line-height: 40px; padding: 0 25px 0 60px; border: 1px solid #778097; border-radius: 30px; color: #fff; font-size: 16px;}
|
||||
.site-download a cite{left: 20px;}
|
||||
.site-banner-other{bottom: 15px;}
|
||||
|
||||
.site-idea{margin: 20px 0;}
|
||||
.site-idea li{margin: 0 0 20px 0; width: 100%; height: auto; -webkit-box-sizing: border-box !important; -moz-box-sizing: border-box !important; box-sizing: border-box !important;}
|
||||
.site-hengfu img{max-width: 100%}
|
||||
|
||||
.layui-layer-dir{display: none;}
|
||||
.site-tree{position: fixed; top: 0; bottom: 0; min-height: 0; overflow: auto; z-index: 1000; left: -260px; background-color: #fff; transition: all .3s; -webkit-transition: all .3s;}
|
||||
.site-content{width: 100%; padding: 0; overflow: auto;}
|
||||
.site-content img{max-width: 100%;}
|
||||
.site-tree-mobile{display: block!important; position: fixed; z-index: 100000; bottom: 15px; left: 15px; width: 50px; height: 50px; line-height: 50px; border-radius: 2px; text-align: center; background-color: rgba(0,0,0,.7); color: #fff;}
|
||||
.site-home .site-tree-mobile{display: none!important;}
|
||||
.site-mobile .site-tree-mobile{display: none !important;}
|
||||
.site-mobile .site-tree{left: 0;}
|
||||
.site-mobile .site-mobile-shade{content: ''; position: fixed; top: 0; bottom: 0; left: 0; right: 0; background-color: rgba(0,0,0,.8); z-index: 9999;}
|
||||
.site-tree-mobile i{font-size: 20px;}
|
||||
.layui-code-view{-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
|
||||
|
||||
.layui-layout-admin .layui-side{position: fixed; top: 0; left: -260px; transition: all .3s; -webkit-transition: all .3s; z-index: 10000;}
|
||||
.layui-body{position: static; bottom: 0; left: 0;}
|
||||
.site-mobile .layui-side{left: 0;}
|
||||
body .layui-layout-admin .footer-demo{position: static;}
|
||||
|
||||
.site-demo-area,
|
||||
.site-demo-editor,
|
||||
.site-demo-result,
|
||||
.site-demo-editor textarea,
|
||||
.site-demo-result iframe{position: static; width: 100%;}
|
||||
.site-demo-editor textarea{height: 350px;}
|
||||
.site-demo-zanzhu{display: none;}
|
||||
.site-demo-btn{bottom: auto; top: 370px;}
|
||||
.site-demo-result iframe{height: 500px;}
|
||||
|
||||
.site-demo-laytpl textarea, .site-demo-laytpl div span{margin: 0;}
|
||||
.site-demo-tplres .site-demo-tplh2, .site-demo-tplres .site-demo-tplview{width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
|
||||
|
||||
.site-demo-title{position: static; left: 0;}
|
||||
body .layui-layout-admin .site-demo{}
|
||||
.site-demo-code{position: static; height: 350px;}
|
||||
|
||||
.admin-side-toggle ,.admin-header-item{display: none;}
|
||||
.admin-header-item-mobile{ display: block; }
|
||||
}
|
||||
|
||||
.badge {
|
||||
display: inline-block;
|
||||
padding: 2px 5px;
|
||||
font-size: 8px;
|
||||
line-height: 1;
|
||||
border-radius: 9px;
|
||||
position: absolute;
|
||||
top: 15px;
|
||||
right: 8px;
|
||||
background: #e53d1c;
|
||||
color: #fff;
|
||||
}
|
||||
144
public/static/system/css/layout.css
Normal file
@@ -0,0 +1,144 @@
|
||||
.beg-layout-container{
|
||||
/*min-width: 1024px;*/
|
||||
}
|
||||
.beg-layout-container .beg-layout-main{
|
||||
position: absolute;
|
||||
}
|
||||
.beg-layout-container .beg-layout-header{
|
||||
background-color: #FFFFFF;
|
||||
height: 55px;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
min-width: 800px;
|
||||
border-bottom: 5px solid #1AA094;
|
||||
}
|
||||
.beg-layout-container .beg-layout-header .beg-layout-logo{
|
||||
width: 200px;
|
||||
height: 60px;
|
||||
text-align: center;
|
||||
line-height: 60px;
|
||||
}
|
||||
.beg-layout-container .beg-layout-header .beg-layout-side-toggle{
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
z-index: 19940201;
|
||||
left: 200px;
|
||||
color: white;
|
||||
text-align: center;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
background-color: #1AA094;
|
||||
line-height: 30px;
|
||||
top: 25%;
|
||||
}
|
||||
.beg-layout-container .beg-layout-header .beg-layout-side-toggle:hover{
|
||||
background-color: #5FB878;
|
||||
}
|
||||
.beg-layout-container .beg-layout-header .beg-layout-menu{
|
||||
top: 0;
|
||||
left:230px;
|
||||
}
|
||||
.beg-layout-header .beg-layout-menu .beg-layout-nav{
|
||||
background: none;
|
||||
}
|
||||
.beg-layout-header .beg-layout-menu .beg-layout-nav .layui-nav-item{
|
||||
line-height: 60px;
|
||||
}
|
||||
.beg-layout-header .beg-layout-menu .beg-layout-nav .layui-nav-item .layui-nav-more{
|
||||
top:27px
|
||||
}
|
||||
.beg-layout-header .beg-layout-menu .beg-layout-nav .layui-nav-item .layui-nav-mored{
|
||||
top:20px
|
||||
}
|
||||
.beg-layout-header .beg-layout-menu .beg-layout-nav .layui-this{
|
||||
color: #FFFFFF;
|
||||
background-color: #4E5465;
|
||||
}
|
||||
.beg-layout-header .beg-layout-menu .beg-layout-nav .layui-this:after,.beg-layout-header .layui-nav-bar{
|
||||
background-color: #4E5465;
|
||||
}
|
||||
.beg-layout-header .beg-layout-menu .beg-layout-nav .layui-nav-item a{
|
||||
color: #393D49;
|
||||
}
|
||||
.beg-layout-header .beg-layout-menu .beg-layout-nav .layui-this a{
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.beg-layout-header .beg-layout-menu .beg-layout-nav .layui-nav-item a:hover{
|
||||
color: #FFFFFF;
|
||||
background-color: #4E5465;
|
||||
}
|
||||
.beg-layout-header .beg-layout-panel{
|
||||
right: 10px;
|
||||
}
|
||||
.beg-layout-header .beg-layout-panel .beg-layout-nav{
|
||||
background: none;
|
||||
}
|
||||
.beg-layout-header .beg-layout-panel .beg-layout-nav a{
|
||||
color: #393D49;
|
||||
}
|
||||
.beg-layout-header .beg-layou-head{
|
||||
|
||||
}
|
||||
.beg-layout-header .beg-layou-head img{
|
||||
width: 40px; height: 40px; border-radius: 100%;
|
||||
}
|
||||
|
||||
.beg-layout-container .beg-layout-side{
|
||||
background-color: #393D49;
|
||||
color: #FFFFFF;
|
||||
top: 60px;
|
||||
}
|
||||
.beg-layout-container .beg-layout-body{
|
||||
top: 60px;
|
||||
height: auto;
|
||||
}
|
||||
.beg-layout-container .beg-layout-body .layout-nav-card cite{
|
||||
font-style: normal;
|
||||
padding-left: 5px;
|
||||
}
|
||||
.beg-layout-body iframe{
|
||||
width: 100%;
|
||||
border: 0;
|
||||
height: 99.5%;
|
||||
}
|
||||
.beg-layout-container .beg-layout-footer{
|
||||
line-height: 44px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.layout-tab-contextmenu {width: 135px; background-color: #CCCCCC;position: absolute; z-index: 19940201;display: none;}
|
||||
.layout-tab-contextmenu .layui-nav{
|
||||
padding: 5px 3px;
|
||||
}
|
||||
.layout-tab-contextmenu .layui-nav .layui-nav-item{
|
||||
line-height: 27px;width: 100%;
|
||||
}
|
||||
.layout-tab-contextmenu .layui-nav .layui-nav-item:hover{
|
||||
background-color: #5FB878;
|
||||
}
|
||||
.layout-tab-contextmenu .layui-nav .layui-nav-item a{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.layout-tab-contextmenu .layui-nav .layui-this:after, .layout-tab-contextmenu .layui-nav-bar {
|
||||
transition: none; -webkit-transition:none; background: none;
|
||||
}
|
||||
.admin-contextmenu{
|
||||
position: absolute;line-height: 36px;padding: 5px 0;
|
||||
border: 1px solid #d2d2d2;background-color: white;z-index: 19940201;border-radius: 2px;white-space: nowrap;top:30px;
|
||||
/*width: 100px;height: 200px; */
|
||||
}
|
||||
.admin-contextmenu ul li{
|
||||
padding: 0 15px;
|
||||
}
|
||||
.admin-contextmenu ul li:hover{
|
||||
background-color: #eee;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
.beg-layout-menu cite{
|
||||
display: none;
|
||||
}
|
||||
|
||||
}
|
||||
88
public/static/system/css/login.css
Normal file
@@ -0,0 +1,88 @@
|
||||
body {
|
||||
height: 100vh;
|
||||
background-size: cover;
|
||||
position: relative;
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
.mask {
|
||||
height: 100vh;
|
||||
width: 100%;
|
||||
background-color: black;
|
||||
opacity: .5;
|
||||
position: absolute;
|
||||
}
|
||||
.main {
|
||||
background-color: transparent;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
height: 70%;
|
||||
width: 100%;
|
||||
color: white;
|
||||
}
|
||||
.main h1 {
|
||||
text-align: center;
|
||||
font-style: italic;
|
||||
font-family: 'Microsoft YaHei';
|
||||
-webkit-text-shadow: 0 0 8px #00f7ff;
|
||||
text-shadow: 0 0 8px #00f7ff;
|
||||
}
|
||||
.enter {
|
||||
margin-top: 3%;
|
||||
background: rgba(255, 255, 255, 0.30);
|
||||
text-align: center;
|
||||
padding: 20px 0;
|
||||
min-height: 30px;
|
||||
}
|
||||
.enter h2 {
|
||||
font-size: 40px;
|
||||
}
|
||||
.layui-form {
|
||||
display: none;
|
||||
width: 300px;
|
||||
background-color: rgba(255, 255, 255, 0.407843);
|
||||
border-radius: 10px;
|
||||
margin: 0 auto;
|
||||
padding: 30px;
|
||||
}
|
||||
.layui-form .layui-form-item {
|
||||
position: relative;
|
||||
}
|
||||
.layui-form .layui-form-item .login-icon {
|
||||
position: absolute;
|
||||
color: #cccccc;
|
||||
top: 10px;
|
||||
left: 10px;
|
||||
}
|
||||
.layui-form .layui-form-item input {
|
||||
padding-left: 34px;
|
||||
}
|
||||
|
||||
.layui-form .layui-form-item .verify {
|
||||
width: 50%;
|
||||
float: left;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.layui-form .layui-form-item .code {
|
||||
width: 50%;
|
||||
height: 38px;
|
||||
float: left;
|
||||
vertical-align: middle;
|
||||
background-size: cover;
|
||||
cursor: pointer;
|
||||
}
|
||||
.pull-left {
|
||||
float: left !important;
|
||||
}
|
||||
.pull-right {
|
||||
float: right !important;
|
||||
}
|
||||
.clear {
|
||||
clear: both;
|
||||
}
|
||||
.login-remember {
|
||||
line-height: 38px;
|
||||
}
|
||||
.login-remember .layui-form-switch {
|
||||
margin-top: 0px;
|
||||
}
|
||||
380
public/static/system/css/zui.lite.css
Normal file
@@ -0,0 +1,380 @@
|
||||
.center-block {
|
||||
display: block;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
.pull-right {
|
||||
float: right !important;
|
||||
}
|
||||
.pull-left {
|
||||
float: left !important;
|
||||
}
|
||||
small, .small {
|
||||
font-size: 85%;
|
||||
}
|
||||
.text-muted {
|
||||
color: #808080;
|
||||
}
|
||||
.text-muted a {
|
||||
color: #737373;
|
||||
}
|
||||
.text-muted a:hover, .text-muted a:active {
|
||||
color: #3949ab;
|
||||
}
|
||||
.text-primary {
|
||||
color: #3f51b5;
|
||||
}
|
||||
.text-primary:hover {
|
||||
color: #32408f;
|
||||
}
|
||||
.text-warning {
|
||||
color: #f1a325;
|
||||
}
|
||||
.text-warning:hover {
|
||||
color: #d5890e;
|
||||
}
|
||||
.text-danger {
|
||||
color: #ea644a;
|
||||
}
|
||||
.text-danger:hover {
|
||||
color: #e53d1c;
|
||||
}
|
||||
.text-success {
|
||||
color: #38b03f;
|
||||
}
|
||||
.text-success:hover {
|
||||
color: #2c8931;
|
||||
}
|
||||
.text-info {
|
||||
color: #03b8cf;
|
||||
}
|
||||
.text-info:hover {
|
||||
color: #028b9d;
|
||||
}
|
||||
.text-important {
|
||||
color: #bd7b46;
|
||||
}
|
||||
.text-important:hover {
|
||||
color: #996337;
|
||||
}
|
||||
.text-special {
|
||||
color: #8666b8;
|
||||
}
|
||||
.text-special:hover {
|
||||
color: #6c4aa1;
|
||||
}
|
||||
.text-link {
|
||||
color: #444;
|
||||
}
|
||||
.text-link:hover, .text-link:active {
|
||||
color: #3949ab;
|
||||
}
|
||||
.text-left {
|
||||
text-align: left;
|
||||
}
|
||||
.text-right {
|
||||
text-align: right;
|
||||
}
|
||||
.text-center {
|
||||
text-align: center;
|
||||
}
|
||||
.text-nowrap, .nobr {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.text-ellipsis {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/*面板*/
|
||||
|
||||
.panel {
|
||||
margin-bottom: 20px;
|
||||
background-color: #fff;
|
||||
border: 1px solid transparent;
|
||||
border-color: #ddd;
|
||||
border-radius: 0;
|
||||
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
|
||||
box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
|
||||
}
|
||||
.panel > .panel-heading {
|
||||
color: #333;
|
||||
background-color: #f5f5f5;
|
||||
border-color: #ddd;
|
||||
}
|
||||
.panel > .panel-heading + .panel-collapse .panel-body {
|
||||
border-top-color: #ddd;
|
||||
}
|
||||
.panel > .panel-footer + .panel-collapse .panel-body {
|
||||
border-bottom-color: #ddd;
|
||||
}
|
||||
.panel-body {
|
||||
padding: 15px;
|
||||
}
|
||||
.panel > .table {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.panel > .panel-body + .table {
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
.panel-heading {
|
||||
padding: 8px 15px;
|
||||
border-bottom: 1px solid transparent;
|
||||
border-top-left-radius: -1;
|
||||
border-top-right-radius: -1;
|
||||
}
|
||||
.panel-title {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
font-size: 15px;
|
||||
}
|
||||
.panel-title > a {
|
||||
color: inherit;
|
||||
}
|
||||
.panel-footer {
|
||||
padding: 10px 15px;
|
||||
background-color: #f5f5f5;
|
||||
border-top: 1px solid #ddd;
|
||||
border-bottom-right-radius: -1;
|
||||
border-bottom-left-radius: -1;
|
||||
}
|
||||
|
||||
/*消息框*/
|
||||
|
||||
.alert {
|
||||
padding: 15px;
|
||||
margin-bottom: 20px;
|
||||
color: #373737;
|
||||
background-color: #f1f1f1;
|
||||
border-radius: 0;
|
||||
-webkit-transition: all .4s cubic-bezier(.175, .885, .32, 1);
|
||||
-o-transition: all .4s cubic-bezier(.175, .885, .32, 1);
|
||||
transition: all .4s cubic-bezier(.175, .885, .32, 1);
|
||||
}
|
||||
.alert hr {
|
||||
border-top-color: #e4e4e4;
|
||||
}
|
||||
.alert .alert-link {
|
||||
color: #252525;
|
||||
}
|
||||
.alert h4 {
|
||||
margin-top: 0;
|
||||
color: inherit;
|
||||
}
|
||||
.alert hr {
|
||||
margin: 10px 0;
|
||||
}
|
||||
.alert p, .alert ul {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.alert p + p {
|
||||
margin-top: 5px;
|
||||
}
|
||||
.alert-link {
|
||||
font-weight: bold;
|
||||
}
|
||||
.alert > [class*="icon-"] {
|
||||
float: left;
|
||||
margin-top: -5px;
|
||||
font-size: 42px;
|
||||
opacity: .6;
|
||||
-webkit-transition: opacity .2s cubic-bezier(.175, .885, .32, 1);
|
||||
-o-transition: opacity .2s cubic-bezier(.175, .885, .32, 1);
|
||||
transition: opacity .2s cubic-bezier(.175, .885, .32, 1);
|
||||
}
|
||||
.alert > [class*="icon-"] + .content {
|
||||
min-height: 30px;
|
||||
margin-left: 64px;
|
||||
}
|
||||
.alert.with-icon {
|
||||
display: table;
|
||||
width: 100%;
|
||||
}
|
||||
.alert.with-icon > [class*="icon-"], .alert.with-icon > [class*="icon-"] + .content {
|
||||
display: table-cell;
|
||||
float: none;
|
||||
min-height: 0;
|
||||
margin: 0;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.alert.with-icon > [class*="icon-"] {
|
||||
width: 48px;
|
||||
text-align: center;
|
||||
}
|
||||
.alert.with-icon > [class*="icon-"] + .content {
|
||||
padding-left: 1em;
|
||||
}
|
||||
.alert-block {
|
||||
margin: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
.alert-dismissable {
|
||||
padding-right: 35px;
|
||||
}
|
||||
.alert-dismissable .close {
|
||||
position: relative;
|
||||
top: -6px;
|
||||
right: -21px;
|
||||
color: inherit;
|
||||
}
|
||||
.alert-primary {
|
||||
color: #373737;
|
||||
background-color: #e8eaf6;
|
||||
}
|
||||
.alert-primary hr {
|
||||
border-top-color: #ced3ec;
|
||||
}
|
||||
.alert-primary .alert-link {
|
||||
color: #252525;
|
||||
}
|
||||
.alert-success {
|
||||
color: #329d38;
|
||||
background-color: #ddf4df;
|
||||
}
|
||||
.alert-success hr {
|
||||
border-top-color: #bae8b6;
|
||||
}
|
||||
.alert-success .alert-link {
|
||||
color: #29822e;
|
||||
}
|
||||
.alert-info {
|
||||
color: #03a2b6;
|
||||
background-color: #ddf3f5;
|
||||
}
|
||||
.alert-info hr {
|
||||
border-top-color: #a2e4de;
|
||||
}
|
||||
.alert-info .alert-link {
|
||||
color: #028293;
|
||||
}
|
||||
.alert-warning {
|
||||
color: #ed980f;
|
||||
background-color: #fff0d5;
|
||||
}
|
||||
.alert-warning hr {
|
||||
border-top-color: #ffdcbc;
|
||||
}
|
||||
.alert-warning .alert-link {
|
||||
color: #cc830d;
|
||||
}
|
||||
.alert-danger {
|
||||
color: #e75033;
|
||||
background-color: #ffe5e0;
|
||||
}
|
||||
.alert-danger hr {
|
||||
border-top-color: #ffc6c7;
|
||||
}
|
||||
.alert-danger .alert-link {
|
||||
color: #dd391a;
|
||||
}
|
||||
|
||||
/*分页*/
|
||||
|
||||
.pager {
|
||||
display: inline-block;
|
||||
padding-left: 0;
|
||||
margin: 20px 0;
|
||||
list-style: none;
|
||||
}
|
||||
.pager > li {
|
||||
display: inline;
|
||||
}
|
||||
.pager > li > a, .pager > li > span {
|
||||
position: relative;
|
||||
float: left;
|
||||
padding: 5px 12px;
|
||||
margin-left: -1px;
|
||||
line-height: 1.53846154;
|
||||
text-decoration: none;
|
||||
background-color: #fff;
|
||||
border: 1px solid #ddd;
|
||||
}
|
||||
.pager > li:first-child > a, .pager > li:first-child > span {
|
||||
margin-left: 0;
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
.pager > li:last-child > a, .pager > li:last-child > span {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
.pager > li > a:hover, .pager > li > span:hover, .pager > li > a:focus, .pager > li > span:focus {
|
||||
z-index: 2;
|
||||
background-color: #e5e5e5;
|
||||
}
|
||||
.pager > li.active > a, .pager > li.active > span, .pager > li.active > a:hover, .pager > li.active > span:hover {
|
||||
z-index: 3;
|
||||
color: #fff;
|
||||
cursor: default;
|
||||
background-color: #1AA094;
|
||||
border-color: #1AA094;
|
||||
}
|
||||
.pager > li.disabled > span, .pager > li.disabled > span:hover, .pager > li.disabled > span:focus, .pager > li.disabled > a, .pager > li.disabled > a:hover, .pager > li.disabled > a:focus {
|
||||
color: #ddd;
|
||||
pointer-events: none;
|
||||
cursor: not-allowed;
|
||||
background-color: #fff;
|
||||
border-color: #ddd;
|
||||
}
|
||||
.pager-justify {
|
||||
display: block;
|
||||
}
|
||||
.pager-justify .next > a, .pager-justify .next > span {
|
||||
float: right;
|
||||
border-radius: 0;
|
||||
}
|
||||
.pager-justify .previous > a, .pager-justify .previous > span {
|
||||
float: left;
|
||||
border-radius: 0;
|
||||
}
|
||||
.layui-table~.pager {
|
||||
float: right;
|
||||
margin-top: 0
|
||||
}
|
||||
|
||||
/*简单的栅格*/
|
||||
|
||||
.x1, .x2, .x3, .x4, .x5, .x6, .x7, .x8, .x9, .x10, .x11, .x12 {
|
||||
float: left
|
||||
}
|
||||
.x1 {
|
||||
width: 8.33333333%
|
||||
}
|
||||
.x2 {
|
||||
width: 16.66666667%
|
||||
}
|
||||
.x3 {
|
||||
width: 25%
|
||||
}
|
||||
.x4 {
|
||||
width: 33.33333333%
|
||||
}
|
||||
.x5 {
|
||||
width: 41.66666667%
|
||||
}
|
||||
.x6 {
|
||||
width: 50%
|
||||
}
|
||||
.x7 {
|
||||
width: 58.33333333%
|
||||
}
|
||||
.x8 {
|
||||
width: 66.66666667%
|
||||
}
|
||||
.x9 {
|
||||
width: 75%
|
||||
}
|
||||
.x10 {
|
||||
width: 83.33333333%
|
||||
}
|
||||
.x11 {
|
||||
width: 91.66666667%
|
||||
}
|
||||
.x12 {
|
||||
width: 100%
|
||||
}
|
||||
.layui-table .layui-form-switch {
|
||||
margin: 0;
|
||||
}
|
||||
BIN
public/static/system/images/avatar.jpg
Normal file
|
After Width: | Height: | Size: 9.2 KiB |
BIN
public/static/system/images/bg1.jpg
Normal file
|
After Width: | Height: | Size: 84 KiB |
BIN
public/static/system/images/bg2.jpg
Normal file
|
After Width: | Height: | Size: 147 KiB |
BIN
public/static/system/images/bg3.jpg
Normal file
|
After Width: | Height: | Size: 64 KiB |
39
public/static/system/js/area.js
Normal file
@@ -0,0 +1,39 @@
|
||||
/** area.js By Beginner Emain:zheng_jinfan@126.com HomePage:http://www.zhengjinfan.cn */
|
||||
layui.define(['jquery'], function(exports) {
|
||||
"use strict";
|
||||
var $ = layui.jquery;
|
||||
|
||||
//设置ajax可跨域
|
||||
$.support.cors = true;
|
||||
var Area = function() {
|
||||
this.config = {
|
||||
url: undefined, //远程数据的url
|
||||
type: 'json', //数据类型 json or jsonp
|
||||
provinceFilter: 'province', //省的过滤器名称
|
||||
cityFilter: 'city', //市的过滤器名称
|
||||
districtFilter: 'district', // 区域的过滤器名称
|
||||
provinceName: 'province', //省名称
|
||||
cityName: 'city', //市名称
|
||||
districtName: 'district', //区域名称
|
||||
};
|
||||
this.v = '1.0';
|
||||
};
|
||||
Area.prototype.set = function(options) {
|
||||
var that = this;
|
||||
$.extend(true, that.config, options);
|
||||
return that;
|
||||
};
|
||||
Area.prototype.init = function(options) {
|
||||
var that = this;
|
||||
|
||||
|
||||
|
||||
return that;
|
||||
};
|
||||
|
||||
var area = new Area();
|
||||
|
||||
exports('area', function(options) {
|
||||
return area.set(options);
|
||||
});
|
||||
});
|
||||
214
public/static/system/js/city.js
Normal file
@@ -0,0 +1,214 @@
|
||||
/** common.js By Beginner Emain:zheng_jinfan@126.com HomePage:http://www.zhengjinfan.cn */
|
||||
layui.define(['jquery'], function(exports) {
|
||||
"use strict";
|
||||
var jQuery = layui.jquery;
|
||||
/**
|
||||
* jquery.citys.js 1.0
|
||||
* http://jquerywidget.com
|
||||
*/
|
||||
;
|
||||
(function($) {
|
||||
$.support.cors = true;
|
||||
$.fn.citys = function(parameter, getApi) {
|
||||
if(typeof parameter == 'function') { //重载
|
||||
getApi = parameter;
|
||||
parameter = {};
|
||||
} else {
|
||||
parameter = parameter || {};
|
||||
getApi = getApi || function() {};
|
||||
}
|
||||
var defaults = {
|
||||
dataUrl: 'http://passer-by.com/data_location/list.json', //数据库地址
|
||||
dataType: 'json', //数据库类型:'json'或'jsonp'
|
||||
provinceField: 'province', //省份字段名
|
||||
cityField: 'city', //城市字段名
|
||||
areaField: 'area', //地区字段名
|
||||
code: 0, //地区编码
|
||||
province: 0, //省份,可以为地区编码或者名称
|
||||
city: 0, //城市,可以为地区编码或者名称
|
||||
area: 0, //地区,可以为地区编码或者名称
|
||||
required: true, //是否必须选一个
|
||||
nodata: 'hidden', //当无数据时的表现形式:'hidden'隐藏,'disabled'禁用,为空不做任何处理
|
||||
onChange: function() {} //地区切换时触发,回调函数传入地区数据
|
||||
};
|
||||
var options = $.extend({}, defaults, parameter);
|
||||
return this.each(function() {
|
||||
//对象定义
|
||||
var _api = {};
|
||||
var $this = $(this);
|
||||
var $province = $this.find('select[name="' + options.provinceField + '"]'),
|
||||
$city = $this.find('select[name="' + options.cityField + '"]'),
|
||||
$area = $this.find('select[name="' + options.areaField + '"]');
|
||||
$.ajax({
|
||||
url: options.dataUrl,
|
||||
type: 'GET',
|
||||
crossDomain: true,
|
||||
dataType: options.dataType,
|
||||
jsonpCallback: 'jsonp_location',
|
||||
success: function(data) {
|
||||
var province, city, area, hasCity;
|
||||
if(options.code) { //如果设置地区编码,则忽略单独设置的信息
|
||||
var c = options.code - options.code % 1e4;
|
||||
if(data[c]) {
|
||||
options.province = c;
|
||||
}
|
||||
c = options.code - (options.code % 1e4 ? options.code % 1e2 : options.code);
|
||||
if(data[c]) {
|
||||
options.city = c;
|
||||
}
|
||||
c = options.code % 1e2 ? options.code : 0;
|
||||
if(data[c]) {
|
||||
options.area = c;
|
||||
}
|
||||
}
|
||||
var updateData = function() {
|
||||
province = {}, city = {}, area = {};
|
||||
hasCity = false; //判断是非有地级城市
|
||||
for(code in data) {
|
||||
if(!(code % 1e4)) { //获取所有的省级行政单位
|
||||
province[code] = data[code];
|
||||
if(options.required && !options.province) {
|
||||
if(options.city && !(options.city % 1e4)) { //省未填,并判断为直辖市
|
||||
options.province = options.city;
|
||||
} else {
|
||||
options.province = code;
|
||||
}
|
||||
} else if(data[code].indexOf(options.province) > -1) {
|
||||
options.province = isNaN(options.province) ? code : options.province;
|
||||
}
|
||||
} else {
|
||||
var p = code - options.province;
|
||||
if(options.province && p > 0 && p < 1e4) { //同省的城市或地区
|
||||
if(!(code % 100)) {
|
||||
hasCity = true;
|
||||
city[code] = data[code];
|
||||
if(options.required && !options.city) {
|
||||
options.city = code;
|
||||
} else if(data[code].indexOf(options.city) > -1) {
|
||||
options.city = isNaN(options.city) ? code : options.city;
|
||||
}
|
||||
} else if(p > 9000) { //省直辖县级行政单位
|
||||
city[code] = data[code];
|
||||
} else if(hasCity) { //非直辖市
|
||||
var c = code - options.city;
|
||||
if(options.city && c > 0 && c < 100) { //同个城市的地区
|
||||
area[code] = data[code];
|
||||
if(options.required && !options.area) {
|
||||
options.area = code;
|
||||
} else if(data[code].indexOf(options.area) > -1) {
|
||||
options.area = isNaN(options.area) ? code : options.area;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
city[code] = data[code]; //直辖市
|
||||
if(options.area) {
|
||||
options.city = options.area;
|
||||
options.area = '';
|
||||
}
|
||||
if(options.required && !options.city) {
|
||||
options.city = code;
|
||||
} else if(data[code].indexOf(options.city) > -1) {
|
||||
options.city = isNaN(options.city) ? code : options.city;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
var format = {
|
||||
province: function() {
|
||||
$province.empty();
|
||||
if(!options.required) {
|
||||
$province.append('<option value=""> - 请选择 - </option>');
|
||||
}
|
||||
for(i in province) {
|
||||
$province.append('<option value="' + i + '">' + province[i] + '</option>');
|
||||
}
|
||||
if(options.province) {
|
||||
$province.val(options.province);
|
||||
}
|
||||
this.city();
|
||||
},
|
||||
city: function() {
|
||||
$city.empty();
|
||||
if(!options.required) {
|
||||
$city.append('<option value=""> - 请选择 - </option>');
|
||||
}
|
||||
if(options.nodata == 'disabled') {
|
||||
$city.prop('disabled', $.isEmptyObject(city));
|
||||
} else if(options.nodata == 'hidden') {
|
||||
$city.css('display', $.isEmptyObject(city) ? 'none' : '');
|
||||
}
|
||||
for(i in city) {
|
||||
$city.append('<option value="' + i + '">' + city[i] + '</option>');
|
||||
}
|
||||
if(options.city) {
|
||||
$city.val(options.city);
|
||||
}
|
||||
this.area();
|
||||
},
|
||||
area: function() {
|
||||
$area.empty();
|
||||
if(!hasCity) {
|
||||
$area.css('display', 'none');
|
||||
} else {
|
||||
$area.css('display', '');
|
||||
if(!options.required) {
|
||||
$area.append('<option value=""> - 请选择 - </option>');
|
||||
}
|
||||
if(options.nodata == 'disabled') {
|
||||
$area.prop('disabled', $.isEmptyObject(area));
|
||||
} else if(options.nodata == 'hidden') {
|
||||
$area.css('display', $.isEmptyObject(area) ? 'none' : '');
|
||||
}
|
||||
for(i in area) {
|
||||
$area.append('<option value="' + i + '">' + area[i] + '</option>');
|
||||
}
|
||||
if(options.area) {
|
||||
$area.val(options.area);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
//获取当前地理信息
|
||||
_api.getInfo = function() {
|
||||
var status = {
|
||||
direct: !hasCity,
|
||||
province: data[options.province] || '',
|
||||
city: data[options.city] || '',
|
||||
area: data[options.area] || '',
|
||||
code: options.area || options.city || options.province
|
||||
};
|
||||
return status;
|
||||
};
|
||||
//事件绑定
|
||||
$province.on('change', function() {
|
||||
options.province = $(this).val();
|
||||
options.city = 0;
|
||||
options.area = 0;
|
||||
updateData();
|
||||
format.city();
|
||||
options.onChange(_api.getInfo());
|
||||
});
|
||||
$city.on('change', function() {
|
||||
options.city = $(this).val();
|
||||
options.area = 0;
|
||||
updateData();
|
||||
format.area();
|
||||
options.onChange(_api.getInfo());
|
||||
});
|
||||
$area.on('change', function() {
|
||||
options.area = $(this).val();
|
||||
options.onChange(_api.getInfo());
|
||||
});
|
||||
//初始化
|
||||
updateData();
|
||||
format.province();
|
||||
getApi(_api);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
})(jQuery);
|
||||
exports('city', null);
|
||||
});
|
||||
30
public/static/system/js/common.js
Normal file
@@ -0,0 +1,30 @@
|
||||
/** common.js By Beginner Emain:zheng_jinfan@126.com HomePage:http://www.zhengjinfan.cn */
|
||||
layui.define(['layer'], function(exports) {
|
||||
"use strict";
|
||||
|
||||
var $ = layui.jquery,
|
||||
layer = layui.layer;
|
||||
|
||||
var common = {
|
||||
/**
|
||||
* 抛出一个异常错误信息
|
||||
* @param {String} msg
|
||||
*/
|
||||
throwError: function(msg) {
|
||||
throw new Error(msg);
|
||||
return;
|
||||
},
|
||||
/**
|
||||
* 弹出一个错误提示
|
||||
* @param {String} msg
|
||||
*/
|
||||
msgError: function(msg) {
|
||||
layer.msg(msg, {
|
||||
icon: 5
|
||||
});
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
||||
exports('common', common);
|
||||
});
|
||||
37
public/static/system/js/echarts.js
Normal file
116
public/static/system/js/index.js
Normal file
@@ -0,0 +1,116 @@
|
||||
var tab;
|
||||
|
||||
layui.config({
|
||||
base: '/static/system/js/'
|
||||
}).use(['element', 'navbar', 'tab'], function() {
|
||||
var element = layui.element(),
|
||||
$ = layui.jquery,
|
||||
navbar = layui.navbar();
|
||||
tab = layui.tab({
|
||||
elem: '.admin-nav-card',
|
||||
contextMenu:true
|
||||
});
|
||||
$(window).on('resize', function() {
|
||||
var $content = $('.admin-nav-card .layui-tab-content');
|
||||
$content.height($(this).height() - 142);
|
||||
$content.find('iframe').each(function() {
|
||||
$(this).height($content.height());
|
||||
});
|
||||
}).resize();
|
||||
//设置navbar
|
||||
navbar.set({
|
||||
spreadOne: true,
|
||||
elem: '#admin-navbar-side',
|
||||
cached: true,
|
||||
data: navs
|
||||
});
|
||||
//渲染navbar
|
||||
navbar.render();
|
||||
//监听点击事件
|
||||
navbar.on('click(side)', function(data) {
|
||||
tab.tabAdd(data.field);
|
||||
});
|
||||
|
||||
$('#msgShow').on('click', function() {
|
||||
tab.tabAdd({href: $(this).data('href'), icon: 'fa-envelope', title: '系统消息'});
|
||||
});
|
||||
|
||||
var ishide = false;
|
||||
$('.admin-side-toggle').on('click', function() {
|
||||
if(ishide === false) {
|
||||
$('#admin-body').animate({left: '0'});
|
||||
$('#admin-footer').animate({left: '0'});
|
||||
$('#admin-side').animate({width: '0'});
|
||||
ishide = true;
|
||||
var tips = layer.msg('鼠标靠左自动显示菜单', {time: 1000});
|
||||
} else {
|
||||
$('#admin-body').animate({left: '200px'});
|
||||
$('#admin-footer').animate({left: '200px'});
|
||||
$('#admin-side').animate({width: '200px'});
|
||||
ishide = false;
|
||||
}
|
||||
});
|
||||
|
||||
$(document).mousemove(function (e) {
|
||||
if (e.pageX == 0 && ishide) {
|
||||
$('#admin-body').animate({left: '200px'});
|
||||
$('#admin-footer').animate({left: '200px'});
|
||||
$('#admin-side').animate({width: '200px'});
|
||||
ishide = false;
|
||||
}
|
||||
});
|
||||
|
||||
$('.admin-side-full').on('click', function() {
|
||||
var docElm = document.documentElement;
|
||||
if(docElm.requestFullscreen) {
|
||||
docElm.requestFullscreen();
|
||||
}
|
||||
else if(docElm.mozRequestFullScreen) {
|
||||
docElm.mozRequestFullScreen();
|
||||
}
|
||||
else if(docElm.webkitRequestFullScreen) {
|
||||
docElm.webkitRequestFullScreen();
|
||||
}
|
||||
else if(elem.msRequestFullscreen) {
|
||||
elem.msRequestFullscreen();
|
||||
}
|
||||
layer.msg('按Esc即可退出全屏');
|
||||
});
|
||||
|
||||
$('#userInfo').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: e.target.innerHTML,
|
||||
area: ['500px', '280px'],
|
||||
content: e.target.href
|
||||
});
|
||||
});
|
||||
$('#resetPass').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: e.target.innerHTML,
|
||||
area: ['400px', '280px'],
|
||||
content: e.target.href
|
||||
});
|
||||
});
|
||||
|
||||
$("#logout").on('click', function(e) {
|
||||
e.preventDefault();
|
||||
layer.open({
|
||||
type: 0,
|
||||
title: '系统提示',
|
||||
content: '你确定要注销么?',
|
||||
btn: ['确定', '取消'],
|
||||
yes: function(index, layero) {
|
||||
$.get(e.target.href, function(data) {
|
||||
layer.close(index);
|
||||
layer.msg(data.msg, {icon: 1, time: 1000}, function() {
|
||||
location.href = '/login'
|
||||
});
|
||||
}, 'json');
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
251
public/static/system/js/navbar.js
Normal file
@@ -0,0 +1,251 @@
|
||||
/** navbar.js By Beginner Emain:zheng_jinfan@126.com HomePage:http://www.zhengjinfan.cn */
|
||||
layui.define(['element', 'common'], function(exports) {
|
||||
"use strict";
|
||||
var $ = layui.jquery,
|
||||
layer = parent.layer === undefined ? layui.layer : parent.layer,
|
||||
element = layui.element(),
|
||||
common = layui.common,
|
||||
cacheName = 'tb_navbar';
|
||||
|
||||
var Navbar = function() {
|
||||
/**
|
||||
* 默认配置
|
||||
*/
|
||||
this.config = {
|
||||
elem: undefined, //容器
|
||||
data: undefined, //数据源
|
||||
url: undefined, //数据源地址
|
||||
type: 'GET', //读取方式
|
||||
cached: false, //是否使用缓存
|
||||
spreadOne:false //设置是否只展开一个二级菜单
|
||||
};
|
||||
this.v = '0.0.1';
|
||||
};
|
||||
Navbar.prototype.render = function() {
|
||||
var _that = this;
|
||||
var _config = _that.config;
|
||||
if(typeof(_config.elem) !== 'string' && typeof(_config.elem) !== 'object') {
|
||||
common.throwError('Navbar error: elem参数未定义或设置出错,具体设置格式请参考文档API.');
|
||||
}
|
||||
var $container;
|
||||
if(typeof(_config.elem) === 'string') {
|
||||
$container = $('' + _config.elem + '');
|
||||
}
|
||||
if(typeof(_config.elem) === 'object') {
|
||||
$container = _config.elem;
|
||||
}
|
||||
if($container.length === 0) {
|
||||
common.throwError('Navbar error:找不到elem参数配置的容器,请检查.');
|
||||
}
|
||||
if(_config.data === undefined && _config.url === undefined) {
|
||||
common.throwError('Navbar error:请为Navbar配置数据源.')
|
||||
}
|
||||
if(_config.data !== undefined && typeof(_config.data) === 'object') {
|
||||
var html = getHtml(_config.data);
|
||||
$container.html(html);
|
||||
element.init();
|
||||
_that.config.elem = $container;
|
||||
} else {
|
||||
if(_config.cached) {
|
||||
var cacheNavbar = layui.data(cacheName);
|
||||
if(cacheNavbar.navbar === undefined) {
|
||||
$.ajax({
|
||||
type: _config.type,
|
||||
url: _config.url,
|
||||
async: false, //_config.async,
|
||||
dataType: 'json',
|
||||
success: function(result, status, xhr) {
|
||||
//添加缓存
|
||||
layui.data(cacheName, {
|
||||
key: 'navbar',
|
||||
value: result
|
||||
});
|
||||
var html = getHtml(result);
|
||||
$container.html(html);
|
||||
element.init();
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
common.msgError('Navbar error:' + error);
|
||||
},
|
||||
complete: function(xhr, status) {
|
||||
_that.config.elem = $container;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
var html = getHtml(cacheNavbar.navbar);
|
||||
$container.html(html);
|
||||
element.init();
|
||||
_that.config.elem = $container;
|
||||
}
|
||||
} else {
|
||||
//清空缓存
|
||||
layui.data(cacheName, null);
|
||||
$.ajax({
|
||||
type: _config.type,
|
||||
url: _config.url,
|
||||
async: false, //_config.async,
|
||||
dataType: 'json',
|
||||
success: function(result, status, xhr) {
|
||||
var html = getHtml(result);
|
||||
$container.html(html);
|
||||
element.init();
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
common.msgError('Navbar error:' + error);
|
||||
},
|
||||
complete: function(xhr, status) {
|
||||
_that.config.elem = $container;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//只展开一个二级菜单
|
||||
if(_config.spreadOne){
|
||||
var $ul = $container.children('ul');
|
||||
$ul.find('li.layui-nav-item').each(function(){
|
||||
$(this).on('click',function(){
|
||||
$(this).siblings().removeClass('layui-nav-itemed');
|
||||
});
|
||||
});
|
||||
}
|
||||
return _that;
|
||||
};
|
||||
/**
|
||||
* 配置Navbar
|
||||
* @param {Object} options
|
||||
*/
|
||||
Navbar.prototype.set = function(options) {
|
||||
var that = this;
|
||||
that.config.data = undefined;
|
||||
$.extend(true, that.config, options);
|
||||
return that;
|
||||
};
|
||||
/**
|
||||
* 绑定事件
|
||||
* @param {String} events
|
||||
* @param {Function} callback
|
||||
*/
|
||||
Navbar.prototype.on = function(events, callback) {
|
||||
var that = this;
|
||||
var _con = that.config.elem;
|
||||
if(typeof(events) !== 'string') {
|
||||
common.throwError('Navbar error:事件名配置出错,请参考API文档.');
|
||||
}
|
||||
var lIndex = events.indexOf('(');
|
||||
var eventName = events.substr(0, lIndex);
|
||||
var filter = events.substring(lIndex + 1, events.indexOf(')'));
|
||||
if(eventName === 'click') {
|
||||
if(_con.attr('lay-filter') !== undefined) {
|
||||
_con.children('ul').find('li').each(function() {
|
||||
var $this = $(this);
|
||||
if($this.find('dl').length > 0) {
|
||||
var $dd = $this.find('dd').each(function() {
|
||||
$(this).on('click', function() {
|
||||
var $a = $(this).children('a');
|
||||
var href = $a.data('url');
|
||||
var icon = $a.children('i:first').data('icon');
|
||||
var title = $a.children('cite').text();
|
||||
var data = {
|
||||
elem: $a,
|
||||
field: {
|
||||
href: href,
|
||||
icon: icon,
|
||||
title: title
|
||||
}
|
||||
}
|
||||
callback(data);
|
||||
});
|
||||
});
|
||||
} else {
|
||||
$this.on('click', function() {
|
||||
var $a = $this.children('a');
|
||||
var href = $a.data('url');
|
||||
var icon = $a.children('i:first').data('icon');
|
||||
var title = $a.children('cite').text();
|
||||
var data = {
|
||||
elem: $a,
|
||||
field: {
|
||||
href: href,
|
||||
icon: icon,
|
||||
title: title
|
||||
}
|
||||
}
|
||||
callback(data);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
/**
|
||||
* 清除缓存
|
||||
*/
|
||||
Navbar.prototype.cleanCached = function(){
|
||||
layui.data(cacheName,null);
|
||||
};
|
||||
/**
|
||||
* 获取html字符串
|
||||
* @param {Object} data
|
||||
*/
|
||||
function getHtml(data) {
|
||||
var ulHtml = '<ul class="layui-nav layui-nav-tree beg-navbar">';
|
||||
for(var i = 0; i < data.length; i++) {
|
||||
if(data[i].spread) {
|
||||
ulHtml += '<li class="layui-nav-item layui-nav-itemed">';
|
||||
} else {
|
||||
ulHtml += '<li class="layui-nav-item">';
|
||||
}
|
||||
if(data[i].children !== undefined && data[i].children.length > 0) {
|
||||
ulHtml += '<a href="javascript:;">';
|
||||
if(data[i].icon !== undefined && data[i].icon !== '') {
|
||||
if(data[i].icon.indexOf('fa-') !== -1) {
|
||||
ulHtml += '<i class="fa ' + data[i].icon + '" aria-hidden="true" data-icon="' + data[i].icon + '"></i>';
|
||||
} else {
|
||||
ulHtml += '<i class="layui-icon" data-icon="' + data[i].icon + '">' + data[i].icon + '</i>';
|
||||
}
|
||||
}
|
||||
ulHtml += '<cite>' + data[i].title + '</cite>'
|
||||
ulHtml += '</a>';
|
||||
ulHtml += '<dl class="layui-nav-child">'
|
||||
for(var j = 0; j < data[i].children.length; j++) {
|
||||
ulHtml += '<dd title="'+data[i].children[j].title+'">';
|
||||
ulHtml += '<a href="javascript:;" data-url="' + data[i].children[j].href + '">';
|
||||
if(data[i].children[j].icon !== undefined && data[i].children[j].icon !== '') {
|
||||
if(data[i].children[j].icon.indexOf('fa-') !== -1) {
|
||||
ulHtml += '<i class="fa ' + data[i].children[j].icon + '" data-icon="' + data[i].children[j].icon + '" aria-hidden="true"></i>';
|
||||
} else {
|
||||
ulHtml += '<i class="layui-icon" data-icon="' + data[i].children[j].icon + '">' + data[i].children[j].icon + '</i>';
|
||||
}
|
||||
}
|
||||
ulHtml += '<cite>' + data[i].children[j].title + '</cite>';
|
||||
ulHtml += '</a>';
|
||||
ulHtml += '</dd>';
|
||||
}
|
||||
ulHtml += '</dl>';
|
||||
} else {
|
||||
var dataUrl = (data[i].href !== undefined && data[i].href !== '') ? 'data-url="' + data[i].href + '"' : '';
|
||||
ulHtml += '<a href="javascript:;" ' + dataUrl + '>';
|
||||
if(data[i].icon !== undefined && data[i].icon !== '') {
|
||||
if(data[i].icon.indexOf('fa-') !== -1) {
|
||||
ulHtml += '<i class="fa ' + data[i].icon + '" aria-hidden="true" data-icon="' + data[i].icon + '"></i>';
|
||||
} else {
|
||||
ulHtml += '<i class="layui-icon" data-icon="' + data[i].icon + '">' + data[i].icon + '</i>';
|
||||
}
|
||||
}
|
||||
ulHtml += '<cite>' + data[i].title + '</cite>'
|
||||
ulHtml += '</a>';
|
||||
}
|
||||
ulHtml += '</li>';
|
||||
}
|
||||
ulHtml += '</ul>';
|
||||
|
||||
return ulHtml;
|
||||
}
|
||||
|
||||
var navbar = new Navbar();
|
||||
|
||||
exports('navbar', function(options) {
|
||||
return navbar.set(options);
|
||||
});
|
||||
});
|
||||
253
public/static/system/js/tab.js
Normal file
@@ -0,0 +1,253 @@
|
||||
/** tab.js By Beginner Emain:zheng_jinfan@126.com HomePage:http://www.zhengjinfan.cn */
|
||||
layui.define(['element', 'common'], function(exports) {
|
||||
"use strict";
|
||||
|
||||
var mod_name = 'tab',
|
||||
$ = layui.jquery,
|
||||
element = layui.element(),
|
||||
commo = layui.common,
|
||||
globalTabIdIndex = 0,
|
||||
Tab = function() {
|
||||
this.config = {
|
||||
elem: undefined,
|
||||
closed: true, //是否包含删除按钮
|
||||
autoRefresh: false,
|
||||
contextMenu:false
|
||||
};
|
||||
};
|
||||
var ELEM = {};
|
||||
//版本号
|
||||
Tab.prototype.v = '0.1.5';
|
||||
/**
|
||||
* 参数设置
|
||||
* @param {Object} options
|
||||
*/
|
||||
Tab.prototype.set = function(options) {
|
||||
var that = this;
|
||||
$.extend(true, that.config, options);
|
||||
return that;
|
||||
};
|
||||
/**
|
||||
* 初始化
|
||||
*/
|
||||
Tab.prototype.init = function() {
|
||||
var that = this;
|
||||
var _config = that.config;
|
||||
if(typeof(_config.elem) !== 'string' && typeof(_config.elem) !== 'object') {
|
||||
common.throwError('Tab error: elem参数未定义或设置出错,具体设置格式请参考文档API.');
|
||||
}
|
||||
var $container;
|
||||
if(typeof(_config.elem) === 'string') {
|
||||
$container = $('' + _config.elem + '');
|
||||
}
|
||||
if(typeof(_config.elem) === 'object') {
|
||||
$container = _config.elem;
|
||||
}
|
||||
if($container.length === 0) {
|
||||
common.throwError('Tab error:找不到elem参数配置的容器,请检查.');
|
||||
}
|
||||
var filter = $container.attr('lay-filter');
|
||||
if(filter === undefined || filter === '') {
|
||||
common.throwError('Tab error:请为elem容器设置一个lay-filter过滤器');
|
||||
}
|
||||
_config.elem = $container;
|
||||
ELEM.titleBox = $container.children('ul.layui-tab-title');
|
||||
ELEM.contentBox = $container.children('div.layui-tab-content');
|
||||
ELEM.tabFilter = filter;
|
||||
return that;
|
||||
};
|
||||
/**
|
||||
* 查询tab是否存在,如果存在则返回索引值,不存在返回-1
|
||||
* @param {String} 标题
|
||||
*/
|
||||
Tab.prototype.exists = function(title) {
|
||||
var that = ELEM.titleBox === undefined ? this.init() : this,
|
||||
tabIndex = -1;
|
||||
ELEM.titleBox.find('li').each(function(i, e) {
|
||||
var $cite = $(this).children('cite');
|
||||
if($cite.text() === title) {
|
||||
tabIndex = i;
|
||||
};
|
||||
});
|
||||
return tabIndex;
|
||||
};
|
||||
/**
|
||||
* 获取tabid
|
||||
* @param {String} 标题
|
||||
*/
|
||||
Tab.prototype.getTabId=function(title){
|
||||
var that = ELEM.titleBox === undefined ? this.init() : this,
|
||||
tabId = -1;
|
||||
ELEM.titleBox.find('li').each(function(i, e) {
|
||||
var $cite = $(this).children('cite');
|
||||
if($cite.text() === title) {
|
||||
tabId = $(this).attr('lay-id');
|
||||
};
|
||||
});
|
||||
return tabId;
|
||||
};
|
||||
/**
|
||||
* 添加选择卡,如果选择卡存在则获取焦点
|
||||
* @param {Object} data
|
||||
*/
|
||||
Tab.prototype.tabAdd = function(data) {
|
||||
var that = this;
|
||||
var _config = that.config;
|
||||
var tabIndex = that.exists(data.title);
|
||||
if(tabIndex === -1) {
|
||||
//设置只能同时打开多少个tab选项卡
|
||||
if(_config.maxSetting !== 'undefined') {
|
||||
var currentTabCount = _config.elem.children('ul.layui-tab-title').children('li').length;
|
||||
if(typeof _config.maxSetting === 'number') {
|
||||
if(currentTabCount === _config.maxSetting) {
|
||||
layer.msg('为了系统的流畅度,只能同时打开' + _config.maxSetting + '个选项卡。');
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(typeof _config.maxSetting === 'object') {
|
||||
var max = _config.maxSetting.max || 8;
|
||||
var msg = _config.maxSetting.tipMsg || '为了系统的流畅度,只能同时打开' + max + '个选项卡。';
|
||||
if(currentTabCount === max) {
|
||||
layer.msg(msg);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
globalTabIdIndex++;
|
||||
var content = '<iframe src="' + data.href + '" data-id="' + globalTabIdIndex + '"></iframe>';
|
||||
var title = '';
|
||||
if(data.icon !== undefined) {
|
||||
if(data.icon.indexOf('fa-') !== -1) {
|
||||
title += '<i class="fa ' + data.icon + '" aria-hidden="true"></i>';
|
||||
} else {
|
||||
title += '<i class="layui-icon">' + data.icon + '</i>';
|
||||
}
|
||||
}
|
||||
title += '<cite>' + data.title + '</cite>';
|
||||
if(_config.closed) {
|
||||
title += '<i class="layui-icon layui-unselect layui-tab-close" data-id="' + globalTabIdIndex + '">ဆ</i>';
|
||||
}
|
||||
//添加tab
|
||||
element.tabAdd(ELEM.tabFilter, {
|
||||
title: title,
|
||||
content: content,
|
||||
id:new Date().getTime()
|
||||
});
|
||||
//iframe 自适应
|
||||
ELEM.contentBox.find('iframe[data-id=' + globalTabIdIndex + ']').each(function() {
|
||||
$(this).height(ELEM.contentBox.height());
|
||||
});
|
||||
if(_config.closed) {
|
||||
//监听关闭事件
|
||||
ELEM.titleBox.find('li').children('i.layui-tab-close[data-id=' + globalTabIdIndex + ']').on('click', function() {
|
||||
element.tabDelete(ELEM.tabFilter, $(this).parent('li').attr('lay-id')).init();
|
||||
if(_config.contextMenu) {
|
||||
$(document).find('div.uiba-contextmenu').remove(); //移除右键菜单dom
|
||||
}
|
||||
});
|
||||
};
|
||||
//切换到当前打开的选项卡
|
||||
element.tabChange(ELEM.tabFilter, that.getTabId(data.title));
|
||||
} else {
|
||||
element.tabChange(ELEM.tabFilter, that.getTabId(data.title));
|
||||
//自动刷新
|
||||
if(_config.autoRefresh) {
|
||||
_config.elem.find('div.layui-tab-content > div').eq(tabIndex).children('iframe')[0].contentWindow.location.reload();
|
||||
}
|
||||
}
|
||||
if(_config.contextMenu) {
|
||||
element.on('tab(' + ELEM.tabFilter + ')', function(data) {
|
||||
$(document).find('div.admin-contextmenu').remove();
|
||||
});
|
||||
ELEM.titleBox.find('li').on('contextmenu', function(e) {
|
||||
var $that = $(e.target);
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
|
||||
var $target = e.target.nodeName === 'LI' ? e.target : e.target.parentElement;
|
||||
//判断,如果存在右键菜单的div,则移除,保存页面上只存在一个
|
||||
if($(document).find('div.admin-contextmenu').length > 0) {
|
||||
$(document).find('div.admin-contextmenu').remove();
|
||||
}
|
||||
//创建一个div
|
||||
var div = document.createElement('div');
|
||||
//设置一些属性
|
||||
div.className = 'admin-contextmenu';
|
||||
div.style.width = '130px';
|
||||
div.style.backgroundColor = 'white';
|
||||
|
||||
var ul = '<ul>';
|
||||
ul += '<li data-target="refresh" title="刷新当前选项卡"><i class="fa fa-refresh" aria-hidden="true"></i> 刷新</li>';
|
||||
ul += '<li data-target="closeCurrent" title="关闭当前选项卡"><i class="fa fa-close" aria-hidden="true"></i> 关闭当前</li>';
|
||||
ul += '<li data-target="closeOther" title="关闭其他选项卡"><i class="fa fa-window-close-o" aria-hidden="true"></i> 关闭其他</li>';
|
||||
ul += '<li data-target="closeAll" title="关闭全部选项卡"><i class="fa fa-window-close-o" aria-hidden="true"></i> 全部关闭</li>';
|
||||
ul += '</ul>';
|
||||
div.innerHTML = ul;
|
||||
div.style.top = e.pageY + 'px';
|
||||
div.style.left = e.pageX + 'px';
|
||||
//将dom添加到body的末尾
|
||||
document.getElementsByTagName('body')[0].appendChild(div);
|
||||
|
||||
//获取当前点击选项卡的id值
|
||||
var id = $($target).find('i.layui-tab-close').data('id');
|
||||
//获取当前点击选项卡的索引值
|
||||
var clickIndex = $($target).attr('lay-id');
|
||||
var $context = $(document).find('div.admin-contextmenu');
|
||||
if($context.length > 0) {
|
||||
$context.eq(0).children('ul').children('li').each(function() {
|
||||
var $that = $(this);
|
||||
//绑定菜单的点击事件
|
||||
$that.on('click', function() {
|
||||
//获取点击的target值
|
||||
var target = $that.data('target');
|
||||
//
|
||||
switch(target) {
|
||||
case 'refresh': //刷新当前
|
||||
var src = ELEM.contentBox.find('iframe[data-id=' + id + ']')[0].src;
|
||||
ELEM.contentBox.find('iframe[data-id=' + id + ']')[0].src = src;
|
||||
break;
|
||||
case 'closeCurrent': //关闭当前
|
||||
if(clickIndex !== 0) {
|
||||
element.tabDelete(ELEM.tabFilter, clickIndex);
|
||||
}
|
||||
break;
|
||||
case 'closeOther': //关闭其他
|
||||
ELEM.titleBox.children('li').each(function() {
|
||||
var $t = $(this);
|
||||
var id1 = $t.find('i.layui-tab-close').data('id');
|
||||
if(id1 != id && id1 !== undefined) {
|
||||
element.tabDelete(ELEM.tabFilter, $t.attr('lay-id'));
|
||||
}
|
||||
});
|
||||
break;
|
||||
case 'closeAll': //全部关闭
|
||||
ELEM.titleBox.children('li').each(function() {
|
||||
var $t = $(this);
|
||||
if($t.index() !== 0) {
|
||||
element.tabDelete(ELEM.tabFilter, $t.attr('lay-id'));
|
||||
}
|
||||
});
|
||||
break;
|
||||
}
|
||||
//处理完后移除右键菜单的dom
|
||||
$context.remove();
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on('click',function(){
|
||||
$context.remove();
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
}
|
||||
};
|
||||
Tab.prototype.on = function(events, callback) {
|
||||
|
||||
}
|
||||
|
||||
var tab = new Tab();
|
||||
exports(mod_name, function(options) {
|
||||
return tab.set(options);
|
||||
});
|
||||
});
|
||||
40
public/static/system/js/ueditor/dialogs/anchor/anchor.html
Normal file
@@ -0,0 +1,40 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title></title>
|
||||
<style type="text/css">
|
||||
*{color: #838383;margin: 0;padding: 0}
|
||||
html,body {font-size: 12px;overflow: hidden; }
|
||||
.content{padding:5px 0 0 15px;}
|
||||
input{width:210px;height:21px;line-height:21px;margin-left: 4px;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="content">
|
||||
<span><var id="lang_input_anchorName"></var></span><input id="anchorName" value="" />
|
||||
</div>
|
||||
<script type="text/javascript" src="../internal.js"></script>
|
||||
<script type="text/javascript">
|
||||
var anchorInput = $G('anchorName'),
|
||||
node = editor.selection.getRange().getClosedNode();
|
||||
if(node && node.tagName == 'IMG' && (node = node.getAttribute('anchorname'))){
|
||||
anchorInput.value = node;
|
||||
}
|
||||
anchorInput.onkeydown = function(evt){
|
||||
evt = evt || window.event;
|
||||
if(evt.keyCode == 13){
|
||||
editor.execCommand('anchor', anchorInput.value);
|
||||
dialog.close();
|
||||
domUtils.preventDefault(evt)
|
||||
}
|
||||
};
|
||||
dialog.onok = function (){
|
||||
editor.execCommand('anchor', anchorInput.value);
|
||||
dialog.close();
|
||||
};
|
||||
$focus(anchorInput);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||