UNPKG

tccc-vue-uikit

Version:

TCCC Vue3 UIKit

120 lines (113 loc) 4.3 kB
import TUIMessage from '../components/message/index'; import Error from './error'; export function caculateTimeago(dateTimeStamp: number) { const { t } = (window as any).tcccCore.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).tcccCore.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) { if (error?.type && error?.message) { TUIMessage({ message: `${error.type} : ${error.message}` || error, isH5: !!type?.isH5, type: 'error', }); } else { TUIMessage({ message: Error[error.code] || error, isH5: !!type?.isH5, type: 'error', }); } } export function handleSuccessPrompts(message: any, type: any) { TUIMessage({ message, isH5: !!type?.isH5, type: 'success', }); } export function isArrayEqual(a: Array<any>, b: Array<any>) { 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; }