1. 程式人生 > 實用技巧 >首次登入修改密碼

首次登入修改密碼

1、index.html

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title>XXXXXXX</title>
  <meta name="renderer" content="webkit">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport"
    content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"
> <link rel="stylesheet" href="../layuiadmin/layui/css/layui.css" media="all"> </head> <body class="layui-layout-body"> <div id="LAY_app"> <div class="layui-layout layui-layout-admin"> <div class="layui-header"> <!-- 頭部區域 --> <
ul class="layui-nav layui-layout-left"> <li class="layui-nav-item layadmin-flexible" lay-unselect> <a href="javascript:;" layadmin-event="flexible" title="側邊伸縮"> <i class="layui-icon layui-icon-shrink-right" id="LAY_app_flexible"></i> </
a> </li> <li class="layui-nav-item layui-hide-xs" lay-unselect> <a href="../../index.html" target="_blank" title="前臺"> <i class="layui-icon layui-icon-website"></i> </a> </li> <li class="layui-nav-item" lay-unselect> <a href="javascript:;" layadmin-event="refresh" title="重新整理"> <i class="layui-icon layui-icon-refresh-3"></i> </a> </li> </ul> <ul class="layui-nav layui-layout-right" lay-filter="layadmin-layout-right"> <!-- <li class="layui-nav-item layui-hide-xs" lay-unselect> <a href="javascript:;" layadmin-event="note"> <i class="layui-icon layui-icon-note"></i> </a> </li> --> <li class="layui-nav-item layui-hide-xs" lay-unselect> <a href="javascript:;" layadmin-event="fullscreen"> <i class="layui-icon layui-icon-screen-full"></i> </a> </li> <li class="layui-nav-item" lay-unselect> <a href="javascript:;"> <cite id="userName"></cite> </a> <dl class="layui-nav-child"> <dd><a lay-href="set/user/info.html">基本資料</a></dd> <dd><a lay-href="set/user/password.html">修改密碼</a></dd> <hr> <dd layadmin-event="logout" style="text-align: center;"><a onclick="LogoutF()">退出</a></dd> </dl> </li> <li class="layui-nav-item layui-hide-xs" lay-unselect> <a href="javascript:;"><i class="layui-icon layui-icon-more-vertical"></i></a> </li> <li class="layui-nav-item layui-show-xs-inline-block layui-hide-sm" 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"> <div class="layui-side-scroll"> <div class="layui-logo" lay-href="welcome.html"> <span>電力大資料聯盟</span> </div> <ul class="layui-nav layui-nav-tree" lay-shrink="all" id="LAY-system-side-menu" lay-filter="layadmin-system-side-menu"> </ul> </div> </div> <div id='modalContent' class="layui-fluid" style="margin:0;width:400px;height:192px; top:30%;left:30%; display:none;"> <div class="layui-row layui-col-space15"> <div class="layui-col-md12"> <div class="layui-card"> <div class="layui-card-header">請修改密碼後重新登入</div> <div class="layui-card-body" pad15> <div class="layui-form" lay-filter=""> <div class="layui-form-item"> <label class="layui-form-label">當前密碼</label> <div class="layui-input-inline"> <input type="password" name="oldPassword" lay-verify="required" lay-verType="tips" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">新密碼</label> <div class="layui-input-inline"> <input type="password" name="password" lay-verify="pass" lay-verType="tips" autocomplete="off" id="LAY_password" class="layui-input"> </div> <div class="layui-form-mid layui-word-aux">8到16個字元</div> </div> <div class="layui-form-item"> <label class="layui-form-label">確認新密碼</label> <div class="layui-input-inline"> <input type="password" name="repassword" lay-verify="repass" lay-verType="tips" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" lay-submit lay-filter="setmypass">確認修改</button> </div> </div> </div> </div> </div> </div> </div> </div> <!-- 遮罩層DIV --> <div id="overlay" class="overlay"></div> <!-- 模擬模態視窗DIV --> <div class="modal" id="modalDiv"></div> <!-- 頁面標籤 --> <div class="layadmin-pagetabs" id="LAY_app_tabs"> <div class="layui-icon layadmin-tabs-control layui-icon-prev" layadmin-event="leftPage"></div> <div class="layui-icon layadmin-tabs-control layui-icon-next" layadmin-event="rightPage"></div> <div class="layui-icon layadmin-tabs-control layui-icon-down"> <ul class="layui-nav layadmin-tabs-select" lay-filter="layadmin-pagetabs-nav"> <li class="layui-nav-item" lay-unselect> <a href="javascript:;"></a> <dl class="layui-nav-child layui-anim-fadein"> <dd layadmin-event="closeThisTabs"><a href="javascript:;">關閉當前標籤頁</a></dd> <dd layadmin-event="closeOtherTabs"><a href="javascript:;">關閉其它標籤頁</a></dd> <dd layadmin-event="closeAllTabs"><a href="javascript:;">關閉全部標籤頁</a></dd> </dl> </li> </ul> </div> <div class="layui-tab" lay-unauto lay-allowClose="true" lay-filter="layadmin-layout-tabs"> <ul class="layui-tab-title" id="LAY_app_tabsheader"> <li lay-id="home/console.html" lay-attr="home/console.html" class="layui-this" style="display: none"> <i class="layui-icon layui-icon-home"></i> </li> </ul> </div> </div> <!-- 主體內容 --> <div class="layui-body" id="LAY_app_body"> <div class="layadmin-tabsbody-item layui-show"> <iframe src="welcome.html" frameborder="0" class="layadmin-iframe"></iframe> </div> </div> <!-- 輔助元素,一般用於移動裝置下遮罩 --> <div class="layadmin-body-shade" layadmin-event="shade"></div> </div> </div> <script src="../layuiadmin/layui/layui.js"></script> <script src="../layuiadmin/modules/index.js"></script> <script type="text/javascript" src="../froala_editor_2.8.5/jquery.min.js"></script <!--中文字型包,注意要放在最下面,不然會報錯--> <script type="text/javascript" src="../froala_editor_2.8.5/languages/zh_cn.js"></script> <script type="text/javascript" src="../../front/js/crypto-js.js"></script> <script src="../layuiadmin/modules/common.js"></script> <script src="../views/set/user/password.js"></script> <script> </script> </body> <script type="text/javascript"> function LogoutF(){ $.ajax({ url: ENERGY_DATA_BACK_END_DOMAIN + "/log/logout", async: false, type: "get", headers: { 'Authorization': localStorage.getItem("token"), }, complete: function() { localStorage.removeItem('token') localStorage.removeItem('menu') window.parent.location = '/biosphereFront/login.html'; } }); } </script> </html>

2.index.js

function getParams(key) {
    var reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) {
        return unescape(r[2]);
    }
    return null;
};
var TYPE = getParams("type") || "";
var QUERYPARAMS = {};
layui.use(['layer', 'form', 'jquery', 'laypage', 'table', 'laydate', 'upload', 'element'], function () {
    var form = layui.form,
        layer = parent.layer === undefined ? layui.layer : parent.layer,
        laypage = layui.laypage,
        table = layui.table,
        upload = layui.upload,
        laydate = layui.laydate,
        $ = layui.jquery;
    var element = layui.element; //導航的hover效果、二級選單等功能,需要依賴element模組

    //監聽導航點選
    element.on('nav(demo)', function (elem) {
        //console.log(elem)
        layer.msg(elem.text());
    });
    var MENU = JSON.parse(localStorage.getItem('menu')) || [];
    var USER;
    
    $.ajax({
        url: ENERGY_DATA_BACK_END_DOMAIN + "/log/me",
        async: false,
        type: "get",
        headers: {
            'Authorization': localStorage.getItem("token"),
        },
        success: function (result) {
            USER = result;
        },
        error: function (xhr, textStatus, errorThrown) {
            if (xhr.status == 401) {
                window.parent.location = ENERGY_FRONT_LOGIN_PAGE;
            }
        }
    });
    
    if (MENU.length == 0) {
//        initmenu();
    } else {
        renderMenu(MENU);
    }
    $("#userName").empty().html(USER.userName);
    function initmenu() {
        $.ajax({
            url: ENERGY_DATA_BACK_END_DOMAIN + "/end/menu/getSelfTree",
            dataType: "json",
            type: "POST",
            data: {
                roleId: USER.userRole
            },
            headers: {
                'Authorization': localStorage.getItem("token"),
            },
            success: function (result) {
                var data = result.data;
                if(data.length == 0) {
                    layer.alert("您沒有許可權訪問任何頁面,如需訪問請聯絡管理員");
                }
                renderMenu(data);
            },
            error: function (xhr, textStatus, errorThrown) {
                if (xhr.status == 401) {
                    window.parent.location = '/biosphereFront/login.html';
                }
            }
        });
    }

    function renderMenu(data) {
        $('#LAY-system-side-menu').html("");
        var menuhtml = "";
        for (var i = 0; i < data.length; i++) {
            var npath = data[i].path || "";
            var name = data[i].id;

            if (data[i].children) {
                menuhtml += ' <li data-name="' + name + '" class="layui-nav-item ">' +
                    '<a href="javascript:;"  lay-tips="' + data[i].title + '" lay-direction="2">' +
                    '<i class="layui-icon ' + data[i].icon + '"></i>' +
                    '<cite>' + data[i].title + '</cite></a>';
                var child = data[i].children;
                menuhtml += '<dl class="layui-nav-child">';
                for (var j = 0; j < child.length; j++) {
                    var path = child[j].path || "";
                    menuhtml += '<dd data-name="' + name + '" >' +
                        '<a lay-href="' + path + '">' + child[j].title + '</a>' +
                        '</dd>';
                }
                menuhtml += '</dl>';
            } else {
                menuhtml += ' <li data-name="' + name + '" class="layui-nav-item ">' +
                    '<a href="javascript:;" lay-href="' + npath + '" lay-tips="' + data[i].title + '" lay-direction="2">' +
                    '<i class="layui-icon ' + data[i].icon + '"></i>' +
                    '<cite>' + data[i].title + '</cite></a>';
            }
            menuhtml += '</li>';
        }
        $('#LAY-system-side-menu').html(menuhtml);
        element.init();
    }
    
 // 瀏覽器相容 取得瀏覽器可視區高度   
    function getWindowInnerHeight() {   
        var winHeight = window.innerHeight   
                || (document.documentElement && document.documentElement.clientHeight)   
                || (document.body && document.body.clientHeight);   
        return winHeight;   
           
    }   
      
    // 瀏覽器相容 取得瀏覽器可視區寬度   
    function getWindowInnerWidth() {   
        var winWidth = window.innerWidth   
                || (document.documentElement && document.documentElement.clientWidth)   
                || (document.body && document.body.clientWidth);   
        return winWidth;   
           
    }   
    
    /**  
     * 顯示遮罩層  
     */
    function showOverlay() {   
        // 遮罩層寬高分別為頁面內容的寬高   
        $('.overlay').css({'height':$(document).height(),'width':$(document).width()});   
        $('.overlay').show();   
    }  
    
    $('.showModal').on('click', function () {
        // 呼叫父視窗方法模擬彈出模態視窗   
        showModal($('#modalContent').html());    
    })
    
    function checkIsFirstLogin(){
        var isFirstLogin = USER.isFirstLogin;
        if(isFirstLogin == 0){
            showModal(showModal($('#modalContent').html()));
        } else if(!USER.kennwortUpdate) {
            showModal(showModal($('#modalContent').html()));
        } else {
            //獲取預警資訊
            $.ajax({
                url: ENERGY_DATA_BACK_END_DOMAIN + "/end/health",
                async: false,
                type: "get",
                headers: {
                    'Authorization': localStorage.getItem("token"),
                },
                success: function (result) {
                    if(result && result.memoryUsage){
                        setTimeout(function(){
                            var nr = "";
                            var url ="~/rest/yjAndDbxx/findYjAndDbxx";
                             var getResult = {
                                 tdxxcdwhsj : 100
                             };                     
                             
                             var condition = "";
                             if(result.memoryUsage * 100 > 80) {
                                 condition = "<span style='color:red;'>危險</span>";
                             } else {
                                 condition = "<span style=''>正常</span>";
                             }
                             nr += "<p style='margin-top:20px;'>記憶體使用率" + Number(result.memoryUsage * 100).toFixed(2) + "%   " + condition + "</p>";
                            var $div =  $("<div id='tsxx' hidden='hidden' style='border-radius: 8px;z-index:999;width:360px;height:300px;position:fixed;border:1px solid #ccc;bottom:30px;padding:10px 10px 10px 10px;right:15px;background-color: rgb(90,152,222);'>" +
                                        "<div id='tstitle' style='position: relative;top:-7px;height:27px;width:100%;line-height:28px;font-size:18px;color:white;'>&nbsp;系統提示<input style='width: 40px;cursor: pointer;position: absolute;background:rgb(90,152,222);right: -8px;border: 0px solid #707070;color:white;' type='button' value='×' /></div>" +
                                        "<div id='tsbody' style='border-radius: 6px;padding-bottom: 10px;padding-right: 10px;padding-left:20px;position: relative;height:250px;width:92%;overflow: auto;background:white;font-size:18px;'>" +
                                        nr+               
                                        "</div>" +
                                        "</div>");
                            if(nr != ""){
                                $(document.body).append($div);
                            }
                            $("#tsxx").slideToggle(2000);
                            for ( var i = 0; i < document.querySelectorAll("a.yjhover").length; i++) {
                                 document.querySelectorAll("a.yjhover")[i].onmouseover=function(e){
                                     e.path[0].style='font-size:18px;color:red;';
                                 }
                                 document.querySelectorAll("a.yjhover")[i].onmouseout=function(e){
                                     e.path[0].style='font-size:18px;color:black;';
                                 }
                            }
                            $("#tsxx #tstitle input").on("click",function(){
                                $("#tsxx").hide();
                            });
                        },1000);
                    }
                },
                error: function() {
                    
                }
            });
        }
    }
    checkIsFirstLogin();
    
    $('.closeModal').on('click', function () {
        // 呼叫父視窗方法模擬關閉模態視窗   
         $('.overlay').hide();   
         $('#modalDiv').hide();   
         $('#modalDiv').html(''); 
    })
    
    function showModal(innerHtml) {   
        // 取得顯示模擬模態視窗用DIV   
        var dialog = $('#modalDiv');   
           
        // 設定內容   
        dialog.html(innerHtml);   
           
        // 模態視窗DIV視窗居中   
        dialog.css({   
            'top' : (getWindowInnerHeight() - dialog.height()) / 2 + 'px',   
            'left' : (getWindowInnerWidth() - dialog.width()) / 2 + 'px'  
        });   
           
        // 視窗DIV圓角   
        dialog.find('.modal-container').css('border-radius','6px');   
           
        // 模態視窗關閉按鈕事件   
        dialog.find('.btn-close').click(function(){   
            closeModal();   
        });   
           
        // 顯示遮罩層   
        showOverlay();
           
        // 顯示遮罩層   
        dialog.show();   
    } 
    
    /**  
     * 模擬關閉模態視窗DIV  
     */  
    function closeModal() {   
        $('.overlay').hide();   
        $('#modalDiv').hide();   
        $('#modalDiv').html('');   
    }   
    
});
function formatName(name) {
    let newStr;
    if (name.length === 4) {
    newStr = name.substr(0, 3) + '*';
    } else if (name.length > 4) {
      let char = '';
      for (let i = 0, len = name.length - 4; i < len; i=i+2) {
        char += '*';
      }
      newStr = name.substr(0, 2) + char + name.substr(-1, 3);
    } else {
      newStr = name;
    }

    return newStr;
 }

layui.config({
    base: '../layuiadmin/' //靜態資源所在路徑
}).extend({
    index: 'lib/index' //主入口模組
}).use('index');