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
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>
|