import Vue from 'vue'
export default {install () {Vue.directive('fofo', {inserted (el) {el = el.querySelector('input')el.focus()}})}
}
export const formatDate = (time) => {return time.replace(/\-/g, "/");
}
export const inArray = (search, array) => {for (var i in array) {if (array[i] == search) return true}return false
}
export const dateFormat = (fmt, date) => {const opt = {"Y+": date.getFullYear().toString(), "m+": (date.getMonth() + 1).toString(), "d+": date.getDate().toString(), "H+": date.getHours().toString(), "M+": date.getMinutes().toString(), "S+": date.getSeconds().toString() };let retfor (let k in opt) {ret = new RegExp("(" + k + ")").exec(fmt)if (ret) {fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))};};return fmt
}
egdateFormat('YYYY-mm-dd HH:MM:SS', new Date()) ==> 2020-01-01 08:00:00
export const isEmptyObject = (object) => {return Object.keys(object).length === 0
}
export const isObject = (object) => {return Object.prototype.toString.call(object) === '[object Object]'
}
export const isArray = (array) => {return Object.prototype.toString.call(array) === '[object Array]'
}
export const isEmpty = (value) => {if (isArray(value)) {return value.length === 0}if (isObject(value)) {return isEmptyObject(value)}return !value
}
export const cloneObj = (obj) => {let newObj = obj.constructor === Array ? [] : {};if (typeof obj !== 'object') {return;}for (let i in obj) {newObj[i] = typeof obj[i] === 'object' ? cloneObj(obj[i]) : obj[i];}return newObj
}
export function throttle(fn, delay = 100) {var timer = nullreturn function() {if (timer) returntimer = setTimeout(() => {fn.apply(this, arguments)timer = null}, delay)}
export function debounce(fn, delay) {let timerreturn function() {const that = thisconst _args = arguments if (timer) {clearTimeout(timer)}timer = setTimeout(function() {fn.apply(that, _args)}, delay)}
}
export function getHiddenName(data){if (!data) return ''const surname = data.substr(0, 1)const star = '*'.repeat(data.length - 1)return surname + star
}
export function getHiddenDetailAddress(data){const chineseNumbers = ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十']if (!data || data.length === 0){return ''}let tempResult = data.replace((/\d/g),'*')let result = ''for(let i=0;i<tempResult.length;i++){if (chineseNumbers.includes(tempResult[i])){result += '*'}else {result += tempResult[i]}}return result
}
- 计算2个日期相差的天数,不包含今天,如:2024-09-13到2016-09-15,相差2天
function dateDiff(startDate, endDate) {return parseInt((endDate - startDate) / 1000 / 60 / 60 / 24)
}
- 计算2个日期相差的天数,包含今天,如:2024-09-13到2016-09-15,相差3天
function dateDiff(startDate, endDate) {return parseInt((endDate - startDate) / 1000 / 60 / 60 / 24) + 1
}