class helpers { /** * 跳转页面 * @param pathName //路径名 * @param params //查询参数 * id=12 * @param type //跳转类型 * navigateTo = 保留当前页面,跳转到应用内的某个页面 * redirectTo = 关闭当前页面,跳转到应用内的某个页面 * reLaunch = 关闭所有页面,打开到应用内的某个页面 * switchTab = 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 */ static jumpToPage(pathName, params = '', type = 'navigateTo') { let url let paths = { //登录页 'login': '/pages/user/login', //订单详情 'order-info': '/pages/order/order-info', //提交订单 'order-submit': '/pages/order/order-submit', //首页 'index': '/pages/index/index', } url = paths[pathName] if (url === undefined) { return this.showToast('跳转页面不存在') } if (params !== '') { url += `?${params}` } uni[type]({ url }) } static showToast(msg) { let duration = 1500 if (msg.length > 7) { duration = 2000 } if (msg.length > 14) { duration = 4000 } uni.showToast({ title: msg, icon: "none", duration: duration }) } /** * 深拷贝数据 * @param data * @returns {any} */ static deepObj(data) { if (typeof data === 'string' || typeof data === 'number') { return data; } if (data) { return JSON.parse(JSON.stringify(data)); } return data; } static formatDate(dateString) { // 兼容 iOS,替换 "-" 为 "/" const compatibleDateString = dateString.replace(/-/g, '/'); const date = new Date(compatibleDateString); const weekdays = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']; const weekDay = weekdays[date.getDay()]; const year = date.getFullYear().toString().slice(2); // 获取两位数年份 const month = date.getMonth() + 1; const day = date.getDate(); const hours = date.getHours().toString().padStart(2, '0'); const minutes = date.getMinutes().toString().padStart(2, '0'); return `${weekDay} ${year}年${month}月${day}日 ${hours}:${minutes}`; } } export default helpers