1.3.7 • Published 4 months ago

cfmoto-utils v1.3.7

Weekly downloads
-
License
ISC
Repository
-
Last release
4 months ago

cfmoto工具

cfmoto工具

一、快速开始

安装

npm install -S cfmoto-utils

使用

import { queryParse } from 'cfmoto-utils';

queryParse(window.location.href)

二、常量

图片格式

import { CONSTANTS } from 'cfmoto-utils';

CONSTANTS.FILE_ACCEPT_IMAGE

图片与视频格式

import { CONSTANTS } from 'cfmoto-utils';

CONSTANTS.FILE_ACCEPT_MEDIA

办公文件格式

import { CONSTANTS } from 'cfmoto-utils';

CONSTANTS.FILE_ACCEPT_OFFICE

手机号正则

import { CONSTANTS } from 'cfmoto-utils';

CONSTANTS.PATTERN_PHONE

邮箱正则

import { CONSTANTS } from 'cfmoto-utils';

CONSTANTS.PATTERN_EMAIL

特殊符号正则

import { CONSTANTS } from 'cfmoto-utils';

CONSTANTS.PATTERN_SYMBOL

表情正则

import { CONSTANTS } from 'cfmoto-utils';

CONSTANTS.PATTERN_EMOJI

身份证号

import { CONSTANTS } from 'cfmoto-utils';

CONSTANTS.PATTERN_IDENTITY

url

import { CONSTANTS } from 'cfmoto-utils';

CONSTANTS.PATTERN_URL

十六进制颜色

import { CONSTANTS } from 'cfmoto-utils';

CONSTANTS.PATTERN_HEX

车牌号

import { CONSTANTS } from 'cfmoto-utils';

CONSTANTS.PATTERN_PLAT_NUMBER

密码正则:8位以上数字大小写字母特殊符号

import { CONSTANTS } from 'cfmoto-utils';

CONSTANTS.PATTERN_PASSWORD

三、用户环境

是否安卓系统

isAndroid()

是苹果系统

isApple()

是否微信

isMicroMessenger()

是否小程序

isMiniProgram()

是否QQ

isQQ()

是否微博

isWeibo()

是否钉钉

isDingtalk()

是否移动端

isMobile()

是否CFMOTO APP

isCfmotoApp()

是否ZEEHO APP

isZeehoApp()

四、功能与数据

节流防抖

throttle(time,callback) | 参数 | 参数类型 | 是否必须 | 参数值 | 参数说明 | | :-----| :---- | :---- | :---- | :---- | | time | Number | 是 | 300 | 时间毫秒 | | callback | Function | 是 | event | 回调函数 |

  • 返回值 Function result
属性类型说明示例
resultFunction执行函数document.addEventListener('scroll',result)

节点递归算法

recursiveNode(id, parentId, children)(values) | 参数 | 参数类型 | 是否必须 | 参数值 | 参数说明 | | :-----| :---- | :---- | :---- | :---- | | id | String | 是 | id | 唯一主键名称 | | parentId | String | 是 | parentId | 唯一父主键名称 | | children | String | 是 | children | 生成的子节点属性名称 | | values | Array | 是 | [{id:'3',parentId:'2'}] | 所有节点数据 |

  • 返回值 Array\<\Object> result
属性类型说明示例
resultArray节点组合[{id:'3',parentId:'2',children:[]}]

展开节点

spreadNode(values, children) | 参数 | 参数类型 | 是否必须 | 参数值 | 参数说明 | | :-----| :---- | :---- | :---- | :---- | | values | Array | 是 | [{id:'3',parentId:'2',children:[]}] | 所有节点数据 | | children | String | 是 | children | 展开的子节点属性名称 |

  • 返回值 Array\<\Object> result
属性类型说明示例
resultArray\<\Object>节点组合[{id:'3',parentId:'2'}]

从应用市场唤起APP-国际标准

launchApplication(id) | 参数 | 参数类型 | 是否必须 | 参数值 | 参数说明 | | :-----| :---- | :---- | :---- | :---- | | id | String | 是 | com.lxc.cfmoto | android包名或ios appid |

从应用市场唤起APP-国内标准

launchApplicationDAMS(id) | 参数 | 参数类型 | 是否必须 | 参数值 | 参数说明 | | :-----| :---- | :---- | :---- | :---- | | id | String | 是 | com.lxc.cfmoto | android包名或ios appid |

oss缩略图

ossImageResize(options)

参数参数类型是否必须参数值参数说明
options.srcString or Arrayhttps://xxxx.xxx.com/xxx.jpgoss图片地址
options.mStringlfit模式:lfit、mfit、fill、pad、fixed,默认为 lfit
options.wNumber1-4096宽度
options.hNumber1-4096高度
options.lNumber1-4096长边宽度
options.sNumber1-4096短边宽度
options.limitNumber10/1, 默认是 1
options.vString1.0.0版本号防止缓存,默认为timestamp
  • 返回值 String result
属性类型说明示例
resultString新的地址https://xxx.xxx.com/xxx.jpg?x-oss-process=image/resize,m_lfit,w=100,h_100&v=12334455545

OSS视频快照

ossVideoSnapshot(options)

参数参数类型是否必须参数值参数说明
options.srcStringhttps://xxxx.xxx.com/xxx.mp4oss视频地址
options.wNumber100指定截图宽度,如果指定为0,则自动计算
options.hNumber100指定截图高度,如果指定为0,则自动计算;如果w和h都为0,则输出为原视频宽高
options.tNumber1000单位:ms,指定截图时间。如果设置的截图时间t超过了视频时长,则返回视频的最后一帧关键帧
options.mStringfast指定截图模式,不指定则为默认模式,根据时间精确截图。如果指定为fast,则截取该时间点之前的最近的一个关键帧
options.fStringjpg or png指定输出图片的格式
options.arStringauto or h or w指定是否根据视频信息自动旋转图片
option.vString1.0.0版本号防止缓存,默认为timestamp
  • 返回值 String result
属性类型说明示例
resultString新的地址https://xxx.xxx.com/xxx.mp4?x-oss-process=video/snapshot,t_1000,w=100,h_100,f_jpg,m_fast&v=12334455545

生成随机UUID

randomUUID()

  • 返回值 String result
属性类型说明示例
resultStringuuiddadd-ddafd-fddf-fdsfs

千分位转换

convertThousandth

  • 返回值 String result
属性类型说明示例
valueString Or Number数值12333.000
defaultValueString Or Number默认值0
  • 返回值 String result

解析url查询参数

queryParse(url) | 参数 | 参数类型 | 是否必须 | 参数值 | 参数说明 | | :-----| :---- | :---- | :---- | :---- | | url | String | 是 | ?a=11&b=22 | url问号后的部分 |

  • 返回值 Object result
属性类型说明示例
resultObjectJSON对象{ a: 11, b: 22 }

将url转换成url查询参数

queryStringify(options) | 参数 | 参数类型 | 是否必须 | 参数值 | 参数说明 | | :-----| :---- | :---- | :---- | :---- | | options | Object | 是 | {a: 11, b: 22} | JSON对象 |

  • 返回值 String result
属性类型说明示例
resultStringurl查询参数a=11&b=22

岮峰转_

humpToUnderline(options) | 参数 | 参数类型 | 是否必须 | 参数值 | 参数说明 | | :-----| :---- | :---- | :---- | :---- | | options | Object | 是 | {aA: 11, bB: 22} | JSON对象 |

  • 返回值 Object result
属性类型说明示例
resultObjectJSON对象{a_a:11, b_b: 22}

_转岮峰

underlineToHump(options) | 参数 | 参数类型 | 是否必须 | 参数值 | 参数说明 | | :-----| :---- | :---- | :---- | :---- | | options | Object | 是 | {a_a: 11, b_b: 22} | JSON对象 |

  • 返回值 Object result
属性类型说明示例
resultObjectJSON对象{aA:11, bB: 22}

过滤空值

filterValue(options, fields) | 参数 | 参数类型 | 是否必须 | 参数值 | 参数说明 | | :-----| :---- | :---- | :---- | :---- | | options | Object | 是 | {a: [], b: '', c: null, d: 11} | JSON对象 | | fileds | Array | 是 | ['',null, []] | 需要过滤的值 |

  • 返回值 Object result
属性类型说明示例
resultObjectJSON对象{d:11}

最近时间(评论或聊天会话)

formatterLatelyTime(options, fields) | 参数 | 参数类型 | 是否必须 | 参数值 | 参数说明 | | :-----| :---- | :---- | :---- | :---- | | options | Date or String | 是 | 2022-10-12 23:34:34 | 日期对象或日期YYYY-MM-DD HH:mm:ss格式化字符串 |

  • 返回值 String result
属性类型说明示例
resultString最近的时间说明最近,1分钟前,1小时前,1天前,2022-10-12 23:34:34

对象与数据class转换成string

parseObjectClass(options) | 参数 | 参数类型 | 是否必须 | 参数值 | 参数说明 | | :-----| :---- | :---- | :---- | :---- | | options | Object or Array | 是 | {classa:true},'classb' | 对象数组或字条串 |

  • 返回值 String result
属性类型说明示例
resultStringclass 组合"classa classb"

对象与数据样式转换成string

parseObjectStyle(options) | 参数 | 参数类型 | 是否必须 | 参数值 | 参数说明 | | :-----| :---- | :---- | :---- | :---- | | options | Object or Array | 是 | {classa:true},'classb' | 对象数组或字条串 |

  • 返回值 String result
属性类型说明示例
resultStringclass 组合"classa classb"

JSON排序深拷贝

import {JSONSort} from 'cfmoto-utils'
JSONSort.stringify({a:'11', b: '22'});
JSONSort.parse("{}")

五、文件

url下载后转为base64

urlToBase64(url) | 参数 | 参数类型 | 是否必须 | 参数值 | 参数说明 | | :-----| :---- | :---- | :---- | :---- | | url | String | 是 | https://sss.dddd.scom/ffssf.xml | url文件地址 |

  • 返回值 String result
属性类型说明示例
resultStringbase64文件内容base64:image/png,xxxx

url下载后转为base64

urlToBase64(url)

url转File

urlToFile(url)

url转Blob

urlToBlob(file)

File转为base64

fileToBase64(file)

File转为ArrayBuffer

fileToArrayBuffer(file)

base64转File

base64ToFile(file)

base64转Blob

base64ToBlob(file)

base64转Buffer

base64ToBuffer(file)

base64转Uint8Array

base64ToUint8Array(file)

blob转Base64

blobToBase64(file)

blob转ArrayBuffer

blobToArrayBuffer(file)

blob转ArrayBuffer

blobToArrayBuffer(file)

ios翻译文件内容

jsonToStrings(options)

参数参数类型是否必须参数值参数说明
optionsObject{zh:{a:'aa'}}Object.keys(options).map(key=>options[key]) key:翻译语言标识,options[key]:翻译语言内容
  • 返回值 String result
属性类型说明示例
resultStringios翻译文件文本内容"aaa"="222"

android翻译文件内容

jsonToXML(options)

参数参数类型是否必须参数值参数说明
optionsObject{zh:{a:'aa'}}Object.keys(options).map(key=>options[key]) key:翻译语言标识,options[key]:翻译语言内容
  • 返回值 String result
属性类型说明示例
resultStringandroid翻译文件文本内容\${value}

js翻译文件内容

jsonToJavascript(options)

参数参数类型是否必须参数值参数说明
optionsObject{zh:{a:'aa'}}Object.keys(options).map(key=>options[key]) key:翻译语言标识,options[key]:翻译语言内容
  • 返回值 String result
属性类型说明示例
resultStringjavascript翻译文件文本内容export default {}

将pdf文件转换为pdf页面对象

pdfFileToPage(pdfjsLib, file)

参数参数类型是否必须参数值参数说明
pdfjsLibObjectpdfjsLibpdfjsLib js库对象
fileFilefile Objectpdf文件
  • 返回值 Promise<Array> pages
属性类型说明示例
pagesPromise<Array>Promise PDF Pages 页面数组

将pdf页面对象数组转为图片数组

pdfPageToImage({ pages, onProgress })

参数参数类型是否必须参数值参数说明
pagesArrayPdfPagePDF页面对象
onProgressFunctioneventpdf页面转换进度
  • 返回值 Promise<Array> bas64String
属性类型说明示例
bas64StringPromise<Array>base64字符串数组
1.3.7

4 months ago

1.3.5

4 months ago

1.3.4

4 months ago

1.3.3

4 months ago

1.3.2

4 months ago

1.3.1

4 months ago

1.3.0

5 months ago

1.2.6

6 months ago

1.2.5

6 months ago

1.2.4

6 months ago

1.2.1

6 months ago

1.2.0

6 months ago

1.1.2

6 months ago

1.1.1

6 months ago

1.1.0

6 months ago

1.0.6

7 months ago

1.0.5

7 months ago

1.0.4

7 months ago

1.0.3

7 months ago

1.0.1

7 months ago

1.0.0

7 months ago