123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- /**
- * 存储localStorage
- */
- export const setStore = (name, content) => {
- if (!name) return
- if (typeof content !== 'string') {
- content = JSON.stringify(content)
- }
- window.localStorage.setItem(name, content)
- }
- /**
- * 获取localStorage
- */
- export const getStore = name => {
- if (!name) return
- return window.localStorage.getItem(name)
- }
- /**
- * 删除localStorage
- */
- export const removeStore = name => {
- if (!name) return
- window.localStorage.removeItem(name)
- }
- /**
- * 获取style样式
- */
- export const getStyle = (element, attr, NumberMode = 'int') => {
- let target
- // scrollTop 获取方式不同,没有它不属于style,而且只有document.body才能用
- if (attr === 'scrollTop') {
- target = element.scrollTop
- } else if (element.currentStyle) {
- target = element.currentStyle[attr]
- } else {
- target = document.defaultView.getComputedStyle(element, null)[attr]
- }
- // 在获取 opactiy 时需要获取小数 parseFloat
- return NumberMode === 'float' ? parseFloat(target) : parseInt(target)
- }
- /**
- * 数组分组
- * 如[1,1,1,1,1,1,1,1] => [[1,1,1],[1,1,1],[1,1]]
- */
- export const group = (array, subGroupLength) => {
- let index = 0
- let newArray = []
- while (index < array.length) {
- newArray.push(array.slice(index, index += subGroupLength))
- }
- return newArray
- }
- /**
- * 在元素后插入
- */
- export const insertAfter = (newElement, targetElement) => {
- let parent = targetElement.parentNode
- if (parent.lastChild === targetElement) {
- parent.appendChild(newElement)
- } else {
- parent.insertBefore(newElement, targetElement.nextSibling)
- }
- }
- /**
- * 格式化时间
- * @param {格式化格式} fmt 如 yyyy-MM-dd hh:mm:ss
- * @param {时间对象} date
- */
- export const Format = (fmt, date) => {
- let o = {
- 'M+': date.getMonth() + 1, // 月份
- 'd+': date.getDate(), // 日
- 'h+': date.getHours(), // 小时
- 'm+': date.getMinutes(), // 分
- 's+': date.getSeconds(), // 秒
- 'q+': Math.floor((date.getMonth() + 3) / 3), // 季度
- 'S': date.getMilliseconds() // 毫秒
- }
- if (/(y+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)) }
- for (var k in o) {
- if (new RegExp('(' + k + ')').test(fmt)) { fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length))) }
- }
- return fmt
- }
- /**
- * 只执行一次
- * @param {*} fn 要执行的函数
- */
- export const once = fn => {
- let flag = false
- return function () {
- if (flag) return
- fn.apply(this, arguments)
- flag = true
- }
- }
- /*
- * 判断数据类型函数的生产函数,传入的参数为数据类型,返回一个判断传入的参数是否为该类型的函数
- */
- const isType = type => target => `[object ${type}]` === Object.prototype.toString.call(target)
- export const isString = isType('String')
- export const isObject = isType('Object')
- export const isArray = isType('Array')
- export const dealBloToURL = (blob, name) => {
- // const url = window.URL.createObjectURL(blob)
- // window.open(url)
- const href = window.URL.createObjectURL(blob)
- // window.open(url)
- // downloadElement.download = 'wudi'
- let downloadElement = document.createElement('a')
- downloadElement.href = href
- downloadElement.download = name
- document.body.appendChild(downloadElement)
- downloadElement.click()
- // document.body.removeChild(downloadElement)
- // window.URL.revokeObjectURL(href)
- }
- // 判断今天是否在某个时间段内 Sdate:开始时间,结束时间
- export const isDuringDate = (Sdate, Edate) => {
- var today = new Date()
- var beginDate = new Date(Sdate)
- var endDate = new Date(Edate)
- if (today >= beginDate && today <= endDate) {
- return true
- }
- return false
- }
|