1.1.22 • Published 4 years ago

cutil v1.1.22

Weekly downloads
2
License
ISC
Repository
-
Last release
4 years ago

cutil

cutil是一款无任何依赖,非常实用的工具包,涵盖完美多继承,时间格式化,类型判断,表单验证,本地存储等常用的web开发工具方法 使用es6编写,支持浏览器打包调用,包含完整的单元测试

目前共13个工具,包括

  • is 准确的类型判断方法
  • multiExtend 完美多继承,完美支持Function Class,ES6 Class
  • formCheck 表单验证方法,简单实用
  • date 时间格式化方法,支持时间戳,字符串等多种形式调用
  • wxAsync 微信小程序API的Promise封装
  • storage 基于现代浏览器的storage工具类
  • commonCss 基于现代浏览器的实用css工具类,包含scss
  • easing 共30种不同的缓动方法
  • emitter 一个实用的订阅者类
  • parseUrl url格式化工具
  • session 基于axios的js爬虫工具
  • unit 价格单位转换工具
  • hooks 基于vue-composition-api的hooks

快速启动

  • 安装 npm install cutil
  • 引入 import {is,multiExtend,formCheck} from "cutil"
  • 使用 is([]) === Array

使用说明

  • is(target any) 返回目标对象的类型(js内置对象) 返回值为undefined,null,NaN,Function,Object,Array,String,Number,Boolean,Date,JSON中的一种
    		is({}) === Object
  • multiExtend(baseClassArr Array) 返回多个基础类型的组合类 完美支持Function Class,ES6 Class,constructor,super,instanceOf
    		let Target = class extends multiExtend([Base1, Base2]) {
    			constructor(para) {
    				super(para)
    			}
    		}
  • formCheck(target Object,option Object) 传入目标对象和检查配置,通过则返回true,不通过则返回错误提示 目前内置了"empty","phone","email"三种规则 !!option和target键值对顺序必须一一对应

    		let target = {
    			userName: "用户名",
    			password: "123456",
    			tel: 111111,
    			email: "gcc705282892@hotmial.com"
    		}
    		let result = formCheck(target, {
    			"用户名":"empty",
    			"密码":"empty",
    			"手机号码":["empty","phone"],
    			"电子邮箱":["empty","email"]
    		})
    		//检查通过
    		result === true
    		//检查不通过
    		result === "手机号码不合法"
  • date(Class) - now(format String) 返回当前时间,format不传则默认为"YYYY-MM-DD hh:mm:ss",传入则自动格式化

    			date.now("YYYY-MM") === "2019-08"
    		
    	- format(option Object)<br>
    			option必传,根据option配置返回格式化后的时间<br>
    			option = {<br>
    				value: 1565416462326 || "2019-08-10 12:05:01" 需格式化的时间(只能为时间戳或YYYY-MM-DD hh:mm:ss字符串)<br>
    				input: "timeStamp" || "dateTime" 传入的时间格式<br>
    				output: "timeStamp" || "dateTime" || "YYYY-MM-DD hh" 需要输出的时间格式<br>
    			}
    		
    			date.format({
    				value:1565416595,
    				input:"timeStamp",
    				output:"YYYY-MM-DD hh时"
    			}) === "2019-08-10 13时"
    		
  • wxAsync(Class) 返回微信小程序wx对象的Promise封装(cutil会检查全局对象中的wx对象,仅在微信小程序环境下可用)

    		//选择图片
    		async function(){
    			await $wxAsync.chooseImage({
    				count: 1
    			}).then(res => {
    				if (res.errMsg === "chooseImage:ok") {
    					console.log(res.tempFilePaths[0])
    				}
    			})
    		}
  • storage(Class) - set type("localStorage" || "sessionStorage") 设置使用的本地存储类型 默认为"localStorage"

    	- set timeOut(Number)<br>
    			设置本地存储类型的过期时间,单位为分钟<br>
    			默认为20
    
    	- set baseKey(String)<br>
    			设置本地存储键值的前缀<br>
    			默认为""
    		
    	- getStorage(key String)<br>
    			获取本地数据存储,过期或不存在则为null
    		
    			storage.getStorage("test_key") === "test_value" || null
    		
    	- setStorage(key String,value any,minute Number)<br>
    			设置本地存储键,值及过期时间
    		
    			storage.setStorage("test_key","test_value",5)
    
    	- removeStorage(key String)<br>
    			移除本地存储
    		
    			storage.removeStorage("test_key")
  • emitter(Class) - on(eventName, callback) 订阅事件

    			let fun = data=>{
    				console.log("test emit")
    			}
    			emitter.on("test",fun)
    	
    	- off(eventName, callback)<br>
    			取消订阅事件<br>
    
    			emitter.off("test", fun)
    
    	- emit(eventName, data)<br>
    			发布订阅事件<br>
    
    			emitter.emit("test", "我是参数")
    
    	- once(eventName,callback)<br>
    			只订阅一次<br>
    
    			emitter.once("test",data=>{
    				console.log("test emit")
    			})
    			emitter.emit("test", "我是参数")
    			//执行一次后就取消订阅
    			emitter.emit("test", "我是参数")
    
    	- isSubed(eventName,callback)<br>
    			该事件是否被订阅<br>
    
    			emitter.isSubed("test", fun)
  • parseUrl(url)

    	格式化url
    
    			let query = parseUrl(url)
  • session(Class)

    	- setSession(option:AxiosOptions)<br>
    			发送axios请求并记录cookies
    
    	- request(option:AxiosOptions)<br>
    			使用setSession记录的cookie发送axios请求
  • unit(Object)

    	- toCent(yuan, fixed=0)<br>
    			输入元,返回分,默认保留0位小数
    
    	- toYuan(cent, fixed=2)<br>
    			输入分,返回元,默认保留2位小数
1.1.22

4 years ago

1.1.21

5 years ago

1.1.20

5 years ago

1.1.19

5 years ago

1.1.18

5 years ago

1.1.17

5 years ago

1.1.16

5 years ago

1.1.15

5 years ago

1.1.14

5 years ago

1.1.13

5 years ago

1.1.12

5 years ago

1.1.11

5 years ago

1.1.10

5 years ago

1.1.9

5 years ago

1.1.8

5 years ago

1.1.7

5 years ago

1.1.6

5 years ago

1.1.5

5 years ago

1.1.4

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.0.20

6 years ago

1.0.19

6 years ago

1.0.18

6 years ago

1.0.17

6 years ago

1.0.16

6 years ago

1.0.15

6 years ago

1.0.14

6 years ago

1.0.13

6 years ago

1.0.12

6 years ago

1.0.11

6 years ago

1.0.10

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.0.1

9 years ago