| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485 |
- /**
- * common.js
- * @param {Object} val
- */
- var Prodog = {
- version: "3.4",
- // 动态
- setting: {
- // 是否显示注册按钮
- allowRegister: false
- }
- };
- Array.prototype.myIndexOf = function (val) {
- for (var i = 0; i < this.length; i++) {
- if (this[i] == val) return i;
- }
- return -1;
- };
- Array.prototype.myIndexOf2 = function (val) {
- for (var i = 0; i < this.length; i++) {
- if (this[i].name == val.name) return i;
- }
- return -1;
- };
- Array.prototype.myIndexOf3 = function (val) {
- for (var i = 0; i < this.length; i++) {
- if (JSON.stringify(this[i]) == JSON.stringify(val)) return i;
- }
- return -1;
- };
- Array.prototype.indexOfProperty = function (val, propertyName) {
- for (var i = 0; i < this.length; i++) {
- if (this[i][propertyName] == val) return i;
- }
- return -1;
- };
- Array.prototype.remove = function (val) {
- var index = this.myIndexOf(val);
- if (index > -1) {
- this.splice(index, 1);
- }
- };
- String.prototype.startsWith = function (str) {
- var reg = new RegExp("^" + str);
- return reg.test(this);
- }
- String.prototype.endWith = function (str) {
- var reg = new RegExp(str + "$");
- return reg.test(this);
- }
- Date.prototype.format = function (fmt) {
- 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;
- }
- // 给请求头中加上account和token信息
- function addTokenToRequest(request) {
- // var token = Cookies.get('token');
- // var account = Cookies.get('account');
- // 修改在Android上Cookies无效
- var token = localStorage.getItem("token");
- var account = localStorage.getItem("account");
- console.log("token" + token);
- request.setRequestHeader("account", account);
- request.setRequestHeader("token", token);
- }
- // 时间格式转换
- function dateFormat(date) {
- var year = date.getFullYear();
- var m = date.getMonth() + 1;
- var d = date.getDate();
- if (m < 10) {
- m = "0" + m;
- }
- if (d < 10) {
- d = "0" + d;
- }
- return year + "-" + m + "-" + d;
- }
- /**
- * 获取ECharts饼图数据
- * @param {Object} data
- */
- function getEChartsPieOption(data, title) {
- var option = {
- title: {
- text: title,
- x: 'center',
- },
- legend: {
- orient: 'horizontal',
- x: 'left',
- data: data,
- top: '20'
- },
- series: [{
- name: '资产统计',
- type: 'pie',
- radius: '45%',
- center: ['50%', '60%'],
- data: data,
- itemStyle: {
- emphasis: {
- shadowBlur: 10,
- shadowOffsetX: 0,
- shadowColor: 'rgba(0, 0, 0, 0.5)'
- },
- normal: {
- label: {
- show: true,
- textStyle: {
- fontSize: '0.2em',
- fontWeight: 'bolder'
- },
- formatter: '{b}({c}) '
- },
- labelLine: {
- show: true,
- length: 12
- }
- }
- }
- }]
- };
- return option;
- }
- /**
- * 获取ECharts柱状图数据
- * @param {Object} data
- */
- function getEChartsBarOption(data, title) {
- var xData = new Array();
- var yData = new Array();
- data.forEach(function (item, index, arr) {
- xData.push(item.name);
- yData.push(item.value);
- });
- var option = {
- tooltip: {
- trigger: 'axis',
- axisPointer: { // 坐标轴指示器,坐标轴触发有效
- type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
- }
- },
- title: {
- text: title,
- x: 'center',
- },
- legend: {
- x: 'left',
- top: '20',
- data: ['数量'],
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: [{
- type: 'value'
- }],
- yAxis: [{
- type: 'category',
- axisTick: {
- show: false
- },
- data: xData
- }],
- series: [{
- name: '数量',
- type: 'bar',
- label: {
- normal: {
- show: true,
- position: 'inside'
- }
- },
- data: yData
- }]
- };
- return option;
- }
- // 未找到图片
- function imgNotFound(event) {
- var img = event;
- console.log("imgNotFound。。。");
- img.src = "../../img/null.jpg";
- img.onerror = null;
- }
- var Common = {};
- /**
- * 从URL里面获取UUID
- */
- Common.getUuidFromUrl = function (param) {
- var reg = new RegExp("(^|&)" + param + "=([^&]*)(&|$)");
- var r = window.location.search.substr(1).match(reg);
- if (r != null) {
- return unescape(r[2]);
- } else {
- return null;
- }
- }
- /**
- * 从URL里面获取UUID
- */
- Common.getParamFromUrl = function (param) {
- var reg = new RegExp("(^|&)" + param + "=([^&]*)(&|$)");
- var r = window.location.search.substr(1).match(reg);
- if (r != null) {
- return unescape(r[2]);
- } else {
- return null;
- }
- }
- /**
- * 获取主机地址
- */
- Common.getRootPath = function () {
- //获取当前网址,如: http://localhost:8083/myproj/view/my.jsp
- var curWwwPath = window.document.location.href;
- //获取主机地址之后的目录,如: myproj/view/my.jsp
- var pathName = window.document.location.pathname;
- var pos = curWwwPath.indexOf(pathName);
- //获取主机地址,如: http://localhost:8083
- var localhostPaht = curWwwPath.substring(0, pos);
- return localhostPaht;
- }
- /**
- * 获取IP地址
- */
- Common.getIp = function () {
- return localStorage.getItem("ipServer");
- }
- // 文件服务器
- Common.getFileServerUrl = function (api) {
- return this.getRootPath() + api;
- },
- /**
- * 获取API的地址
- * @param {Object} api
- */
- Common.getApi = function (api) {
- // return 'http://192.168.1.107:10026' + api;
- return localStorage.getItem("ipServer") + api;
- }
- Common.getUrlApi = function (api) {
- return Common.getIp() + api;
- }
- Common.getApiURL = function (api) {
- if (api.indexOf("/") == 0) {
- return Common.getIp() + "/api" + api;
- } else {
- return Common.getIp() + "/api/" + api
- }
- }
- /**
- * 获取URL中的参数
- * 适应以下两种模式,来获取url参数值:
- * /User/vip_card_manager/useless/219/id/18
- * /User/vip_card_manager?useless=219&id=18
- * @param {Object} name
- */
- Common.getQueryString = function (name) {
- var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
- var reg_rewrite = new RegExp("(^|/)" + name + "/([^/]*)(/|$)", "i");
- var r = window.location.search.substr(1).match(reg);
- var q = window.location.pathname.substr(1).match(reg_rewrite);
- if (r != null) {
- return unescape(r[2]);
- } else if (q != null) {
- return unescape(q[2]);
- } else {
- return null;
- }
- }
- // 获取图片相对路径
- Common.getimgUrl = function (imageUrl) {
- return imageUrl;
- }
- // 获取图片路径
- Common.getImageSrc = function (className, imageName) {
- var accountId = localStorage.getItem("account");
- //return "http://prodog.leanwo.com/Files/Images/" + className + "/" + imageName;
- return Common.getRootPath() + "/Files/" + accountId + "/Images/" + className + "/thumbnail/" + imageName; //本地测试用
- //return Common.getRootPath() + "/Files/Images/" + className + "/" + imageName; //本地测试用
- }
- // 获取大图片路径
- Common.getBigImageSrc = function (className, imageName) {
- var accountId = localStorage.getItem("account");
- //return "http://prodog.leanwo.com/Files/Images/" + className + "/" + imageName;
- //return Common.getRootPath() + "/Files/Images/" + className + "/thumbnail/" + imageName; //本地测试用
- return Common.getRootPath() + "/Files/" + accountId + "/Images/" + className + "/" + imageName; //本地测试用
- }
- Common.addTokenToRequest = addTokenToRequest;
- // 异常处理
- Common.processException = function (XMLHttpRequest) {
- var _self = this;
- console.log(XMLHttpRequest);
- if (XMLHttpRequest.status == 400) {
- // 400 Bad Request
- mui.toast("400:" + XMLHttpRequest.responseText);
- } else if (XMLHttpRequest.status == 401) {
- var currentUrl = window.location;
- // 系统未登录
- if (window.location.href.indexOf('redirectUrl=') < 0) {
- window.location = Common.getRedirectUrl("index.html?redirectUrl=" + currentUrl);
- }
- } else if (XMLHttpRequest.status == 500) {
- // 500 Internal Server Error
- mui.toast("500:" + XMLHttpRequest.responseText);
- if (XMLHttpRequest.responseText.indexOf("登录超时") > 0) {
- // 如果异常信息包含“登录超时”,则2秒后跳转到登录页面
- setTimeout(function () {
- window.location = Common.getRedirectUrl("index.html");
- }, 2 * 1000);
- }
- } else {
- mui.toast("服务器异常:" + XMLHttpRequest.responseText);
- }
- }
- // 异常处理
- Common.processExceptionVant = function (XMLHttpRequest) {
- var _self = this;
- console.log(XMLHttpRequest);
- if (XMLHttpRequest.status == 400) {
- vant.Dialog.alert({
- title: 400,
- message: XMLHttpRequest.responseText,
- theme: 'round-button',
- });
- } else if (XMLHttpRequest.status == 401) {
- var currentUrl = window.location;
- // 系统未登录
- if (window.location.href.indexOf('redirectUrl=') < 0) {
- window.location = Common.getRedirectUrl("index.html?redirectUrl=" + currentUrl);
- }
- } else if (XMLHttpRequest.status == 500) {
- // 500 Internal Server Error
- vant.Dialog.alert({
- title: 500,
- message: XMLHttpRequest.responseText,
- theme: 'round-button',
- });
- if (XMLHttpRequest.responseText.indexOf("登录超时") > 0) {
- // 如果异常信息包含“登录超时”,则2秒后跳转到登录页面
- setTimeout(function () {
- window.location = Common.getRedirectUrl("index.html");
- }, 2 * 1000);
- }
- } else {
- vant.Dialog.alert({
- title: "服务器异常:",
- message: XMLHttpRequest.responseText,
- theme: 'round-button',
- });
- }
- }
- /**
- * 获取跳转的路径
- * @param {*} url
- */
- Common.getRedirectUrl = function (url) {
- const href = window.location.href;
- if (href.indexOf('wmsapp') >= 0 || href.indexOf('static-eam-app') >= 0) {
- return this.getRootPath() + '/wmsapp/' + url;
- } else {
- return this.getRootPath() + url;
- }
- }
- var IS_TESTING_CONNECTION = false;
- // 测试网络连接
- function testConnection() {
- if (IS_TESTING_CONNECTION == true) {
- return;
- }
- IS_TESTING_CONNECTION = true;
- $.ajax({
- type: "get",
- url: Common.getApi("/authApi/LoginResource/heartBeat"),
- data: {
- currentTime: new Date().getTime()
- },
- success: function (data) {
- IS_TESTING_CONNECTION = false;
- var delay = new Date().getTime() - data;
- $("[name=testConnection]").remove();
- $("body").append("<div onclick='showDelay(" + delay +
- ")' name='testConnection' style='width:100%;height:6px;background-color:#2AC845;position:fixed;bottom:0px;line-height:6px;font-size:2px;'></div>"
- )
- },
- error: function () {
- IS_TESTING_CONNECTION = false;
- $("[name=testConnection]").remove();
- $("body").append("<div onclick='showDelay(" + -1 +
- ")' name='testConnection' style='width:100%;height:6px;background-color:#FF0000;position:fixed;bottom:0px;line-height:6px;font-size:2px;'></div>"
- )
- }
- });
- }
- // 测试网络是否连接正常
- // (function () {
- // testConnection();
- // setInterval(testConnection, 5000);
- // })();
- function showDelay(delay) {
- if (delay < 0) {
- mui.toast("网络连接失败");
- } else {
- mui.toast("当前延时: " + delay + "ms");
- }
- }
- // ajax的cache默认值为true:使用缓存,这个时候读取的数据是缓存中的数据而不是最新的数据。
- // eg:界面返回的时候,ajax使用了缓存中的数据,并没有向服务器发起请求。造成界面数据不刷新。
- // 设置Ajax请求的默认值,不允许缓存
- $.ajaxSetup({
- cache: false
- });
|