/** * 1. 设置ajax请求头信息 * 2. 统一的ajax完成时的处理,处理ajax请求出错时的信息 * @author LiuWei */ if (window.jQuery) { jQuery.ajaxSetup({ beforeSend: function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("ajax", "true"); XMLHttpRequest.setRequestHeader("currUrl", top.window.location["href"]); }, error: function(jqXHR, textStatus, errorThrown){ if(jqXHR.status == 403){ if(app.isLogin){ alert("缺少权限"); } else { if($.isFunction(getLogin)){ getLogin(); var ajaxParam = this; $(window).bind("login_success", function(){ $.ajax(ajaxParam); }); } else { alert("请先登录"); } } } } }); $.ajaxPrefilter(function( options, originalOptions, jqXHR ) { var url = options.url; if(url.indexOf("?") == -1){ url = url + "?"; } url = url + "&_=" + new Date().getTime(); options.url = url; }); } window.app = { proxy: function(options){ if ( typeof options !== "object" || !options.url) { return; } if(options.url.toUpperCase() == "SMS"){ options.type = "POST"; options.contentType = "multipart/form-data"; options.data = $.toJSON(options.data); } else if (options.type && options.type.toLowerCase() == "post"){ options.contentType = "multipart/form-data"; options.data = $.toJSON(options.data); } options.url = "/proxy?url=" + encodeURIComponent(options.url); $.ajax(options); }, ctx: "", timeout:2000, NEWS_LIST_URL:"/news", NEWS_ELIST_URL:"/message", HOT_STOCK_LIST_URL:"/hotstock", TRADE_LIST_URL:"/trade", ACTIVITY_URL:"/aas", NEWS_CONTENT_URL:"/news/content", STOCK_QUOTESNAP_URL:"http://192.168.1.176:8040/studio/service/quotesnap.do?stockno=", STOCK_INCREASE_URL:"http://192.168.1.176:8040/service/hq/hqdata?flag=1%26cls=1%26ps=5%26p=1", user: {}, isLogin: false, onLoginSuccess: function(user){ app.user = user; app.isLogin = true; $(window).trigger("login_success"); }, hasAnyRole: function(){ if(app.isLogin){ var authorities = app.user.authorities; for (var i = 0; i < arguments.length; i++) { for (var j = 0; j < authorities.length; j++) { if (arguments[i] == authorities[j]) { return true; } } } } return false; }, // 安全代理. securityDelegate: function(options){ if(!$.isFunction(options.targetFn)){ return options.targetFn; } options = $.extend({ isShowLogin: true, isShowMessage: true, scope: window }, options); return function(){ if(app.isLogin){ var canAccess = false; if(typeof(options.access) == "string"){ canAccess = eval(options.access); }else if($.isFunction(options.access)){ canAccess = options.access(); } if(canAccess){ options.targetFn.apply(options.scope, arguments); }else{ if(options.isShowMessage){ alert("缺少权限"); } } }else{ if(options.isShowLogin && $.isFunction(getLogin)){ getLogin(); } } } } }; // 用户退出 $(window).bind("logout_success", function(){ app.isLogin = false; app.user = {}; });