perf[filter]: remove duplicate code #661
This commit is contained in:
		| @@ -1,3 +1,6 @@ | ||||
| // set function parseTime,formatTime to filter | ||||
| export { parseTime, formatTime } from '@/utils' | ||||
|  | ||||
| function pluralize(time, label) { | ||||
|   if (time === 1) { | ||||
|     return time + label | ||||
| @@ -16,67 +19,8 @@ export function timeAgo(time) { | ||||
|   } | ||||
| } | ||||
|  | ||||
| export function parseTime(time, cFormat) { | ||||
|   if (arguments.length === 0) { | ||||
|     return null | ||||
|   } | ||||
|  | ||||
|   if ((time + '').length === 10) { | ||||
|     time = +time * 1000 | ||||
|   } | ||||
|  | ||||
|   const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}' | ||||
|   let date | ||||
|   if (typeof time === 'object') { | ||||
|     date = time | ||||
|   } else { | ||||
|     date = new Date(parseInt(time)) | ||||
|   } | ||||
|   const formatObj = { | ||||
|     y: date.getFullYear(), | ||||
|     m: date.getMonth() + 1, | ||||
|     d: date.getDate(), | ||||
|     h: date.getHours(), | ||||
|     i: date.getMinutes(), | ||||
|     s: date.getSeconds(), | ||||
|     a: date.getDay() | ||||
|   } | ||||
|   const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => { | ||||
|     let value = formatObj[key] | ||||
|     if (key === 'a') return ['一', '二', '三', '四', '五', '六', '日'][value - 1] | ||||
|     if (result.length > 0 && value < 10) { | ||||
|       value = '0' + value | ||||
|     } | ||||
|     return value || 0 | ||||
|   }) | ||||
|   return time_str | ||||
| } | ||||
|  | ||||
| export function formatTime(time, option) { | ||||
|   time = +time * 1000 | ||||
|   const d = new Date(time) | ||||
|   const now = Date.now() | ||||
|  | ||||
|   const diff = (now - d) / 1000 | ||||
|  | ||||
|   if (diff < 30) { | ||||
|     return '刚刚' | ||||
|   } else if (diff < 3600) { // less 1 hour | ||||
|     return Math.ceil(diff / 60) + '分钟前' | ||||
|   } else if (diff < 3600 * 24) { | ||||
|     return Math.ceil(diff / 3600) + '小时前' | ||||
|   } else if (diff < 3600 * 24 * 2) { | ||||
|     return '1天前' | ||||
|   } | ||||
|   if (option) { | ||||
|     return parseTime(time, option) | ||||
|   } else { | ||||
|     return d.getMonth() + 1 + '月' + d.getDate() + '日' + d.getHours() + '时' + d.getMinutes() + '分' | ||||
|   } | ||||
| } | ||||
|  | ||||
| /* 数字 格式化*/ | ||||
| export function nFormatter(num, digits) { | ||||
| export function numberFormatter(num, digits) { | ||||
|   const si = [ | ||||
|     { value: 1E18, symbol: 'E' }, | ||||
|     { value: 1E15, symbol: 'P' }, | ||||
| @@ -93,12 +37,6 @@ export function nFormatter(num, digits) { | ||||
|   return num.toString() | ||||
| } | ||||
|  | ||||
| export function html2Text(val) { | ||||
|   const div = document.createElement('div') | ||||
|   div.innerHTML = val | ||||
|   return div.textContent || div.innerText | ||||
| } | ||||
|  | ||||
| export function toThousandslsFilter(num) { | ||||
|   return (+num || 0).toString().replace(/^-?\d+/g, m => m.replace(/(?=(?!\b)(\d{3})+$)/g, ',')) | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user