diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..d82ee59
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright (c) 2018 Admin
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..4e84d7c
--- /dev/null
+++ b/README.md
@@ -0,0 +1,49 @@
+```
+本模版已进行作品版权证明,不管以何种形式获取的源码,请勿进行出售或者上传到任何素材网站【同时也请各站长自觉遵守】,否则将追究相应的责任
+```
+### 为我点赞
+http://fly.layui.com/case/u/3198216
+```
+此模版继续沿用原有规则,即学习交流完全免费,商业用途联系作者授权。
+技术交流及商业授权联系,企鹅群:576881857
+```
+### 模版效果预览
+首页
+
+个人资料
+
+文章发布
+
+使用文档
+
+### 更新日志
+- 郑重提示:由于后期会对此框架进行多次开发,基本上修改的是大框架,所以强烈不建议对index.js/bodyTab.js进行修改,以便后期的更新能够直接覆盖升级。【以后主要侧重组件开发和功能优化,由于能力有限,请大家多多担待】
+- 框架采用最新的layui2.x进行对1.0版本的重写,完全不同于1.0版本的模版,不能覆盖升级
+- 由于本人对设计和色差之类的不太感冒,所以一些布局和颜色搭配不是太完美,在此跟大家说声抱歉,大家可以根据自己的喜好进行一些调整。
+- 新增“系统日志”、“会员等级”、“图标管理”、“使用文档”等页面,新增“功能设置”、“清除缓存”、“编辑文章”等功能。
+- 由于后期将会整合layIM,所以将原有的“消息”页面删除了,虽然会整合layIM,但是不会提供layIM的下载,如果有需求的朋友可以去进行layIM的授权
+- 删除天气组件【感觉没什么作用,如果需要的可以自行去“心知天气”或另外的第三方组件中设置添加】
+- 由于项目是响应式,但是table不支持响应式,所以拖动浏览器改变分辨率的情况table可能展示不太友好,之前用window.resize()方法实现了托动改变大小,但是发现每拖动1px就会请求一次接口,所以舍弃了这个方法
+- 对搜索模块的位置进行了调整【后面小版本中会提供搜索跳转/打开新窗口功能】
+- 由于数据表格的分页、搜索、添加、删除等一系列数据操作需要接口的配合,同时大家都了解这是一套纯前端模版,没有后台,所以这些操作都没有了。有人提议用js动态截取json去实现动态效果,这样当然可以,但是身为一个有严重洁癖的码农,如何能忍受这样的情况?所以这些就需要大家在实际使用中根据接口传参实现了。
+- 重构页面图标【由于layui2.0新增了许多图标,所以对原有的图标进行了重构,避免图标冗余。实际使用中建议自己去阿里图标库挑选符合网站风格的进行替换】
+- 优化刷新当前页面,关闭其他,关闭全部等按钮造成的bug
+- 增加顶部一级菜单用以实现三级菜单,并实现响应式。可以通过更改浏览器的分辨率并且点击顶部菜单来查看效果,这个功能做了一天多啊【后面的小版本会对此功能进行优化,即增加反向定位功能】
+- 对90%以上的页面进行了样式优化和微调,使其更加完美【对于有强迫症的我来说,有一点瑕疵都是不能容忍的】
+- 由于模版中的动态操作基本都是通过缓存完成的,所以为了避免缓存过多造成卡顿现象,增加“清除缓存”按钮
+- 添加自定义是否开启Tab缓存【即刷新页面后是否重新打开刷新前的窗口】、是否切换窗口刷新页面、单一登录等功能。【在功能设定弹窗中设置,在移动端已隐藏此功能】功能其实早就有朋友提出来过,一直没有想到好的方式添加,直到larry的模版出来,感觉方式不错,借鉴了一下他的这种模式,在此对larry表示感谢
+- 优化更换皮肤在升级为2.x版本后无效的问题【后期会针对此功能进行深入优化,在移动端已隐藏此功能】
+- 优化“点赞、码云、github”链接。【之前虽然也有模版下载链接按钮,不知道是不明显还是什么,总有人私聊我要源码,这次我把按钮改大点,如果你们再看不到,那就不是不明显了。。。】
+- 优化“个人资料”页面,修改布局和响应式展示样式,重写地区三级联动效果【已封装成模块】,代码更简洁。【由于静态数据不能通过post方式提交,否则会报405、500错误,所以为了演示,将请求方式修改成了get,在实际使用中请将userInfo.js中的第13行删除,有注释】
+- 重做404页面、登录页面,增加动画效果。闪瞎你的钛合金眼。
+- 新增“图标管理”页面,用于展示引入的第三方图标文件。可点击复制class到想要的地方
+- 新增“使用文档”页面,详细描述了模版中封装模块的各个功能,让使用者更加了解封装的模块的功能。
+- 通过减少列来使table在移动端保持正常显示。需要列足够少,控制在2-3列最好。只需要给在移动端不显示的td添加pc属性即可,如
此单元格在移动端不显示 。如果还是理解不了请查看“系统基本参数”页面或者“使用文档”页面
+- 全面优化缓存机制,例如只要在“个人资料”页面修改过头像,那其他有头像的地方都会展示修改后的头像;修改“系统基本参数”后刷新页面底部版权修改等【当然这个功能在实际开发中就是个鸡肋,没有什么实际用处,在此处我只是想做个功能展示,毕竟这套模版是不包含后台的】
+- “文章列表”页面新增文章编辑功能和预览,另外优化了搜索功能【编辑和优化功能都需要接口配合,预览功能需要前后台配合】
+- 重做“添加文章”页面,使其更加适合实际开发中使用【当然这是我以为的,在实际使用中肯定还差很多功能,后面会慢慢完善】编辑器由于本身的问题,点击列表中的编辑按钮有时会赋不上值,请暂时无视,等到layedit重写后重做
+- “图片管理”页面新增“上传新图片”和“图片展示【即layer.photo】”功能。【由于弹层的展示获取的是接口中的数据,所以弹层不会展示新上传的图片,当然实际开发中不会有这个问题】
+### 开源协议
+MIT License
+### 在线预览
+http://layuicms.gitee.io/layuicms2.0
\ No newline at end of file
diff --git a/css/index.css b/css/index.css
new file mode 100644
index 0000000..e61248b
--- /dev/null
+++ b/css/index.css
@@ -0,0 +1,152 @@
+/*公共样式*/
+.header .layui-nav-child{ z-index:99999; top:60px; left: auto; right: 0;}
+.seraph{ font-size:16px !important;}
+.main_body{ min-width:320px; }
+.layui-nav .layui-nav-item>a{ color:rgba(255,255,255,1); max-height:60px;}
+.layui-layer-tab .layui-layer-title span{ padding:0 !important;}
+iframe{ position:relative; height:100%; width:100%; border:none;}
+.top_menu.layui-nav .layui-nav-child dd.layui-this a,.closeBox.layui-nav .layui-nav-child dd.layui-this a,.closeBox .layui-nav-child dd.layui-this,.top_menu .layui-nav-child dd.layui-this{ background:none; color:#333;}
+.layui-nav .layui-nav-child a:hover,.layui-nav .layui-nav-child dd.layui-this a:hover{background-color:#5FB878;color:#fff;}
+
+/*模拟加载层图标样式*/
+.layui-layer-dialog .layui-layer-content .layui-layer-ico16{ background-size:100% 100% !important; }
+/*样式改变的过渡*/
+.layui-body,.layui-footer,.layui-layout-admin .layui-side,.logo,.topLevelMenus li.layui-nav-item,.topLevelMenus li.layui-nav-item:hover{ transition: all 0.3s ease-in-out;-webkit-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-ms-transition: all 0.3s ease-in-out; }
+/*隐藏*/
+*[mobile],.component .layui-select-title i.layui-edge{ display:none;}
+
+/*打开页面动画*/
+.layui-tab-item.layui-show{ animation:moveTop 1s; -webkit-animation:moveTop 1s; animation-fill-mode:both; -webkit-animation-fill-mode:both; position:relative; height:100%; }
+@keyframes moveTop{
+ 0% {opacity: 0;-webkit-transform: translateY(20px);-ms-transform: translateY(20px);transform: translateY(20px);}
+ 100% {opacity: 1;-webkit-transform: translateY(0);-ms-transform: translateY(0);transform: translateY(0);}
+}
+@-o-keyframes moveTop{
+ 0% {opacity: 0;-webkit-transform: translateY(20px);-ms-transform: translateY(20px);transform: translateY(20px);}
+ 100% {opacity: 1;-webkit-transform: translateY(0);-ms-transform: translateY(0);transform: translateY(0);}
+}
+@-moz-keyframes moveTop{
+ 0% {opacity: 0;-webkit-transform: translateY(20px);-ms-transform: translateY(20px);transform: translateY(20px);}
+ 100% {opacity: 1;-webkit-transform: translateY(0);-ms-transform: translateY(0);transform: translateY(0);}
+}
+@-webkit-keyframes moveTop{
+ 0% {opacity: 0;-webkit-transform: translateY(20px);-ms-transform: translateY(20px);transform: translateY(20px);}
+ 100% {opacity: 1;-webkit-transform: translateY(0);-ms-transform: translateY(0);transform: translateY(0);}
+}
+/*锁屏*/
+.admin-header-lock{width: 320px; height: 170px; padding: 20px; position: relative; text-align: center;}
+.admin-header-lock-img{width:70px; height:70px; margin: 0 auto;}
+.admin-header-lock-img img{width:70px; height:70px; border-radius: 100%; box-shadow:0 0 30px #44576b;}
+.admin-header-lock-name{color: #009688;margin: 8px 0 15px 0;}
+.input_btn{ overflow: hidden; margin-bottom: 10px; }
+.admin-header-lock-input{width: 170px; color: #fff;background-color: #009688; float: left; margin:0 10px 0 40px; border:none;}
+.admin-header-lock-input::-webkit-input-placeholder {color:#fff;}
+.admin-header-lock-input::-moz-placeholder {color:#fff;}
+.admin-header-lock-input:-ms-input-placeholder {color:#fff;}
+.admin-header-lock-input:-moz-placeholder {color:#fff;}
+#unlock{ float: left; }
+#lock-box p{ color:#e60000; }
+/*顶部*/
+.header{ z-index:2000;}
+.logo{ color: #fff; float: left; line-height:60px; font-size:20px; padding:0 25px; text-align: center; width:150px;}
+.hideMenu{ float:left; width:20px; height:20px; margin-top:15px; font-size:17px; line-height:20px; text-align:center; padding:5px 5px; color:#fff; background-color:#1AA094; }
+.hideMenu:hover{ color:#fff; }
+.layui-nav cite{ margin-left: 5px;}
+/*顶部右侧*/
+.topLevelMenus{float:left;}
+.topLevelMenus li.layui-nav-item:hover{ background-color:rgba(221,221,221,0.2);}
+.layui-nav .layui-this:after{ bottom:-5px!important;}
+.header .layui-nav-bar{top:60px !important;}
+.topLevelMenus .layui-nav-item.layui-this{ background-color:rgba(0,0,0,0.5);}
+.top_menu.layui-nav .layui-this:after{ width:0px; }
+.top_menu .layui-nav-bar,.mobileTopLevelMenus .layui-nav-bar{background-color:rgba(0,0,0,0.7);}
+
+/*左侧导航*/
+.layui-nav{background-color: inherit !important;}
+.showMenu.layui-layout-admin .layui-side{ left:-200px; }
+.showMenu .layui-body,.showMenu .layui-footer{ left:0; }
+/*左侧用户头像*/
+.top_menu{ background-color:inherit !important; position:absolute; right:0;top:0; }
+.layui-layout-admin .layui-side{ left:0; overflow:hidden;}
+.user-photo{width: 200px; height: 120px; padding:15px 0 5px;}
+.user-photo a.img{ display: block; width:80px; height:80px; margin: 0 auto 10px;}
+.user-photo a.img img{ display: block; border: none; width: 100%; height: 100%; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; border: 4px solid #44576b; box-sizing:border-box;}
+.user-photo p{ display: block; width: 100%; height: 25px; color: #ffffff; text-align: center; font-size: 12px; white-space: nowrap;line-height: 25px; overflow: hidden;}
+/*左侧导航重定义*/
+.layui-nav-item.layui-nav-itemed{ background-color:#2B2E37 !important;}
+.layui-nav-itemed:before{ width:5px; height:100%; background-color:#009688; position:absolute; content:''; left:0; top:0;}
+.layui-nav-itemed .layui-nav-child a{ padding-left:40px;}
+/*左侧搜索框*/
+.component{ width:180px; height:30px; margin:0 auto 5px; position:relative;}
+.component .layui-input{ height:30px; line-height: 30px; font-size:12px; border:none; transition: all 0.3s; background:rgba(255,255,255,0.05); }
+.component .layui-input:focus{ background:#fff; color:#000; }
+.component .layui-form-select dl{ top:33px; background:#fff; }
+.component .layui-icon{ position: absolute; right:8px; top:8px; color:#000; }
+.component dl dd{ color:#000 !important;}
+.component dl dd.layui-this{ color:#fff !important;}
+.component dl dd.layui-select-tips{ color:#999 !important;}
+
+/*layui-body*/
+.layui-body{overflow:hidden; border-top:5px solid #1AA094;border-left:2px solid #1AA094; background:#fff;}
+#top_tabs_box{ padding-right:138px; height:40px; border-bottom:1px solid #e2e2e2; }
+#top_tabs{ position: absolute; border-bottom:none;}
+.layui-tab-title .layui-this{ background-color:#1AA094; color:#fff; }
+.layui-tab-title .layui-this:after{ border:none; }
+.layui-tab-title li cite{ font-style: normal; padding-left:5px; }
+.clildFrame.layui-tab-content{ top:41px; position:absolute; bottom:0; width:100%; padding:0;}
+/*多窗口页面操作下拉*/
+.closeBox{ position:absolute; right:0; background-color:#fff !important; color:#000; border-left:1px solid #e2e2e2; border-bottom:1px solid #e2e2e2; }
+.closeBox .layui-nav-item{ line-height:40px; }
+.closeBox .layui-nav-item>a,.closeBox .layui-nav-item>a:hover{ color:#000; }
+.closeBox .layui-nav-more{ top:17px; }
+.closeBox .layui-nav-mored{ top:11px; }
+.closeBox .layui-nav-child{ top:42px; left:-12px; }
+.closeBox .layui-nav-bar{ display:none; }
+.closeBox a i.caozuo{ font-size: 20px; position:absolute; top:1px; left:0; }
+.closeBox a span.layui-nav-more{ border-color:#333 transparent transparent;}
+.closeBox a span.layui-nav-more.layui-nav-mored{ border-color:transparent transparent #333;}
+/*功能设定*/
+.functionSrtting_box{ padding-top:15px;}
+.functionSrtting_box .layui-word-aux{ position:absolute;left:60px; top:9px; font-size: 12px;}
+/*换肤*/
+.skins_box{ padding:10px 34px 0; }
+.skinBtn{ text-align:center; }
+/*橙色*/
+.orange .layui-layout-admin .layui-header{ background-color:orange !important; }
+.orange .layui-bg-black{ background-color:#e47214 !important; }
+/*蓝色*/
+.blue .layui-layout-admin .layui-header{ background-color:#3396d8 !important; }
+.blue .layui-bg-black,.blue .hideMenu{ background-color:#146aa2 !important; }
+/*自定义*/
+.skinCustom{ visibility:hidden; }
+.skinCustom input{ width:48%; margin:5px 2% 5px 0; float:left; }
+.orange .layui-nav-tree .layui-nav-child a,.blue .layui-nav-tree .layui-nav-child a{ color:#fff; }
+.orange .top_menu.layui-nav .layui-nav-more,.blue .top_menu.layui-nav .layui-nav-more{border-color:#fff transparent transparent !important;}
+.orange .top_menu.layui-nav-itemed .layui-nav-more,.orange .top_menu.layui-nav .layui-nav-mored,.blue .top_menu.layui-nav-itemed .layui-nav-more,.blue .top_menu.layui-nav .layui-nav-mored{border-color:transparent transparent #fff !important;}
+/*底部*/
+.footer{ text-align: center; line-height:44px;border-left: 2px solid #1AA094;}
+
+/*响应式样式*/
+@media screen and (max-width:1080px){
+ .mobileTopLevelMenus[mobile]{display:inline-block;}
+ .site-mobile .site-tree-mobile,.topLevelMenus[pc]{display:none !important;}
+}
+@media screen and (max-width: 720px){
+ .hideMenu{ display: none !important; }
+ .mobileTopLevelMenus[mobile]{ padding:0;}
+ .top_menu>li[pc]{ display: none !important; }
+ /*左侧导航*/
+ .layui-layout-admin .layui-side{ left:-260px; }
+ .site-mobile .layui-side{ left: 0; z-index:1100; }
+ .site-tree-mobile {display: block!important; position: fixed; z-index: 100000; bottom: 15px; left: 15px; width:40px; height:40px; line-height:40px; border-radius: 2px; text-align: center; background-color: rgba(0,0,0,.7); color: #fff;}
+ .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: 999;}
+ .layui-body,.layui-layout-admin .layui-footer{ left:-2px; }
+}
+@media screen and (max-width:480px){
+ .logo{ width:120px; font-size: 18px;}
+ #userInfo>a{ padding:0 10px;}
+ .mobileTopLevelMenus[mobile] li>a{ padding:0 17px 0 15px;}
+ .logo,.layui-nav.top_menu{ padding:0 5px;}
+ .adminName,.top_menu dd[pc]{ display: none !important; }
+ *[mobile],.top_menu .layui-nav-item.showNotice[pc]{ display:inline-block !important; }
+}
\ No newline at end of file
diff --git a/css/public.css b/css/public.css
new file mode 100644
index 0000000..9a9227f
--- /dev/null
+++ b/css/public.css
@@ -0,0 +1,172 @@
+/*公共样式*/
+.childrenBody{ padding:10px;}
+.layui-table-view{ margin:0 !important;}
+.magb0{margin-bottom:0 !important;}
+.magt0{ margin-top:0 !important;}
+.magt3{ margin-top:3px !important;}
+.magt10{ margin-top:10px !important;}
+.magb15{ margin-bottom:15px !important;}
+.magt30{ margin-top:30px !important;}
+.layui-left{text-align:left;}
+.layui-block{ width:100% !important;}
+.layui-center{text-align:center;}
+.layui-right{text-align:right;}
+.layui-elem-quote.title{ padding:10px 15px; margin-bottom:0;}
+.layui-bg-white{ background-color:#fff !important;}
+.border{ border:1px solid #e6e6e6 !important; padding:10px; border-top:none;}
+.main_btn .layui-btn{ margin:2px 5px 2px 0;}
+.layui-timeline-axis{ left:-4px;}
+.layui-elem-quote{ word-break: break-all;}
+.icons li,.icons li:hover,.loginBody .seraph,.loginBody .seraph:hover,.loginBody .layui-form-item.layui-input-focus label,.loginBody .layui-form-item label,.loginBody .layui-form-item.layui-input-focus input,.loginBody .layui-form-item input{transition: all 0.3s ease-in-out;-webkit-transition: all 0.3s ease-in-out;}
+.icons li:hover i,.icons li i{transition: font-size 0.3s ease-in-out;-webkit-transition: font-size 0.3s ease-in-out;}
+.loginBody .layui-input-focus .layui-input::-webkit-input-placeholder{transition: color 0.2s linear 0.2s;-webkit-transition: color 0.2s linear 0.2s;}
+.loginBody .layui-input-focus .layui-input::-moz-placeholder{transition: color 0.2s linear 0.2s;}
+.loginBody .layui-input-focus .layui-input:-ms-input-placeholder{transition: color 0.2s linear 0.2s;}
+.loginBody .layui-input-focus .layui-input::placeholder{transition: color 0.2s linear 0.2s;-webkit-transition: color 0.2s linear 0.2s;}
+/*后台首页*/
+.panel_box{ margin-bottom:5px;}
+.panel{ text-align:center; height:90px;}
+.panel_box a{display:block; border-radius:5px; overflow:hidden; height:80px; background-color:#f2f2f2 !important; }
+.panel_icon{ width:40%; display: inline-block; line-height:80px; float:left; position:relative; height:100%;}
+.panel_icon i{ font-size:40px !important; color:#fff; display: inline-block;}
+.panel_word{ width:60%; display: inline-block; float:right; margin:13px 0 14px; }
+.panel_word span{ font-size:25px; display:block; height:34px; }
+.panel .loginTime{ font-size:15px; color:#1E9FFF; line-height:17px;}
+.panel em{ font-style:normal;}
+.history_box{ min-height:500px; height:500px; overflow-y:scroll; padding:10px !important;}
+.history_box .layui-timeline .layui-timeline-item:last-child{ padding-bottom:0;}
+@media screen and (max-width:1200px) {
+ .history_box { height: auto !important; overflow-y: inherit; }
+}
+/*修改密码*/
+.pwdTips{ min-height:auto; margin:40px 0 15px 110px;}
+/*个人资料*/
+form input.layui-input[disabled]{ background:#f2f2f2; color:#595963!important; }
+.user_right{ text-align: center; }
+.user_right p{ margin:10px 0 25px; font-size: 12px; text-align: center; color: #FF5722;}
+.user_right img#userFace{ width:200px; height:200px; margin-top:20px; cursor:pointer; box-shadow:0 0 50px #44576b; }
+.userAddress.layui-form-item .layui-input-inline{ width:23%; }
+.userAddress.layui-form-item .layui-input-inline:last-child{ margin-right:0; }
+/*下拉多选*/
+.layui-form-item select[multiple]+.layui-form-select dd{ padding:0;}
+.layui-form-item select[multiple]+.layui-form-select .layui-form-checkbox[lay-skin=primary]{ margin:0 !important; display:block; line-height:36px !important; position:relative; padding-left:26px;}
+.layui-form-item select[multiple]+.layui-form-select .layui-form-checkbox[lay-skin=primary] span{line-height:36px !important; float:none;}
+.layui-form-item select[multiple]+.layui-form-select .layui-form-checkbox[lay-skin=primary] i{ position:absolute; left:10px; top:0; margin-top:9px;}
+.multiSelect{ line-height:normal; height:auto; padding:4px 10px; overflow:hidden;min-height:38px; margin-top:-38px; left:0; z-index:99;position:relative;background:none;}
+.multiSelect a{ padding:2px 5px; background:#908e8e; border-radius:2px; color:#fff; display:block; line-height:20px; height:20px; margin:2px 5px 2px 0; float:left;}
+.multiSelect a span{ float:left;}
+.multiSelect a i{ float:left; display:block; margin:2px 0 0 2px; border-radius:2px; width:8px; height:8px; background:url(../images/close.png) no-repeat center; background-size:65%; padding:4px;}
+.multiSelect a i:hover{ background-color:#545556;}
+/*404页面*/
+.noFind{ text-align:center; padding-top:2%;}
+.noFind i{ line-height:1em; font-size:14em !important; color: #393D50; display:block;}
+.noFind .page_icon{ font-size:12em !important; animation:pageGo 0.3s ease-in 0.3s forwards; -webkit-animation:pageGo 0.3s ease-in 0.3s forwards; -o-animation:pageGo 0.3s ease-in 0.3s forwards; -moz-animation:pageGo 0.3s ease-in 0.3s forwards;}
+.noFind .ufo_icon{ animation:ufo 1s ease-in 0.6s forwards; -webkit-animation:ufo 1s ease-in 0.6s forwards; -o-animation:ufo 1s ease-in 0.6s forwards; -moz-animation:ufo 1s ease-in 0.6s forwards;}
+.page404{ opacity:0; font-size:0 !important; animation:page404 0.5s ease-in 1.7s forwards; -webkit-animation:page404 0.5s ease-in 1.7s forwards; -o-animation:page404 0.5s ease-in 1.7s forwards; -moz-animation:page404 0.5s ease-in 1.7s forwards;}
+.page404 p{ font-size: 20px; font-weight: 300; color: #999;}
+/*页面被吸走*/
+@keyframes pageGo{from{font-size: 12em; margin-top: 0;} to{font-size: 0; margin-top: -130px}}
+@-moz-keyframes pageGo{from{font-size: 12em; margin-top: 0;} to{font-size: 0; margin-top: -130px}}
+@-webkit-keyframes pageGo{from{font-size: 12em; margin-top: 0;} to{font-size: 0; margin-top: -130px}}
+@-o-keyframes pageGo{from{font-size: 12em; margin-top: 0;} to{font-size: 0; margin-top: -130px}}
+/*ufo飞走*/
+@keyframes ufo{0%{font-size: 14em; margin-top: 0;} 20%{font-size: 12em; margin:-20px 0 0;} 100%{font-size:0; margin:-150px 0 0 100%;}}
+@-moz-keyframes ufo{0%{font-size: 14em; margin-top: 0;} 20%{font-size: 12em; margin:-20px 0 0;} 100%{font-size:0; margin:-150px 0 0 100%;}}
+@-webkit-keyframes ufo{0%{font-size: 14em; margin-top: 0;} 20%{font-size: 12em; margin:-20px 0 0;} 100%{font-size:0; margin:-150px 0 0 100%;}}
+@-o-keyframes ufo{0%{font-size: 14em; margin-top: 0;} 20%{font-size: 12em; margin:-20px 0 0;} 100%{font-size:0; margin:-150px 0 0 100%;}}
+/*404显示*/
+@keyframes page404{from{opacity:0; font-size:2em;} to{opacity:1;font-size:2em;}}
+@-moz-keyframes page404{from{opacity:0; font-size:2em;} to{opacity:1;font-size:2em;}}
+@-webkit-keyframes page404{from{opacity:0; font-size:2em;} to{opacity:1;font-size:2em;}}
+@-o-keyframes page404{from{opacity:0; font-size:2em;} to{opacity:1;font-size:2em;}}
+/*500页面*/
+.page500{ padding-top: 5%; text-align:center;}
+.page500 i{ font-size:26em; line-height:1em; color:#393D50;}
+/*图标管理*/
+.iconsLength{ margin:0 5px;}
+.icons li{ margin:5px 0; text-align:center; height:120px; cursor:pointer;}
+.icons li i{ display:block; font-size:35px; margin:10px 0; line-height:60px; height:60px;}
+.icons li:hover{ background:rgba(13,10,49,.9); border-radius:5px; color:#fff;}
+.icons li:hover i{ font-size:50px;}
+#copyText{ width:0;height:0; opacity:0; position:absolute; left:-9999px; top:-9999px;}
+/*开发文档*/
+h2.method{ font-size:18px; line-height:45px; padding-left:5px;}
+/*登录*/
+.loginHtml,.loginBody{ height:100%;}
+.loginBody{ background:url("../images/login_bg.jpg") no-repeat center center;}
+.loginBody form.layui-form{ padding:0 20px; width:300px; height:335px; position:absolute; left:50%; top:50%; margin:-150px 0 0 -150px; -webkit-box-sizing:border-box;-moz-box-sizing:border-box; -o-box-sizing:border-box; box-sizing:border-box; background:#fff;-webkit-border-radius:5px; -moz-border-radius:5px; border-radius:5px; box-shadow:0 0 50px #009688;}
+.login_face{ margin:-55px auto 20px; width:100px; height:100px; -webkit-border-radius:50%; -moz-border-radius:50%; border-radius:50%; border:5px solid #fff; overflow:hidden;box-shadow:0 0 30px #009688;}
+.login_face img{ width:100%;}
+.loginBody .layui-form-item{ position:relative;}
+.loginBody .layui-form-item label{ position:absolute; color:#757575; left:10px; top:9px; line-height:20px; background:#fff; padding:0 5px; font-size:14px; cursor:text;}
+.loginBody .layui-form-item.layui-input-focus label{ top:-10px; font-size:12px; color:#ff6700;}
+.loginBody .layui-form-item.layui-input-active label{ top:-10px; font-size:12px;}
+.loginBody .layui-input::-webkit-input-placeholder{color:#fff;}
+.loginBody .layui-input::-moz-placeholder{color:#fff;}
+.loginBody .layui-input:-ms-input-placeholder{color:#fff;}
+.loginBody .layui-input::placeholder{color:#fff;}
+.loginBody .layui-form-item.layui-input-focus input{ border-color:#ff6700 !important;}
+.loginBody .layui-input-focus .layui-input::-webkit-input-placeholder{color:#757575;}
+.loginBody .layui-input-focus .layui-input::-moz-placeholder{color:#757575;}
+.loginBody .layui-input-focus .layui-input:-ms-input-placeholder{color:#757575;}
+.loginBody .layui-input-focus .layui-input::placeholder{color:#757575;}
+.loginBody .seraph{ font-size:30px; text-align:center;}
+.loginBody .seraph.icon-qq:hover{ color:#0288d1;}
+.loginBody .seraph.icon-wechat:hover{ color:#00d20d;}
+.loginBody .seraph.icon-sina:hover{ color:#d32f2f;}
+.imgCode{ position:relative;}
+#imgCode img{ position:absolute; top:1px; right:1px; cursor:pointer;}
+/*用户等级*/
+.layui-table-view .layui-table span.seraph{ font-size:25px !important;}
+.vip1{ color:#994a2b;}
+.vip2{ color:#899396;}
+.vip3{ color:#bd6a08;}
+.vip4{ color:#a3b8c4;}
+.vip5{ color:#63c3ea;}
+.vip6{ color:#b563ed;}
+.vip7{ color:#ff9831;}
+.vip8{ color:#A757A8;}
+.vip9{ color:#0ff;}
+.vip10{ color:#f00;}
+/*新闻添加*/
+.layui-elem-quote .layui-inline{ margin:3px 0;}
+.category .layui-form-checkbox{ margin:5px 0;}
+.border .layui-form-item{ margin-bottom:10px;}
+.border .layui-form-label{ width:50px;}
+.border .layui-form-label i{ position:absolute; top:10px; left:3px;}
+.border .layui-input-block{ margin-left:80px;}
+.thumbBox{ height:151px; overflow:hidden; border:1px solid #e6e6e6; border-radius:2px; cursor:pointer; position:relative; text-align:center; line-height:153px;}
+.thumbImg{ max-width:100%; max-height:100%; border:none;}
+.thumbBox:after{ position:absolute; width:100%; height:100%;line-height:153px; z-index:-1; text-align:center; font-size:20px; content:"缩略图"; left:0; top:0; color:#9F9F9F;}
+/*图片管理*/
+#Images li{ width:19%; margin:0.5% 0.5%; float: left; overflow:hidden;}
+#Images li img{ width:100%; cursor:pointer; }
+#Images li .operate{ display: block; height: 40px; width:100%; background:#f4f5f9; }
+#Images li .operate .check{ float:left; margin-left:11px; height:18px; padding:11px 0; width:74%; position:relative;}
+#Images li .operate .check .layui-form-checkbox[lay-skin=primary]{ width:100%;}
+#Images li .operate .check .layui-form-checkbox[lay-skin=primary] span{ padding:0 5px 0 25px; width:100%; box-sizing:border-box;}
+#Images li .operate .check .layui-form-checkbox[lay-skin=primary] i{position:absolute; left:0; top:0;}
+#Images li .operate .img_del{ float:right; margin:9px 11px 0 0; font-size: 22px !important; cursor:pointer; }
+#Images li .operate .img_del:hover{ color:#f00; }
+@media screen and (max-width:1050px){#Images li{ width:24%;}}
+@media screen and (max-width: 750px){#Images li{ width:49%;}}
+@media screen and (max-width:432px){#Images li{ width:99%;}}
+/*系统日志*/
+.layui-btn-green{ background-color:#5FB878 !important;}
+/*友情链接*/
+.linkLogo{ width:80px; height:40px; overflow:hidden; border:1px solid #e6e6e6; border-radius:2px; cursor:pointer; margin:0 auto; position:relative; text-align:center; line-height:42px;}
+.linkLogoImg{ max-width:90%; max-height:90%;}
+.linkLogo:after{ position:absolute; width:100%; height:100%;line-height:42px; z-index:-1; text-align:center; font-size:12px; content:"上传LOGO"; left:0; top:0; color:#9F9F9F;}
+.linksAdd .layui-form-label{ width:60px; padding-left:0;}
+.linksAdd .layui-input-block{ margin-left:75px;}
+.linksAdd .layui-input-block input{ padding:0 5px;}
+/*响应式*/
+@media screen and (max-width:450px) {
+ #userFaceBtn{ height: 30px;line-height: 30px; padding: 0 10px; font-size: 12px;}
+ .user_right img#userFace{ width:100px; height:100px; margin-top:0;}
+ .layui-col-xs12 .layui-form-label{ width:60px; padding-left:0;}
+ .layui-col-xs12 .layui-input-block,.layui-col-xs12 .layui-input-inline{ margin-left:75px;}
+ .layui-col-xs12 .layui-input-inline{ left:0 !important; width:auto !important;}
+ .noFind{ padding-top:0;}
+ *[pc]{ display:none;}
+}
\ No newline at end of file
diff --git a/favicon.ico b/favicon.ico
new file mode 100644
index 0000000..bb801aa
Binary files /dev/null and b/favicon.ico differ
diff --git a/images/alipay.jpg b/images/alipay.jpg
new file mode 100644
index 0000000..e6d476a
Binary files /dev/null and b/images/alipay.jpg differ
diff --git a/images/close.png b/images/close.png
new file mode 100644
index 0000000..51df78b
Binary files /dev/null and b/images/close.png differ
diff --git a/images/code.jpg b/images/code.jpg
new file mode 100644
index 0000000..487b194
Binary files /dev/null and b/images/code.jpg differ
diff --git a/images/face.jpg b/images/face.jpg
new file mode 100644
index 0000000..1eff1bc
Binary files /dev/null and b/images/face.jpg differ
diff --git a/images/fly.png b/images/fly.png
new file mode 100644
index 0000000..08c2599
Binary files /dev/null and b/images/fly.png differ
diff --git a/images/git.png b/images/git.png
new file mode 100644
index 0000000..67209e8
Binary files /dev/null and b/images/git.png differ
diff --git a/images/layui.png b/images/layui.png
new file mode 100644
index 0000000..2d144df
Binary files /dev/null and b/images/layui.png differ
diff --git a/images/login_bg.jpg b/images/login_bg.jpg
new file mode 100644
index 0000000..b0985ed
Binary files /dev/null and b/images/login_bg.jpg differ
diff --git a/images/mayun.png b/images/mayun.png
new file mode 100644
index 0000000..8453fc4
Binary files /dev/null and b/images/mayun.png differ
diff --git a/images/userface1.jpg b/images/userface1.jpg
new file mode 100644
index 0000000..14feb30
Binary files /dev/null and b/images/userface1.jpg differ
diff --git a/images/userface2.jpg b/images/userface2.jpg
new file mode 100644
index 0000000..9c23f4c
Binary files /dev/null and b/images/userface2.jpg differ
diff --git a/images/userface3.jpg b/images/userface3.jpg
new file mode 100644
index 0000000..a5c95f4
Binary files /dev/null and b/images/userface3.jpg differ
diff --git a/images/userface4.jpg b/images/userface4.jpg
new file mode 100644
index 0000000..d06b939
Binary files /dev/null and b/images/userface4.jpg differ
diff --git a/images/userface5.jpg b/images/userface5.jpg
new file mode 100644
index 0000000..48e3767
Binary files /dev/null and b/images/userface5.jpg differ
diff --git a/images/wechat.jpg b/images/wechat.jpg
new file mode 100644
index 0000000..8387adb
Binary files /dev/null and b/images/wechat.jpg differ
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..e1c4004
--- /dev/null
+++ b/index.html
@@ -0,0 +1,133 @@
+
+
+
+
+ layui后台管理模板 2.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
你好!驊驊龔頾 , 欢迎登录
+
+
+
+
+ 搜索页面或功能
+ layer
+ form
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/js/address.js b/js/address.js
new file mode 100644
index 0000000..6728f76
--- /dev/null
+++ b/js/address.js
@@ -0,0 +1,54 @@
+layui.define(["form","jquery"],function(exports){
+ var form = layui.form,
+ $ = layui.jquery,
+ Address = {
+ provinces : function() {
+ //加载省数据
+ var proHtml = '',that = this;
+ $.get("../../json/address.json", function (data) {
+ for (var i = 0; i < data.length; i++) {
+ proHtml += '' + data[i].name + ' ';
+ }
+ //初始化省数据
+ $("select[name=province]").append(proHtml);
+ form.render();
+ form.on('select(province)', function (proData) {
+ $("select[name=area]").html('请选择县/区 ');
+ var value = proData.value;
+ if (value > 0) {
+ that.citys(data[$(this).index() - 1].childs);
+ } else {
+ $("select[name=city]").attr("disabled", "disabled");
+ }
+ });
+ })
+ },
+ //加载市数据
+ citys : function(citys) {
+ var cityHtml = '请选择市 ',that = this;
+ for (var i = 0; i < citys.length; i++) {
+ cityHtml += '' + citys[i].name + ' ';
+ }
+ $("select[name=city]").html(cityHtml).removeAttr("disabled");
+ form.render();
+ form.on('select(city)', function (cityData) {
+ var value = cityData.value;
+ if (value > 0) {
+ that.areas(citys[$(this).index() - 1].childs);
+ } else {
+ $("select[name=area]").attr("disabled", "disabled");
+ }
+ });
+ },
+ //加载县/区数据
+ areas : function(areas) {
+ var areaHtml = '请选择县/区 ';
+ for (var i = 0; i < areas.length; i++) {
+ areaHtml += '' + areas[i].name + ' ';
+ }
+ $("select[name=area]").html(areaHtml).removeAttr("disabled");
+ form.render();
+ }
+ };
+ exports("address",Address);
+})
\ No newline at end of file
diff --git a/js/bodyTab.js b/js/bodyTab.js
new file mode 100644
index 0000000..b059ffe
--- /dev/null
+++ b/js/bodyTab.js
@@ -0,0 +1,398 @@
+/*
+ @Author: 驊驊龔頾
+ @Time: 2017-10
+ @Tittle: bodyTab
+ @Description: 点击对应按钮添加新窗口
+*/
+var tabFilter,menu=[],liIndex,curNav,delMenu,
+ changeRefreshStr = window.sessionStorage.getItem("changeRefresh");
+layui.define(["element","jquery"],function(exports){
+ var element = layui.element,
+ $ = layui.$,
+ layId,
+ Tab = function(){
+ this.tabConfig = {
+ openTabNum : undefined, //最大可打开窗口数量
+ tabFilter : "bodyTab", //添加窗口的filter
+ url : undefined //获取菜单json地址
+ }
+ };
+ //生成左侧菜单
+ Tab.prototype.navBar = function(strData){
+ var data;
+ if(typeof(strData) == "string"){
+ var data = JSON.parse(strData); //部分用户解析出来的是字符串,转换一下
+ }else{
+ data = strData;
+ }
+ var ulHtml = '';
+ for(var i=0;i';
+ }else{
+ ulHtml += '';
+ }
+ if(data[i].children != undefined && data[i].children.length > 0){
+ ulHtml += '';
+ if(data[i].icon != undefined && data[i].icon != ''){
+ if(data[i].icon.indexOf("icon-") != -1){
+ ulHtml += ' ';
+ }else{
+ ulHtml += ''+data[i].icon+' ';
+ }
+ }
+ ulHtml += ''+data[i].title+' ';
+ ulHtml += ' ';
+ ulHtml += ' ';
+ ulHtml += '';
+ for(var j=0;j';
+ }else{
+ ulHtml += '';
+ }
+ if(data[i].children[j].icon != undefined && data[i].children[j].icon != ''){
+ if(data[i].children[j].icon.indexOf("icon-") != -1){
+ ulHtml += ' ';
+ }else{
+ ulHtml += ''+data[i].children[j].icon+' ';
+ }
+ }
+ ulHtml += ''+data[i].children[j].title+' ';
+ }
+ ulHtml += " ";
+ }else{
+ if(data[i].target == "_blank"){
+ ulHtml += '';
+ }else{
+ ulHtml += ' ';
+ }
+ if(data[i].icon != undefined && data[i].icon != ''){
+ if(data[i].icon.indexOf("icon-") != -1){
+ ulHtml += ' ';
+ }else{
+ ulHtml += ''+data[i].icon+' ';
+ }
+ }
+ ulHtml += ''+data[i].title+' ';
+ }
+ ulHtml += ' ';
+ }
+ return ulHtml;
+ }
+ //获取二级菜单数据
+ Tab.prototype.render = function() {
+ var _this = this;
+ //显示左侧菜单
+ var _this = this;
+ $(".navBar ul").html(' 后台首页 ').append(_this.navBar(dataStr)).height($(window).height()-210);
+ element.init(); //初始化页面元素
+ $(window).resize(function(){
+ $(".navBar").height($(window).height()-210);
+ })
+ }
+
+ //是否点击窗口切换刷新页面
+ Tab.prototype.changeRegresh = function(index){
+ if(changeRefreshStr == "true"){
+ $(".clildFrame .layui-tab-item").eq(index).find("iframe")[0].contentWindow.location.reload();
+ }
+ }
+
+ //参数设置
+ Tab.prototype.set = function(option) {
+ var _this = this;
+ $.extend(true, _this.tabConfig, option);
+ return _this;
+ };
+
+ //通过title获取lay-id
+ Tab.prototype.getLayId = function(title){
+ $(".layui-tab-title.top_tab li").each(function(){
+ if($(this).find("cite").text() == title){
+ layId = $(this).attr("lay-id");
+ }
+ })
+ return layId;
+ }
+ //通过title判断tab是否存在
+ Tab.prototype.hasTab = function(title){
+ var tabIndex = -1;
+ $(".layui-tab-title.top_tab li").each(function(){
+ if($(this).find("cite").text() == title){
+ tabIndex = 1;
+ }
+ })
+ return tabIndex;
+ }
+
+ //右侧内容tab操作
+ var tabIdIndex = 0;
+ Tab.prototype.tabAdd = function(_this){
+ if(window.sessionStorage.getItem("menu")){
+ menu = JSON.parse(window.sessionStorage.getItem("menu"));
+ }
+ var that = this;
+ var openTabNum = that.tabConfig.openTabNum;
+ tabFilter = that.tabConfig.tabFilter;
+ if(_this.attr("target") == "_blank"){
+ window.open(_this.attr("data-url"));
+ }else if(_this.attr("data-url") != undefined){
+ var title = '';
+ if(_this.find("i.seraph,i.layui-icon").attr("data-icon") != undefined){
+ if(_this.find("i.seraph").attr("data-icon") != undefined){
+ title += ' ';
+ }else{
+ title += ''+_this.find("i.layui-icon").attr("data-icon")+' ';
+ }
+ }
+ //已打开的窗口中不存在
+ if(that.hasTab(_this.find("cite").text()) == -1 && _this.siblings("dl.layui-nav-child").length == 0){
+ if($(".layui-tab-title.top_tab li").length == openTabNum){
+ layer.msg('只能同时打开'+openTabNum+'个选项卡哦。不然系统会卡的!');
+ return;
+ }
+ tabIdIndex++;
+ title += ''+_this.find("cite").text()+' ';
+ title += 'ဆ ';
+ element.tabAdd(tabFilter, {
+ title : title,
+ content :"