/** * Created by mac on 17/5/8. */ sysComm = { sysCode: '1001',//企业云系统编码 gvnSysCode: '1002',//政府系统编码 grantType: 'PASSWORD',//授权模式 clientType: 'WEB'//客户端类型 } var dataUrl = dataUrl || {}; // dataUrl.util = { // // // // } dataUrl.util = { //系统管理start //查询字典信息 getdatadicinfo: function () { return baseUrl + 'datadic/getdatadicinfo'; }, //登录日志 queryLoginLog: function () { return baseUrl + 'sysLoginLog/queryLoginLog'; }, //获取验证码 imageCodeStr: function () { return baseUrl + 'oauth/imageCodeStr' }, //登录 getLogin: function () { return baseUrl + 'oauth/login' }, //登出 getLoginOut: function () { return baseUrl + 'oauth/loginout' }, } //公共方法 fn = { //获取普通API鉴权token getToken: function () { var token = sessionStorage.getItem("token"); if (StrUtil.isEmpty(token)) { token = ''; } return token; }, //设置普通API鉴权token setToken: function (token) { sessionStorage.setItem("token", token); }, getUserAccount: function () { return sessionStorage.getItem("userAccount"); }, setUserAccount: function (userAccount) { sessionStorage.setItem("userAccount", userAccount); }, getUserName: function () { return sessionStorage.getItem("userName"); }, setUserName: function (userName) { sessionStorage.setItem("userName", userName); }, getOpImgPath: function () { return sessionStorage.getItem("imgPath"); }, setOpImgPath: function (imgPath) { sessionStorage.setItem("imgPath", imgPath); }, getUserId: function () { return sessionStorage.getItem("userId"); }, setUserId: function (userId) { sessionStorage.setItem("userId", userId); }, //跳转到登录界面 toLoginPage: function () { sessionStorage.clear() window.location.href = 'login.html' }, //登出系统 loginOut: function () { /* sessionStorage.clear() var token = fn.getToken(); fn.setToken(''); if (StrUtil.isNotEmpty()) { var req = {'token': token, 'url': dataUrl.util.getLoginOut()} sysAjax(req); } $('#userId').text(''); fn.toLoginPage();*/ } } DateUtil = { dataFormat: function (longTime, formatStr) { //格式化时间 //longTime 要进行格式化的long类型的时间 //formatStr 要格式化成的字符串类型 var data = new Date(longTime); return data.Format(formatStr); }, isLongTime: function (longTime) { //判断是否是longTime时间类型 } } //cookie操作工具类 CkUtil = { //获取cookie getCookie: function (name) { var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"); if (arr = document.cookie.match(reg)) return unescape(arr[2]); else return null; }, //删除cookie delCookie: function (name) { var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval = CkUtil.getCookie(name); if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toUTCString(); }, //设置cookie,time单位毫秒 setCookie: function (name, value, time) { var exp = new Date(); exp.setTime(exp.getTime() + time); document.cookie = name + "=" + escape(value) + ";expires=" + exp.toUTCString(); }, //获取毫秒数 1s的毫秒数为 getSec('s1') 1小时为 getSec('h1') getSec: function (str) { var str1 = str.substring(1, str.length) * 1; var str2 = str.substring(0, 1); if (str2 == "s") { return str1 * 1000; } else if (str2 == "h") { return str1 * 60 * 60 * 1000; } else if (str2 == "d") { return str1 * 24 * 60 * 60 * 1000; } } } ArrayUtils = { /**判断属性是否已经在数组中存在*/ contains: function (array, obj) { var i = array.length; while (i--) { if (array[i] === obj) { return true; } } return false; } } StrUtil = { isEmpty: function (str) { if (str == undefined || null == str || StrUtil.trim(str).length == 0) { return true; } return false; }, isNotEmpty: function (str) { return !StrUtil.isEmpty(str); }, trim: function (str) { //删除左右两端的空格 return str.replace(/(^\s*)|(\s*$)/g, ""); }, ltrim: function (str) { //删除左边的空格 return str.replace(/(^\s*)/g, ""); }, rtrim: function (str) { //删除右边的空格 return str.replace(/(\s*$)/g, ""); } } // 对Date的扩展,将 Date 转化为指定格式的String // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) // 例子: // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 Date.prototype.Format = function (fmt) { //author: meizz var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; } //公用接口调用 function sysAjax(opts) { //一.设置默认参数 var defaults = { method: 'GET', url: '', dataType: 'json', data: '', async: true, cache: false, contentType: 'application/json; charset=utf-8', success: function () { }, error: function () { } }; //二.用户参数覆盖默认参数 for (var key in opts) { defaults[key] = opts[key]; } // console.log("请求相关参数:"); // console.log(defaults) $.ajax({ type: defaults.method, url: defaults.url, dataType: defaults.dataType, contentType: defaults.contentType, data: defaults.data, async: defaults.async, beforeSend: function (xhr) { //设置请求头 //xhr.setRequestHeader("User-Agent", "headertest"); //console.log(JSON.stringify(sysComm)); xhr.setRequestHeader("x-auth-token", fn.getToken()); }, success: function (res, status, xhr) { //console.log('获取header:'+xhr.getAllResponseHeaders()); // console.log("服务器响应信息:"); // console.log(res) var msg = (typeof res.msg == 'string') && (res.msg.constructor == String) ? res.msg : res.errMsg; //成功 if (res.code == "2003") { //授权令牌不存在或已失效,请重新登录后在尝试 window.location.href = 'login.html' } else if (res.code == "2004") { //授权令牌不合法,请重新登录收尝试 //alert(res.msg); window.location.href = 'login.html' } else if (res.code == "2005") { //无此权限 alert(msg); } else { defaults.success(res, status, xhr); } }, error: function (XMLHttpRequest, textStatus, errorThrown) { if (textStatus == "timeout") { //alert('请求超时,请重试'); } else { //alert("请求报错") console.log(errorThrown); } } }); } function ajaxCommon(opts) { //一.设置默认参数 var defaults = { method: 'GET', url: '', data: '', async: true, cache: false, contentType: 'application/json; charset=utf-8', beforeSend: function (xhr) { //设置请求头 //xhr.setRequestHeader("User-Agent", "headertest"); //console.log(JSON.stringify(sysComm)); xhr.setRequestHeader("x-auth-token", fn.getToken()); }, success: function () { }, error: function () { } }; //二.用户参数覆盖默认参数 for (var key in opts) { defaults[key] = opts[key]; } defaults.method = defaults.method.toUpperCase(); //处理 method //三.对数据进行处理 //如果数据是对象,并且 方法为 get方法时,将data拼接到url后面 if (typeof defaults.data === 'object' && defaults.method === 'GET') { //处理 data var str = ''; for (var key in defaults.data) { str += key + '=' + defaults.data[key] + '&'; } defaults.data = str.substring(0, str.length - 1); } defaults.cache = defaults.cache ? '' : '&' + new Date().getTime();//处理 cache if (defaults.method === 'GET' && (defaults.data || defaults.cache)) defaults.url += '?' + defaults.data + defaults.cache; //处理 url //四.开始编写ajax //1.创建ajax对象 var oXhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); //2.和服务器建立联系,告诉服务器你要取什么文件 oXhr.open(defaults.method, defaults.url, defaults.async); //3.发送请求 if (defaults.method === 'GET') oXhr.send(null); else { oXhr.setRequestHeader("Content-type", defaults.contentType); oXhr.send(defaults.data); } //4.等待服务器回应 oXhr.onreadystatechange = function () { if (oXhr.readyState === 4) { if (oXhr.status === 200) defaults.success.call(oXhr, oXhr.responseText); else { defaults.error(); } } }; }