export const scrollToTop = (scrollTop = 0) => { uni.pageScrollTo({ scrollTop, duration: 0, }); }; // 查看新闻距离当前多少时间 export const formatTime = (timestamp: any) => { const now = new Date(); const targetTime = new Date(timestamp); const diff = (now - targetTime) / 1000; // 时间差,单位为秒 if (diff < 60) { return "刚刚"; } else if (diff < 600) { const minutes = Math.floor(diff / 60); return `${minutes}分钟前`; } else { const hours = targetTime.getHours(); const minutes = targetTime.getMinutes(); return `${hours}:${minutes.toString().padStart(2, "0")}`; } }; // 将【实时快讯】接口返回的数据,根据时间进行分组 export const formatData = (list: any) => { let result = []; // 根据 day 对数据进行分组 const groupedByDay = list.reduce((acc: any, item: any) => { const { day } = item; if (!acc[day]) { acc[day] = []; } acc[day].push(item); return acc; }, {}); for (let key in groupedByDay) { result.push({ day: key, id: key, children: groupedByDay[key], }); } return result; }; // 对搜索的文本进行处理 export const extractText = (text: string, keyword: string) => { const index = text.indexOf(keyword); if (index === -1) { return text; // 如果没有找到关键字,返回全部文本 } else { const start = Math.max(0, index - 15); // 确保开始位置不小于0 const end = Math.min(text.length, index + keyword.length + 15); // 确保结束位置不超过文本长度 return text.substring(start); // 截取并返回结果 // return text.substring(start, end); // 截取并返回结果 } }; export const formatTimestamp = (timestamp) => { var date = new Date(timestamp); var year = date.getFullYear(); var month = date.getMonth() + 1; var day = date.getDate(); month = month < 10 ? "0" + month : month; day = day < 10 ? "0" + day : day; // 拼接成最终的日期字符串 return year + "-" + month + "-" + day; }; // 登录手机号格式验证 export const validatePhoneNumber = (phoneNumber) => { const phoneRegex = /^1[3-9]\d{9}$/; return phoneRegex.test(phoneNumber); }; // 跳转外链 export const jumpUrl = (url) => { window.open(url, "_blank"); };