const forumBaseURL = "https://api.gter.net"; axios.defaults.withCredentials = true; // 导出ajax函数 const ajax = (url) => { var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; url = url.indexOf("https://") > -1 ? url : forumBaseURL + url; return new Promise(function (resolve, reject) { axios .post(url, data, { emulateJSON: true, withCredentials: true, }) .then(function (res) { var data = typeof res.data == "string" ? JSON.parse(res.data) : res.data; if (data.code == 401) { // 需要登录 showWindow("login", "https://passport.gter.net/login/ajax", "get", -1, { cover: true, }); reject(); } resolve(data); }) .catch((err) => { if (err.response.status == 401) showWindow("login", "https://passport.gter.net/login/ajax", "get", -1, { cover: true, }); }); }); }; // 导出ajaxget函数 const ajaxget = (url) => { url = url.indexOf("https://") > -1 ? url : forumBaseURL + url; return new Promise(function (resolve, reject) { axios .get( url, {}, { emulateJSON: true, withCredentials: true, } ) .then(function (res) { var data = typeof res.data == "string" ? JSON.parse(res.data) : res.data; if (data.code == 401) { // 需要登录 showWindow("login", "https://passport.gter.net/login/ajax", "get", -1, { cover: true, }); reject(); } resolve(data); }) .catch((error) => { reject(error); }); }); }; const strtimeago = (dateStr, type = 1) => { dateStr = dateStr + ""; // 反之传入的不是字符串 dateStr = dateStr.replaceAll("-", "/"); // 修改格式 var minute = 1000 * 60; // 把分,时,天,周,半个月,一个月用毫秒表示 var hour = minute * 60; var day = hour * 24; var now = new Date().getTime(); // 获取当前时间毫秒 let objectTime = new Date(dateStr).getTime(); var diffValue = now - objectTime; // 时间差 if (diffValue < 0) return "刚刚"; var minC = diffValue / minute; // 计算时间差的分,时,天,周,月 var hourC = diffValue / hour; var dayC = diffValue / day; const diffInMilliseconds = now - objectTime; const diffInYears = diffInMilliseconds / (1000 * 60 * 60 * 24 * 365); const diffInMonths = diffInYears * 12; let result = ""; if (dayC >= 7) { var datetime = new Date(dateStr); var Nyear = datetime.getFullYear(); var Nmonth = datetime.getMonth() + 1 < 10 ? "0" + (datetime.getMonth() + 1) : datetime.getMonth() + 1; var Ndate = datetime.getDate() < 10 ? "0" + datetime.getDate() : datetime.getDate(); var Nhour = datetime.getHours() < 10 ? "0" + datetime.getHours() : datetime.getHours(); var Nmin = datetime.getMinutes() < 10 ? "0" + datetime.getMinutes() : datetime.getMinutes(); if (type == 4) { if (new Date().getFullYear() !== Nyear) result = `${Nyear}年${Nmonth}月${Ndate}日`; else result = `${Nmonth}月${Ndate}日 ${Nhour}:${Nmin}`; } if (type == 1) result = Nyear + "-" + Nmonth + "-" + Ndate; if (type == 2) { result = `${Nmonth}月${Ndate}日 ${Nhour}:${Nmin}`; if (new Date().getFullYear() !== Nyear) result = `${Nyear}年${result}`; } if (type == 3) { if (diffInYears >= 1) result = Math.floor(diffInYears) + "年前"; else if (diffInMonths >= 1) result = Math.floor(diffInMonths) + "个月前"; else result = parseInt(dayC) + "天前"; } } else if (dayC >= 1) result = parseInt(dayC) + "天前"; else if (hourC >= 1 && hourC <= 24) result = parseInt(hourC) + "小时前"; else if (minC >= 1 && minC <= 60) result = parseInt(minC) + "分钟前"; else result = "刚刚"; return result; }; const timeago = (dateTimeStamp, type = 1) => { if (!dateTimeStamp) return "刚刚"; // 判断位数 if (dateTimeStamp.toString().length !== 13) dateTimeStamp = dateTimeStamp * 1000; var minute = 1000 * 60; //把分,时,天,周,半个月,一个月用毫秒表示 var hour = minute * 60; var day = hour * 24; var now = new Date().getTime(); //获取当前时间毫秒 var diffValue = now - dateTimeStamp; //时间差 if (diffValue < 0) return "刚刚"; var minC = diffValue / minute; //计算时间差的分,时,天,周,月 var hourC = diffValue / hour; var dayC = diffValue / day; let result = ""; if (dayC >= 7) { var datetime = new Date(dateTimeStamp); var Nyear = datetime.getFullYear(); var Nmonth = datetime.getMonth() + 1 < 10 ? "0" + (datetime.getMonth() + 1) : datetime.getMonth() + 1; var Ndate = datetime.getDate() < 10 ? "0" + datetime.getDate() : datetime.getDate(); var Nhour = datetime.getHours() < 10 ? "0" + datetime.getHours() : datetime.getHours(); var Nmin = datetime.getMinutes() < 10 ? "0" + datetime.getMinutes() : datetime.getMinutes(); if (type == 1) result = Nyear + "-" + Nmonth + "-" + Ndate; if (type == 2) { result = `${Nmonth}月${Ndate}日 ${Nhour}:${Nmin}`; if (new Date().getFullYear() !== Nyear) result = `${Nyear}年${result}`; } } else if (dayC >= 1) result = parseInt(dayC) + "天前"; else if (hourC >= 1 && hourC <= 24) result = parseInt(hourC) + "小时前"; else if (minC >= 1 && minC <= 60) result = parseInt(minC) + "分钟前"; else result = "刚刚"; return result; };