var path = ""; var configData = {}; var portal = null; var usedTime = 0; var projectName = ""; var processInterval = null; var isDebug = true; var $webUtil = null; var pathName = ""; var themeName = ""; var TOKEN_KEY = "AuthorizationToken"; var emptyFunction = function(){}; var mySessionInfo = {}; $(document).ready(function(){ $.ajaxSetup({ cache:false, xhr: function() { if (window.ActiveXObject) { return new window.ActiveXObject("Microsoft.XMLHTTP"); } else { return new window.XMLHttpRequest(); } } }); pathName = window.document.location.pathname; projectName = pathName.substring(0, pathName.substr(1).indexOf('/') + 1) + "/"; getConfig(function(){ initDefaultConfig(); checkIsLogin(function(sessionInfo){ loadJs(sessionInfo);//获取配置后,判断是否登录-没有登录跳转到登录页,登录后初始化页面 }); }); }); function getConfig(callback){ $.getJSON(projectName + "config.json?v=" + (new Date()).getTime(),function(data){ configData = data; $webUtil = new vciWebUtil(); if(configData.isDebug == "true" || configData.isDebug == true){ path = configData.backPath; }else{ path = projectName; if(configData.compatibility) { if (pathName.indexOf("/") > -1) { if(""!=configData.unCorsPath){ path = path.substring(0, path.lastIndexOf("/")) + "/" + configData.unCorsPath + "/"; }else{ path = path.substring(0, path.lastIndexOf("/")) + "/"; } } } } isDebug = configData.isDebug; if(callback){ callback(); } }); } function initDefaultConfig() { if (!configData.backgroundimg) { configData.backgroundimg = "style/images/index/login/background-gray.png"; } if (!configData.defaultPhoto) { configData.defaultPhoto = "style/images/index/login/userphotoman.png"; } if (!configData.loginUrl) { configData.loginUrl = "framework/loginController/login"; } configData.sessionInfoUrl = "loginForAdmin/getSessionInfo"; if (!configData.logoutUrl) { configData.logoutUrl = "framework/loginController/logout"; } if (!configData.objectServicePath) { configData.objectServicePath = path + "objectService/"; } if (!configData.frameworkPath) { configData.frameworkPath = path + "framework/"; } } function checkIsLogin(callback){ var token =$.cookie(TOKEN_KEY); if($webUtil.isNull(token)){ //兼容IE6 token = readCookie(TOKEN_KEY); if($webUtil.isNull(token)) { doNoLogin(); return false; } } jQuery.support.cors = true; $webUtil.post('loginForAdmin/getSessionInfo2',{},function(result){ //如果在线,那直接提示用户是否要继续 if(result.success){ if(callback){ callback(result.obj); } }else{ doNoLogin(); } },function(xhr,error){ alert(error); //doNoLogin(); },(configData.isDebug == "true" || configData.isDebug == true)?configData.adminServicePath:path); } function doNoLogin(){//未登录的处理方式 $("#noLogin").show(); $("#noLoginInfo").html("您没有登录,将在5秒后自动跳转到登录页面"); processInterval = window.setInterval(function(){ usedTime ++; if(usedTime == 5){ window.clearInterval(processInterval); window.location.href = projectName + "indexAdmin.html"; }else{ $("#noLoginInfo").html("您没有登录,将在" + (5-usedTime) + "秒后自动跳转到登录页面"); } },1000); } function loadJs(sessionInfo){ for(var cssName in configData.loadCss){ if("gaodeMapCss" != cssName || configData.isOpenMap || ("gaodeMapCss" == cssName && configData.isOpenMap)){ $("head").append('');//添加css引用 } } //加载js文件 for(var jsName in configData.loadJs){ if("gaodeMapjs" != jsName || configData.isOpenMap || ("gaodeMapjs" == jsName && configData.isOpenMap)){ var jsUrl = projectName + configData.loadJs[jsName]; if("gaodeMapjs" == jsName){ jsUrl = jsUrl + "&key=" + configData.gaodeMapKey; } $("head").append(''); } } initData(sessionInfo); } function readCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' '){ c = c.substring(1,c.length); } if (c.indexOf(nameEQ) == 0) { return c.substring(nameEQ.length,c.length) } } return false; } function initData(sessionInfo){ document.title = configData.title;//设置标题--不能使用jquery里的attr方法 //获取主题 themeName = $.cookie('vciWebThemeName'); if(themeName == null || themeName == "" || themeName =="null"){ themeName = "black"; } $.cookie('userphotocookie',sessionInfo.photoUrl); mySessionInfo = sessionInfo; if($webUtil.isNotNull(sessionInfo.photoUrl)){ configData.vciWebPortal.mainConfig.userCenterSrc = sessionInfo.photoUrl } //导入配置 layui.config({ base:projectName +configData.webJsLib, version:configData.jsversion }); layui.isDebug = isDebug; configData.mesPath = configData.mes182Path; //初始化主页 layui.use(['vciAlias'],function(){ var alias = layui.vciAlias; alias.configAlias(); layui.use(['platform/monitor/VciMonitorMain','vciWebPortal'], function () { portal = layui.vciWebPortal; portal.sessionInfo = mySessionInfo; portal.themeName = themeName; portal.loginUrl = configData.loginUrl; if(!configData.isDebug && configData.compatibility){ configData.adminServicePath = path; } configData.logoutUrl = configData.adminServicePath + "loginForAdmin/logout"; var webMenu = layui.vciWebMenu; webMenu.menuUlId = 'portal_menu_tree'; webMenu.backPath = configData.adminServicePath; webMenu.menuClickListener = function (id, menuObject, isFav) { portal.showTabByMenu(id, menuObject); }; webMenu.init(); portal.webMenu = webMenu; portal.element = layui.element; webMenu.buildAllListener(); $(".vciWebMenuLeaf").eq(0).trigger('click') portal.element.init();//刷新所有的元素 portal.element.on('tabDelete(' + portal.tabPanelFilter + ')',function(data){ var id = $(this).parent().attr("lay-id"); if(portal.allAddedTab && portal.allAddedTab[id] && portal.allAddedTab[id].instanceObject){//调用销毁事件 try{ portal.allAddedTab[id].instanceObject.destory(); }catch(e){ } } delete portal.allAddedTab[id]; }); layui.use('portal/vciAdminMain', function () { var index = layui['portal/vciAdminMain']; $("#vciPortalIndexContent").html(index.getContent()); index.init(); }); }); }); $(".outLogin").on("click",function() { $webUtil.showConfirmMsg('您确定要退出系统吗', function (index) { $webUtil.post(configData.logoutUrl, {}, function (result) { //无论成功与否都需要跳转了 $.removeCookie('AuthorizationToken',{path:"/"}); window.location.href = projectName + "indexAdmin.html"; },function (err,xhr) { $.removeCookie('AuthorizationToken',{path:"/"}); window.location.href = projectName + "indexAdmin.html"; }); }); }); }