mu-tooljs
Version:
Web前端开发,常用JavaScript工具库
205 lines (155 loc) • 6.04 kB
Markdown
# JavaScript 常用工具库
[](https://www.npmjs.com/package/mu-tooljs)
> Web 前端开发,常用 JavaScript 工具库,整合在 Web 项目开发过程中,经常使用的工具集合。
#### 下载安装:
```shell
# 使用npm命令下载安装
$ npm i mu-tooljs
# 使用yarn命令下载安装
yarn add mu-tooljs
```
#### 使用方法:
- 通过 JS Module(模块)方式导入使用
```html
<!-- ES6模块导入使用 -->
<script type="module">
/**
* 1、引入使用
**/
import * as mu from "mu-tooljs";
// 在浏览器控制台中打印mu-tooljs的所有方法
console.log(mu);
// 打印实例
mu.print();
/**
* 2、按需引入
**/
import { print, cookie, download } from "mu-tooljs";
// 打印实例
print();
</script>
```
- 通过 script 标签以 CDN 的形式引入使用
```html
<!-- 将mu-tooljs下载后,在html文件中引入本地脚本 -->
<script src="./js/mu-tooljs"></script>
<script>
// 在浏览器控制台中打印mu-tooljs的所有方法
console.log(mu);
// 打印实例
mu.print();
</script>
```
#### 支持情况:
- **print() 页面打印**
> 在网页中指定某个元素、区域,从打印机中打印输出!
```js
/**
* @param {String} id // 打印的区域元素的ID值
* @returns {Undefined}
*/
mu.print("box1"); // box1 是网页中指定要打印元素的id
mu.print(); // 如果参数为空:则打印网页中的整个body元素的内容!
```
- **cookie 缓存管理**
> 主要对 document.cookie 进行了封装,提供了对 cookie 的 获取 get(),删除 del(),设置 set() 这 3 个方法。
```js
/**
* @description 获取cookie!
* @param {String} name
* @returns String | " "
*/
mu.cookie.get(name);
/**
* @description 删除cookie!
* @param {String} name
* @returns mu.cookie
*/
mu.cookie.del(name);
/**
* @description 设置cookie!
* @param {String} name
* @param {String} valse
* @param {toGMTString/toUTCString} time
* @param {String} path
* @param {String} domain
* @returns mu.cookie
*/
mu.cookie.set(name, valse);
```
**mu.cookie.set(_name_, _value_, _time_ = 0, _path_ = '', _domain_ = ''),参数说明如下【注:如果浏览器屏蔽了 cookie 功能,将导致设置失败!】:**
| 属性名 | 属性值类型 | 属性值说明 | 是否必传 |
| ------ | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------- |
| name | String | 需设置 cookie 的名称 | 是 |
| value | String | 需设置 cookie 的值 | 是 |
| time | toGMTString/toUTCString | 过期时间,单位为 "天"<br>【1 天 = new Date(+new Date() + (1 _ 24 + 8) _ 60 _ 60 _ 1000).toUTCString()】<br>,默认为 0。传负数可删除此 cookie | 否 |
| path | String | 设置路径,默认为当前网页路径 | 否 |
| domain | String | 设置域,默认为当前网页所在域" / " | 否 |
- **download() 文件下载**
> 根据文件地址下载(如:图片、音频、视频、文档、压缩包等文件)!
```js
/**
* @param {String} url // 下载文件地址
* @param {String} name // 下载文件名称
* @param {String} target?: _blank
* @returns {Boolean}
*/
let url = "http://www.xxx.com/xxx.mp3"; // 注:该文件地址为非跨域地址!
let name = "下载文件名称";
mu.download(url, name);
```
- **downloadByData() 文件流下载**
> 根据文件流下载!
```js
/**
* @param {BlobPart} data 文件流
* @param {String} name 设置下载文件名
* @param {String} mime?:
* @param {BlobPart} bom?:
* @returns {Undefined}
*/
let data = "文件流";
let name = "下载文件名称";
mu.downloadByData(data, name);
```
- **imgURLToBase64() 图片 转 Base64**
> 根据图片(imgURL)地址,将图片 转为 Base64 编码!
```js
/**
* @name imgURLToBase64
* @descriptio 图片(imgURL) 转 Base64
* @param {String} imgURL
* @param {String} mineType?:
* @returns {Promise} Base64
*/
let let imgURL = "http://www.xxx.com/xxx.jpg"; // 注:该文件地址为非跨域地址!
mu.imgURLToBase64(imgURL);
```
- **base64ToBlob() Base64 转 Blob 对象**
> 根据 Base64 编码 转 Blob 对象 !
```js
/**
* @name base64ToBlob
* @descriptio Base64编码 转 Blob对象
* @param {Base64} base64Buf
* @returns {Blob}
*/
let let baseCode = "Base64";
mu.base64ToBlob(baseCode);
```
- **blobToBase64() Blob 对象 转 Base64**
> 根据 Blob 对象 转 Base64 编码!
```js
/**
* @name blobToBase64
* @descriptio Blob对象 转 Base64
* @param {Blob} blob
* @param {Function} callBack
* @returns {Undefined}
*/
let let blob = "Blob对象";
mu.blobToBase64(blob, function(base64){
console.log(base64);
});
```
- Updating 。。。!