1.1.3 • Published 9 months ago
ydutils v1.1.3
一德前端工具类
初始化:
npm install ydutils
import Ydutils from "ydutils";
const ydutils = Ydutils(import.meta.env.VITE_BASE_API,token,fileUrl?);
第一个参数为后端请求地址用于上传文件,第二个参数为token,第三个参数为可选参数Object fileUrl = {multipart:大文件上传地址,upload:单文件上传地址}
storage
Ydutils.storage.get(key)
Ydutils.storage.set(key,value)
storage 是在localStorage的基础之上封装的,封装的意义在于get的返回值始终保持set时的数据类型 无需再做json序列化:
var obj = {name:"张三"}
Ydutils.storage.set("user",obj)
var user = Ydutils.storage.get('user')
console.log(user.name) // 张三
debounce 函数防抖
使用示例:
func get(id){//根据id获取数据}
Ydutils.debounce(get,1000)({id:4}) // 获取一个id为4的用户数据
debounce第一个参数为需要执行的函数,第二个参数为防抖时间 Ydutils.debounce()为高阶函数 在返回的函数中 再传参给执行函数
throttle 函数防抖
使用示例:
func get(id){//根据id获取数据}
Ydutils.throttle(get,1000)({id:4}) // 获取一个id为4的用户数据
throttle第一个参数为需要执行的函数,第二个参数为节流时间 Ydutils.throttle()为高阶函数 在返回的函数中 再传参给执行函数
文件上传
代码示列:
Ydutils.uploadFiles(file,type,fn)
uploadFiles 返回一个 Promise ,第一个参数类型为File,函数内部会自动完成文件大小检验,大于10m的文件会进行切片上传,第二个参数为项目类型 用于区分文件上传所属的桶,第三个参数为切片上传的进度回调函数,回调函数的值为当前上传进度的百分比
对象的深拷贝
代码示列:
var user = {name:"李四"}
var user2 = Ydutils.deepCopy(user)
发包命令
npm publish --access public