f-com

开发中常用到的工具及组件

Usage no npm install needed!

<script type="module">
  import fCom from 'https://cdn.skypack.dev/f-com';
</script>

README

开发常用到的工具集合

使用typescritp篇写,jest测试,rullup构建。加入了webpack也可以写点简单测试

usage

npm install f-com

or

yarn add f-com
import fCom from 'f-com

if(fCom.isMobile) { ... }

import { isMobile } from 'f-com'

数组(以下为文档)

去重

import { arrayRemoveRepeat, ... } from 'f-com'
arrayRemoveRepeat([{id: 1}], 'id') // 跟椐id值去重

浏览器相关

  • isMobile
  • isWeiXin
  • isIos
  • isMinProgram
import { isMobile, isWeiXin, isIos, isAndroid, isXiaoMi, isMiniProgram isIE, isIE9, isEdge, isChrome, isFF } from 'f-com'

// 只有isMiniProgram 是一个函数
// 是否为微信小程序
if(isMiniProgram()) { ... }

// 是否为移动端
if(isMobile) { ... }

// 微信浏览器
if(isWeiXin) { ... }
// firefox
if(isFF) { ... }

String

  • param2Obj: 将url中的参数转成 key value 对像(依据?)

    fCom.param2Obj('http://localhost:3000/productions/index.html?a=1&b=2&c=3') // { a: 1, b: 2, c: 3 }
    
  • body2Obj: 将类a=1&b=2 转换为 key value 对像(无需?)

    fCom.body2Obj('a=1&b=2&c=3') // { a: 1, b: 2, c: 3 }
    
  • fileLastName(src, [defaultName]): 查找文件后缀名(带.)

    fCom.fileLastName('iiiimage.jpg') // .jpg
    
  • mosaicEmail(emailAddress[, mosaicFront, mosaicEnd]): 为邮箱地址打上*号马赛克, 默认'@'前字符替换

    mosaicEmail('fcomtil@outlook.com') // fc****l@outlook.com
    mosaicEmail('fcomtil@outlook.com', true, true) // fc****l@ou****k.com
    mosaicEmail('fcomtil@outlook.com', false, true) // fcomtill@ou****k.com
    mosaicEmail('fcomtil@outlook.com', false, false) // fcomtil@outlook.com
    

Time时间

  • readableTime(time): 格式化为可读时间(xx秒前, XX分钟、小时、天、个月、年前)

    fCom.readableTime('1601185700124') // 5分钟前
    

文件内容等

  • imgSrc2base64(src) : url图片资源转换为base64编码

    fCom.imgSrc2base64('http://img.jpg').then(res => { ... })
    // or
    let base64 = await fCom.imgSrc2base64('http://img.jpg')
    
  • dowloadImage({ src, zip = false, JsZip }): 下载图片资源

    // 当使用打包下载时必须传入jszip
    // npm社区的jszip @3.5.0,由于rollup打包出错,改为外置 see https://github.com/Stuk/jszip#readme
    import JsZip from 'jszip'
    // 	直接下载
    fCom.dowloadImage({ src: 'http://img.jpg' })
    
    // 打包下载
    fCom.dowloadImage({ src: 'http://img.jpg', zip: true, JsZip })
    
    // 多个src, 打包下载
    fCom.dowloadImage({ src: ['http://a.jpg', 'http://b.jpg'], zip: true, JsZip })
    

Number

  • keep2Decimals(num, [mathod]): 保留两位小数默认用Math.floor方法,可转入mathod(Math的方法名)

Object

  • logGitInfo(infoObj[, color1 = '#1475b2', color2 = '#42c02e']): 带样式打印对象key value于浏览器端