/** * Created by mac on 17/7/3. */ /** * Created by mac on 17/5/8. */ sysComm = { sysCode: '1001',//系统编码 cityId:309,//市id provId:23,//省id cityName:'眉山市',//城市 areaName:'眉山市东坡区', point_lng:103.839461,//赤峰市万达广场经度 point_lat:30.044922,//赤峰市万达广场纬度(118.917132,42.255586) centerpoint_lng:103.839461,//热点区域中心点 centerpoint_lat:30.044922,//维多利购物广场坐标(118.967899,42.279838) grantType: 'PASSWORD',//授权模式 clientType: 'WEB'//客户端类型 } // var baseUrl = 'http://192.168.1.196:8099/';// url公用地址 var baseUrl = 'http://120.26.116.79:8094/';// url公用地址 //var baseUrl = 'http://127.0.0.1:8099/';// url公用地址 //var baseUrl = 'http://192.168.1.111:8099/';// url公用地址 var authUrl = 'http://120.26.116.79:8088/';// 鉴权URL公用地址 var dataUrl = dataUrl || {}; dataUrl.util = { //根据停车场编号获取空闲车位数 queryParkFreeBerthsByPkNos:function(){ return baseUrl +'parkingLBS/queryParkFreeBerthsByPkNos' }, //热点区域 预警下发 smsWarningNotice:function(){ return baseUrl +'hotspot/smsWarningNotice' }, //根据热点区域获取周边停车场 getParkLotByHotSpot:function(){ return baseUrl +'hotspot/parkinglots' }, //获取某个城市的热点区域 getHotspotByCityId:function(){ return baseUrl+'hotspot/getHotspotByCityId'; }, //park-websocket端点 getParkWebSocketEndpoint:function(){ return baseUrl+'park-websocket'; }, //获取某个城市要显示的区县 getDisplayCountry:function(){ return baseUrl + 'dataGeneralize/displayCountryByCityId' }, //首页-空闲车位雷达图 getFreeBerthRadarChart:function () { return baseUrl + 'dataGeneralize/freeBerthRadarChart' }, sendFreeBerthRadarChartByWebSocket:function () { return baseUrl + 'park/freeBerthRadarChartByWebSocket' }, subscribeFreeBerthRadarChartByWebSocket:function(){ return '/user/'+sysComm.cityId+'freeBerthRadarChartByWebSocket'; }, //首页-停车场柱图 getParkinglotColumnChart:function(){ return baseUrl + 'dataGeneralize/parkinglotColumnChart' }, //首页-停车场设备 getParkLotEqpCountChart:function(){ return baseUrl + 'dataGeneralize/statisticParkLotEqpCountByCountry' }, //首页-中间地图 getParkAndBerthAndEqpMap:function(){ return baseUrl + 'dataGeneralize/parkAndBerthAndEqpMap' }, //首页-线上线下排行 getQueryParkTransaction:function(){ return baseUrl + 'dataGeneralize/queryParkTransaction' }, //首页-车位配比 getBerthSpaceRatioChart:function(){ return baseUrl + 'dataGeneralize/berthSpaceRatioChart' }, //停车LBS-查询省市的停车热点-按小时统计 queryParkHeatmapByHour:function(){ return baseUrl + 'parkingLBS/queryParkHeatmapByHour' }, //停车LBS-查询省市的停车热点-按日期统计 queryParkHeatmapByDay:function(){ return baseUrl + 'parkingLBS/queryParkHeatmapByDay' }, //查询区域的下一级 queryNextLowerLeverById:function(){ return baseUrl + 'area/queryNextLowerLeverById' }, //获取验证码 getLoginImageCode: function () { return authUrl + 'oauth/imageCode?' + Math.random() }, //登录 getLogin: function () { return authUrl + 'oauth/login' }, //登出 getLoginOut: function () { return authUrl + 'oauth/loginout' }, //获取菜单 getMenuByOpId: baseUrl + 'sysOp/queryMenuByOpId', //查询角色 getQueryRoles: function () { return baseUrl + 'sysRole/queryRoles' }, //查询职能 getQueryJobFunc: function () { return baseUrl + 'sysJobFunc/pageQuerySysjobFunc' }, //根据职能ID 获取 改职能下有哪些资源 queryResByJobFunId: baseUrl + 'sysJobFunc/queryResIdByJobFunId', //新增或更新 职能信息 职能与资源的关联关系 saveOrUpdateJobFunWithResIds: baseUrl + 'sysJobFunc/saveOrUpdateJobFunWithResIds', //根据职能id查询角色 getRoleByJobFuncId: baseUrl + 'sysJobFunc/queryResIdByJobFunId', //删除职能 deleteJobFun: baseUrl + 'sysJobFunc/deleteSysJobFunc', //更新职能 updateJobFun: baseUrl + 'sysJobFunc/updateJobFun', //保存职能 saveJobFun: baseUrl + 'sysJobFunc/saveJobFun', //通过syscode查询职能 getJobFuncsBySysCode: function () { return baseUrl + 'sysJobFunc/queryJobFuncsBySysCode' }, //通过角色查询职能 queryJobFuncsByRoleId: function () { return baseUrl + 'sysJobFunc/queryJobFuncsByRoleId' }, //修改密码 modifyPass: baseUrl + 'sysOp/modifyPass', isUsedForRoleByRoleId: function () { return baseUrl + 'sysRole/isUsedForRoleByRoleId'; }, saveRole: function () { return baseUrl + 'sysRole/add' }, updateRole: function () { return baseUrl + 'sysRole/update' }, deleteRole: function () { return baseUrl + 'sysRole/delete' }, //查询用户分页列表 getQueryUsersList: baseUrl + 'sysOp/queryOpsBySysCode', //查询用户名loginCode是否可以用 queryLoginCodeIsUsed: baseUrl + 'sysOp/loginCodeIsUsed', //保存用户 saveUser: baseUrl + 'sysOp/insertUser', //修改用户 updateUser: baseUrl + '/sysOp/modifyUser', //删除用户 deleteUser: baseUrl + '/sysOp/deleteUser', //重置密码 resetUserPwd: baseUrl + 'sysOp/modifyUserPassword', //添加用户时查询角色列表 getQueryRolesList: baseUrl + 'sysOp/queryRolesBySysCode', //条件查询时查询部门(组织)列表 getQueryOrgsList: baseUrl + 'sysOp/queryOrgsBySysCode', //查询组织分页列表 getQueryOrgsPageList: baseUrl + 'sysOrg/getQueryOrgList', //添加组织 saveOrg: baseUrl + 'sysOrg/insertOrg', //修改组织 updateOrg: baseUrl + 'sysOrg/modifyOrg', //删除组织 deleteOrg: baseUrl + 'sysOrg/deleteOrg', //判断组织是否被占用 isUsedForOrgByOrgId: baseUrl + 'sysOrg/isUsedForOrgByOrgId', //通过sysCode构建树形组织 getOrgTreeBySysCode: function () { return baseUrl + 'sysOrg/getOrgTreeBySysCode' }, //查询菜单 getSysResBySysCode: function () { return baseUrl + 'sysRes/queryResBySysCode' }, //通过syscode查询菜单树 getResTreeBySysCode: function () { return baseUrl + 'sysRes/getResTreeBySysCode' }, //删除菜单 deleteRes: function () { return baseUrl + 'sysRes/delete' }, //保存或更新菜单 saveOrUpdateRes: function () { return baseUrl + 'sysRes/saveOrUpdate' }, //判断某菜单是否已经被使用 isUsedForMenuByMenuId: function () { return baseUrl + 'sysRes/isUsedForResByResId' }, //根据行政区域编码 以及 诱导屏幕等级 查询诱导屏信息 listGuideScreenByAreaCodes: function () { return baseUrl + 'guideScreen/listGuideScreenByAreaCodes' }, //查询所有诱导屏信息,用于地图展示 listGuideScreenForMap: function () { return baseUrl + 'guideScreen/listGuideScreenForMap' }, //根据行政区编码 统计各个诱导屏数量 statisticsGuideScreenLevelByAreaCodes: function () { return baseUrl + 'guideScreen/statisticsGuideScreenLevelByAreaCodes' }, //根据诱导牌编号 查询诱导屏信息 getGuideScreenInfo:function () { return baseUrl+'guideScreen/getGuideScreenInfo' }, //数据分析-->停车轨迹-->加载饼图 getPieChartURL:function(){ return baseUrl+'parkingContrail/parkingCountForPlType' }, //数据分析-->停车轨迹-->统计图 getStatisticalChar:function(){ return baseUrl+'parkingContrail/parkingCountForBusiCircle' }, //数据分析-->停车轨迹-->表哥 queryParkingTrack:function(){ return baseUrl+'parkingContrail/queryParkingTrack' }, //停车场分页查询-根据市、区县id、停车场名称或地址 queryParkLotByCountryAndParkName:function () { return baseUrl+'parkingLBS/queryParkLotByCountryAndParkName' }, //根据停车场编号列表查询停车场空闲车位数 queryParkFreeBerthsByPkNos:function () { return baseUrl+'parkingLBS/queryParkFreeBerthsByPkNos' }, //根据停车场编号列表查询停车场空闲车位数 queryParkingLotGeoByCountryAndParkName:function () { return baseUrl+'parkingLBS/queryParkingLotGeoByCountryAndParkName' } } //公共方法 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); }, getUserId: function () { return sessionStorage.getItem("userId"); }, setUserId: function (userId) { sessionStorage.setItem("userId", userId); }, //获取鉴权API会话token getAuthToken: function () { var authToken = sessionStorage.getItem("Authtoken"); if (StrUtil.isEmpty(authToken)) { authToken = ''; } return authToken; }, //设置鉴权API会话token setAuthToken: function (autoToken) { sessionStorage.setItem("Authtoken", autoToken); }, //跳转到登录界面 toLoginPage: function () { window.location.href = '../../login.html' }, //登出系统 loginOut: function () { var token = fn.getToken(); fn.setToken(''); if (StrUtil.isNotEmpty()) { var req = {'token': token, 'url': dataUrl.util.getLoginOut()} sysAjax(req); } 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; } } } 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) { //校验token // if(!token){ // window.location.href="" // } //一.设置默认参数 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.getAuthToken()); xhr.setRequestHeader("Authorization", 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") { //授权令牌不存在或已失效,请重新登录后在尝试 alert(res.errMsg); } else if (res.code == "2004") { //授权令牌不合法,请重新登录收尝试 alert(res.errMsg); } 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', 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(); } } }; }