import moment from 'moment'
|
|
//默认赋值 当前一周的时间
|
export function getThisWeekRange(){
|
const today = new Date();
|
const startOfWeek = new Date(today);
|
startOfWeek.setDate(startOfWeek.getDate() - startOfWeek.getDay()); // 减去今天是一周的第几天,得到周一的日期
|
const endOfWeek = new Date(startOfWeek);
|
endOfWeek.setDate(endOfWeek.getDate() + 6); // 加上6天,得到周日的日期
|
|
//return [moment(startOfWeek,"YYYY-MM-DD HH:mm"), moment(endOfWeek,"YYYY-MM-DD HH:mm")];
|
return [moment(startOfWeek), moment(endOfWeek)];
|
}
|
|
export function dateFormat(dateString, fmt) {
|
const date = new Date(dateString)
|
let ret
|
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() // 秒
|
// 有其他格式化字符需求可以继续添加,必须转化成字符串
|
}
|
for (const 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
|
}
|
|
export function timeFix () {
|
const time = new Date()
|
const hour = time.getHours()
|
return hour < 9 ? '早上好' : hour <= 11 ? '上午好' : hour <= 13 ? '中午好' : hour < 20 ? '下午好' : '晚上好'
|
}
|
|
export function welcome () {
|
const arr = ['休息一会儿吧', '准备吃什么呢?', '要不要打一把 LOL', '我猜你可能累了']
|
const index = Math.floor(Math.random() * arr.length)
|
return arr[index]
|
}
|
|
/**
|
* 触发 window.resize
|
*/
|
export function triggerWindowResizeEvent () {
|
const event = document.createEvent('HTMLEvents')
|
event.initEvent('resize', true, true)
|
event.eventType = 'message'
|
window.dispatchEvent(event)
|
}
|
|
export function handleScrollHeader (callback) {
|
let timer = 0
|
|
let beforeScrollTop = window.pageYOffset
|
callback = callback || function () {}
|
window.addEventListener(
|
'scroll',
|
event => {
|
clearTimeout(timer)
|
timer = setTimeout(() => {
|
let direction = 'up'
|
const afterScrollTop = window.pageYOffset
|
const delta = afterScrollTop - beforeScrollTop
|
if (delta === 0) {
|
return false
|
}
|
direction = delta > 0 ? 'down' : 'up'
|
callback(direction)
|
beforeScrollTop = afterScrollTop
|
}, 50)
|
},
|
false
|
)
|
}
|
|
export function isIE () {
|
const bw = window.navigator.userAgent
|
const compare = (s) => bw.indexOf(s) >= 0
|
const ie11 = (() => 'ActiveXObject' in window)()
|
return compare('MSIE') || ie11
|
}
|
|
/**
|
* Remove loading animate
|
* @param id parent element id or class
|
* @param timeout
|
*/
|
export function removeLoadingAnimate (id = '', timeout = 1500) {
|
if (id === '') {
|
return
|
}
|
setTimeout(() => {
|
document.body.removeChild(document.getElementById(id))
|
}, timeout)
|
}
|
|
/**
|
* download File
|
* @param res
|
*/
|
export function downloadFile(res) {
|
console.info('filename...........')
|
const blob = new Blob([res.data], { type: 'application/octet-stream;charset=UTF-8' })
|
const contentDisposition = res.headers['content-disposition']
|
const pattern = new RegExp('filename=([^;]+\\.[^\.;]+);*')
|
const result = pattern.exec(contentDisposition)
|
const filename = result[1]
|
|
console.info('filename', filename)
|
const downloadElement = document.createElement('a')
|
const href = window.URL.createObjectURL(blob) // 创建下载的链接
|
const reg = /^["](.*)["]$/g
|
downloadElement.style.display = 'none'
|
downloadElement.href = href
|
downloadElement.download = decodeURI(filename.replace(reg, '$1')) // 下载后文件名
|
document.body.appendChild(downloadElement)
|
downloadElement.click() // 点击下载
|
document.body.removeChild(downloadElement) // 下载完成移除元素
|
window.URL.revokeObjectURL(href)
|
}
|