import TUIMessage from "../components/messageTUI/index"; import Error from "./error"; export function caculateTimeago(dateTimeStamp: number) { const { t } = (window as any).TUIKitTUICore.config.i18n.useI18n(); const minute = 1000 * 60; const hour = minute * 60; const day = hour * 24; const week = day * 7; const now = new Date().getTime(); const diffValue = now - dateTimeStamp; let result = ""; if (diffValue < 0) { return; } const minC = diffValue / minute; const hourC = diffValue / hour; const dayC = diffValue / day; const weekC = diffValue / week; if (weekC >= 1 && weekC <= 4) { result = ` ${parseInt(`${weekC}`, 10)} ${t("time.周")}${t("time.前")}`; } else if (dayC >= 1 && dayC <= 6) { result = ` ${parseInt(`${dayC}`, 10)} ${t("time.天")}${t("time.前")}`; } else if (hourC >= 1 && hourC <= 23) { result = ` ${parseInt(`${hourC}`, 10)} ${t("time.小时")}${t("time.前")}`; } else if (minC >= 1 && minC <= 59) { result = ` ${parseInt(`${minC}`, 10)} ${t("time.分钟")}${t("time.前")}`; } else if (diffValue >= 0 && diffValue <= minute) { result = `${t("time.刚刚")}`; } else { const datetime = new Date(); datetime.setTime(dateTimeStamp); const Nyear = datetime.getFullYear(); const Nmonth = datetime.getMonth() + 1 < 10 ? `0${datetime.getMonth() + 1}` : datetime.getMonth() + 1; const Ndate = datetime.getDate() < 10 ? `0${datetime.getDate()}` : datetime.getDate(); result = `${Nyear}-${Nmonth}-${Ndate}`; } return result; } // 解析处理系统消息 // Handle the system messages export function translateGroupSystemNotice(message: any) { const { t } = (window as any).TUIKitTUICore.config.i18n.useI18n(); const groupName = message.payload.groupProfile.name || message.payload.groupProfile.groupID; switch (message.payload.operationType) { case 1: return `${message.payload.operatorID} ${t("message.tip.申请加入群组")}:${groupName}`; case 2: return `${t("message.tip.成功加入群组")}:${groupName}`; case 3: return `${t("message.tip.申请加入群组")}:${groupName} ${t("message.tip.被拒绝")}`; case 4: return `${t("message.tip.你被管理员")}${message.payload.operatorID} ${t("message.tip.踢出群组")}:${groupName}`; case 5: return `${t("message.tip.群")}:${groupName} ${t("message.tip.被")} ${message.payload.operatorID} ${t("message.tip.解散")}`; case 6: return `${message.payload.operatorID} ${t("message.tip.创建群")}:${groupName}`; case 7: return `${message.payload.operatorID} ${t("message.tip.邀请你加群")}:${groupName}`; case 8: return `${t("message.tip.你退出群组")}:${groupName}`; case 9: return `${t("message.tip.你被")}${message.payload.operatorID} ${t("message.tip.设置为群")}:${groupName} ${t("message.tip.的管理员")}`; case 10: return `${t("message.tip.你被")}${message.payload.operatorID} ${t("message.tip.撤销群")}:${groupName} ${t("message.tip.的管理员身份")}`; case 12: return `${message.payload.operatorID} ${t("message.tip.邀请你加群")}:${groupName}`; case 13: return `${message.payload.operatorID} ${t("message.tip.同意加群")}:${groupName}`; case 14: return `${message.payload.operatorID} ${t("message.tip.拒接加群")}:${groupName}`; case 255: return `${t("message.tip.自定义群系统通知")}: ${message.payload.userDefinedField}`; } } export function handleErrorPrompts(error: any, type: any) { console.log(error, "error", error.type, error.message); if (error.message.indexOf("this group does not exist") !== -1) { error.message = "当前群组已解散"; // error.replace("Error: this group does not exist", "当前群组已解散"); } // 当前当人不在群里面 if(error.message.indexOf('only group member can get group info') !== -1) { return } if (error?.type && error?.message) { TUIMessage({ message: `${error.type} : ${error.message}` || error, isH5: !!type?.isH5, type: "error", }); } else { TUIMessage({ message: Error[error.code] || error.message, isH5: !!type?.isH5, type: "error", }); } } export function handleSuccessPrompts(message: any, type: any) { TUIMessage({ message, isH5: !!type?.isH5, type: "success", }); } export function isArrayEqual(a: Array, b: Array) { if (a.length !== b.length) { return false; } for (let i = 0; i < a.length; i++) { if (b.indexOf(a[i]) === -1) { return false; } } return true; }