You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

276 lines
8.9 KiB

<style>
#wrapper {
padding-left: 35px;
}
.row {
margin-left: 0px;
}
</style>
<nav class="layui-header" role="navigation">
<div class="layui-layout layui-layout-admin">
<div class="layui-header layui-bg-green">
<ul class="layui-nav layui-layout-left">
<li class="layui-nav-item layadmin-flexible" lay-unselect="">
<a href="javascript:;" layadmin-event="flexible" title="侧边伸缩" style="color: aliceblue;">
<i class="layui-icon layui-icon-shrink-right" id="LAY_app_flexible"></i>
</a>
</li>
<span class="layui-nav-bar" style="left: 192px; top: 48px; width: 0px; opacity: 0;"></span>
</ul>
<ul class="layui-nav layui-layout-right ">
<li class="layui-nav-item layui-hide layui-show-sm-inline-block">
<a href="javascript:;" style="color: aliceblue;">
<img src="//unpkg.com/outeres@0.0.10/img/layui/icon-v2.png" class="layui-nav-img">
<i id="logName">admin</i>
</a>
<dl class="layui-nav-child">
<dd><a href="javascript:;" onclick="editPass()"><i class="layui-icon layui-icon-password"></i>修改密码</a></dd>
<dd><a href="javascript:logout()"><i class="layui-icon layui-icon-logout"></i>退出登陆</a></dd>
</dl>
</li>
<li class="layui-nav-item" lay-header-event="menuRight" lay-unselect>
<a href="javascript:;">
<i class="layui-icon layui-icon-more-vertical"></i>
</a>
</li>
</ul>
</div>
<div class="layui-side layui-side-menu layui-bg-black">
<div class="layui-side-scroll">
<div class="layui-logo layui-bg-green" lay-href=""> <span>《我的火力有点强》后台</span> </div>
<ul class="layui-nav layui-nav-tree" lay-filter="test" id="menuList">
<li class="layui-nav-item layui-nav-itemed"><a href="index.html"><i class="layui-icon layui-icon-home"></i>主页</a></li>'
</ul>
</div>
</div>
</div>
</nav>
<script>
// 获取路径
function GetUrlRelativePath() {
var url = document.location.toString();
var arrUrl = url.split("//");
var start = arrUrl[1].indexOf("/");
var relUrl = arrUrl[1].substring(start);// stop省略,截取从start开始到结尾的所有字符
if (relUrl.indexOf(".html") != -1) {
relUrl = relUrl.split(".html")[0];
}
if (relUrl.indexOf("/") != -1) {
relUrl = relUrl.split("/")[2];
}
return relUrl + ".html";
}
function LoadMenus(){
layui.use(['element', 'jquery'], function () {
var element = layui.element;
var $ = layui.jquery;
let version=cookie.get("version");//localStorage.getItem("version");
if(version==""||version==null){
version=0;
}
$.getJSON(Page.SvrIp+"/api/select_menus", {token:cookie.get("token"),version:version}, function (data) {
if (data.ret == 0) {
cookie['version']=data.version;
if(data.version!=version){//新的版本菜单
localStorage.setItem("version",data.version);
localStorage.setItem("menus",JSON.stringify(data.data))
}
InitMenuShow();
} else {
layer.msg(data.msg);
window.location = "../pages/login.html";
return;
}
});
});
}
function InitMenuShow() {
var element = layui.element;
let menus=JSON.parse(localStorage.getItem("menus"))
let html=' <li class="layui-nav-item layui-nav-itemed"><a href="index.html"><i class="layui-icon layui-icon-home"></i>主页</a></li>';
for (const dataKey in menus) {
let menu=menus[dataKey];
html+=' <li class="layui-nav-item">\n' +
' <a class="" href="javascript:;"><i class="layui-icon layui-'+menu.Icon+'"></i> '+menu.Name+'</a>\n' +
' <dl class="layui-nav-child">';
let dd='';
for (const menuKey in menu.subMenus) {
let subMenu=menu.subMenus[menuKey];
dd+=' <dd><a href="'+subMenu.Url+'.html">'+subMenu.Name+'</a></dd>';
}
html+=dd+' </dl>\n' +
' </li>';
}
$("#menuList").html('');
$("#menuList").html(html);
InitShow()
element.render('nav');
}
function InitShow(){
var url = GetUrlRelativePath();
var patt1 = new RegExp(url);
$(document.body).find('a').each(function (i, obj) {
var str = $(obj).attr('href');
if (patt1.test(str)) {
$(obj).parent().addClass("layui-this");
if ($(obj).parent().parent().parent() != null) {
$(obj).parent().parent().parent().addClass("layui-nav-itemed")
}
}
});
}
/**
* 选中菜单默认打开
*/
$(document).ready(function () {
var account = localStorage.getItem('account')
if (account == null || account == "") {
location.href = "../pages/login.html";
return;
}
LoadMenus();
$("#logName").html(account);
});
// 下面是菜单栏收缩
var isShow = true; //定义一个标志位
$('#LAY_app_flexible').click(function(){
//选择出所有的span,并判断是不是hidden
$('.layui-nav-item span').each(function(){
if($(this).is(':hidden')){
$(this).show();
}else{
$(this).hide();
}
});
//判断isshow的状态
if(isShow){
$('.layui-side.layui-bg-black').width(0); //设置宽度
$('.kit-side-fold i').css('margin-right', '70%'); //修改图标的位置
//将footer和body的宽度修改
$('.layui-body').css('left', 0+'px');
$('.layui-footer').css('left', 0+'px');
//将二级导航栏隐藏
$('dd span').each(function(){
$(this).hide();
});
//修改标志位
isShow =false;
}else{
$('.layui-side.layui-bg-black').width(200);
$('.kit-side-fold i').css('margin-right', '10%');
$('.layui-body').css('left', 200+'px');
$('.layui-footer').css('left', 200+'px');
$('dd span').each(function(){
$(this).show();
});
isShow =true;
}
});
function editPass() {
layer.open({
title: '修改密码',
area: ['500px', '300px'],
btnAlign: 'c',
closeBtn: '1',//右上角的关闭
content: `
<div class="layui-row"><label class="layui-form-label" style="width: 150px!important">请输入原先的密码</label>
<div class="col-sm-3" style="width: 300px;">
<input type="password" autocomplete="off" class="layui-input" id="oldPassword">
</div>
</div>
<div class="layui-row"><label class="layui-form-label" style="width: 150px!important">请输入密码</label>
<div class="col-sm-3" style="width: 300px;">
<input type="password" autocomplete="off" class="layui-input" id="password">
</div>
</div>
<div class="layui-row">
<label class="layui-form-label" style="width: 150px!important">请再次输入密码</label>
<div class="col-sm-3" style="width: 300px;">
<input type="password" autocomplete="off" class="layui-input" id="password2">
</div>
</div>`,
btn: ['确认', '取消'],
yes: function (index, layero) {
var account = localStorage.getItem("account");//获取多行文本框的值
var oldPassword = $('#oldPassword').val();
var password = $('#password').val();
var password2 = $('#password2').val();
if (!password || password.length == 0 || !password || password.length == 0 || !password2 || password2.length == 0) {
alert("请填写完整信息再提交");
return false;
}
if (password !== password2) {
alert("两次输入的密码不一致");
return false;
}
if (password.length < 4 || password.length > 18) {
alert("密码长度在4-18位");
return false;
}
var encryptedOld = CryptoJS.enc.Hex.stringify(CryptoJS.SHA1(oldPassword));
var encrypted = CryptoJS.enc.Hex.stringify(CryptoJS.SHA1(password));
$.getJSON(Page.SvrIp + "/api/update_password", {
token: cookie.get("token"),
account: account,
oldPassword: encryptedOld,
newPassword: encrypted
}, function (data) {
console.log(data)
if (data.ret == 3) {
alert(data.msg);
layer.close(index);
return;
} if (data.ret == 4) {
alert("旧密码输入错误!");
return false;
}
else {
alert(data.msg);
return false;
}
});
},
no: function (index) {
layer.close(index);
return false;//点击按钮按钮不想让弹层关闭就返回false
},
});
}
</script>