# ydutils

> 内部工具类

Latest version **1.1.3** (published 2023-08-02) · ISC license · 0 weekly downloads

## Install

```sh
npm install ydutils
pnpm add ydutils
yarn add ydutils
bun add ydutils
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.3 |
| Published | 2023-08-02 |
| First published | 2023-06-19 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 4 |
| Unpacked size | 78 KB |
| Known vulnerabilities | 0 (+12 in 1 direct dependencies) |
| Install scripts | no |
| Author | east |
| Maintainers | yideya |

## Links

- npm: https://www.npmjs.com/package/ydutils
- npm.io page: https://npm.io/package/ydutils

## Dependencies (4)

- [vue](https://npm.io/package/vue.md) ^3.3.4
- [vite](https://npm.io/package/vite.md) ^4.4.7
- [axios](https://npm.io/package/axios.md) ^1.4.0
- [@vitejs/plugin-vue](https://npm.io/package/@vitejs/plugin-vue.md) ^4.2.3

## Recent versions

- 1.1.3 (latest) — 2023-08-02
- 1.1.2 — 2023-07-26
- 1.1.1 — 2023-07-26
- 1.1.0 — 2023-07-26
- 1.0.8 — 2023-07-26
- 1.0.7 — 2023-07-26
- 1.0.6 — 2023-06-27
- 1.0.5 — 2023-06-27
- 1.0.4 — 2023-06-27
- 1.0.2 — 2023-06-27
- 1.0.1 — 2023-06-19
- 1.0.0 — 2023-06-19

## README

# 一德前端工具类
### 初始化:
   ~~~
     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

---
_Source: https://npm.io/package/ydutils · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
