系统新增主题设置功能,默认两种主题:经典黑,简约白

This commit is contained in:
hdm 2022-08-03 11:01:02 +08:00
parent b8c70165d2
commit f2137423bf
6 changed files with 104 additions and 10 deletions

View File

@ -44,12 +44,29 @@ function get_system_config($name, $key = '')
if ($key == '') {
return $config;
} else {
if ($config[$key]) {
if (isset($config[$key])) {
return $config[$key];
}
else{
return '';
}
}
}
//设置系统配置
function set_system_config($name, $key, $value='')
{
$config = [];
$conf = Db::name('config')->where('name', $name)->find();
if ($conf['content']) {
$config = unserialize($conf['content']);
}
$config[$key] = $value;
set_cache('system_config' . $name, $config);
$content = serialize($config);
Db::name('config')->where('name', $name)->update(['content'=>$content]);
}
//读取文件配置
function get_config($key)

View File

@ -84,6 +84,7 @@ class Index extends BaseController
\think\facade\Cache::tag('adminMenu')->set('menu' . $admin['id'], $list);
}
View::assign('menu', $list);
View::assign('theme', get_system_config('other','theme'));
return View();
}
}
@ -199,4 +200,17 @@ class Index extends BaseController
return view();
}
}
//设置theme
public function set_theme()
{
if (request()->isAjax()) {
$param = get_params();
set_system_config('other','theme',$param['theme']);
return to_assign();
}
else{
return to_assign(1,'操作错误');
}
}
}

View File

@ -5,6 +5,16 @@
<h3 class="pb-3">其他配置</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">系统主题</td>
<td>
{empty name="$config.theme"}
<input type="radio" name="theme" value="black" title="经典黑" checked>
<input type="radio" name="theme" value="white" title="简约白" >
{else/}
<input type="radio" name="theme" value="black" title="经典黑" {eq name="$config.theme" value="black"}checked{/eq}>
<input type="radio" name="theme" value="white" title="简约白" {eq name="$config.theme" value="white"}checked{/eq}>
{/empty}
</td>
<td class="layui-td-gray">开发者</td>
<td>
<input type="hidden" value="{$id}" name="id">

View File

@ -24,13 +24,18 @@
<div class="layui-layout-right">
<span class="gg-head-item gg-head-refresh">
<a href="javascript:;" class="refreshThis" gg-event="refresh" title="刷新">
<i class="layui-icon layui-icon-refresh-3"></i>
<i class="layui-icon layui-icon-refresh"></i>
</a>
</span>
<span class="gg-head-item gg-head-screen">
<a href="javascript:;" gg-event="screen" data-screen="full">
<i class="fullScreen layui-icon layui-icon-screen-full"></i>
</a>
</span>
<span class="gg-head-item gg-head-set">
<a href="javascript:;" id="theme">
<i class="layui-icon layui-icon-set"></i>
</a>
</span>
<span class="gg-head-item gg-head-message">
<a href="javascript:;" data-href="/message/index/inbox" data-id="78" data-title="消息中心" class="side-menu-item" title="消息中心">
@ -59,7 +64,7 @@
</div>
<!-- 侧边菜单 -->
<div class="layui-side layui-side-menu">
<div class="layui-side layui-side-menu layui-side-{$theme}">
<div class="layui-side-scroll">
<div class="layui-logo" gg-event="closeAllTabs">
<img src="{__IMG__}/syslogo.png" style="height: 40px;" class="syslogo">
@ -67,6 +72,9 @@
</div>
<ul id="menuList" class="layui-nav layui-nav-tree layui-inline" lay-shrink="all">
<li class="layui-nav-item menu-li">
<a href="javascript:;" class="side-menu-item layui-this" data-href="/home/index/main.html" data-id="0" style="padding-top:0; padding-bottom:0;"><i class="iconfont icon-xueshuguanli"></i> 工 作 台</a>
</li>
{foreach name="menu" item="a"}
<li class="layui-nav-item menu-li">
<a href="javascript:;" lay-tips="{$a.title}" lay-direction="2" data-id="{$a.id}" data-title="{$a.title}" data-href="/{$a.src}"><i class="iconfont {$a.icon}"></i> {$a.title}</a>
@ -119,7 +127,7 @@
</div>
<div class="layui-tab gg-admin-tab" lay-unauto lay-allowClose="true" lay-filter="gg-admin-tab">
<ul class="layui-tab-title">
<li lay-id="0" lay-attr="view/home/index.html" class="layui-this"><i class="layui-icon layui-icon-home"></i></li>
<li lay-id="0" lay-attr="view/home/index.html" class="layui-this"><i class="iconfont icon-xueshuguanli"></i></li>
</ul>
</div>
</div>
@ -160,7 +168,32 @@
layer.close(index);
});
});
layui.dropdown.render({
elem: '#theme',
trigger: 'mousedown',
align: 'center',
data: [{
title: '经典黑',
theme: 'black'
},{
title: '简约白',
theme: 'white'
}],
click: function(data, othis){
$.ajax({
url: "/home/index/set_theme",
data:{'theme':data.theme},
success: function (e) {
layer.msg(e.msg);
if (e.code == 0) {
setTimeout(function () {
parent.location.reload();
}, 1000)
}
}
})
}
});
//轮循获取消息
var getStatus = setInterval(function () {
$.ajax({

View File

@ -7,6 +7,7 @@
.gg-head-item .layui-nav{background:0 0;padding:0;}
.gg-head-item .layui-nav .layui-nav-item a{padding:0;}
.layui-layout-right .gg-head-item{border-left:1px solid #eeeeee;}
.layui-layout-right .gg-head-item i.layui-icon{font-weight:600}
.layui-layout-right .gg-head-message{position:relative;}
.layui-layout-right .gg-message-num{height: 18px;position: absolute; top: -12px;margin-left: -4px;left: 50%;}
@ -17,15 +18,15 @@
.gg-head-item .layui-nav .layui-this:after{display:none;}
.gg-layout .layui-side {width: 200px;top: 0;z-index: 1001}
.gg-layout .layui-logo {position: fixed;left: 0; top: 0; z-index: 1001; width: 200px; height: 50px; text-align:center; line-height:50px; overflow: hidden;background-color: #001529;box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .15); cursor:pointer;}
.gg-layout .layui-logo {position: fixed;left: 0; top: 0; z-index: 1001; width: 200px; height: 49px; text-align:center; line-height:49px; overflow: hidden;background-color: #001529; border-bottom: 1px solid #011120; cursor:pointer;}
.gg-layout .layui-logo,
.gg-layout .layui-logo a {color: #f1f1f1; text-align:center;}
.layui-side-menu {box-shadow: 1px 0 2px 0 rgba(0, 0, 0, .05);background-color: #001529; color: #fff}
.layui-side-menu .layui-side-scroll {width: 100%}
.layui-side-menu .layui-nav {width: 200px; margin-top: 50px; background: 0 0}
.layui-side-menu .layui-nav .layui-nav-item a {height: 40px;line-height: 40px; padding-left: 40px; padding-right: 20px}
.layui-side-menu .layui-nav .layui-nav-item>a {padding-top: 8px;padding-bottom: 8px}
.layui-side-menu .layui-nav .layui-nav-item a {height: 40px;line-height: 40px; padding-left: 44px; padding-right: 20px}
.layui-side-menu .layui-nav .layui-nav-item>a {padding-top: 2px;padding-bottom: 2px}
.layui-side-menu .layui-nav .layui-nav-itemed>.layui-nav-child { padding: 0}
.layui-side-menu .layui-nav .layui-nav-item .bi,
.layui-side-menu .layui-nav .layui-nav-item .iconfont,
@ -33,9 +34,10 @@
.layui-side-menu .layui-nav .layui-nav-item .bi,
.layui-side-menu .layui-nav .layui-nav-item .iconfont{font-size:18px;}
.layui-side-menu .layui-nav .layui-nav-item .layui-nav-more {margin-top: -24px; color:#677C91}
.layui-side-menu .layui-nav .layui-nav-child .layui-nav-more {margin-top: -20px; color:#677C91}
.layui-side-menu .layui-nav .layui-nav-child .layui-nav-child { background: 0 0 !important}
.layui-side-menu .layui-nav .layui-nav-child .layui-nav-child a {padding-left: 55px}
.layui-side-menu .layui-nav .layui-nav-child .layui-nav-child a {padding-left: 58px}
.layui-side-menu .layui-nav .layui-nav-more {right: 12px}
.layui-nav-tree .layui-nav-child dd.layui-this,
@ -47,6 +49,23 @@
.layui-side .layui-nav-tree .layui-nav-child dd a:hover{background-color:#192A3B;}
.layui-side .layui-nav-tree .layui-nav-bar{background-color: #3C9CFF;width:3px;}
.layui-side-white{background-color: #fff; color: #323232}
.layui-side-white .layui-logo {background-color: #ffffff;border-bottom: 1px solid #eeeeee;}
.layui-side-white .layui-nav .layui-nav-item a{color: #323232}
.layui-side-white .layui-nav .layui-nav-item .iconfont{font-weight:600;}
.layui-side-white .layui-nav-itemed>.layui-nav-child{background-color:#fff!important;}
.layui-side-white .layui-nav-itemed>a,
.layui-side-white .layui-nav-tree .layui-nav-title a,
.layui-side-white .layui-nav-tree .layui-nav-title a:hover{color:#187FDD!important;}
.layui-side-white .layui-nav-tree .layui-nav-child dd.layui-this,
.layui-side-white .layui-nav-tree .layui-nav-child dd.layui-this a,
.layui-side-white .layui-nav-tree .layui-this,
.layui-side-white .layui-nav-tree .layui-this>a,
.layui-side-white .layui-nav-tree .layui-this>a:hover {background-color: #ECF6FF;color: #187FDD;}
.layui-side-white .layui-nav-tree .layui-nav-child dd a:hover{background-color:#ffffff;color: #187FDD;}
.layui-side-white .layui-nav-tree .layui-nav-bar{background-color: #187FDD;width:3px;left:inherit;right:0}
.page-tabs{ position: fixed;top: 50px;right: 0; z-index: 999; height: 40px; line-height: 40px; padding: 0 80px 0 40px; background-color: #fff;box-sizing: border-box; box-shadow: 0 1px 20px 0 rgba(0, 0, 0, 8%)}
.page-tabs,
.gg-layout .layui-body,
@ -77,6 +96,7 @@
.page-tabs .layui-icon-down {right: 0}
.page-tabs .layui-tab {margin: 0; overflow: hidden}
.page-tabs .layui-tab-title {height: 40px;border: none}
.page-tabs .layui-tab-title i{font-size:18px; font-weight:600}
.page-tabs .layui-tab-title li { min-width: 0; line-height: 40px; max-width: 160px; text-overflow: ellipsis; padding-left:12px; padding-right: 32px;overflow: hidden;border-right: 1px solid #eeeeee;vertical-align: top}
.page-tabs .layui-tab-title li:first-child {padding-right: 15px}
@ -89,7 +109,7 @@
.page-tabs .layui-tab-title li:hover:after {width: 100%}
.page-tabs .layui-tab-title li.layui-this,
.page-tabs .layui-tab-title li:hover { background-color: #fafafa}
.page-tabs .layui-tab-title li:hover { background-color: #fafafa; color:#187FDD}
.page-tabs .layui-tab-title li.layui-this:after {width: 100%; border: none;height: 2px; background-color: #1E9FFF}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 15 KiB