| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- var Notify = require("./Notify.js");
- module.exports = {
- pageSize: 20,
- // 异常处理
- processException: function (XMLHttpRequest, textStatus, errorThrown) {
- var _self = this;
- console.log(XMLHttpRequest);
- if (XMLHttpRequest.status == 400) {
- // 400 Bad Request
- Notify.error("400", XMLHttpRequest.responseText, true);
- } else if (XMLHttpRequest.status == 401) {
- var currentUrl = window.location;
- var href = window.location.href;
- // 当前未处于登陆的界面
- // 系统未登录
- if (href.indexOf('login') < 0 && href.indexOf('redirectUrl=') < 0) {
- // 处理钉钉免登陆
- const clientId = this.getRouteParam("clientId");
- const appName = this.getRouteParam("appName");
- const corpId = this.getRouteParam("corpId");
- let newUrl;
- if (clientId != null && clientId.length > 0 && appName != null && appName.length > 0 && corpId != null && corpId.length > 0) {
- newUrl = _self.getRedirectUrl("#/login?clientId=" + clientId + "&appName=" + appName + "&corpId=" + corpId + "&redirectUrl=" + encodeURIComponent(currentUrl))
- } else {
- newUrl = _self.getRedirectUrl("#/login?redirectUrl=" + encodeURIComponent(currentUrl));
- }
- window.location = newUrl;
- }
- } else if (XMLHttpRequest.status == 500) {
- // 500 Internal Server Error
- Notify.error("500", XMLHttpRequest.responseText, true);
- if (XMLHttpRequest.responseText.indexOf("登录超时") > 0) {
- // 如果异常信息包含“登录超时”,则2秒后跳转到登录页面
- setTimeout(function () {
- window.location = _self.getRedirectUrl("#/login");
- }, 2 * 1000);
- }
- } else {
- Notify.error("服务器异常", XMLHttpRequest.responseText, true);
- }
- },
- /**
- * 获取主机地址
- */
- getRootPath: function () {
- var protocol = window.location.protocol;
- //console.log("protocol:" + protocol);
- var host = window.location.host;
- //console.log("host:" + host);
- var localhostPaht = protocol + "//" + host;
- //console.log("localhostPaht:" + localhostPaht);
- return localhostPaht;
- },
- getHostPageBaseURL: function () {
- return this.getRootPath() + "/"
- },
- // 获取图片路径url
- getFileServerUrl: function () {
- return this.getRootPath() + "/"
- },
- // 获取API的地址
- getApiURL: function (apiName) {
- return this.getHostPageBaseURL() + "api/" + apiName;
- },
- /**
- * 获取API的地址
- * @param {*} apiName
- * @returns
- */
- getApiUrl2: function (apiName) {
- if (apiName === undefined || apiName === null || apiName.length === 0) {
- return this.getRootPath();
- }
- if (apiName[0] === '/') {
- return this.getRootPath() + apiName;
- } else {
- return this.getRootPath() + "/" + apiName;
- }
- },
- // 获取测试API的地址
- getTestApiURL: function (apiName) {
- return "http://xxx/" + "api/" + apiName;
- },
- // 获取图片路径
- getImageUrl: function (imageName) {
- if (imageName == null || imageName == '') {
- return this.getFileServerUrl() + 'notFound.png';
- } else {
- return this.getFileServerUrl() + imageName;
- }
- },
- // 获取图片路径
- getImageSrc: function (className, imageName) {
- var accountId = localStorage.getItem("account");
- if (imageName == null) {
- return null;
- }
- if (imageName != null && imageName[0] == '/') {
- return this.getFileServerUrl() + "Files/" + accountId + "/Images/" + className + imageName;
- } else {
- return this.getFileServerUrl() + "Files/" + accountId + "/Images/" + className + "/" + imageName;
- }
- },
- // 获取略缩图图片路径
- getThumbnailImageSrc: function (className, imageName) {
- var accountId = localStorage.getItem("account");
- if (imageName == null) {
- return null;
- }
- if (imageName != null && imageName[0] == '/') {
- return this.getFileServerUrl() + "Files/" + accountId + "/Images/" + className + "/thumbnail" + imageName;
- } else {
- return this.getFileServerUrl() + "Files/" + accountId + "/Images/" + className + "/thumbnail/" + imageName;
- }
- },
- /**
- * 获取附件的路径
- * @param {[type]} className [description]
- * @param {[type]} imageName [description]
- * @return {[type]} [description]
- */
- getAttachmentsSrc: function (className, imageName) {
- var accountId = localStorage.getItem("account");
- return this.getFileServerUrl() + "Files/" + accountId + "/Attachments/" + className + "/" + imageName;
- },
- // 获取图片路径
- getVideoSrc: function (className, imageName) {
- var accountId = localStorage.getItem("account");
- if (imageName == undefined || imageName == "") {
- return this.getHostPageBaseURL() + "static/image/noImage.jpg";
- }
- return this.getFileServerUrl() + "Files/" + accountId + "/Video/" + className + "/" + imageName;
- },
- // 给请求头中加上account和token信息
- addTokenToRequest: function (request) {
- var token = $.cookie('token');
- var account = $.cookie('account');
- if (token == undefined) {
- var localStorageToken = localStorage.getItem('token');
- if (localStorageToken != undefined) {
- token = localStorageToken;
- }
- }
- if (account == undefined) {
- var localStorageAccount = localStorage.getItem('account');
- if (localStorageAccount != undefined) {
- account = localStorageAccount;
- }
- }
- request.setRequestHeader("account", account);
- request.setRequestHeader("token", token);
- },
- /**
- * 获取Token
- */
- getToken: function () {
- return $.cookie('token');
- },
- // 清空 Cookie
- clearCookie: function () {
- var keys = document.cookie.match(/[^ =;]+(?=\=)/g);
- if (keys) {
- for (var i = keys.length; i--;) {
- // 清除当前域名路径的有限日期
- document.cookie = keys[i] + '=0;path=/;expires=' + new Date(0).toUTCString();
- // Domain Name域名 清除当前域名的
- document.cookie = keys[i] + '=0;path=/;domain=' + document.domain + ';expires=' + new Date(0).toUTCString();
- // 清除一级域名下的或指定的
- document.cookie = keys[i] + '=0;path=/;domain=baidu.com;expires=' + new Date(0).toUTCString();
- }
- }
- },
- // 获取路由中的参数
- getRouteParam: function (name) {
- var reg = new RegExp("(^|\\?|&)" + name + "=([^&]*)(\\s|&|$)", "i");
- if (reg.test(location.href)) return unescape(RegExp.$2.replace(/\+/g, " "));
- return "";
- },
- /**
- * 获取跳转的路径
- * @param {*} url
- */
- getRedirectUrl: function (url) {
- var href = window.location.href;
- if (href.indexOf("pcapp") >= 0) {
- return this.getRootPath() + "/pcapp/" + url;
- } else {
- return this.getRootPath() + "/" + url;
- }
- },
- clearLocalStorage: function () {
- // 清理localStorage时需要保留的参数列表
- var reserveParams = ["hostPageBaseURL", "workShopId", "resourceInstanceId",
- "resourceInstanceName", "apsBaseUrl", "cameraBaseURL"];
- //存放的信息
- var reserveParamValues = [];
- //获取参数信息
- var len = reserveParams.length;
- for (var i = 0; i < len; i++) {
- var reserveParam = reserveParams[i];
- var reserveParamValue = "";
- if (localStorage.getItem(reserveParam) != undefined) {
- reserveParamValue = localStorage.getItem(reserveParam);
- }
- reserveParamValues.push(reserveParamValue);
- }
- //清理localStorage
- window.localStorage.clear();
- //还原参数信息
- for (var i = 0; i < len; i++) {
- localStorage.setItem(reserveParams[i], reserveParamValues[i]);
- }
- },
- }
|