用了一年多的N+后台模版,虽知道有皮肤设置功能,但是一直也没有用过,原来是因为皮肤设置没有保存配置参数的js代码,所以只是一个假的皮肤设置,今天使用js简单修复了一下。
原理就是使用js 的LocalStorage进行存储json对象进行保存和读取主题样式参数
下面是修复的教程
首先找到路径/admin/n/skin-config.html文件,覆盖以下代码即可
<div class="theme-config"> <div class="theme-config-box"> <div class="spin-icon"> <i class="fa fa-cog fa-spin"></i> </div> <div class="skin-setttings"> <div class="title">皮肤选择</div> <div class="setings-item default-skin"> <span class="skin-name "> <a href="#" class="s-skin-0" data-color="skin-0">默认皮肤</a> </span> </div> <div class="setings-item blue-skin"> <span class="skin-name "> <a href="#" class="s-skin-1" data-color="skin-1">蓝色主题</a> </span> </div> <div class="setings-item yellow-skin"> <span class="skin-name "> <a href="#" class="s-skin-3" data-color="skin-3">黄色/紫色主题</a> </span> </div> <div class="setings-item ultra-skin"> <span class="skin-name "> <a href="#" class="s-skin-2" data-color="skin-2">灰色主题</a> </span> </div> </div> </div> </div> <script> var saveSelectColor = { 'Name': 'SelcetColor', 'Color': 'skin-0' } // 皮肤选择 $('.spin-icon').click(function () { storageSave(saveSelectColor); $(".theme-config-box").toggleClass("show"); }); // 默认主题 $('.s-skin-0').click(function () { storageSave(saveSelectColor); $("body").removeClass("skin-1"); $("body").removeClass("skin-2"); $("body").removeClass("skin-3"); }); // 蓝色主题 $('.s-skin-1').click(function () { storageSave(saveSelectColor); $("body").removeClass("skin-2"); $("body").removeClass("skin-3"); $("body").addClass("skin-1"); }); // 灰色主题 $('.s-skin-2').click(function () { storageSave(saveSelectColor); $("body").removeClass("skin-1"); $("body").removeClass("skin-3"); $("body").addClass("skin-2"); }); // 黄色主题 $('.s-skin-3').click(function () { storageSave(saveSelectColor); $("body").removeClass("skin-1"); $("body").removeClass("skin-2"); $("body").addClass("skin-3"); }); // 判断用户是否已有自己选择的模板风格 if (storageLoad('SelcetColor')) { $('body').attr('class', storageLoad('SelcetColor').Color) } else { storageSave(saveSelectColor); $('body').attr('class', 'skin-0') } // 本地缓存 function storageSave(objectData) { localStorage.setItem(objectData.Name, JSON.stringify(objectData)); } function storageLoad(objectName) { if (localStorage.getItem(objectName)) { return JSON.parse(localStorage.getItem(objectName)) } else { return false } } $('.skin-name').find('a').on('click', function() { saveSelectColor.Color = $(this).attr('data-color'); // 保存选择项 storageSave(saveSelectColor); }) </script> <style> .fixed-nav .slimScrollDiv #side-menu {padding-bottom: 60px;} </style>
发表评论: