npm i yb-tool.js --save
import { Base64 } from 'yb-tool.js'
// 编码
Base64.encode('123123') // MTIzMTIz
// 解码
Base64.decode('MTIzMTIz') // 123123
数字逗号格式化
source: 要格式化的数字
length: 逗号长度
import { NumberComma } from 'yb-tool.js'
NumberComma(21342132) // 21,342,132
NumberComma(21342132, 4) // 2134,2132
NumberComma(21342132.234) // 21,342,132.234
数字前面O填充
source: 要格式化的数字
length: 数字位数
import { NumberPad } from 'yb-tool.js'
numberPad(1) // 01
numberPad(234, 4) // 0234
在指定范围获取随机数
min: 最小范围
max: 最大范围
import { NumberRandom } from 'yb-tool.js'
NumberRandom(1, 7) // 2
根据数字范围获取范围数组
start: 开始数字
end: 结束数字
padWidth: 数字位数
import { NumberRange } from 'yb-tool.js'
NumberRange(1, 7) // ["01", "02", "03", "04", "05", "06", "07"]
NumberRange(1, 7, 3) // ["001", "002", "003", "004", "005", "006", "007"]
时间格式化
date: 时间 [Number, Date, String]
fmt: 时间格式
import { DateFormat } from 'yb-tool.js'
DateFormat(1540441613479) // 2018-10-25 12:26:53
DateFormat('2018-10-25 12:26:53', '2018/10/25 12:26:53') // 2018/10/25 12:26:53
DateFormat(new Date()) // 2018-10-25 12:29:15
时间范围数组(是以天为单位)
start: 开始时间
end: 结束时间
format: 时间格式
const date = new Date()
const date1 = date.getTime() + 1000 * 60 * 60 * 24 * 7
DateRnage(date, date1) // ["2018-10-25", "2018-10-26", "2018-10-27", "2018-10-28", "2018-10-29", "2018-10-30", "2018-10-31", "2018-11-01"]
// 参数解析
QueryString.parse('ww=123&xx=www') // { ww: "123", xx: "www" }
// 参数拼接
QueryString.stringify({ ww: "123", xx: "www" }) // ww=123&xx=www
清除Url格式
UrlClearFormat('https://wangyabin.top?wang=xxx') // https://wangyabin.top
校验文件大小
e: 文件对象或者是事件,如果是事件就获取第一个文件
size: 最大文件大小(KB)
key: 指定错误类型(返回的是Promise对象,用于区分catch类型)
CheckFileSize(file, 100).then(() => {
// 文件大小没有超过指定范围
}).catch(() => {
// 文件大小没超过指定范围
})
获取第一个文件
e: 事件对象(如果传入的是文件对象直接返回文件)
key: 指定错误类型(返回的是Promise对象,用于区分catch类型)
GetOneFile(e).then(() => {
// 返回文件对象
}).catch(() => {
// 没有找到文件
})
通过文件后缀名获取允许的文件类型 Accept 属性
AcceptWithSuffixs(['jpg', 'png']) // image/jpeg,image/png
获取文件后缀名
e: 文件对象或者是事件,如果是事件就获取第一个文件
FileSuffix(e).then((data) => {
// 返回文件后缀名
}).catch(() => {
// 出错
})
加载本地文件对象,可以直接渲染到img标签或者背景图片
e: 文件对象或者是事件,如果是事件就获取第一个文件
key: 指定错误类型(返回的是Promise对象,用于区分catch类型)
LocalImage(e).then((data) => {
// 返回文件对象
}).catch(() => {
// 出错
})
校验文件类型
e: 文件对象或者是事件,如果是事件就获取第一个文件
arr: 允许的文件格式数组(区分大小写)
key: 指定错误类型(返回的是Promise对象,用于区分catch类型)
CheckInputType(e, ['jpg','png']).then((data) => {
// 返回文件对象
}).catch(() => {
// 出错
})
图片压缩
event: 文件对象或者是事件,如果是事件就获取第一个文件
maxWidth: 压缩的最大宽度(图片长宽如果大于maxWidth就等比压缩)
ImgCompress(e).then((data) => {
// 返回文件对象
}).catch(() => {
// 出错
})
判断事件中是否包含文件对象
if(ExistFile(e)) {
// 事件中有文件对象
} else {
// 没有文件对象
}
指定页面动画滚动
el: dom
from: 开始滚动的位置
to: 结束滚动的位置
duration: 持续时间
endCallback: 完成回调
// 返回界面顶部
ScrollTop(window, sTop, 0, 800);
构造方法
constructor(interval = 1000, repeat = 1)
interval: 事件间隔
repeat: 重复次数
运行定时器
start(func, promptly = false)
func: 需要执行的事件
promptly: 是否立即执行
清除定时器
clearTimer()
延迟函数
主要用于 async await 的时候延迟指定时间
static delay(interval = 1000)
setDataWithJson()
json赋值当前模型
static creatModelWithJson
json转模型
static getModelsWithArr(dataArr)
数组转模型数组
getJson(keys, json = {})
主要用户ajax请求的时候传参
getJson(obj, keys, json = {})
主要用户ajax请求的时候传参