|
- var serverApi = '';
- var friendsLinksList = [];
- var themeColor = '';
- var logo = '';
- var lastTime = 0.00;
- define(['jquery', 'dialog','jsencrypt'], function ($, dialog,JSEncrypt) {
- // 工具类
- 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);
- }
- }
- });
- },
- doPostSign: 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: data,
- dataType: 'json',
- contentType: false,
- processData: false, // jQuery不要去处理发送的数据
- 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;
- },
- /**
- * getNowFormatDateNew 获取时间
- * @param
- */
- getNowFormatDateNew: function (data) {
- var date = data;
- 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';
- document.documentElement.style.setProperty('--color', '#1269d3');
- // 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 + '<span style="margin-left: 10px;"></span>' + content[2].configValue);
- $("#webConfigAddress").html(content[0].configValue + '<span style="margin-left: 10px;"></span>' + content[3].configValue);
- serverApi = content[11].configValue;
-
- lastTime = parseFloat(content[8].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();
- }
- },
- /**
- * encrypt 加密
- * @param
- */
- encrypt: function (txt) {
- const publicKey = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdH\n' +
- 'nzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ=='
- const encryptor = new JSEncrypt()
- encryptor.setPublicKey(publicKey) // 设置公钥
- return encryptor.encrypt(txt) // 对数据进行加密
- },
- /**
- * encrypt 解密
- * @param
- */
- decrypt: function (txt) {
- const privateKey = 'MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAqhHyZfSsYourNxaY\n' +
- '7Nt+PrgrxkiA50efORdI5U5lsW79MmFnusUA355oaSXcLhu5xxB38SMSyP2KvuKN\n' +
- 'PuH3owIDAQABAkAfoiLyL+Z4lf4Myxk6xUDgLaWGximj20CUf+5BKKnlrK+Ed8gA\n' +
- 'kM0HqoTt2UZwA5E2MzS4EI2gjfQhz5X28uqxAiEA3wNFxfrCZlSZHb0gn2zDpWow\n' +
- 'cSxQAgiCstxGUoOqlW8CIQDDOerGKH5OmCJ4Z21v+F25WaHYPxCFMvwxpcw99Ecv\n' +
- 'DQIgIdhDTIqD2jfYjPTY8Jj3EDGPbH2HHuffvflECt3Ek60CIQCFRlCkHpi7hthh\n' +
- 'YhovyloRYsM+IS9h/0BzlEAuO0ktMQIgSPT3aFAgJYwKpqRYKlLDVcflZFCKY7u3\n' +
- 'UP8iWi1Qw0Y='
- const encryptor = new JSEncrypt()
- encryptor.setPrivateKey(privateKey) // 设置私钥
- return encryptor.decrypt(txt) // 对数据进行解密
- },
-
- format: function (time, format) {
- var t = new Date(time);
- var tf = function (i) { return (i < 10 ? '0' : '') + i };
- return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function (a) {
- switch (a) {
- case 'yyyy':
- return tf(t.getFullYear());
- break;
- case 'MM':
- return tf(t.getMonth() + 1);
- break;
- case 'mm':
- return tf(t.getMinutes());
- break;
- case 'dd':
- return tf(t.getDate());
- break;
- case 'HH':
- return tf(t.getHours());
- break;
- case 'ss':
- return tf(t.getSeconds());
- break;
- }
- })
- },
-
- /**
- * 计算出相差天数
- * @param secondSub
- */
- formatTotalDateSub: function (secondSub) {
- var days = Math.floor(secondSub / (24 * 3600)); // 计算出小时数
- var leave1 = secondSub % (24*3600) ; // 计算天数后剩余的毫秒数
- var hours = Math.floor(leave1 / 3600); // 计算相差分钟数
- var leave2 = leave1 % (3600); // 计算小时数后剩余的毫秒数
- var minutes = Math.floor(leave2 / 60); // 计算相差秒数
- var leave3 = leave2 % 60; // 计算分钟数后剩余的毫秒数
- var seconds = Math.round(leave3);
- return days + "天" + hours + "时" + minutes + "分" + seconds + '秒';
- }
-
- });
- return Tool;
- });
|