UNPKG

tools-library

Version:
277 lines (260 loc) 6.8 kB
### 安装 ```bash $ npm i tools-library -save $ yarn add tools-library ``` ### 使用 自定义拖动指令(支持pc、移动端) main.js #### 部分导入 ```bash import { directiveMoveScale } from 'tools-library' app.directive('moveScale', directiveMoveScale) ``` #### 全部导入 ```bash import { tools } from 'tools-library' app.directive('moveScale', tools.directiveMoveScale) ``` #### 组件中使用: ```bash <div v-move-scale></div> ``` ### 配置参数 ```bash none ``` ### 使用 自定义放大镜指令(支持pc) #### 全局部分导入 ```bash import { directiveMagnifier } from 'tools-library' app.directive('mag', directiveMagnifier) ``` #### 全局全部导入 ```bash import { tools } from 'tools-library' app.directive('mag', tools.directiveMagnifier) ``` #### 组件中使用: ```bash <div v-mag></div> ``` #### 组件内部分导入 ```bash import { directiveMagnifier } from 'tools-library' const vMag = directiveMagnifier ``` #### 组件内全局全部导入 ```bash import { tools } from 'tools-library' const vMag = tools.directiveMagnifier ``` #### 组件中使用: ```bash <div v-mag="params"></div> ``` ### 配置参数 ```bash params: { magnifierSize: '100px', // 放大镜大小(单位px) borderColor: '#e1d5d5', // 放大镜边框颜色 circular: false, // 放大镜是否设置为圆 scale: 2 // 放大镜放大倍数 } ``` ### 使用 自定义格式化方法 #### 部分导入 ```bash import { formatTime } from 'tools-library' ``` #### 全部导入 ```bash import { tools } from 'tools-library' ``` #### 组件中使用: ```bash formatTime(time, tFormat) // 或 tools.formatTime(time, tFormat) ``` ### 配置参数 ```bash time: 类型: number 时间戳 Date 时间格式 string 字符串时间戳 tFormat: 类型: string 格式化字符串模板 default: 'yyyy-MM-dd HH:mm:ss' ``` ### 使用 自定义websocket方法 #### 部分导入 ```bash import { WS } from 'tools-library' ``` #### 全部导入 ```bash import { tools } from 'tools-library' ``` #### 组件中使用: ```bash new WS(config) // 或 new tools.WS(config) ``` ### 配置参数 ```bash config: 类型: object ws配置对象 config: { url: '', autoReconnectInterval: 5000, // 自动重连间隔 maxReconnectSum: 3, // 最大重连次数 enableHeartbeat: true, // 启用心跳 heartbeatInterval: 30000, // 心跳间隔 heartbeatData: 'ping', // 发送心跳数据 message: msg => {}, // 接收消息回调 error: err => {}, // 错误回调 close: () => {}, // 关闭回调 } // 关闭websocket ws.close() ``` ### 使用 自定义indexDb方法 #### 部分导入 ```bash import { IndexDb } from 'tools-library' ``` #### 全部导入 ```bash import { tools } from 'tools-library' ``` #### 组件中使用: ```bash await IndexDb.openDB(dbName, version = 1, newStore) // 或 await tools.IndexDb.openDB(dbName, version = 1, newStore) ``` ### 使用方法 ```bash // 打开数据库/创建数据库 // newStore { name: '', id: '', index: [ { indexName: '索引名称', name: '列属性', unique: false } ] } name 表名 id 主键(为空自增) index 自定义索引对象 openDB(dbName, version = 1, newStore) // 添加数据 // data { array } / { object } addData(db, storeName, data) // 更新数据 // data { array } / { object } updateData(db, storeName, data) // 通过主键查询数据 getDataByKey(db, storeName, key) // 通过自定义索引查询数据 getDataByIndex(db, storeName, indexName, indexValue) // 通过游标查询所有数据 cursorGetAllData(db, storeName) // 通过游标自定义索引查询所有数据 cursorGetDataByIndex(db, storeName, indexName, indexValue) // 删除数据 deleteData(db, storeName, key) // 清空数据 clearData(db, storeName) // 删除数据库 deleteDb(dbName) // 关闭数据库 closeDB(db) // 注:除关闭数据库方法外,其他方法返回值为promise ``` ### 使用 自定义fileBase64方法 #### 部分导入 ```bash import { fileBase64 } from 'tools-library' ``` #### 全部导入 ```bash import { tools } from 'tools-library' ``` #### 组件中使用: ```bash await fileBase64.urlToBase64(url) // 或 await tools.fileBase64.urlToBase64(url) ``` ### 使用方法 ```bash // 将base64转化为blob return new Blob() base64ToBlob(base64) // 将blob转化为File return new File() blobToFile(blob, fileName) // 将base64转化为File return new File() base64ToFile(base64, fileName) // 通过图片url地址转化为base64 return new Promise() urlToBase64(url) // 将File转化为blob return new Blob() fileToBlob(file) // 将blob转化为base64 return new Promise() blobToBase64(blob) // 将file转化为base64 return base64编码字符串 fileToBase64(file) // 图片压缩方法,指定压缩系数 url 图片有效路径 / base64编码字符串 quality 图片质量系数 0 ~ 100 return base64编码字符串 imgUrlCompressor(url, quality = 80) // base64大小计算 base64 base64编码字符串 return base64大小(字节) getBase64ImageSize(base64) // 图片压缩方法,压缩指定大小以内(主要适用于图片文件上传服务器之前自动压缩) // imgPath 图片有效路径 / base64编码字符串 // compParamObj 图片压缩参数对象 compParamObj对象属性:width 图像宽 height 图像高 ratio 图像宽高系数(0 - 100) quality 图像质量系数(0 - 100) // maxSize 最大图片大小(bytes) Number类型 // left 二分递归查找 left (建议使用默认值) // right 二分递归查找 right (建议使用默认值) // oQuality 初始图像质量系数 (建议使用默认值) // return base64编码字符串 uploadImageCompressor(imgPath, compParamObj, maxSize, left = 0, right = null, oQuality = null) ``` ### 使用 自定义Encry方法 #### 部分导入 ```bash import { Encry } from 'tools-library' ``` #### 全部导入 ```bash import { tools } from 'tools-library' ``` #### 组件中使用: ```bash Encry.encrypt(key, text) Encry.decrypt(key, text) // 或 tools.Encry.encrypt(key, text) tools.Encry.decrypt(key, text) ``` ### 使用方法 ```bash // 加密方法 key(密钥)必须为数字字母组成的36位字符串 text为要加密的字符串 Encry.encrypt(key, text) // 解密方法 key(密钥)必须为数字字母组成的36位字符串 text为要解密的字符串 Encry.decrypt(key, text) ``` ### 使用 本地媒体组件 main.js #### 部分导入 ```bash import { LocalMedia } from 'tools-library' app.use(LocalMedia) ``` #### 全部导入 ```bash import { components } from 'tools-library' app.use(components) ``` #### 组件中使用: ```bash <LocalMedia /> ``` ### 配置参数 videoConfig: { ... } getUserMedia(videoConfig) #### 默认配置 ```bash videoConfig: { width: 320, height: 240, video: { facingMode: 'user' } } ```