0.0.8 • Published 5 years ago

@mvpleung/vue-utils v0.0.8

Weekly downloads
-
License
ISC
Repository
github
Last release
5 years ago

vue-utils-plugin

install

npm i @mvpleung/vue-utils

use

<template>
  <div>
    <div>
      <input v-model="name" v-if="$utils.isEmpty(info.name)" placeholder=""/>
    </div>
  </div>
</template>

<script>
    import Vue from "vue";
    import utilsPlugin from "vue-utils-plugin";
    Vue.use(utilsPlugin,{
        utils: {
         replace: function(str, replace, replaceStr){}
        }
      }
    );
    export default {
        name: 'app',
        data () {
            return {
                name: '',
                info: {
                  name: ''
                }
            }
        },
        methods:{
            submit: function () {
                this.$utils.replace('', '', '');
            }
        }
    }
</script>

配置说明

配置传入一个对象

{
    utils:{}//自定义工具方法
}

默认工具

参考 ./src/default

MethodParamsDescription
isEmptyvalue是否为空
isEmptyArrayvalue是否为空数组
isEmptyObjectvalue是否为空对象
trimstr:String去除空格
istype:String, val精准数据类型判断(Object/Array/String等)
getUrlParamskey: String, url: String获取Url传参(a?code=123),Url默认取当前window.location
getUrlVarsurl: String获取URL全部参数,返回JSON对象,Url默认取当前location
removeUrlParamurl: String, key: String移除URL参数,返回操作后的 Url
setUrlParamsobj: Object, url: String批量设置URL参数,返回操作后的 Url,Url默认取当前location
setSessionItemkey: String, value: Object, needCipher: Boolean存入 session 缓存 (自动转换为String,支持加密存储)
getSessionItemkey: String, needDecipher: Boolean取出 session 缓存(自动转换为Object,支持解密,配合 setSessionItem
removeSessionItemkey: String清除session 缓存
setLocalItemkey: String, value: Object, option: Object存入 local 缓存 (自动转换为String,支持加密存储), option: {exp: Number /**过期时间(秒)**/, needCipher: Boolean /**是否加密**/}
getLocalItemkey: String, option: Object取出 local 缓存(自动转换为Object), option: {exp: Number /**过期时间(秒)**/, needDecipher: Boolean /**是否解密**/, force: Boolean /**为true已过期数据返回null**/}
removeLocalItemkey: String清除local 缓存
evalJsonjsonStr: String解析JSON字符串(过滤XSS攻击代码)
replaceAllvalue: String, replaceStr: String, replaceValue: String替换所有指定的字符,replaceStr: /**待替换字符**/, replaceValue: /**替换后字符**/
formatDateTimeunixTime: [Date|String|Number], pattern: String格式化日期(支持Date、时间戳、日期格式字符串),默认 yyyy-MM-dd
stepYeardate: [Date|String], year: Number, format: Boolean步进年份,year: 正数加,负数减, format: 是否格式化为字符串,默认为 true
stepMonthdate: [Date|String], month: Number, pattern: String, format: Boolean步进月份,month: 正数加,负数减, pattern: 日期格式,默认为 yyyy-MM-dd, format: 是否格式化为字符串,默认为 true
stepDaysdate: [Date|String], days: Number, pattern: String, format: Boolean步进天数,days: 正数加,负数减, pattern: 日期格式,默认为 yyyy-MM-dd, format: 是否格式化为字符串,默认为 true
calcAgedate: [Date|String], today: [Date|String]计算周岁,today: 非必填,默认今天
compareDatedate1: [Date|String|Number], date2: [Date|String|Number]比较日期大小,true:date1 > date2
dateDiffdate1: [Date|String|Number], date2: [Date|String|Number], unit: String计算相差(date1-date2)天数(小时、分钟、秒), unit: 单位,取值范围['day', 'hour', 'minute', 'second']
uuid生成36位唯一码(同 Java UUID)
pathToRegexpprefix: String, path: String根据规则获取路径参数,返回Object(pathToRegexp(/:code/:id, /123/456)=> {code: 123, id: 456}
getobject: Object, path: String, defaultValue: Object通过既定路径获取对象参数 get(obj, 'a.b.c')
attributeobject: Object, path: String, create: Boolean, cb: Function同上,不存在则创建(此函数不支持数组)
camelCasevalue: String, reverse: Boolean转换驼峰命名(驼峰转连接符、连接符转驼峰)
koalael: HTMLElement, options: Object输入框延迟触发函数,options: {delay: Number, keydown: Function, keypress: Function, keyup: Function}
forEacharr: [Array|Object], func: Function扩展 forEach,支持 Object/Array , 支持 return false 跳出循环(提高执行效率)
inArrayval: Object, values: Array同 jQuery inArray , 是否存在某数组中,返回下标,-1:未找到
revHashdata: Object, length: Number获取hash值,length: 默认 10 位
cipherdata: Object, pwd: String使用 aes192 加密数据
deCipherencrypted: String, pwd: String使用 aes192 解密数据
deepAssigntarget: Object, source1: Object, ...深度合并(Object.assign 升级版)
deepClonesource: Object对象深拷贝
assignClonetarget: Object, source1: Object, ...深度合并(深度合并克隆)
debouncefunc: Function, wait: Number, immediate: Boolean延迟触发(函数抖动),wait: 触发时间, immediate: 不等待上次结束,重新触发等待时间
toThousandslsFilternum: Number千分位分割 1,000
exportTableToExcelselector: String, fileName: String, tHeader: [String|Array], opts: Object导出table表格到 Excel, selector: 表格选择器, tHeader: 表头数组或表头选择器, opts: {ignore: {index(忽略下标), noneType: true|false (忽略类型)}}
exportJsonToExceltHeader: Array, jsonData: Array, fileName: String, opts: Object, filter: Function导出JSON数据到Excel, tHeader: 表头数组, opts: {ignore: {index(忽略下标), noneType: true|false (忽略类型)}}, filter: 过滤函数,用于处理循环过程中的数据
formatMinutesminutes: Number格式化分钟('5天 5小时 20分钟')
formatSecondsseconds: Number格式化秒数('5天 5小时 20分钟 20秒')
clearAllTimeInterval清除所有的timeout、interval
downloadsource: [String|Canvas|Blob], saveName: String下载文件

Socket工具

参考 ./src/socket.tool.js

MethodParamsDescription
createWebSocketurl: String, option: Object创建websocket, url: 符合socket规范的链接, option: 配置项,参考下文
ParamTypeDescription
heartCheckBoolean是否开启心跳检测
reconnectBoolean是否重连,默认true
heartTimeNumber心跳时间,默认60s
timeoutNumber超时时间,默认15分钟
reDelayNumber重连延迟间隔,默认为30秒
callbacksObjectonopen(event), onclose(event), onerror(event), onmessage(event)
debugBoolean是否为调试模式(输入日志)

UI工具

参考 ./src/ui.tool.js

MethodParamsDescription
hideKeyboardel: HTMLElement隐藏软键盘, el: 不填写隐藏全局
toggleel: HTMLElement, arrow: HTMLElement, deg: Number切换控件显示隐藏, el: 隐藏的节点, arrow: 箭头Dom, deg: rotate角度
modalHelper解决弹窗滚动穿透(父层处理)
bubbleScrolllayerNode: String处理弹层滚动穿透(弹出层处理), layerNode: 需要滚动节点的选择器

License


LICENSE