var serverApi = 'http://192.168.31.104:8080';
var friendsLinksList = [];
var themeColor = '';
var logo = '';
define(['jquery', 'dialog'], function ($, dialog) {
// 工具类
function Tool() {
this.version = "1.0.0";
this.description = "这是一个工具类";
}
var ajaxJsUrl = "/api";
$.extend(Tool.prototype, {
/**
* ajax post
* @param url (String)
* @param data (Json) 需要提交的数据
* @param cb(Function) 回调函数
* @param Bearer(Boolean) 是否需要Bearer,不需要传true
*/
doPost: function (url, data, cb, Bearer) {
var _this = this;
// data.deptId = 100 ;
// console.log(data)
var headAttribute = '';
if (Bearer && Bearer == true || _this.getCookie('Admin-Token') == '') {
headAttribute = function (xhr) {
xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8');
}
} else {
headAttribute = function (xhr) {
xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8');
xhr.setRequestHeader('Authorization', 'Bearer ' + _this.getCookie('Admin-Token'))
}
}
$.ajax({
url: ajaxJsUrl + url + '?=' + Math.random(),
type: 'POST',
data: JSON.stringify(data),
dataType: 'json',
contentType: "application/json",
beforeSend: headAttribute,
success: function (data) {
var code = data.code;
var msg = data.msg;
if (code === 401) {
_this.removeAllCookie();
_this.initDialog('系统提示', '登录状态已过期,您可以继续留在该页面,或者重新登录', function () {
_this.skip('/view/login/login.html')
}, '重新登录', function () { }, "取消")
} else if (code === 500) {
_this.initError(msg)
cb(data);
} else if (code != 200) {
_this.initError(msg)
} else {
cb(data);
}
}
});
},
/**
* ajax post
* @param url (String)
* @param data (Json) 需要提交的数据
* @param cb(Function) 回调函数
* @param Bearer(Boolean) 是否需要Bearer,不需要传true
*/
doPostImg: function (url, data, cb, Bearer) {
var _this = this;
// data.deptId = 100 ;
// console.log(data)
var headAttribute = '';
if (Bearer && Bearer == true || _this.getCookie('Admin-Token') == '') {
headAttribute = function (xhr) {
xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8');
}
} else {
headAttribute = function (xhr) {
xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8');
xhr.setRequestHeader('Authorization', 'Bearer ' + _this.getCookie('Admin-Token'))
}
}
$.ajax({
url: ajaxJsUrl + url + '?=' + Math.random(),
type: 'POST',
data: JSON.stringify(data),
dataType: 'json',
traditional:true,
contentType: "application/json",
beforeSend: headAttribute,
success: function (data) {
var code = data.code;
var msg = data.msg;
if (code === 401) {
_this.removeAllCookie();
_this.initDialog('系统提示', '登录状态已过期,您可以继续留在该页面,或者重新登录', function () {
_this.skip('/view/login/login.html')
}, '重新登录', function () { }, "取消")
} else if (code === 500) {
_this.initError(msg)
cb(data);
} else if (code != 200) {
_this.initError(msg)
} else {
cb(data);
}
}
});
},
/**
* ajax put
* @param url (String)
* @param data (Json) 需要提交的数据
* @param cb(Function) 回调函数
* @param Bearer(Boolean) 是否需要Bearer,不需要传true
*/
doPut: function (url, data, cb, Bearer) {
var _this = this;
var headAttribute = '';
if (Bearer && Bearer == true || _this.getCookie('Admin-Token') == '') {
headAttribute = function (xhr) {
xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8');
}
} else {
headAttribute = function (xhr) {
xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8');
xhr.setRequestHeader('Authorization', 'Bearer ' + _this.getCookie('Admin-Token'))
}
}
$.ajax({
url: ajaxJsUrl + url + '?=' + Math.random(),
type: 'put',
data: JSON.stringify(data),
dataType: 'json',
contentType: "application/json",
beforeSend: headAttribute,
success: function (data) {
var code = data.code;
var msg = data.msg;
if (code === 401) {
_this.removeAllCookie();
_this.initDialog('系统提示', '登录状态已过期,您可以继续留在该页面,或者重新登录', function () {
_this.skip('/view/login/login.html')
}, '重新登录', function () { }, "取消")
} else if (code === 500) {
_this.initError(msg)
cb(data);
} else if (code != 200) {
_this.initError(msg)
} else {
cb(data);
}
}
});
},
/**
* ajax get
* @param url(String)
* @param data(Json) 需要提交的数据
* @param cb(Function) 回调函数
* @param noHead(Boolean) 是否需要Bearer,不需要传true
*/
doGet: function (uri, data, cb, Bearer) {
var _this = this;
// deptId=100&
var url = ajaxJsUrl + uri + '?';
var headAttribute = ''
if (Bearer && Bearer == true || _this.getCookie('Admin-Token') == '') {
headAttribute = function (xhr) {
xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8');
}
} else {
headAttribute = function (xhr) {
xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8');
xhr.setRequestHeader('Authorization', 'Bearer ' + _this.getCookie('Admin-Token'))
}
}
if (data) {
url += $.map(data, function (n, i) {
if (i == data.length - 1) {
return i + '=' + n;
} else {
return i + '=' + n + '&';
}
}).join('');
}
$.ajax({
url: url,
type: 'GET',
beforeSend: headAttribute,
success: function (data) {
var code = data.code;
var msg = data.msg;
if (code === 401) {
_this.removeAllCookie();
_this.initDialog('系统提示', '登录状态已过期,您可以继续留在该页面,或者重新登录', function () {
_this.skip('/view/login/login.html')
}, '重新登录', function () { }, "取消")
} else if (code === 500) {
_this.initError(msg)
} else if (code != 200) {
_this.initError(msg)
} else {
cb(data);
}
},
error: function (data) {
console.log(data)
}
});
},
/**
* ajax delete
* @param url(String)
* @param data(Json) 需要提交的数据
* @param cb(Function) 回调函数
* @param noHead(Boolean) 是否需要Bearer,不需要传true
*/
doDelete: function (uri, data, cb, Bearer) {
var _this = this;
var url = ajaxJsUrl + uri + '?';
var headAttribute = ''
if (Bearer && Bearer == true || _this.getCookie('Admin-Token') == '') {
headAttribute = function (xhr) {
xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8');
}
} else {
headAttribute = function (xhr) {
xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8');
xhr.setRequestHeader('Authorization', 'Bearer ' + _this.getCookie('Admin-Token'))
}
}
if (data) {
url += $.map(data, function (n, i) {
if (i == data.length - 1) {
return i + '=' + n;
} else {
return i + '=' + n + '&';
}
}).join('');
}
$.ajax({
url: url,
type: 'delete',
beforeSend: headAttribute,
success: function (data) {
var code = data.code;
var msg = data.msg;
if (code === 401) {
_this.removeAllCookie();
_this.initDialog('系统提示', '登录状态已过期,您可以继续留在该页面,或者重新登录', function () {
_this.skip('/view/login/login.html')
}, '重新登录', function () { }, "取消")
} else if (code === 500) {
_this.initError(msg)
} else if (code != 200) {
_this.initError(msg)
} else {
cb(data);
}
},
error: function (data) {
console.log(data)
}
});
},
/**
* 创建dialog
* @param id(String) 创建的dialog的Id 用于分辨唯一的dialog
* @param title (String) dialog的title
* @param content(String || HTMLElement) dialog的内容
* @param ok (Function) 点击确定按钮的回调函数
* @param cancel(Function) 点击取消按钮的回调函数
* 可以通过showModal来实现modal显示
*/
initDialog: function (title, content, ok, okValue, cancel, cancelValue, id) {
var initDialog = dialog({
id: id ? id : '',
title: title,
content: content,
okValue: okValue ? okValue : '确定',
ok: ok,
cancelValue: cancelValue ? cancelValue : '取消',
cancel: cancel,
padding: 40,
top: '150px'
});
initDialog.show();
},
/**
* 创建error dialog
* @param errContent
*/
initError: function (errContent) {
var error = dialog({
content: errContent,
padding: 20
});
error.show();
var time = setTimeout(function () {
error.remove();
}, 1500);
},
/**
* 创建dialog tips
* @param tips
* @param align
*/
initTips: function (tips, align, $target, times) {
var tips = dialog({
content: tips,
padding: 20,
skin: 'min-dialog tips',
quickClose: true,
align: align
});
tips.show($target);
if (times == undefined || times == 'undefined' || times == '' || times == 'null' || times == null) {
times = 2000
} else {
times = times
}
setTimeout(function () {
tips.close().remove();
}, times);
},
/**
* setCookie 设置cookie
* @param cname 名称
* @param cvalue 值
* @param seconds 有效期
*/
setCookie: function (cname, cvalue, seconds) {
var d = new Date();
d.setTime(d.getTime() + (seconds * 1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires + ";path=/";
},
/**
* getCookie 获取cookie
* @param cname 名称
*/
getCookie: function (cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1);
if (c.indexOf(name) != -1) return c.substring(name.length, c.length);
}
return "";
},
/**
* removeCookie 删除cookie
* @param cname 名称
*/
removeCookie: function (cname) {
var exp = new Date();
exp.setTime(exp.getTime() - 1);
document.cookie = cname + "=; expires=" + exp.toGMTString();
},
/**
* getParam 获取url参数
* @param key 当前url链接
*/
getParam: function (key) {
var json = {}, data;
$.each(location.search.substr(1).split("&"), function (i, n) {
data = n.split("=");
json[data[0]] = data[1];
});
return key != undefined ? json[key] : json;
},
/**
* getParam 判断对象是否有内容
* @param obj 传入对象
*/
isEmptyObject: function (obj) {
for (var key in obj) {
return false;
}
return true;
},
/**
* skip 页面跳转
* @param url 跳转页面链接
*/
skip: function (url) {
if (url != '') {
window.location = url
}
},
/**
* getNowFormatDate 获取时间
* @param
*/
getNowFormatDate: function () {
var date = new Date();
var seperator1 = "-";
var seperator2 = ":";
var month = date.getMonth() + 1;
var day = date.getDate();
var hours = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (day >= 0 && day <= 9) {
day = "0" + day;
}
if (hours >= 0 && hours <= 9) {
hours = "0" + hours;
}
if (minutes >= 0 && minutes <= 9) {
minutes = "0" + minutes;
}
if (seconds >= 0 && seconds <= 9) {
seconds = "0" + seconds;
}
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + day + " " + hours + seperator2 + minutes + seperator2 + seconds;
console.log(currentdate)
return currentdate;
},
/**
* getWebConfig 网站配置信息
* @param
*/
getWebConfig: function () {
this.doGet(webConfig, {}, this.webConfigInformation, true)
},
/**
* webConfigInformation 网站配置信息
* @param
*/
webConfigInformation: function (data) {
if (data.code == 200) {
var content = data.data;
console.log(content)
// content[13].configValue = 'red';
if (content[13].configValue == 'red'){
themeColor = 'red';
document.documentElement.style.setProperty('--color', '#e8041f');
document.documentElement.style.setProperty('--icon', "url('../images/icon3_red.png')");
document.documentElement.style.setProperty('--logo', "url('../images/logo_red.png')");
logo = '../images/logo_red.png';
}
if (content[13].configValue == 'green'){
themeColor = 'green';
document.documentElement.style.setProperty('--color', '#007b76');
document.documentElement.style.setProperty('--icon', "url('../images/icon3.png')");
document.documentElement.style.setProperty('--logo', "url('../images/logo.png')");
logo = '../images/logo.png';
}
$("#webConfigName").html(content[0].configValue);
$("#webConfigRecord").html(content[1].configValue + '' + content[2].configValue);
$("#webConfigAddress").html(content[0].configValue + '' + content[3].configValue);
serverApi = content[11].configValue;
}
},
/**
* removeAllCookie 清除所有Cookie
* @param
*/
removeAllCookie: 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() // 清除当前域名下的,例如:m.ratingdog.cn
}
location.reload();
}
},
});
return Tool;
});