import moment from 'moment' export function formatTime(time) { if (typeof time !== 'number' || time < 0) { return time } var hour = parseInt(time / 3600) time = time % 3600 var minute = parseInt(time / 60) time = time % 60 var second = time return ([hour, minute, second]).map(function(n) { n = n.toString() return n[1] ? n : '0' + n }).join(':') } export function formatLocation(longitude, latitude) { if (typeof longitude === 'string' && typeof latitude === 'string') { longitude = parseFloat(longitude) latitude = parseFloat(latitude) } longitude = longitude.toFixed(2) latitude = latitude.toFixed(2) return { longitude: longitude.toString().split('.'), latitude: latitude.toString().split('.') } } export var dateUtils = { UNITS: { '年': 31557600000, '月': 2629800000, '天': 86400000, '小时': 3600000, '分钟': 60000, '秒': 1000 }, humanize: function(milliseconds) { var humanize = ''; for (var key in this.UNITS) { if (milliseconds >= this.UNITS[key]) { humanize = Math.floor(milliseconds / this.UNITS[key]) + key + '前'; break; } } return humanize || '刚刚'; }, format: function(dateStr) { var date = this.parse(dateStr) var diff = Date.now() - date.getTime(); if (diff < this.UNITS['天']) { return this.humanize(diff); } var _format = function(number) { return (number < 10 ? ('0' + number) : number); }; return date.getFullYear() + '/' + _format(date.getMonth() + 1) + '/' + _format(date.getDate()) + '-' + _format(date.getHours()) + ':' + _format(date.getMinutes()); }, parse: function(str) { //将"yyyy-mm-dd HH:MM:ss"格式的字符串,转化为一个Date对象 var a = str.split(/[^0-9]/); return new Date(a[0], a[1] - 1, a[2], a[3], a[4], a[5]); } }; export function now(format) { return moment().format(format) } export function getDictLabel(dicts, value) { if (!value) { return '' } if (!dicts || !dicts.length) { return '' } const obj = dicts.find(item => item.dictValue === value) if (!obj) { return '' } return obj.dictLabel; } export function getDictLabelByArray(dicts, value) { if (!value) { return '' } if (!dicts || !dicts.length) { return '' } const arr = dicts.filter(item => value.split(',').indexOf(item.dictValue) > -1) if (arr.length === 0) { return '' } return arr.map(item => item.dictLabel).join('、'); } export const formatTimeText = (seconds) => { if (!seconds) { return '' } if (seconds < 0) { return formatTimeText(-seconds); } // 秒 if (seconds < 60) { return seconds + '秒' } // 分钟 if (seconds < 3600) { return `${Math.floor(seconds / 60)}分${seconds % 60}秒` } // 小时 if (seconds < 86400) { const remainder = seconds % 3600; return `${Math.floor(seconds / 3600)}时${parseInt(seconds % 3600 / 60)}分` } // 天 const remainder = seconds % 86400; return `${Math.floor(seconds / 86400)}天${parseInt(seconds % 86400 / 3600)}时` } export const getFileType = (fileName) => { if (!fileName || fileName.indexOf('.') === -1) { return 'txt'; } const fileSuffix = fileName.substr(fileName.lastIndexOf('.') + 1).toLowerCase(); const imgSuffix = ['png', 'jpg', 'jpeg', 'gif']; if (imgSuffix.indexOf(fileSuffix) > -1) { return 'img' } if (fileSuffix === 'doc' || fileSuffix === 'docx' ) { return 'doc' } if (fileSuffix === 'xls' || fileSuffix === 'xlsx' ) { return 'xls' } if (fileSuffix === 'pdf' ) { return 'pdf' } if (fileSuffix === 'mp3') { return 'mp3' } if (fileSuffix === 'mp4') { return 'mp4' } return 'txt'; }