import C from './constant.js'; export const getHost = () => { return C.apiHost; }; export const isDev = () => { return true; } export const parseDate = (time, type = 1) => { const val = [time.getFullYear(), time.getMonth() + 1, time.getDate()].map((o) => { return o < 10 ? '0' + o : o }); const val2 = [time.getHours(), time.getMinutes(), time.getSeconds()].map((o) => { return o < 10 ? '0' + o : o }); if (type === 1) { return val.join('-'); } if (type === 2) { return val2.join(':'); } if (type === 3) { return [val[0], '年', val[1], '月', val[2], '日'].join(''); } if (type === 4) { return val[0] + '年'; } if (type === 5) { return [val[1], '月'].join(''); } if (type === 6) { return [val[1], '月', val[2], '日'].join(''); } if (type === 7) { return val.join('.'); } return val.join('-') + ' ' + val2.join(':'); } export const safeStrToDate = (str) => { const arr = str.split(/[-\ \:]/g); const arr2 = [0, 0, 0, 0, 0, 0]; arr.map((one, idx) => { arr2[idx] = one * 1; }); if (arr2[1] > 0) { arr2[1] -= 1; } return new Date(arr2[0], arr2[1], arr2[2], arr2[3], arr2[4], arr2[5]); } export const sizeTool = (size) => { if (size > 1024 * 1024 * 1024) { return (size / 1024 / 1024 / 1024).toFixed(2) + 'G'; } if (size > 1024 * 1024) { return (size / 1024 / 1024).toFixed(2) + 'M'; } if (size > 1024) { return (size / 1024).toFixed(2) + 'K'; } return size + 'B' } export const getQueryString = (params) => { const list = []; for (const k in params) { if (!(params[k] == undefined || params[k] == null)) { list.push([encodeURIComponent(k), encodeURIComponent(params[k])].join('=')); } } return list.join('&'); } export const parseQueryString = (str) => { const l = str.split('&'); const m = {}; l.forEach((o) => { const _ = o.split('='); m[decodeURIComponent(_[0])] = decodeURIComponent(_[1] || ''); }) return m; } export const filterProperties = (obj, propKeys) => { if (propKeys.length == 0) { return { ...obj }; } const reObj = {}; propKeys.map((k) => { reObj[k] = obj[k]; }); return reObj; } export const filterPropertiesList = (list, propKeys) => { return list.map((obj => filterProperties(obj, propKeys))); } export const secToTimeStr = (n) => { const h = Math.floor(n * 1.0 / 60 / 60); const m = Math.floor((n - h * 60 * 60) / 60); const s = n % 60; return h + '时' + m + '分' + s + '秒'; } export const dateToWeek = (date) => { const arr = '日一二三四五六'.split(''); return arr[date.getDay()]; } export const fixPage = (pageData, oldPage) => { // console.log('fixPage', pageData.page, oldPage); const { page, pageSize, total } = pageData; if (total == 0) { return { ...pageData, page: 1, pageSize, total: 0 }; } const maxPage = Math.ceil(total * 1.0 / pageSize); if (oldPage > maxPage) { return { ...pageData, list: [], page: oldPage, pageSize, total: 0 }; } return { ...pageData, page, pageSize, total }; } // 分转元,并移除小数点后多余的0 export const formatePrice = (price) => { return (price / 100).toFixed(2).replace(/\.00$/, '') } // 时间(12:22)加上分钟后的时间 export const timeAddMinute = (time, minute) => { const tmpTime = safeStrToDate('2020-01-01 ' + time + ':00').getTime() + minute * 60 * 1000; return parseDate(new Date(tmpTime), 9); } // 手机号隐藏中间几位 export const hidePhone = (phone) => { return (phone || '').replace(/(\d{3})\d{4}(\d{4})/, '$1****$2'); } export const fix0 = (n) => { if (!/[0-9\.]+/.test(n + '')) { return 0; } const t = n + ''; if (n.indexOf('.') == -1) { return t; } const tt = t.split('.'); const f0 = (tt[1].split('').reverse().join('') * 1 + '').split('').reverse().join(''); if (f0 == 0) { return tt[0]; } return [tt[0], f0].join('.'); }