fix:更新已知bug,优化代码
@@ -1,35 +1,32 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<!DOCTYPE>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title>404页面模板</title>
|
||||
<title>404 错误</title>
|
||||
<script src="https://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
|
||||
</head>
|
||||
<style>
|
||||
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}
|
||||
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
|
||||
body{line-height:1}
|
||||
body{line-height:1;background-image: url("/static/images/hero-1-bg-img.png")}
|
||||
ol,ul{list-style:none}
|
||||
blockquote,q{quotes:none}
|
||||
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}
|
||||
table{border-collapse:collapse;border-spacing:0}
|
||||
body{background-color:#fff}
|
||||
.auto{width:1000px;margin:230px auto}
|
||||
.container{background:url(/static/images/404-bg.png) no-repeat 560px top}
|
||||
.settings{padding-left:200px;padding-bottom:50px}
|
||||
.settings .icon{display:block;width:242px;height:106px;background:url(/static/images/404.png) no-repeat 0 0}
|
||||
.settings h4{margin:30px 0 15px 0;font-size:18px;color:#2cb7fd}
|
||||
.settings p{font-size:14px;color:#999}
|
||||
.settings > div{margin-top:40px;font-size:0}
|
||||
.settings > div a{display:inline-block;padding:10px 40px;border:1px solid #2cb7fd;font-size:15px;color:#2cb7fd;text-decoration:none}
|
||||
.settings > div a{display:inline-block;padding:10px 40px;border:1px solid #2cb7fd;font-size:15px;color:#2cb7fd;text-decoration:none;border-radius: 3px;}
|
||||
.settings > div a:first-child{margin-right:20px;color:#fff;background-color:#2cb7fd}
|
||||
h2 {font-size: 68px;font-weight: bold;}
|
||||
</style>
|
||||
<body>
|
||||
<div class="auto">
|
||||
<div class="container">
|
||||
<div class="container" style="text-align: center">
|
||||
<div class="settings">
|
||||
<i class="icon"></i>
|
||||
<h2>404 ERROR</h2>
|
||||
<h4>很抱歉!没有找到您要访问的页面!</h4>
|
||||
<p><span id="num">5</span> 秒后将自动跳转到首页</p>
|
||||
<div>
|
||||
@@ -43,13 +40,14 @@
|
||||
<script>
|
||||
let $_num = $("#num");
|
||||
let num = parseInt($_num.html());
|
||||
let numId = setInterval(function () {
|
||||
setInterval(function () {
|
||||
num--;
|
||||
$_num.html(num);
|
||||
if (num === 0) {
|
||||
window.location.href = "/";
|
||||
}
|
||||
}, 1000);
|
||||
|
||||
$("#reload-btn").click(function (e) {
|
||||
window.history.back();
|
||||
});
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
|
||||
body {
|
||||
background-color: #eee;
|
||||
}
|
||||
.fl {
|
||||
float: left;
|
||||
}
|
||||
@@ -15,16 +17,84 @@ i {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.pt0 {
|
||||
padding-top: 0 !important;
|
||||
}
|
||||
|
||||
.pb0 {
|
||||
padding-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.pb200 {
|
||||
padding-bottom: 200px !important;
|
||||
}
|
||||
|
||||
.pr77 {
|
||||
padding-right: 77px;
|
||||
}
|
||||
|
||||
.pl0 {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
|
||||
.pr0 {
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
|
||||
.mt0 {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
|
||||
.mt10 {
|
||||
margin-top: 10px !important;
|
||||
}
|
||||
|
||||
b.msg {
|
||||
font-weight: bold;
|
||||
color: red;
|
||||
margin: 0 3px;
|
||||
}
|
||||
|
||||
.layui-nav {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.layui-nav .layui-this:after, .layui-nav-bar {
|
||||
background: 0!important;
|
||||
.layui-form-label {
|
||||
padding: 6px 15px;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #eee;
|
||||
.layui-form-radio {
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.layui-form-radio>i {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.layui-anim-scaleSpring {
|
||||
-webkit-animation-name: none;
|
||||
animation-name: none;
|
||||
}
|
||||
|
||||
.layui-form-radio:hover *, .layui-form-radioed, .layui-form-radioed>i {
|
||||
color: #3956de;
|
||||
}
|
||||
|
||||
.layui-input, .layui-select, .layui-textarea {
|
||||
height: 33px;
|
||||
line-height: 33px;
|
||||
}
|
||||
|
||||
.layui-input:hover, .layui-textarea:hover {
|
||||
border-color: #eee!important;
|
||||
}
|
||||
|
||||
.layui-form-item .layui-input:hover, .layui-select:hover, .layui-form-select:hover, .layui-textarea:hover, .layui-form-checked i:hover, .layui-input:hover {
|
||||
border-color: #3464FF!important;
|
||||
}
|
||||
|
||||
.layui-nav .layui-this:after, .layui-nav-bar {
|
||||
background: 0!important;
|
||||
}
|
||||
|
||||
.layui-layout-admin .layui-header {
|
||||
@@ -53,11 +123,11 @@ body {
|
||||
}
|
||||
|
||||
.layui-btn-primary:hover {
|
||||
border-color: #1890ff;
|
||||
border-color: #3956de;
|
||||
}
|
||||
|
||||
.layui-laypage .layui-laypage-curr .layui-laypage-em {
|
||||
background-color: #1890ff;
|
||||
background-color: #3956de;
|
||||
}
|
||||
|
||||
.layui-form-fixed {
|
||||
@@ -132,6 +202,140 @@ body {
|
||||
right: 32px;
|
||||
}
|
||||
|
||||
.layui-form-checkbox[lay-skin=primary]:hover i {
|
||||
border-color: #3956de;
|
||||
}
|
||||
|
||||
.layui-form-checked[lay-skin=primary] i {
|
||||
border-color: #3956de!important;
|
||||
background-color: #3956de;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.layui-table-cell div {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
a.layui-table-text {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
a[lay-event="del"] {
|
||||
color: #FE232D;
|
||||
}
|
||||
|
||||
.layui-form-footer {
|
||||
background-color: #fff;
|
||||
box-shadow: 0 -1px 5px rgba(0,0,0,.15);
|
||||
padding: 15px;
|
||||
z-index: 9999;
|
||||
margin-bottom: 0px;
|
||||
margin-top: 10px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.layui-imagesbox .layui-upload-drag {
|
||||
height: 88px;
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
.layui-upload-drag {
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.layui-imagesbox {
|
||||
width: 810px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.layui-imagesbox .layui-input-inline {
|
||||
width: 181px!important;
|
||||
}
|
||||
|
||||
.layui-imagesbox .layui-input-inline span {
|
||||
position: absolute;
|
||||
right: 5px;
|
||||
top: 5px;
|
||||
cursor: pointer;
|
||||
width: 30px;
|
||||
height: 20px;
|
||||
font-size: 10px;
|
||||
line-height: 20px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.layui-imagesbox img {
|
||||
width: 100%;
|
||||
height: 116px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.layui-project .layui-project-text {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.layui-nav #user-info .chongzhi {
|
||||
display: inline-block;
|
||||
width: 57px;
|
||||
height: 26px;
|
||||
margin-top: 5px;
|
||||
border: 1px solid #E8001C;
|
||||
color: #E8001C;
|
||||
font-size: 12px;
|
||||
line-height: 26px;
|
||||
text-align: center;
|
||||
transition: all .3s;
|
||||
}
|
||||
|
||||
.layui-nav #user-info .chongzhi:hover {
|
||||
color: #fff;
|
||||
background-color: #E8001C;
|
||||
}
|
||||
|
||||
.layui-nav-tree .layui-nav-item {
|
||||
border-bottom: 1px solid rgba(0, 0, 0, 0.2);
|
||||
border-top: 1px solid rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
.layui-nav {
|
||||
border-bottom: 1px solid rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
.layui-nav .layui-nav-itemed > .layui-nav-child {
|
||||
padding: 5px 0;
|
||||
}
|
||||
|
||||
.layui-nav-itemed > .layui-nav-child {
|
||||
box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.2), inset 0 0px 5px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.layui-nav .layui-nav-item .layui-nav-child a:hover,
|
||||
.layui-nav .layui-nav-item .layui-nav-child .layui-this a {
|
||||
transition: background-color .2s, color .2s;
|
||||
background: rgba(0, 0, 0, 0.2) !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.layui-nav-tree .layui-nav-child dd.layui-this,
|
||||
.layui-nav-tree .layui-nav-child dd.layui-this a,
|
||||
.layui-nav-tree .layui-this, .layui-nav-tree .layui-this>a,
|
||||
.layui-nav-tree .layui-this>a:hover {
|
||||
transition: background-color .2s, color .2s;
|
||||
background: rgba(0, 0, 0, 0.2) !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.layui-nav .layui-nav-item .layui-nav-child .layui-this a {
|
||||
background: #3464FF !important;
|
||||
}
|
||||
|
||||
.layui-layout-admin .layui-layout-left a.flexible-btn {
|
||||
float: left;
|
||||
margin: 18px 13px 0 0;
|
||||
color: rgba(255, 255, 255, .6);
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
/* 内容开始 */
|
||||
#content {
|
||||
padding: 15px;
|
||||
@@ -155,20 +359,16 @@ body {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
#content .goindex {
|
||||
#content .swift-index {
|
||||
padding: 20px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#content .goindex .tips {
|
||||
#content .swift-index .tips {
|
||||
font-size: 18px;
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
#content .goindex div img {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
#content #profile {
|
||||
padding: 20px;
|
||||
overflow: hidden;
|
||||
@@ -203,28 +403,39 @@ body {
|
||||
padding: 48px 48px 20px;
|
||||
}
|
||||
|
||||
#content #account .layui-btn {
|
||||
background-color: #6ebbf1!important;
|
||||
}
|
||||
|
||||
#content #account .layui-bind-third {
|
||||
background-color: #dde9f3 !important;
|
||||
}
|
||||
|
||||
#imgHead img {
|
||||
#content #imgHead img {
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
border-radius: 50px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.layui-user-avatar {
|
||||
#content .layui-user-avatar {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#content .layui-user-avatar:hover:after {
|
||||
content: '\e65d';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
color: #eee;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
font-family: layui-icon;
|
||||
font-size: 24px;
|
||||
font-style: normal;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
cursor: pointer;
|
||||
line-height: 110px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
#content .nickname {
|
||||
font-size: 23px;
|
||||
margin-top: 36px;
|
||||
@@ -232,22 +443,19 @@ body {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#content #thrid {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
#content #appkey {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#user-detail {
|
||||
height: 120px;
|
||||
min-height: 120px;
|
||||
border: 1px solid #eee;
|
||||
padding-left: 28px;
|
||||
padding-top: 38px;
|
||||
background: #f7f9fa ;
|
||||
color: #333;
|
||||
font-size: 12px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#user-detail .layui-user-avatar img {
|
||||
@@ -269,7 +477,8 @@ body {
|
||||
|
||||
#user-detail .layui-progress {
|
||||
display: inline-block;
|
||||
width: 300px;
|
||||
width: 230px;
|
||||
max-width: 300px;
|
||||
}
|
||||
|
||||
#user-detail .layui-progress-big, .layui-progress-big .layui-progress-bar {
|
||||
@@ -336,115 +545,300 @@ body {
|
||||
color: #1890ff;
|
||||
}
|
||||
|
||||
#cardInfo {
|
||||
background-color: #fcf8e3;
|
||||
border-color: #faf3cd;
|
||||
color: #c09853;
|
||||
#content #cardInfo {
|
||||
background: rgba(52, 100, 255, 0.1);
|
||||
border: 1px solid rgba(52, 100, 255, 0.3);
|
||||
color: #0D236D;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
#cardInfo span {
|
||||
#content #cardInfo span {
|
||||
display: block;
|
||||
margin: 5px 0;
|
||||
}
|
||||
|
||||
#cardInfo .urls {
|
||||
#content #cardInfo .urls {
|
||||
width: 500px;
|
||||
margin-top: 15px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#cardInfoList {
|
||||
#content #cardInfoList {
|
||||
margin-top: 10px;
|
||||
padding: 10px 10px 20px;
|
||||
}
|
||||
|
||||
#cardInfoList .cardInfoUsers {
|
||||
#content #cardInfoList .cardInfoUsers {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#cardInfoList .cardInfoUsers li {
|
||||
#content #cardInfoList .cardInfoUsers li {
|
||||
display: inline-block;
|
||||
width: 100px;
|
||||
width: 92px;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
margin-bottom: 15px;
|
||||
margin: 2px 0px;
|
||||
}
|
||||
|
||||
#cardInfoList .cardInfoUsers li img.media-object {
|
||||
#content #cardInfoList .cardInfoUsers li img.media-object {
|
||||
border-radius: 120px;
|
||||
height: 40px;
|
||||
width: 40px;
|
||||
}
|
||||
|
||||
#cardInfoList .cardInfoUsers li a.truncate {
|
||||
#content #cardInfoList .cardInfoUsers li a.truncate {
|
||||
font-size: 12px;
|
||||
display: block;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
margin-top: 6px;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.layui-comment {
|
||||
#content .layui-comment {
|
||||
padding-top: 15px!important;
|
||||
}
|
||||
|
||||
.layui-table-cell div {
|
||||
display: inline-block;
|
||||
#content .layui-btn-normal {
|
||||
background: #3464FF;
|
||||
}
|
||||
|
||||
a.layui-table-text {
|
||||
cursor: pointer;
|
||||
#content .vip-head-box {
|
||||
background: -webkit-gradient(linear,left top,left bottom,from(#effff1),to(#fff));
|
||||
background: linear-gradient(180deg,#effff1 0,#fff 100%);
|
||||
-webkit-box-shadow: 0 2px 4px 0 rgba(12,0,51,.1);
|
||||
box-shadow: 0 2px 4px 0 rgba(12,0,51,.1);
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
a[lay-event="del"] {
|
||||
color: #FE232D;
|
||||
}
|
||||
|
||||
.layui-form-footer {
|
||||
background-color: #fff;
|
||||
box-shadow: 0 -1px 5px rgba(0,0,0,.15);
|
||||
padding: 15px;
|
||||
z-index: 9999;
|
||||
margin-bottom: 0px;
|
||||
margin-top: 10px;
|
||||
#content .user-face-box {
|
||||
position: relative;
|
||||
float: left;
|
||||
width: 172px;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.layui-imagesbox .layui-upload-drag {
|
||||
height: 88px;
|
||||
padding-top: 20px;
|
||||
#content .user-face-box .img {
|
||||
position: relative;
|
||||
width: 106px;
|
||||
height: 106px;
|
||||
margin: 30px auto 0;
|
||||
}
|
||||
|
||||
.layui-upload-drag {
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.layui-imagesbox {
|
||||
width: 810px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.layui-imagesbox .layui-input-inline {
|
||||
width: 181px!important;
|
||||
}
|
||||
|
||||
.layui-imagesbox .layui-input-inline span {
|
||||
position: absolute;
|
||||
right: 5px;
|
||||
top: 5px;
|
||||
cursor: pointer;
|
||||
width: 30px;
|
||||
height: 20px;
|
||||
font-size: 10px;
|
||||
line-height: 20px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.layui-imagesbox img {
|
||||
#content .user-face-box .img img {
|
||||
width: 100%;
|
||||
height: 116px;
|
||||
cursor: pointer;
|
||||
height: 100%;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.layui-project .layui-project-text {
|
||||
height: auto;
|
||||
}
|
||||
#content .user-vip-info {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#content .user-vip-info .vip-type-time {
|
||||
|
||||
width: 100%;
|
||||
height: 160px;
|
||||
padding-top: 40px;
|
||||
}
|
||||
|
||||
#content .user-vip-info .vip-type-time .vip-tips {
|
||||
position: absolute;
|
||||
top: 17px;
|
||||
right: 18px;
|
||||
width: 153px;
|
||||
height: 33px;
|
||||
line-height: 33px;
|
||||
background: #fffefd;
|
||||
border-radius: 21px;
|
||||
}
|
||||
|
||||
#content .user-vip-info .vip-type-time .vip-tips a {
|
||||
float: left;
|
||||
width: 50px;
|
||||
height: 15px;
|
||||
line-height: 15px;
|
||||
margin-top: 10px;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#content .user-vip-info .vip-type-time .vip-tips a:nth-child(1) {
|
||||
border-right: 1px solid #999;
|
||||
}
|
||||
|
||||
#content .user-vip-info .vip-type-time .vip-tips a:nth-child(2) {
|
||||
border-right: 1px solid #999;
|
||||
}
|
||||
|
||||
#content .vip-type-time .vip-name {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
font-size: 18px;
|
||||
font-weight: 400;
|
||||
color: rgba(0,0,0,.65);
|
||||
width: 800px;
|
||||
}
|
||||
|
||||
#content .vip-type-time .vip-name span {
|
||||
display: inline-block;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
margin-right: 15px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
#content .vip-type-time .vip-name span a {
|
||||
display: inline-block;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #fa6400;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
#content .vip-time-row {
|
||||
height: 38px;
|
||||
padding-top: 20px;
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#content .vip-item {
|
||||
width: auto;
|
||||
margin-right: 10px;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#content .vip-item span {
|
||||
color: #bebebe;
|
||||
}
|
||||
|
||||
#content .vip-item .vip-item-type {
|
||||
background-color: #bebebe;
|
||||
color: #fff;
|
||||
padding: 3px 5px;
|
||||
border-radius: 5px;
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
#content .vip-item .vip-item-name {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
#content .vip-active .vip-item-type {
|
||||
background-color: #FFB800;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#content .vip-active .vip-item-name {
|
||||
color: #FFB800;
|
||||
}
|
||||
|
||||
#content #login_third a {
|
||||
padding: 0px;
|
||||
margin-top: 10px;
|
||||
height: 23px;
|
||||
line-height: 23px;
|
||||
}
|
||||
|
||||
#content .bind-third i.layui-icon {
|
||||
color: #1E9FFF;
|
||||
}
|
||||
|
||||
#content .news-list li {
|
||||
overflow: hidden;
|
||||
padding: 0 30px;
|
||||
}
|
||||
|
||||
#content .news-list li:hover {
|
||||
background-color: #F2F5FF;
|
||||
}
|
||||
|
||||
#content .news-list li a {
|
||||
width: 100%;
|
||||
float: left;
|
||||
transition: all .2s;
|
||||
line-height: 49px;
|
||||
box-sizing: border-box;
|
||||
border-bottom: 1px dashed #E1E6F0;
|
||||
}
|
||||
|
||||
#content .news-list li a strong {
|
||||
font-weight: 400;
|
||||
max-width: 260px;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#content .news-list li span {
|
||||
float: right;
|
||||
margin-left: 8px;
|
||||
color: #8187A1;
|
||||
transition: all .2s;
|
||||
}
|
||||
|
||||
#content .vip-coupon-row {
|
||||
overflow: auto;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#content .vip-coupon-item {
|
||||
padding: 0 10px;
|
||||
margin-top: 20px;
|
||||
padding-right: 15px;
|
||||
display: inline-block;
|
||||
border-right: 1px solid rgba(0,0,0,.16);
|
||||
}
|
||||
|
||||
#content .vip-coupon-item p {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
color: rgba(0,0,0,.65);
|
||||
}
|
||||
|
||||
#content .vip-coupon-item p:nth-child(1) {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
#content .vip-coupon-row p em {
|
||||
font-size: 22px;
|
||||
font-weight: 500;
|
||||
vertical-align: middle;
|
||||
margin-right: 5px;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
#content .vip-coupon-item:last-of-type {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
#content .speed-entry-item {
|
||||
padding: 5px;
|
||||
text-align: center;
|
||||
border: 1px solid #eee;
|
||||
border-radius: 5px;
|
||||
cursor: pointer;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
#content .speed-entry-item:hover {
|
||||
background-color: #F2F5FF;
|
||||
color: #3464ff;
|
||||
border-color: #3464ff;
|
||||
}
|
||||
|
||||
#content #pluginApp img {
|
||||
width: 595px;
|
||||
height: 116px;
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
BIN
public/static/images/banner.jpg
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
public/static/images/pay/alipay.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
public/static/images/pay/balance.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
public/static/images/pay/expired.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
public/static/images/pay/logo-alipay.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
public/static/images/pay/logo-wechat.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
public/static/images/pay/paid.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
public/static/images/pay/pay.png
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
BIN
public/static/images/pay/scan.png
Normal file
|
After Width: | Height: | Size: 922 B |
BIN
public/static/images/pay/screenshot-alipay.png
Normal file
|
After Width: | Height: | Size: 65 KiB |
BIN
public/static/images/pay/screenshot-wechat.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
public/static/images/pay/success.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
public/static/images/pay/unionPay.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
public/static/images/pay/wechat.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
public/static/images/plugin-banner.png
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
public/static/images/plugin-redis.png
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
public/static/images/wlaq1.jpg
Normal file
|
After Width: | Height: | Size: 700 B |
BIN
public/static/images/wlaq2.jpg
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
public/static/images/wlaq3.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
@@ -1,14 +1,37 @@
|
||||
/**
|
||||
* SAPHP 前端CommonJS
|
||||
* 前端CommonJS
|
||||
* 默认提供一些基础的页面交互操作
|
||||
* 注:插件开发请勿直接将JS代码写入此文件
|
||||
*/
|
||||
layui.use(['jquery','form','upload'], function(){
|
||||
layui.use(['jquery','form','upload','table','dropdown'], function(){
|
||||
|
||||
let $ = layui.$;
|
||||
let form = layui.form;
|
||||
let layer = layui.layer;
|
||||
let table = layui.table;
|
||||
let upload = layui.upload;
|
||||
let dropdown = layui.dropdown;
|
||||
|
||||
/**
|
||||
* 短消息下拉框
|
||||
* @param count
|
||||
*/
|
||||
window.bellMessage = function (count) {
|
||||
let msg = dropdown.render({
|
||||
elem: '#notice'
|
||||
, trigger: 'hover'
|
||||
, align: 'center'
|
||||
, data: [{
|
||||
title: !count ? '暂无消息' : '您有<b class="msg">' + count + '</b>条未读消息'
|
||||
}], ready: function (elemPanel, elem) {
|
||||
}
|
||||
, click: function (data, othis) {
|
||||
let elem = $('.layui-nav-tree li [lay-href="/user/message"]');
|
||||
$(elem).parents('.layui-nav-item').addClass('layui-nav-itemed');
|
||||
$(elem).trigger('click');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 注册为全局对象
|
||||
window.Home = {
|
||||
@@ -139,7 +162,7 @@ layui.use(['jquery','form','upload'], function(){
|
||||
obj && obj.call(this, $(this));
|
||||
});
|
||||
|
||||
var uploadURL = '/user/upload';
|
||||
var uploadURL = '/index/user/upload';
|
||||
layui.each($('*[lay-upload]'), function (index, elem) {
|
||||
|
||||
var that = $(this),
|
||||
@@ -207,6 +230,7 @@ layui.use(['jquery','form','upload'], function(){
|
||||
|
||||
})
|
||||
|
||||
|
||||
// 全局监听打开窗口
|
||||
$(document).on('click',"*[lay-open]",function(){
|
||||
let clickthis = $(this),
|
||||
@@ -271,15 +295,9 @@ layui.use(['jquery','form','upload'], function(){
|
||||
post.field, function(res){
|
||||
if (res.code === 200) {
|
||||
Home.event.closeDialog(that);
|
||||
|
||||
/**
|
||||
* 当前这个页面,也需要写成是否重载
|
||||
* 支持哪种重载方式,父页面 自身,还是其他。
|
||||
*/
|
||||
if ($(that).data('reload')) {
|
||||
location.reload();
|
||||
}
|
||||
|
||||
layer.msg(res.msg);
|
||||
} else {
|
||||
layer.msg(res.msg,'error');
|
||||
@@ -294,6 +312,52 @@ layui.use(['jquery','form','upload'], function(){
|
||||
})
|
||||
})
|
||||
|
||||
$(document).on("click", "*[lay-batch]", function (obj) {
|
||||
var othis = $(this)
|
||||
, tableId = othis.data("table") || null
|
||||
, fields = othis.data("field") || undefined
|
||||
, list = table.checkStatus(tableId);
|
||||
|
||||
var field = ['id'];
|
||||
if (typeof fields !== 'undefined') {
|
||||
field = field.concat(fields.split(','));
|
||||
}
|
||||
|
||||
if (list.data.length === 0) {
|
||||
layer.msg('请勾选数据', 'error');
|
||||
return false;
|
||||
}
|
||||
|
||||
var data = {};
|
||||
for (var n in field) {
|
||||
var e = field[n];
|
||||
field[e] = [];
|
||||
for (var i in list.data) {
|
||||
field[e].push(list.data[i][e]);
|
||||
}
|
||||
data[e] = field[e];
|
||||
}
|
||||
|
||||
layer.confirm('确定执行批量操作', function (index) {
|
||||
|
||||
$.ajax({
|
||||
url: othis.data("url"),
|
||||
type: 'post',
|
||||
data: data,
|
||||
dataType: 'json',
|
||||
success: function (res) {
|
||||
if (res.code === 200) {
|
||||
layer.msg(res.msg);
|
||||
table.reload(tableId);
|
||||
} else {
|
||||
layer.msg(res.msg, 'error');
|
||||
}
|
||||
}
|
||||
})
|
||||
layer.close(index);
|
||||
})
|
||||
})
|
||||
|
||||
// 监听ajax操作
|
||||
$(document).on("click","*[lay-ajax]",function(obj) {
|
||||
|
||||
|
||||
27
public/static/js/echarts/china.js
Normal file
1777
public/static/js/echarts/echarts-wordcloud.js
Normal file
1
public/static/js/echarts/echarts-wordcloud.js.map
Normal file
3
public/static/js/echarts/echarts-wordcloud.min.js
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* wordcloud2.js
|
||||
* http://timdream.org/wordcloud2.js/
|
||||
*
|
||||
* Copyright 2011 - 2019 Tim Guan-tin Chien and contributors.
|
||||
* Released under the MIT license
|
||||
*/
|
||||
1
public/static/js/echarts/echarts-wordcloud.min.js.map
Normal file
45
public/static/js/echarts/echarts.js
Normal file
@@ -1926,12 +1926,10 @@ div[data-type=codeBlock] .token.inserted {
|
||||
}
|
||||
|
||||
.cherry {
|
||||
font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", "STHeiti", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
|
||||
font-size: 16px;
|
||||
line-height: 27px;
|
||||
line-height: 25px;
|
||||
color: #3f4a56;
|
||||
background: #f8fafb;
|
||||
box-shadow: 0 0 10px rgba(128, 145, 165, 0.2);
|
||||
}
|
||||
.cherry .ch-icon {
|
||||
vertical-align: middle;
|
||||
|
||||
@@ -1 +1 @@
|
||||
!function(){"use strict";var a=tinymce.util.Tools.resolve("tinymce.PluginManager"),t="图片本地化",e=function(a){var e=function(){const t=a.getDoc().getElementsByTagName("img");t.length>=1?void 0!==a.settings.download?function(a,t,e){var i=[],l=location.origin;if(a.length>=1){for(var n in a){var o=a[n].src;o&&-1!==(o=o.replace(l,"")).indexOf("://")&&i.push(a[n])}if(i.length>=1){var r=0,c=layui.layer.load(),s=function(a){var e=new FormData;e.append("url",a),layui.$.ajax({url:t,type:"post",data:e,contentType:!1,processData:!1,dataType:"json",success:function(a){200===a.code?(layui.$(i[r]).attr("src",a.url),layui.$(i[r]).attr("data-mce-src",a.url),layui.$(i[r]).each((function(){try{layui.$.each(this.attributes,(function(){-1===["src","alt","width","height","data-mce-src"].lastIndexOf(this.name)&&$(i[r]).removeAttr(this.name)}))}catch(a){}})),(r+=1)>=i.length?(layui.layer.close(c),layui.layer.msg("远程同步已完成")):s(i[r].src)):(layui.layer.close(c),layui.layer.msg(a.msg,"error"))},error:function(){layui.layer.close(c),layui.layer.msg("请求上传接口出现异常","info")}})};s(i[r].src)}else layui.layer.msg("无需同步或已完成");e.focus()}}(t,a.settings.download,a):layui.layer.msg("请配置前端同步地址","info"):layui.layer.info("暂无图片需要同步")};a.ui.registry.addButton("imagelocal",{icon:"imglocal",tooltip:t,onAction:e}),a.ui.registry.addMenuItem("imagelocal",{icon:"imglocal",text:t,onAction:e})};a.add("imagelocal",(function(a){return e(a),{}}))}();
|
||||
!function(){"use strict";var a=tinymce.util.Tools.resolve("tinymce.PluginManager"),t="图片本地化",e=function(a){var e=function(){const t=a.getDoc().getElementsByTagName("img");t.length>=1?void 0!==a.settings.download?function(a,t,e){var i=[],l=location.origin;if(a.length>=1){for(var n in a){var o=a[n].src;o&&-1!==(o=o.replace(l,"")).indexOf("://")&&i.push(a[n])}if(i.length>=1){var r=0,c=layui.layer.load(),s=function(a){var e=new FormData;e.append("url",a),layui.$.ajax({url:t,type:"post",data:e,contentType:!1,processData:!1,dataType:"json",success:function(a){200===a.code?(layui.$(i[r]).attr("src",a.url),layui.$(i[r]).attr("data-mce-src",a.url),layui.$(i[r]).each((function(){try{layui.$.each(this.attributes,(function(){-1===["src","alt","width","height","data-mce-src"].lastIndexOf(this.name)&&$(i[r]).removeAttr(this.name)}))}catch(a){}})),(r+=1)>=i.length?(layui.layer.close(c),layui.layer.msg("远程同步已完成")):s(i[r].src)):(layui.layer.close(c),layui.layer.msg(a.msg,"error"))},error:function(){layui.layer.close(c),layui.layer.msg("请求上传接口出现异常")}})};s(i[r].src)}else layui.layer.msg("无需同步或已完成");e.focus()}}(t,a.settings.download,a):layui.layer.msg("请配置前端同步地址"):layui.layer.msg("暂无图片需要同步")};a.ui.registry.addButton("imagelocal",{icon:"imglocal",tooltip:t,onAction:e}),a.ui.registry.addMenuItem("imagelocal",{icon:"imglocal",text:t,onAction:e})};a.add("imagelocal",(function(a){return e(a),{}}))}();
|
||||
@@ -3,10 +3,6 @@ xm-select > .xm-label .scroll .label-content {
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.layui-card {
|
||||
overflow: hidden!important;
|
||||
}
|
||||
|
||||
.layui-form-item .layui-input-inline {
|
||||
width: 320px;
|
||||
}
|
||||
|
||||
@@ -11,11 +11,11 @@ body a:hover {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.layui-message-list-item:hover, .layui-message-footer a:hover, .message-btn-more:hover {
|
||||
.layui-instant-list-item:hover, .layui-instant-footer a:hover, .message-btn-more:hover {
|
||||
background: #F2F2F2;
|
||||
}
|
||||
|
||||
.layui-message-list {
|
||||
.layui-instant-list {
|
||||
position: absolute;
|
||||
top: 51px;
|
||||
bottom: 44px;
|
||||
@@ -26,7 +26,7 @@ body a:hover {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.layui-message-list-item {
|
||||
.layui-instant-list-item {
|
||||
padding: 10px 24px;
|
||||
border-bottom: 1px solid #e8e8e8;
|
||||
-ms-flex-align: start;
|
||||
@@ -36,11 +36,11 @@ body a:hover {
|
||||
flex: 1 1;
|
||||
}
|
||||
|
||||
.layui-message-list-item:hover, .message-btn-clear:hover, .message-btn-more:hover {
|
||||
.layui-instant-list-item:hover, .message-btn-clear:hover, .message-btn-more:hover {
|
||||
background: #F2F2F2;
|
||||
}
|
||||
|
||||
.layui-message-item-icon {
|
||||
.layui-instant-item-icon {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
margin-right: 16px;
|
||||
@@ -48,27 +48,40 @@ body a:hover {
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.layui-message-item-right {
|
||||
.layui-instant-item-right {
|
||||
display: block;
|
||||
flex: 1 0;
|
||||
line-height: 24px;
|
||||
max-width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.layui-message-item-title {
|
||||
.layui-instant-item-title {
|
||||
font-size: 13px;
|
||||
color: rgba(0, 0, 0, .65);
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.layui-message-item-text {
|
||||
color: rgba(0, 0, 0, .45);
|
||||
.layui-instant-item-text {
|
||||
color: #000;
|
||||
font-size: 12px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.layui-instant-list .active_1 .layui-instant-item-title {
|
||||
color: rgba(0, 0, 0, .55);
|
||||
}
|
||||
|
||||
.layui-instant-list .active_1 .layui-instant-item-text {
|
||||
color: rgba(0, 0, 0, .55);
|
||||
}
|
||||
|
||||
.pull-right {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.layui-message-btn-clear, .layui-message-btn-more {
|
||||
.layui-instant-btn-clear, .layui-instant-btn-more {
|
||||
display: block;
|
||||
padding: 10px 5px;
|
||||
text-align: center;
|
||||
@@ -76,23 +89,23 @@ body a:hover {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.layui-message-btn-more {
|
||||
.layui-instant-btn-more {
|
||||
color: #666;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.layui-message-list-empty {
|
||||
.layui-instant-list-empty {
|
||||
text-align: center;
|
||||
color: rgba(0, 0, 0, .45);
|
||||
padding: 73px 0 88px;
|
||||
}
|
||||
|
||||
.layui-message-list-empty img {
|
||||
.layui-instant-list-empty img {
|
||||
height: 76px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.layui-message-footer {
|
||||
.layui-instant-footer {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
@@ -100,9 +113,10 @@ body a:hover {
|
||||
right: 0;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.layui-message-footer a {
|
||||
.layui-instant-footer a {
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
color: #333;
|
||||
@@ -113,4 +127,58 @@ body a:hover {
|
||||
|
||||
.layui-icon-email {
|
||||
font-size: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
.layui-flow-more a {
|
||||
height: 26px;
|
||||
line-height: 26px;
|
||||
}
|
||||
|
||||
.layui-flow-more a cite {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
#instant-content .layui-card-header {
|
||||
padding: 0;
|
||||
font-weight: bold;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#instant-content .layui-card-header div {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#instant-content .layui-card-header .time {
|
||||
float: right;
|
||||
font-weight: normal;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
#instant-content .layui-panel {
|
||||
min-height: 250px;
|
||||
padding: 0 20px 20px;
|
||||
/*border-top: 2px solid #fe5d58;*/
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#instant-content .layui-banner {
|
||||
position: absolute;
|
||||
bottom: 8px;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
#instant-content #layui-info {
|
||||
height: 150px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
#instant-content #layui-info img {
|
||||
max-width: 100%;
|
||||
padding: 10px;
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
|
||||
#instant-content .layui-footer {
|
||||
text-align: right;
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
// 以下代码是配置layui扩展模块的目录,每个页面都需要引入
|
||||
layui.config({
|
||||
version: 'v2.0.0',
|
||||
version: 'v1.1.5',
|
||||
base: getProjectUrl() + 'module/'
|
||||
}).extend({
|
||||
tags: 'tags/tags',
|
||||
|
||||
@@ -405,7 +405,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form', 'rate', 'table', 'sl
|
||||
content: n
|
||||
})
|
||||
},
|
||||
message: function () {
|
||||
bells: function () {
|
||||
var that = $(this),
|
||||
n = that.data("url");
|
||||
admin.event.flowOpen({
|
||||
@@ -445,7 +445,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form', 'rate', 'table', 'sl
|
||||
|
||||
var elemWidth = 0, client = that[0].getBoundingClientRect();
|
||||
|
||||
if (n.title == undefined) {
|
||||
if (n.title === undefined) {
|
||||
n.title = false;
|
||||
n.closeBtn = false
|
||||
}
|
||||
@@ -460,8 +460,8 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form', 'rate', 'table', 'sl
|
||||
}
|
||||
elemWidth = parseInt(elemWidth);
|
||||
n.anim || (n.anim = 5);
|
||||
n.resize = n.resize != undefined ? n.resize : false;
|
||||
n.shade = n.shade != undefined ? n.shade : 0.1;
|
||||
n.resize = n.resize !== undefined ? n.resize : false;
|
||||
n.shade = n.shade !== undefined ? n.shade : 0.1;
|
||||
var top = client.height,
|
||||
padding = (that.innerWidth() - that.width()) / 2, // 不用计算 padding
|
||||
left = client.left + (client.width / 2) - (elemWidth / 2);
|
||||
@@ -473,7 +473,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form', 'rate', 'table', 'sl
|
||||
}
|
||||
, pupupOpen: function (n) {
|
||||
|
||||
if (n.title == undefined) {
|
||||
if (n.title === undefined) {
|
||||
n.title = false;
|
||||
n.closeBtn = false
|
||||
}
|
||||
|
||||
@@ -31,8 +31,8 @@ layui.define(['i18n'], function (exports) {
|
||||
let data;
|
||||
layer.closeAll();
|
||||
if (res.code === 200) {
|
||||
layer.msg(res.msg);
|
||||
|
||||
layer.msg(res.msg);
|
||||
let index = layui.sessionData('api_install_index').index,
|
||||
elems = $('tr[data-index="' + index + '"]');
|
||||
if (url.indexOf('install') !== -1) {
|
||||
@@ -128,23 +128,20 @@ layui.define(['i18n'], function (exports) {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: i18n.prop('立即支付'),
|
||||
area: ['500px','685px'],
|
||||
area: ['500px','550px'],
|
||||
offset: "30px",
|
||||
resize: false,
|
||||
shade: 0.8,
|
||||
shadeClose: true,
|
||||
content: data.payUrl,
|
||||
content: data.pay_url,
|
||||
success: function (index, layero) {
|
||||
// 父类消息监听
|
||||
window.onmessage = function (res) {
|
||||
let data = res.data;
|
||||
if (res.data !== null && data.code === 200) {
|
||||
layer.close(layero);
|
||||
plugin.againClick();
|
||||
}
|
||||
|
||||
if (res.data !== null && data.code === -133) {
|
||||
layer.close(layero);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
BIN
public/upload/avatars/main.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
public/upload/developer-1.0.2.zip
Normal file
1
public/upload/upgrade/news.html
Normal file
@@ -0,0 +1 @@
|
||||
<li><a href="https://www.swiftadmin.net/video/3.html" target="_blank" title="swiftadmin框架视频教程"><strong>swiftadmin框架视频教程</strong><span>2022-07-21</span></a></li><li><a href="https://www.swiftadmin.net/service/2.html" target="_blank" title="[推荐]宝塔Linux面板安装教程7.9"><strong>[推荐]宝塔Linux面板安装教程7.9</strong><span>2022-04-29</span></a></li><li><a href="https://www.swiftadmin.net/service/1.html" target="_blank" title="PHP 8.1新特性公布 增加 Enums、Fsync功能"><strong>PHP 8.1新特性公布 增加 Enums、Fsync功能</strong><span>2021-11-30</span></a></li>
|
||||