first commit

This commit is contained in:
root
2025-06-18 10:31:43 +08:00
commit d9f820b55d
981 changed files with 449311 additions and 0 deletions

558
public/admin/css/admin.css Executable file
View File

@ -0,0 +1,558 @@
html,
body,
.layui-layout {
height: 100%;
}
.pear-admin .layui-header,
.pear-admin .layui-body,
.pear-admin .layui-logo,
.pear-admin .layui-side,
.pear-admin .layui-header .layui-layout-left {
transition: all .3s;
}
.pear-admin.banner-layout .layui-side {
top: 60px!important;
}
.pear-admin.banner-layout .layui-side .layui-logo {
display: none;
}
.pear-admin.banner-layout .layui-header .layui-logo {
display: inline-block;
}
.pear-admin.banner-layout .layui-side .layui-side-scroll {
height: 100%!important;
}
.pear-admin.banner-layout .layui-side .layui-side-scroll {
height: 100%!important;
}
.pear-admin .layui-header.dark-theme .layui-layout-control .layui-this *{
background-color: rgba(0,0,0,.1)!important;
}
.pear-admin.banner-layout .layui-header {
z-index: 99999;
width: 100%;
left: 0px;
}
.pear-admin.banner-layout .layui-header .layui-layout-left {
left: 230px;
}
.pear-admin.banner-layout .layui-header .layui-logo .title {
top: 2px;
}
.pear-admin.banner-layout .layui-header .layui-layout-control {
display: inline-block;
left: 370px;
}
.pear-admin.banner-layout .layui-header.dark-theme {
box-shadow: 2px 0 6px rgb(0 21 41 / 35%);
}
.pear-admin .layui-header .layui-logo {
display: none;
}
.pear-admin .layui-logo .title {
font-size: 20px;
}
.pear-admin .layui-layout-right .layui-nav-child {
border: 1px solid whitesmoke;
border-radius: 4px;
width: auto;
left: auto;
right: -23px;
}
.pear-admin .layui-header {
left: 230px;
width: calc(100% - 230px);
background-color: white;
border-bottom: 1px solid whitesmoke;
}
.pear-admin .layui-layout-control {
left: 140px;
position: absolute;
}
.pear-admin .layui-layout-control .layui-nav {
padding: 0px;
}
.pear-admin .layui-logo {
width: 230px;
height: 59px;
line-height: 59px;
position: relative;
background-color: #001529;
border-bottom: 1px solid rgba(0, 0, 0, .12);
}
.pear-admin .layui-logo img {
width: 34px;
height: 34px;
}
.pear-admin .layui-logo .title {
font-size: 21px;
font-weight: 550;
color: #5FB878;
position: relative;
top: 5px;
margin-left: 5px;
}
.pear-admin .layui-logo .logo {
display: none;
}
.pear-admin .layui-side {
top: 0px;
width: 230px;
box-shadow: 2px 0 6px rgba(0, 21, 41, .20);
z-index: 9999;
}
.pear-admin .layui-side-scroll::-webkit-scrollbar {
width: 0px;
height: 0px;
}
.pear-admin .layui-side-scroll {
height: calc(100% - 60px) !important;
background-color: #001529;
width: 247px;
}
.pear-admin .layui-header .layui-nav .layui-nav-item>a {
color: black;
font-size: 15px;
}
.pear-admin .layui-body {
left: 230px;
bottom: 0px;
padding-bottom: 0px;
}
.pear-admin .layui-layout-left {
left: 0px;
}
.pear-admin .layui-footer {
position: absolute;
display: flex;
justify-content: space-between;
left: 230px;
background: #fff;
border-top: 1px solid #F2F2F2;
box-shadow: none;
-webkit-transition: left .3s;
transition: left .3s;
overflow: hidden;
color: #3c3c3cb3;
font-weight: 300;
font-size: 13.6px;
}
.pear-admin .layui-footer.close {
display: none;
}
/** 收缩布局 */
.pear-mini .layui-side .layui-logo .title {
display: none;
}
.pear-mini .layui-side .layui-logo .logo {
display: inline-block;
}
.pear-mini .layui-side {
width: 60px;
}
.pear-mini .layui-header {
left: 60px;
width: calc(100% - 60px);
}
.pear-mini .layui-body {
left: 60px;
}
.pear-mini .layui-side .layui-logo {
width: 60px;
}
.pear-mini .layui-footer {
left: 60px;
}
.pear-mini .layui-nav-tree .layui-nav-item span {
display: none;
}
.pear-mini .bottom-nav li {
width: 100% !important;
}
.pear-mini .layui-side-scroll {
height: calc(100% - 60px);
}
.pear-admin .layui-header .layui-nav .layui-nav-bar {
top: 0px !important;
height: 2px !important;
background-color: #5FB878;
}
.pear-admin .layui-header .layui-nav .layui-this:after {
display: none;
}
.pear-admin .layui-header .layui-nav-more {
display: none;
}
.pear-collapsed-pe {
display: none;
width: 50px;
position: absolute;
z-index: 400000;
bottom: 30px;
right: 30px;
background-color: #5FB878 !important;
height: 50px;
line-height: 50px;
text-align: center;
border-radius: 50px;
box-shadow: 2px 0 6px rgba(0, 21, 41, .35);
}
.pear-collapsed-pe a {
color: white !important;
}
@media screen and (min-width: 768px) {
.layui-hide-sm {
display: inline-block !important;
}
}
@media screen and (min-width: 769px) {
.layui-hide-sm {
display: none !important;
}
}
/** 新增兼容 */
@media screen and (max-width:768px) {
.collapse {
display: none !important;
}
.pear-collapsed-pe {
display: inline-block !important;
}
.layui-layout-control {
left: 45px !important;
}
.layui-layout-left {
padding-left: 10px;
padding-right: 10px;
}
.pear-mini .bottom-nav {
display: none;
}
.pear-mini .layui-side-scroll {
height: calc(100% - 62px);
}
.pear-mini .layui-side {
width: 0px;
}
.pear-mini .layui-header {
left: 0px;
width: 100%;
}
.pear-mini .layui-body {
left: 0px;
}
.pear-mini .layui-footer {
left: 0px;
}
.pear-mini .layui-logo {
width: 0px;
}
.pear-admin .layui-body {
left: 0px;
}
.pear-admin .layui-header {
left: 0px;
width: 100%;
}
.pear-admin .pear-cover {
width: 100%;
height: 100%;
background-color: #1E1E1E;
display: block;
position: absolute;
z-index: 1000;
opacity: 0;
margin-top: -60px;
}
.pear-mini .pear-cover {
display: none;
}
}
@-webkit-keyframes am-horizontal-roll_show {
0% {
opacity: 1;
-webkit-transform: translateX(2000px);
transform: translateX(2000px)
}
100% {
opacity: 1;
-webkit-transform: translateX(0);
transform: translateX(0)
}
}
@keyframes am-horizontal-roll_show {
0% {
opacity: 1;
-webkit-transform: translateX(800px);
-ms-transform: translateX(800px);
transform: translateX(800px)
}
100% {
opacity: 1;
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0)
}
}
.layer-anim-right {
-webkit-animation: am-horizontal-roll_show .6s ease-out;
animation: am-horizontal-roll_show .6s ease-out;
}
/** 侧边主题 (亮) */
.light-theme.layui-side {
box-shadow: 2px 0 8px 0 rgba(29, 35, 41, .05) !important;
}
.light-theme.layui-side .layui-logo {
background-color: white !important;
color: black !important;
border-bottom: 1px whitesmoke solid;
}
.light-theme.layui-side .layui-side-scroll {
background-color: white !important;
color: black !important;
}
.dark-theme.layui-header {
border-bottom: none;
background-color: #001529;
color: whitesmoke;
}
.dark-theme.layui-header li>a{
color: whitesmoke!important;
}
.dark-theme.layui-header .layui-logo {
box-shadow: none;
border: none;
}
/** 顶部主题 (白) */
.light-theme.layui-header .layui-logo {
background-color: white;
border: none;
box-shadow: none;
}
/** 主题面板 */
.pearone-color .set-text {
height: 42px;
line-height: 42px;
}
.pearone-color .color-title {
padding: 15px 0 0px 20px;
margin-bottom: 4px;
}
.pearone-color .color-content {
padding: 15px 10px 0 20px;
}
.pearone-color .color-content ul {
list-style: none;
padding: 0px;
}
.pearone-color .color-content ul li {
position: relative;
display: inline-block;
vertical-align: top;
width: 70px;
height: 50px;
margin: 0 20px 20px 0;
padding: 2px 2px 2px 2px;
background-color: #f2f2f2;
cursor: pointer;
font-size: 12px;
color: #666;
}
.pearone-color .color-content li.layui-this:after,
.pearone-color .color-content li:hover:after {
width: 100%;
height: 100%;
padding: 4px;
top: -5px;
left: -5px;
border: #5FB878 2px solid;
opacity: 1;
border-radius: 4px;
}
.pearone-color .color-content li:after {
content: '';
position: absolute;
z-index: 20;
top: 50%;
left: 50%;
width: 1px;
height: 0;
border: 2px solid #F2F2F2;
transition: all .3s;
-webkit-transition: all .3s;
opacity: 0;
}
.select-color {
margin-bottom: 30px;
}
.select-color .select-color-title {
padding: 15px 0 0px 20px;
margin-bottom: 4px;
}
.select-color .select-color-content {
padding: 20px 0 0px 0px;
margin-bottom: 4px;
}
.select-color .select-color-content .select-color-item {
background-color: gray;
width: 30px;
height: 30px;
border-radius: 3px;
float: left;
margin-left: 20px;
color: white;
font-size: 18px;
text-align: center;
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .15);
line-height: 30px;
}
.message .layui-tab-title li:not(:last-child) {
border-right: 1px solid #eee;
}
/* 搜索面板 */
.menu-search-content .layui-input {
padding-left: 30px;
}
.menu-search-content {
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.menu-search-input-wrapper {
width: 100%;
padding: 15px 15px;
}
.menu-search-no-data {
display: flex;
justify-content: center;
width: 100%;
height: 122px;
align-items: center;
}
.menu-search-list {
width: 100%;
padding: 5px 15px;
}
.menu-search-list li {
position: relative;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: nowrap;
height: 50px;
margin-bottom: 8px;
padding: 0px 10px;
color: currentColor;
font-size: 14px;
border-radius: 4px;
box-shadow: 0 1px 3px #d4d9e1;
cursor: pointer;
background-color: #fff;
}
.menu-search-list li:hover {
background-color: #5FB878;
color: white;
}
.menu-search-list li.this {
background-color: #5FB878;
color: white;
}
/* 搜索面板结束 */

105
public/admin/css/loader.css Executable file
View File

@ -0,0 +1,105 @@
.loader-main{
position: fixed;
width: 100%;
height: 100%;
background-color: whitesmoke;
z-index: 9999999;
}
.loader {
width: 50px;
height: 50px;
margin: 30px auto 40px;
margin-top: 20%;
position: relative;
z-index: 999999;
background-color: whitesmoke;
}
.loader:before {
content: "";
width: 50px;
height: 7px;
border-radius: 50%;
background: #000;
opacity: 0.1;
position: absolute;
top: 59px;
left: 0;
animation: shadow .5s linear infinite;
}
.loader:after {
content: "";
width: 50px;
height: 50px;
border-radius: 3px;
background-color: #5FB878;
position: absolute;
top: 0;
left: 0;
animation: loading .5s linear infinite;
}
@-webkit-keyframes loading {
17% {
border-bottom-right-radius: 3px;
}
25% {
transform: translateY(9px) rotate(22.5deg);
}
50% {
transform: translateY(18px) scale(1, 0.9) rotate(45deg);
border-bottom-right-radius: 40px;
}
75% {
transform: translateY(9px) rotate(67.5deg);
}
100% {
transform: translateY(0) rotate(90deg);
}
}
@keyframes loading {
17% {
border-bottom-right-radius: 3px;
}
25% {
transform: translateY(9px) rotate(22.5deg);
}
50% {
transform: translateY(18px) scale(1, 0.9) rotate(45deg);
border-bottom-right-radius: 40px;
}
75% {
transform: translateY(9px) rotate(67.5deg);
}
100% {
transform: translateY(0) rotate(90deg);
}
}
@-webkit-keyframes shadow {
0%,
100% {
transform: scale(1, 1);
}
50% {
transform: scale(1.2, 1);
}
}
@keyframes shadow {
0%,
100% {
transform: scale(1, 1);
}
50% {
transform: scale(1.2, 1);
}
}

View File

@ -0,0 +1,76 @@
* {
padding: 0;
margin: 0;
font-size: 0.38rem;
}
ul {
list-style: none;
}
a {
text-decoration: none;
-webkit-tap-highlight-color: transparent
}
.clearfix:after {
content: '';
width: 0;
height: 0;
display: block;
clear: both;
}
html {
height: 100%;
width: 100%;
}
body {
font-size: 0.28rem;
height: 100%;
width: 100%;
display: flex;
flex-direction: column;
position: relative;
background-color: white !important;
}
.content {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 100%;
text-align: center;
}
.content>img {
height: 300px;
max-width: 370px;
margin-right: 80px;
}
.content>* {
display: inline-block;
}
.content-r {
vertical-align: top;
}
.content-r>h1 {
font-size: 72px;
color: #434e59;
margin-bottom: 24px;
font-weight: 600;
}
.content-r>p {
font-size: 20px;
color: rgba(0, 0, 0, .45);
margin-bottom: 16px;
}
button {
margin-top: 20px;
}

View File

@ -0,0 +1,91 @@
.layui-form {
width: 320px !important;
margin: auto !important;
margin-top: 160px !important;
}
.layui-form button {
width: 100% !important;
height: 44px !important;
line-height: 44px !important;
font-size: 16px !important;
font-weight: 550 !important;
}
.layui-form-checked[lay-skin=primary] i {
color: #fff !important;
}
.layui-tab-content {
margin-top: 15px !important;
padding-left: 0px !important;
padding-right: 0px !important;
}
.layui-form-item {
margin-top: 20px !important;
}
.layui-input {
height: 44px !important;
line-height: 44px !important;
padding-left: 15px !important;
border-radius: 3px !important;
}
.layui-form-danger:focus{
box-shadow: 0px 0px 2px 1px #f56c6c !important;
}
.logo {
width: 40px !important;
margin-top: 10px !important;
margin-bottom: 10px !important;
margin-left: 20px !important;
}
.title {
font-size: 26px !important;
font-weight: 550 !important;
margin-left: 10px !important;
display: inline-block !important;
height: 60px !important;
line-height: 60px !important;
margin-top: 10px !important;
position: absolute !important;
}
.desc {
width: 100% !important;
text-align: center !important;
color: gray !important;
height: 60px !important;
line-height: 60px !important;
}
body {
background-repeat:no-repeat;
background-color: whitesmoke;
background-size: 100%;
height: 100%;
}
.code {
float: left;
margin-right: 13px;
margin: 0px !important;
border: #e6e6e6 1px solid;
display: inline-block!important;
}
.codeImage {
float: right;
height: 42px;
border: #e6e6e6 1px solid;
}
@media (max-width:768px){
body{
background-position:center;
}
}

240
public/admin/css/reset.css Executable file
View File

@ -0,0 +1,240 @@
button {
line-height: 100% !important;
}
.pear-btn-md, .pear-btn-sm, .pear-btn-xs, .pear-btn {
line-height: 100%;
letter-spacing: 2px;
padding: 0 15px;
font-weight: 400;
font-size: 14px;
}
.layui-layer-btn {
padding: 0 15px 19px;
letter-spacing: 2px;
}
.pear-btn i {
font-size: 14px;
}
.layui-table-cell .pear-btn i {
font-size: 15px;
}
.layui-table-tips-main {
overflow: hidden;
}
.layui-table th {
font-weight: 500;
}
.layui-laypage a, .layui-laypage span {
font-size: 14px;
}
.layui-table-tool .layui-inline[lay-event], .layui-table-tool .layui-inline[lay-event]:hover {
border:none;
}
.layui-table-tool-self .layui-icon {
font-size: 18px;
}
.layui-table, .pear-tab .layui-tab-title li {
color: #333;
}
.tool-btn.pear-btn-xs {
background: transparent;
font-weight: normal;
font-size: 14px;
color: #333;
border: none;
padding: 0 2px;
height: auto !important;
}
.layui-iconpicker {
max-width: 290px !important;
}
.layui-iconpicker .layui-anim {
max-height: 220px !important;
}
.layui-input:disabled {
color: rgba(0,0,0,.25);
background: #f5f5f5;
cursor: not-allowed;
}
.layui-form-label.required:after {
content: "*";
color: red;
display: inline-block;
padding: 7px 5px;
line-height: 20px;
text-align: right;
position: absolute;
right: 0;
top: 5px;
}
.layui-bg-green {
background-color: #36b368 !important;
}
a {
cursor: pointer;
}
*[permission] {
display: none;
}
@media screen and (max-width:768px) {
/** **/
.layui-table-tool-self .layui-inline:nth-child(3){
display: none;
}
}
/** 右间隔 **/
.mr-1
{
margin-right: 4px;
}
.mr-2
{
margin-right: 8px;
}
.mr-3
{
margin-right: 16px;
}
.mr-4
{
margin-right: 24px;
}
.mr-5
{
margin-right: 48px;
}
/** 图片尺寸 **/
.img-1
{
max-width: 16px;
max-height: 16px;
border-radius: 6px;
}
.img-2
{
max-width: 32px;
max-height: 32px;
border-radius: 6px;
}
.img-3
{
max-width: 64px;
max-height: 64px;
border-radius: 6px;
}
.img-4
{
max-width: 128px;
max-height: 128px;
border-radius: 6px;
}
/** 左侧菜单 Start **/
.pear-nav-tree .layui-nav-item a span {
font-size: 14px;
letter-spacing: 1.5px;
}
.light-theme .pear-nav-tree a, .light-theme .pear-nav-tree .layui-nav-more {
color: #333;
}
/** 左侧菜单 End **/
/** 表详情顶部搜索框 Start **/
.top-search-from .layui-form-item {
position: relative;
display: inline-block;
*display: inline;
*zoom: 1;
vertical-align: middle;
}
.top-search-from .layui-form-item .layui-input-block {
float: left;
width: 270px;
margin-right: 10px;
margin-left: 0;
display: inline-block;
vertical-align: middle;
position: relative;
}
.top-search-from .layui-input, .top-search-from .layui-select, .top-search-from .layui-textarea {
width: 270px;
}
.top-search-from .item-inline .layui-form-item .layui-input-block {
width: 270px;
}
.top-search-from .layui-form-mid {
margin-left: 7px;
margin-right: 7px;
}
.top-search-from .layui-form-label {
width: 60px;
white-space: nowrap;
}
.top-search-from .inline-block {
width:128px;
display:inline-block
}
.top-search-from .layui-form-item {
width: 370px;
}
.top-search-from .toggle-btn {
text-align: center;
}
.top-search-from .toggle-btn a {
cursor: pointer;
color: #999;
}
.top-search-from .toggle-btn a:hover {
color: #333;
}
@media screen and (max-width:768px) {
.top-search-from .layui-input {
max-width: 234px;
}
.top-search-from .layui-input.inline-block {
max-width: 110px;
}
.layui-table-tool-self .layui-inline:nth-child(3){
display: none;
}
}
/** 表详情顶部搜索框 End **/
/* tinymce 样式优化 Start */
.layui-input-block .tox.tox-tinymce.tox-fullscreen {
z-index: 1;
}
.tox.tox-tinymce-aux {
z-index: 90000000 !important;
}
/* tinymce 样式优化 End */