0.0.14 • Published 4 years ago

fengche-utils v0.0.14

Weekly downloads
42
License
-
Repository
-
Last release
4 years ago

fengche-utils

枫车前端工具库

安装说明

npm install fengche-utils --save-dev

使用说明

/* 方式一 */ 
import fcutils from 'fengche-utils';

/* 方式二 */ 
import {localStorage, tools} from 'fengche-utils';

/* Vue挂载的方式 */
Vue.prototype.$localStorage= fcutils.localStorage;
Vue.prototype.$tools = fcutils.tools;

🚀 API 文档

1.localStorage

  • get: 获取 localstorage

  • set: 设置 localstorage

  • delete: 删除 localstorage

import { localStorage } from 'fengche-utils';

localStorage.get('token');

localStorage.set('token','32sfdff232');

localStorage.delete('token');

2.sessionStorage

  • get: 获取 sessionStorage

  • set: 设置 sessionStorage

  • delete: 删除 sessionStorage

import { sessionStorage } from 'fengche-utils';

3.storageTime

import { storageTime } from 'fengche-utils'

storageTime.get(key)
storageTime.save(key, value, time)
storageTime.remove(key)
storageTime.clear()
storageTime.on(key, fn) // 订阅某一个键的到期信息
storageTime.off(key, true)  // 取消订阅某一个键的到期信息

storageTime.session.get(key)
storageTime.session.save(key, value)
storageTime.session.remove(key)
storageTime.session.clear()

参数:
key: 存储的键
value: 存储的值
time: 过期时间(ms), 不传代表永久存储, time不允许设为0

4.date

  • formatPassTime:格式化现在的已过时间
  date.formatPassTime (1586840260500) 
  • formatTime:格式化时间戳
import { date } from 'fengche-utils';
date.formatTime (new Date())  // 默认格式 'yyyy-MM-dd hh:mm:ss'
date.formatTime (new Date(),'yyyy:MM:dd')  // 自定义格式 'yyyy.MM.dd'

5.tools

常用函数工具库(防抖、节流、正则类型检测、深浅拷贝等)

  • debounce :防抖
import { tools } from 'fengche-utils';
methods:{
    sumbit: tools.debounce(function(){
          // todo 
     },500),
}
  • throttle : 节流

  • strTrimLeftOrRight : 去掉字符左右空格

tools.strTrimLeftOrRight(' str ')
  • arrOrderAscend : 数组排序(升序降序)
tools.arrOrderAscend([3, 1, 2], false))
  • arrObjSum : 数组对象指定key求和
const arr = [{age: 4}, {age: 2}];
tools.arrObjSum(arr, 'age') => 6
  • sortObj : 数组对象根据某字段排序
const arr = [{age: 4}, {age: 2}]
arr.sort(tools.sortObj("age", 'desc'))
  • formatPhone : 将手机号中间部分替换为星号
tools.formatPhone('15900000000') => 159****0000
  • checkReg :类型检测

    支持类型有phone(手机号码)、email(邮箱)、url(网址)、number(数字)、carNum(车牌号)、hasCn(是否包含中文)

  tools.checkReg('15900000000','phone') //检测手机
  tools.checkReg('820289461@qq.com','email') //检测邮箱
  • deepCopy :深拷贝

  • formatPhone : 将手机号中间部分替换为星号

 tools.formatePhone('15900000000');
  • xss : 转义html(防XSS攻击)
 tools.xss('<div>')
  • httpsRedirect :http跳转https
 tools.httpsRedirect()
  • 获取url地址参数
 tools.getUrlParams('id')

6.ua

常用判断当前运行环境

import { ua } from 'fengche-utils';

ua.info => {
  engine: "webkit"
  engineVs: "604.1.38"
  platform: "mobile"
  shell: "wechat"
  shellVs: "7.0.4"
  supporter: "safari"
  supporterVs: "11.0"
  system: "ios"
  systemVs: "11.0" 
}
ua.isWx => true
ua.isQQ => false
ua.isPc => false
ua.isMobile => true
ua.isAndroid => false
ua.isIos => true
ua.isIphoneX => true // 判断是否刘海屏

7.calculate

加减乘除的精度计算 解决0.1 + 0.2 = 0.30000000001 的问题

import { calculate } from 'fengche-utils';

calculate.plus(0.1, 0.2) = 0.3 // 加法
calculate.minus(0.2, 0.1) = 0.1 // 减法
calculate.divide(0.2, 0.1) = 0.1 // 除法
calculate.times(0.3, 0.3) = 0.09 // 乘法

7.file

文件转换

import { file } from 'fengche-utils';

/* file转base64(可限制格式,大小,错误提示) */
file.fileToBase64String(file, 'jpg', 20 * 1024, '文件格式不正确', '文件大小超出限制')
/* 获取文件大小 */
file.formatFileSize(10234) // 10MB
/* base64转file */
file.base64ToFile('base64', 'fileName')
/* base64转blob */
file.base64ToBlob('base64')
/* blob转file */
file.blobToFile(blob, 'fileName')
/* file转base64(无限制) */
file.fileToBase64(file)

7.countDown

countDown 倒计时

import { countDown } from 'fengche-utils';

this.countDown = countDown.getInstance()
this.countDown.start(Number(timestamp), (status, data) => { })

/* beforeDestroyed 离开页面执行 */
this.timerManager.end()

8.sentry

公共报错模块

 import { sentry } from 'fengche-utils';
 const option = {dsn://xxxx@sentry.carisok.com/2}
 const Sentry = sentry.getInstance(Vue, option);
 Vue.prototype.$sentry = sentry;

 /* 主动上报 */
 this.$sentry.log('test');
  • 待开发公共方法 判断是否在app嵌套运行 ajax 公共方法
0.0.14

4 years ago

0.0.13

4 years ago

0.0.12

4 years ago

0.0.10

4 years ago

0.0.11

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago