1
0

补充文件

This commit is contained in:
2023-11-16 13:41:09 +08:00
parent 13e93d342e
commit bff28ef911
608 changed files with 149699 additions and 15 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
/.idea

View File

@@ -13,13 +13,13 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => 'localhost',
'hostname' => 'mysql',
// 数据库名
'database' => 'helper',
// 用户名
'username' => 'helper',
// 密码
'password' => 'wjyBRncHHY2ls4Cd',
'password' => '123456',
// 端口
'hostport' => 3306,
// 连接dsn

View File

@@ -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' => '',
];

View File

@@ -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']],

View File

@@ -1,2 +1 @@
*
!.gitignore

View 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}

File diff suppressed because one or more lines are too long

View 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

File diff suppressed because one or more lines are too long

View 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

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View 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";
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 473 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 561 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 612 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 755 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 664 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 B

View 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,//裁剪框最小尺寸即最小可以缩放到这个sizewidth及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();
})

View 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+'&amp;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="关闭">&nbsp;</a>'+
'</li>';
$('.up-entry').before(str);
})
})
});
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

10
public/static/mobile/edit/js/sm.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 748 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

541
public/static/mobile/js/audio.min.js vendored Normal file
View 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;
}

View 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
});
});

View 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);

File diff suppressed because one or more lines are too long

7
public/static/mobile/js/mzui.min.js vendored Normal file

File diff suppressed because one or more lines are too long

18
public/static/mobile/js/swiper.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View 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;}

View 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;
}

View 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;
}
}

View 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;
}

View 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;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View 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);
});
});

View 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);
});

View 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);
});

File diff suppressed because one or more lines are too long

View 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');
}
});
});
});

View 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);
});
});

View 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 + '">&#x1006;</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);
});
});

View 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>

Some files were not shown because too many files have changed in this diff Show More