vtils

Home > utils

utils package

基础工具库。基于 Lodash

Classes

| Class | Description | | — | — | | DataPacker | 数据打包器。 | | EventBus | <p>事件巴士,管理事件的发布与订阅。</p><p> TListeners 事件名称及其对应的回调描述</p> | | GeoCoord | <p>地理坐标系转换工具。</p><p>- 大地坐标系(WGS84 坐标系): GPS 全球卫星定位系统使用的坐标系; - 火星坐标系(GCJ02 坐标系): 腾讯地图、高德地图等使用的坐标系,是由中国国家测绘局制定的由 WGS84 加密后得到的坐标系; - 百度坐标系(BD09 坐标系): 百度地图使用的坐标系,是在 GCJ02 基础上再次加密得到的坐标系。</p> | | LocalStoragePlus | <p>本地存储增强。</p><p>已兼容小程序。</p> | | LoopUntilRetryLimitExceededError | | | MiniProgramUrl | 小程序链接。 | | RichUrl | <p>富链接,同普通链接相比,富链接可包含一些描述信息。</p><p>结构描述:</p>

rich://{"url":"***","desc":"***"}

| | StringTemplate | 字符串模板。 | | TreeData | 树数据处理。支持单根节点、多根节点树数据。 | | Wechat | 对微信 JSSDK 的封装。 |

Enumerations

Enumeration Description
DesensitizeStrategy  
LoadResourceUrlType 资源类型。

Functions

Function Description
asRequiredDeep(value) 将给定的值 RequiredDeep 化。
asyncLimit(asyncFn, options) 异步函数并行执行限制。
asyncMemoize(asyncFn, options) 异步函数执行缓存。
base64Decode(value) 将给定的 base64 字符串解码为 UTF8 字符串。
base64Encode(value) 将给定的 UTF8 字符串编码为 base64 字符串。
base64UrlDecode(value) 将给定的 base64url 字符串解码为 UTF8 字符串。
base64UrlEncode(value) 将给定的 UTF8 字符串编码为 URL 安全的 base64url 字符串。
bindEvent(target) 绑定事件。
bytes(value, unit) 获取字节值。
bytes(value) 获取字节值。
cartesianProduct(arr) 计算多个数组的笛卡尔积。
cartesianProduct(arr)  
cartesianProduct(arr)  
cartesianProduct(arr)  
cartesianProduct(arr)  
cartesianProduct(arr)  
cartesianProduct(arr)  
cartesianProduct(arr)  
characterToCodepoint(character) UTF8 字符转为 Unicode 码点。
chooseFile(accept, multiple) 选择文件。
chunkEqual(array, size, filler, consistent) 类似 chunk,但当每组条目数量不一致时会在最后一组添加填充值以达到每组条目数量一致。
cloneDeepFast(value, ignore) 深克隆快速版。
codepointToCharacter(codepoint) Unicode 码点转为 UTF8 字符。
constantCase(text) 转换文本为大写字符串,单词之间带有下划线。
copyTextToClipboard(text, options) 复制文本到剪切板。
createSubmit(options) 创建提交类行为。
createSubmit(options) 创建提交类行为。
createUrlQueryString(parameters, options) 创建 url 查询字符串。
dedent(text) 移除每一行的公共前导空白。
dedent(literals, interpolations) 首先,每一行紧跟前导空白的插入值为多行时,保持缩进。 然后,移除每一行的公共前导空白。
defaultIndexTo(index, defaultIndex) 设置默认索引。当前索引为 -1NaN 时会使用默认索引。
desensitize(text, options) 文本脱敏。
formatBytes(value) 格式化字节数,以 1024 作为千字节数。
formatNumber(value, options) 格式化数字。
getCurrentScript() <p>返回当前正在运行的脚本所属的 <script> 元素。有两点限制:</p><p>- 只在脚本被解析后首次运行时有效; - 如果当前正在执行的代码是被其他代码作为回调函数或者事件处理函数调用的,会返回 null。</p>
getEmailUrl(options) 获取邮件链接。
getEnvironment() 获取运行环境信息。
getSmsUrl(options) 获取短信链接。
getWechatPublicAccountQrcodeUrl(accountId) 获取微信公众号的二维码链接。
htmlToDocumentFragment(html) 将 HTML 字符串转为 DocumentFragment。
htmlToElement(html) 将 HTML 字符串转为 Element。
ii(fn) <p>立即调用函数并返回其返回值。</p><p>注:ii = immediately invoke</p>
inAndroid() 检查是否在 Android 设备中。
inBrowser() 检查是否在浏览器环境中。
inDeno() 检查是否在 Deno 中。
indent(literals, interpolations) 每一行紧跟前导空白的插入值为多行时,保持缩进。
inIOS() 检查是否在 iOS 设备中。
inMiniProgram(brand) 检查是否在指定品牌的小程序中,若在,返回承载其 API 的全局对象,若不在,返回 false。
inMiniProgramWebView() <p>检查是否在小程序 WebView 中。</p><p>仅支持微信、QQ、支付宝、抖音、百度。</p>
inNodeJS() 检查是否在 Node.js 中。
inTaro() 检查是否在 [Taro 3](https://taro.js.org/) 中。
inWechatWebView() 检查是否在微信内置浏览器中。
isBlobUrl(value) 检测传入值是否是 Blob URL,也称 Object URL。
isChineseIDCardNumber(value) 检测传入的值是否是合法的中国大陆居民 18 位身份证号码。
isCuid(value) 检测传入值是否是 Cuid。
isCuid2(value, options) 检测传入值是否是 Cuid2。
isDataUrl(value) 检测传入值是否是 Data URL。
isElementVisible(el) 检查 HTML 元素是否可见。
isEmail(value) 检测传入值是否是邮箱地址。
isNumeric(value) 检查 value 是否是数值,需要注意的是 Infinity-InfinityNaN 不被认为是数值。
isPossibleChineseMobilePhoneNumber(value) 检测传入的值是否可能是中国的手机号码。
isPromiseLike(value) 检查 value 是否像 Promise
isType(value) value is T 的封装。
isUrl(value) 检测传入值是否是 URL。
jsonp(url, keyOfCallbackName) 发起 jsonp 请求。
loadCss(urlOrContent) 加载 CSS 样式,支持链接和内容。
loadResource(url, options) 加载图片、代码、样式等资源。
loopUntil(fn, condition, options)  
loopUntil(condition, options)  
makeConditionalArray(array, childrenKey) 构造条件数组,即允许一个数组的项出现 false 值,且最终 false 值的项目会被排除。
makeConditionalArray(array) 构造条件数组,即允许一个数组的项出现 false 值,且最终 false 值的项目会被排除。
makeEnum(map) 构造枚举数据。
md5(string, key, raw) 根据给定的字符串计算 MD5 值。
move(arr, from, to) 原地移动数组中的元素。
moveDown(arr, from, step) 原地下移数组中的某个元素。
moveToBottom(arr, from) 原地置底数组中的某个元素。
moveToTop(arr, from) 原地置顶数组中的某个元素。
moveUp(arr, from, step) 原地上移数组中的某个元素。
ms(value, unit, returnSeconds) 获取毫秒值。
ms(value, returnSeconds) 获取毫秒值。
onceMeanwhile(fn) 同一时间对函数的调用只会触发一次运行。
parseDataUrl(dataUrl) 解析 Data URL。
parseUrlQueryString(query, options) <p>解析 url 查询字符串。</p><p>兼容以 ? 开头的查询字符串,因此你可以直接传入 location.search 的值。</p>
pascalCase(text) 转换文本为没有分隔符的大写单词字符串。
pickAll(data, keys) 选中对象中的所有类型上可见的属性并返回。
placeKitten(size) 给定大小获取占位猫咪图片。
placeKitten(width, height) 给定宽高获取占位猫咪图片。
pMap(list, callback) Promise.all(data.map(callback)) 的简写。
prepareData(getter) 准备数据。
readFile(file) 读取给定文件的内容。
removeBlankChars(value) 从字符串中移除空白字符。
removeEmojiChars(value) 从字符串中移除 emoji 字符。
removeNonWordChars(value) 从字符串中移除非单词字符(移除非英文单词、阿拉伯数字、汉字的所有字符)。
rot13(str) 回转 13 位替换式密码。
roundTo(number, precision, threshold) 保留 n 位小数下的 x 舍 y 入。
run(fn) 以数组的方式返回函数执行的结果,如果函数返回一个异步操作,将会执行该异步操作并将其结果作为函数执行的结果返回。
sampleBy(collection, iteratee) 从集合中随机获得一个元素的迭代值。
sampleBy(collection, iteratee)  
sampleIndex(collection) 从集合中随机获得一个元素的索引(数组)或键(对象)。
sampleIndex(collection)  
selectElement(selectors, baseElement)  
selectElement(selectors, baseElement)  
selectElementAll(selectors, baseElements)  
selectElementAll(selectors, baseElements)  
selectElementExists(selectors, baseElement)  
selectElementLast(selectors, baseElement)  
selectElementLast(selectors, baseElement)  
signal() 信号。
swap(arr, i, j) 原地交换数组中的两个元素。
toFullWidthString(value) 转换为全角字符串。
toHalfWidthString(value) 转换为半角字符串。
toHttpsUrl(url) 转换为 https 链接。
toSingleLineString(value, truncateOptions) 将多行字符串转换为单行字符串。
traverse(value, callback) 遍历对象和数组。
wait(milliseconds, value) 等待一段时间 resolve。

Interfaces

Interface Description
AsyncLimitOptions  
AsyncMemoizeOptions  
CalculatorConfig  
CalculatorInstance  
CopyTextToClipboardOptions  
CreateSubmitOptions  
CreateUrlQueryStringOptions  
DesensitizeOptions  
EventBusListenerDescriptor  
EventBusOptions  
FormatNumberOptions 格式化数字选项。
GeoCoordTransformInput  
GeoCoordTransformOutput  
GetEmailUrlOptions  
GetEnvironmentResult  
GetSmsUrlOptions  
IsCuid2Options  
LoadCssResult  
LoadResourceOptions  
LoadResourceUrl 资源地址。
LocalStoragePlusGetOptions  
LocalStoragePlusOptions  
LocalStoragePlusSetOptions  
LoopUntilOptions  
ParseDataUrlResult  
ParsedFileRichUrl  
ParsedRichUrl  
ReadFileReader 各种内容类型的读取器。
SignalResult  
StringTemplateRenderOptions  
SubmitActionPayload  
TreeDataNode  
TreeDataOptions  
TreeDataTraverseFnPayload  
WaitResult  
WechatChooseImageParams  
WechatConfigParams  
WechatGetLocationParams  
WechatGetLocationResult  
WechatOpenLocationParams  
WechatPreviewImageParams  
WechatRequestPaymentParams  
WechatUpdateShareDataParams  
WechatUploadImageParams  
WechatUploadImageResult  

Namespaces

Namespace Description
makeConditionalArray  
wait  

Variables

Variable Description
Calculator 科学计算器。主要是为了避免 js 的浮点数精度计算问题。
devOrProd <p>开发环境和生产环境返回不同的值或调用不同的函数。</p><p>process.env.NODE_ENV 为空值、productionprod 时被认为是生产环境,否则是开发环境。</p>
keysStrict keys,不过采用了严格的类型定义。
omitStrict omit,不过采用了严格的类型定义。
pickStrict pick,不过采用了严格的类型定义。

Type Aliases

Type Alias Description
BindEventFunction 绑定事件函数。
BytesNumberValue  
BytesStringValue  
BytesUnit  
BytesValue  
CalculatorFunctionValue  
CalculatorPrimitiveValue  
CalculatorValue  
ConditionalArrayItem  
CreateSubmitResult  
ElementOfRawData  
EnumKey  
EnumMap  
EnumResult  
EnumValue  
EventBusBeforeEmit  
EventBusBeforeOn  
EventBusListener  
EventBusListeners  
EventBusListenerTag  
EventBusOffListener  
KeyOfRawData  
LoadResourceElement  
LoadResourceHook  
MiniProgramApi  
MiniProgramBrand  
MiniProgramUrlInput  
MiniProgramUrlJsonInput  
MiniProgramUrlProvider  
MiniProgramUrlStringInput  
MiniProgramUrlVersion  
MsNumberValue  
MsStringValue  
MsUnit  
MsValue  
PackedData  
RawData  
RawListData  
RawObjectData  
TreeDataChildrenPropName  
TreeDataData  
TreeDataMultipleRootData  
TreeDataSearchStrategy  
TreeDataSingleRootData  
TreeDataStandardNode  
TreeDataTraverseFn  
ValueOfRawData  
WechatBeforeInvokeCallback  
WechatChooseImageResult  
WechatErrorCallback  
WechatJsApi 微信 JSSDK 支持的 API。
WechatNonBaseMenuItem 微信内网页的非基础菜单列表。