var path = "";
|
var configData = {};
|
var portal = null;
|
var usedTime = 0;
|
var projectName = "";
|
var processInterval = null;
|
var isDebug = true;
|
var $webUtil = null;
|
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,taskOid){
|
loadJs(sessionInfo,taskOid);//获取配置后,判断是否登录-没有登录跳转到登录页,登录后初始化页面
|
});
|
});
|
});
|
function getConfig(callback){
|
$.getJSON(projectName + "config.json?v=" + (new Date()).getTime(),function(data){
|
configData = data;
|
$webUtil = new vciWebUtil();
|
webUtil = $webUtil;
|
if(configData.isDebug == "true" || configData.isDebug == true){
|
jQuery.support.cors = true;
|
path = configData.backPath;
|
}else{
|
path = projectName;
|
if(configData.compatibility) {
|
if (pathName.indexOf("/") > -1) {
|
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";
|
}
|
if (!configData.sessionInfoUrl) {
|
configData.sessionInfoUrl = "framework/loginController/getSessionInfo";
|
}
|
if (!configData.logoutUrl) {
|
configData.logoutUrl = "framework/loginController/logout";
|
}
|
if (!configData.objectServicePath) {
|
configData.objectServicePath = path + "objectService/";
|
}
|
if (!configData.frameworkPath) {
|
configData.frameworkPath = path + "framework/";
|
}
|
}
|
function getUrlParam() {
|
//获取连接地址
|
var url = document.location.toString();
|
//分隔开连接,用?把传的值取出来
|
var arrObj = url.split("?");
|
var param = {};
|
//判断连接里面是不是有值,如果有则执行下面操作
|
if (arrObj.length > 1) {
|
//取出所有传的值
|
var arrPara = arrObj[1].split("&");
|
var arr;
|
for (var i = 0; i < arrPara.length; i++) {
|
arr = arrPara[i].split("=");
|
//把第二个值赋值给第一个值
|
param[arr[0]] = arr[1];
|
}
|
}
|
return param;
|
}
|
function checkIsLogin(callback){
|
//增加单点登录的内容
|
var param = getUrlParam();
|
var token= readCookie(TOKEN_KEY);
|
var taskOid = param['taskOid'];
|
var msg = readCookie("msg");
|
if(msg && $webUtil.isNotNull(msg)){
|
$webUtil.showErrorMsg(msg);
|
return false;
|
}
|
if($webUtil.isNull(token)){
|
//兼容IE6
|
token = readCookie(TOKEN_KEY);
|
if($webUtil.isNull(token)) {
|
doNoLogin();
|
return false;
|
}
|
}
|
var param = {};
|
param[TOKEN_KEY] = token;
|
$webUtil.post(configData.sessionInfoUrl,param,function(result){
|
//如果在线,那直接提示用户是否要继续
|
if(result.success){
|
$webUtil.deptOid = result.obj.deptOid; // 保存用户部门Oid
|
if(callback){
|
callback(result.obj,taskOid);
|
}
|
}else{
|
doNoLogin();
|
}
|
},function(xhr,error){
|
alert(error);
|
doNoLogin();
|
});
|
}
|
function doNoLogin(){//未登录的处理方式
|
$("#noLogin").show();
|
$("#noLoginInfo").html("您没有登录,将在5秒后自动跳转到登录页面");
|
processInterval = window.setInterval(function(){
|
usedTime ++;
|
if(usedTime == 5){
|
window.clearInterval(processInterval);
|
window.location.href = projectName + "index.html";
|
}else{
|
$("#noLoginInfo").html("您没有登录,将在" + (5-usedTime) + "秒后自动跳转到登录页面");
|
}
|
},1000);
|
}
|
function loadJs(sessionInfo,taskOid){
|
for(var cssName in configData.loadCss){
|
if("gaodeMapCss" != cssName || configData.isOpenMap || ("gaodeMapCss" == cssName && configData.isOpenMap)){
|
$("head").append('<link href="' + projectName + configData.loadCss[cssName] + '" rel="stylesheet" type="text/css" />');//添加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('<script src="' +jsUrl + '" type="text/javascript" charset="UTF-8"></script>');
|
}
|
}
|
initData(sessionInfo,taskOid);
|
}
|
|
|
function readCookie(name) {
|
var value = $.cookie(name);
|
if($webUtil.isNull(value)) {
|
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)
|
}
|
}
|
}else{
|
return value;
|
}
|
return false;
|
}
|
|
function initData(sessionInfo,taskOid){
|
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
|
});
|
layui.isDebug = isDebug;
|
|
//初始化主页
|
layui.use(['vciAlias'],function(){
|
var alias = layui.vciAlias;
|
alias.configAlias();
|
if($webUtil.isNotNull(taskOid)){
|
//只显示待办任务
|
layui.use(['view/process/vciWebProExecuteTask'], function () {
|
var executeTask = layui['view/process/vciWebProExecuteTask'];
|
executeTask.init();
|
$webUtil.post("/webProcessDefineController/getTaskByOid",{taskOid:taskOid},function(result){
|
if(result.success && result.obj && result.obj.length > 0){
|
var taskInfo = [];
|
taskInfo.push({
|
taskOid:result.obj[0].oid,
|
taskName:result.obj[0].name,
|
executionId:result.obj[0].executionid
|
});
|
executeTask.showExecuteWindow(taskInfo,{
|
full:true,
|
fullScreen:true
|
},function(finish){
|
|
});
|
}else{
|
$webUtil.showErrorMsg(result.msg);
|
}
|
},function(xhr,error){
|
$webUtil.showErrorMsg("查看流程任务出错");
|
},path);
|
});
|
}else {
|
layui.use(['vciWebPortalDojoUI'], function () {
|
portal = layui.vciWebPortalDojoUI;
|
portal.sessionInfo = mySessionInfo;
|
portal.themeName = themeName;
|
portal.loginUrl = configData.loginUrl;
|
if (!$webUtil.isSso() && (portal.sessionInfo.mustChangePassword == "true" || portal.sessionInfo.mustChangePassword == true)) {
|
if ($webUtil.isNotNull(portal.sessionInfo.passwordInfo)) {
|
//说明需要显示密码信息
|
$webUtil.showErrorMsg(portal.sessionInfo.passwordInfo, function () {
|
portal.sessionInfo.passwordInfo = "";
|
portal.changepdw(true, function () {
|
initPortal();
|
portal.sessionInfo.mustChangePassword = false;
|
});
|
});
|
} else {
|
portal.changepdw(true, function () {
|
initPortal();
|
portal.sessionInfo.mustChangePassword = false;
|
});
|
}
|
} else {
|
initPortal();
|
portal.sessionInfo.mustChangePassword = false;
|
}
|
});
|
}
|
// layui.use(['vciWebSocket','layer'],function(){
|
// var socket = layui.vciWebSocket;
|
// socket.config = {
|
// onopen: function(){
|
// //握手成功
|
// //console.log("服务连接成功");
|
// },
|
// onmessage:function(data){
|
// //console.log(data);layer.alert(data.data)
|
// //top.layer.alert(data);
|
// //收到消息
|
// }
|
// };
|
// socket.init()
|
// })
|
});
|
}
|
function initPortal(){
|
portal.init();//初始化
|
if ($.cookie("isLockWindow") == "true") {
|
portal.lockWindow();
|
}
|
if($webUtil.isNotNull(portal.sessionInfo.passwordInfo) && !$webUtil.isSso()){
|
//说明需要显示密码信息
|
$webUtil.showErrorMsg(portal.sessionInfo.passwordInfo);
|
}
|
}
|