最受欢迎的三方库之harmony-utils
harmony-utils(API12+)
🏆简介与说明
harmony-utils 一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具类,致力于助力开发者迅速构建鸿蒙应用。其封装的工具涵盖了APP、设备、屏幕、授权、通知、线程间通信、弹框、吐司、生物认证、用户首选项、拍照、相册、扫码、文件、日志,异常捕获、字符、字符串、数字、集合、日期、随机、base64、加密、解密、JSON等一系列的功能和操作,能够满足各种不同的开发需求。
picker_utils 是harmony-utils拆分出来的一个子库,包含PickerUtil、PhotoHelper、ScanUtil。
📚 温馨提示:
📕 Harmony-utils 是一款轻量化框架,虽集成了50多个工具类,体积却仅130KB。实现工具数量与轻量性能的极致平衡。
📙 自1.3.2版本起,harmony-utils工具库中的方法将不再直接废弃。请各位开发者放心在第三方库及项目中使用。
📒 在更新记录里,每个版本号,都有对应的最低开发工具版本,如:“DevEco Studio 5.1.0 Release”。
📗 使用框架前,请仔细阅读文档 和 查看使用案例。🙏
📘 宝子们看过来!快关注「 童长老 」公众号,干货满满等你来解锁🌻
📔 创作不易,请给童长老点赞👍 github❤️ gitee❤️ 三方库❤️
🌞下载安装与使用说明🙏
ohpm i @pura/harmony-utils
OpenHarmony ohpm 环境配置等更多内容,请参考如何安装 OpenHarmony ohpm 包
全局初始化方法,从1.2.0版本开始,在UIAbility的onCreate方法中初始化 AppUtil.init()
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
AppUtil.init(this.context);
}
📂模块介绍
模块 | 介绍 |
---|---|
AppUtil | APP相关工具类 |
DeviceUtil | 设备相关工具类 |
WindowUtil | 窗口相关工具类 |
DisplayUtil | 屏幕相关工具类 |
PermissionUtil | 申请授权工具类 |
AuthUtil | 手机的生物认证(指纹、人脸、密码)工具类 |
NetworkUtil | 网络相关工具类 |
FileUtil | 文件操作相关工具类 |
ImageUtil | 图片相关工具类 |
PreviewUtil | 文件预览工具类 |
LocationUtil | 定位工具类(WGS-84坐标系) |
LogUtil | 日志工具类 |
CrashUtil | 全局异常捕获,崩溃日志收集 |
EmitterUtil | Emitter工具类(进行线程间通信) |
WantUtil | Want工具类 |
KvUtil | 键值型数据库工具类 |
PreferencesUtil | Preferences(用户首选项)工具类 |
CacheUtil | 缓存工具类 |
LRUCacheUtil | LRUCache缓存工具类 |
NotificationUtil | 通知工具类 |
SnapshotUtil | 组件截图和窗口截图工具类。 |
KeyboardUtil | 键盘工具类 |
PasteboardUtil | 剪贴板工具类 |
AssetUtil | 关键资产存储服务工具类 |
ResUtil | 资源工具类 |
ObjectUtil | 对象工具类 |
JSONUtil | JSON工具类 |
DateUtil | 日期工具类 |
Base64Util | Base64工具类 |
StrUtil | 字符串工具类 |
CharUtil | 字符工具类 |
NumberUtil | number工具类 |
ArrayUtil | 集合工具类 |
RandomUtil | 随机工具类 |
RegexUtil | 正则工具类 |
TypeUtil | 类型检查工具类 |
FormatUtil | 格式化工具类 |
ClickUtil | 节流、防抖 工具类(用于点击事件,防止按钮被重复点击) |
TempUtil | 温度转换工具类 |
DialogUtil | 弹窗工具类(AlertDialog) |
ToastUtil | 吐司工具类(promptAction) |
SM2、SM3、SM4、 AES、DES、RSA、 MD5、SHA、ECDSA、 CryptoUtil、 CryptoHelper |
加解密算法工具类 CryptoUtil:加解密公用工具类,配合各个加密模块使用。 CryptoHelper:加解密数据类型转换。 |
PickerUtil | 拍照、文件(文件、图片、视频、音频)选择和保存,工具类。拆分至 picker_utils |
PhotoHelper | 相册相关工具类。拆分至 picker_utils |
ScanUtil | 码工具类(扫码、码图生成、图片识码)。拆分至 picker_utils |
AppUtil(APP相关工具类) 使用案例
方法 | 介绍 |
---|---|
init | 初始化方法,缓存全局变量,在UIAbility的onCreate方法中初始化该方法 |
isApiSupported | 检查API版本是否安全 |
getApplicationContext | 获取应用级别的上下文的能力,ApplicationContext |
getContext | 获取上下文,common.UIAbilityContext |
getUIContext | 获取UIContext |
getWindowStage | 获取WindowStage |
getMainWindow | 获取主窗口 |
getConfiguration | 获取应用的Configuration |
setGrayScale | 设置灰阶,APP一键置灰 |
setColorMode | 设置应用的颜色模式。仅支持主线程调用。设置颜色模式,包括:深色模式、浅色模式、不设置(跟随系统) |
getColorMode | 获取应用的颜色模式 |
setFont | 设置应用的字体类型。仅支持主线程调用 |
setFontSizeScale | 设置应用字体大小缩放比例。仅支持主线程调用。<API13+> |
getFontSizeScale | 获取应用字体大小缩放比例 |
setLanguage | 设置应用的语言 |
getLanguage | 获取应用的语言 |
setSupportedProcessCache | 设置应用自身是否支持缓存后快速启动 |
clearUpApplicationData | 清理应用本身的数据,同时撤销应用向用户申请的权限。 |
killAllProcesses | 终止应用的所有进程,进程退出时不会正常走完应用生命周期。 |
restartApp | 重启应用并拉起自身指定UIAbility。重启时不会收到onDestroy回调。 |
exit | 主动退出整个应用;调用该方法后,任务中心的任务默认不会清理,如需清理,需要配置removeMissionAfterTerminate为true。 |
getRunningProcessInformation | 获取有关运行进程的信息 |
onApplicationStateChange | 注册对当前应用前后台变化的监听 |
offApplicationStateChange | 取消对应用前后台切换事件的监听 |
onEnvironment | 注册对系统环境变化的监听 |
offEnvironment | 取消对系统环境变化的监听 |
onAbilityLifecycle | 注册监听应用内生命周期 |
offAbilityLifecycle | 取消监听应用内生命周期 |
getKeyboardAvoidMode | 获取虚拟键盘抬起时的页面避让模式(OFFSET-上抬模式、RESIZE-压缩模式) |
setKeyboardAvoidMode | 设置虚拟键盘弹出时,页面的避让模式 |
isPortrait | 当前设备是否以竖屏方式显示 |
isLandscape | 当前设备是否以横屏方式显示 |
getStatusBarHeight | 获取状态栏的高度,单位为px |
getNavigationIndicatorHeight | 获取底部导航条的高度,单位为px。 |
setStatusBar | 设置沉浸式状态栏(需要配合getStatusBarHeight和getNavigationIndicatorHeight一起使用) |
getBundleInfo getBundleInfoSync |
获取当前应用的BundleInfo |
getAppInfo getAppInfoSync |
获取应用程序的配置信息 |
getSignatureInfo getSignatureInfoSync |
获取应用包的签名信息 |
getBundleName | 获取应用包的名称 |
getVersionCode | 获取应用版本号 |
getVersionName | 获取应用版本名 |
getTargetVersion | 获取应用运行目标版本 |
getInstallTime | 应用包安装时间 |
getUpdateTime | 应用包更新时间 |
getAppProvisionType | 获取应用程序签名证书文件的类型,分为debug和release两种类型。 |
debug | 标识应用是否处于调试模式,取值为true表示应用处于调试模式,取值为false表示应用处于非调试模式。 |
DeviceUtil(设备相关工具类) 使用案例
方法 | 介绍 |
---|---|
getDeviceId | 获取设备ID(卸载APP后依旧不变,需要权限:ohos.permission.STORE_PERSISTENT_DATA) |
deleteDeviceId | 移除设备ID |
getODID | 获取开发者匿名设备标识符,ODID。 |
getOAID | 获取开放匿名设备标识符,OAID。 |
getAAID | 获取AAID。 |
deleteAAID | 删除AAID。 |
getSerial | 获取设备序列号。说明:可作为设备唯一识别码。示例:序列号随设备差异。 |
getUdid | 获取设备Udid。 |
getBrand | 获取设备品牌名称。示例:HUAWEI。 |
getProductModel | 获取认证型号。示例:ALN-AL00。 |
getBrandModel | 获取设备品牌名称 认证型号。示例:HUAWEI ALN-AL00。 |
getMarketName | 获取外部产品系列名称。示例:HUAWEI Mate 60 Pro。 |
getHardwareModel | 获取硬件版本号。示例:HL1CMSM。 |
getManufacture | 获取设备厂家名称。示例:HUAWEI。 |
getOsFullName | 获取系统版本 |
getDisplayVersion | 获取产品版本。示例:ALN-AL00 5.0.0.1(XXX) |
getBuildVersion | 获取Build版本号,标识编译构建的版本号 |
getSdkApiVersion | 获取系统软件API版本。示例:12 |
getOsVersion | 获取OS版本号(Major版本号,示例:5;Senior版本号,示例:0;Feature版本号,示例:0)。 |
getAbiList | 应用二进制接口(Abi)。示例:arm64-v8a |
getOsReleaseType | 获取系统的发布类型,取值为:Canary、Beta、Release |
getDeviceType | 获取当前设备类型 |
getDeviceTypeStr | 获取当前设备类型,返回字符串。 |
getConfiguration getConfigurationSync |
获取设备的Configuration |
getDirection | 获取当前设备屏幕方向 |
getDeviceCapability getDeviceCapabilitySync |
获取设备的DeviceCapability |
getScreenDensity | 获取当前设备屏幕密度 |
getBatterySOC | 获取当前设备剩余电池电量百分比。 |
getBatteryCapacityLevel | 获取当前设备电池电量的等级。 |
getHealthStatus | 获取当前设备电池的健康状态。 |
getBatteryTemperature | 获取当前设备电池的温度,单位0.1摄氏度。 |
getVoltage | 获取当前设备电池的电压,单位微伏。 |
getNowCurrent | 获取当前设备电池的电流,单位毫安。 |
isActive | 检测当前设备是否处于活动状态。有屏的设备为亮屏状态,无屏的设备为非休眠状态。 |
isStandby | 检测当前设备是否进入待机低功耗续航模式。 |
getPowerMode | 获取当前设备的电源模式。 |
startVibration | 开启设备振动 |
stopVibration | 停止设备振动(按照VIBRATOR_STOP_MODE_TIME模式) |
WindowUtil(窗口相关工具类) 使用案例
方法 | 介绍 |
---|---|
setPreferredOrientation | 设置窗口的显示方向属性 |
getPreferredOrientation | 获取窗口的显示方向属性,主窗口调用。 |
setWindowPrivacyMode | 设置窗口是否为隐私模式。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏 |
isPrivacyMode | 窗口是否隐私模式,默认主窗口。 |
setWindowLayoutFullScreen | 设置窗口的布局是否为沉浸式布局(该沉浸式布局状态栏、导航栏仍然显示) |
isLayoutFullScreen | 判断窗口是否为沉浸式,默认主窗口。 |
setWindowSystemBarProperties | 设置主窗口三键导航栏、状态栏的属性。 |
getWindowSystemBarProperties | 获取主窗口三键导航栏、状态栏的属性。 |
setImmersiveModeEnabledState | 设置当前窗口是否开启沉浸式布局,该调用不会改变窗口模式和窗口大小。 |
getImmersiveModeEnabledState | 查询当前窗口是否已经开启沉浸式布局。 |
setWindowGrayScale | 设置窗口灰阶。该接口需要在调用loadContent()或setUIContent()使窗口加载页面内容后调用。 |
setWindowBackgroundColor | 设置窗口的背景色。Stage模型下,该接口需要在loadContent()或setUIContent()调用生效后使用 |
setWindowSystemBarEnable | 设置主窗口三键导航栏、状态栏、底部导航条的可见模式,状态栏与底部导航条通过status控制、三键导航栏通过navigation控制。 |
setSpecificSystemBarEnabled | 设置主窗口三键导航栏、状态栏、底部导航条的显示和隐藏。 |
setWindowKeepScreenOn | 设置屏幕是否为常亮状态 |
isKeepScreenOn | 屏幕是否常亮 |
setWindowBrightness | 设置屏幕亮度值 |
getBrightness | 获取屏幕亮度。该参数为浮点数,可设置的亮度范围为[0.0, 1.0],其取1.0时表示最大亮度值。如果窗口没有设置亮度值,表示亮度跟随系统,此时获取到的亮度值为-1。 |
setWindowFocusable | 设置使用点击或其他方式使该窗口获焦的场景时,该窗口是否支持窗口焦点从点击前的获焦窗口切换到该窗口 |
isFocusable | 窗口是否可聚焦,默认主窗口。 |
setWindowTouchable | 设置窗口是否为可触状态 |
isTouchable | 窗口是否可触摸,默认主窗口。 |
getWindowProperties | 获取当前窗口的属性,默认主窗口。 |
getWindowAvoidArea | 获取当前应用窗口内容规避的区域。如系统栏区域、刘海屏区域、手势区域、软键盘区域等与窗口内容重叠时,需要窗口内容避让的区域。 |
getWindowType | 获取窗口类型,默认主窗口。 |
getWindowStatus | 获取当前应用窗口的模式 |
isFullScreen | 判断窗口是否全屏,默认主窗口。 |
isFocused | 判断当前窗口是否已获焦 |
isTransparent | 窗口是否透明,默认主窗口。 |
isWindowShowing | 判断当前窗口是否已显示,默认主窗口。 |
isWindowSupportWideGamut | 判断当前窗口是否支持广色域模式,,默认主窗口。 |
setDialogBackGestureEnabled | 设置模态窗口是否响应手势返回事件,非模态窗口调用返回错误码 |
setGestureBackEnabled | 设置当前窗口是否禁用返回手势功能,仅主窗全屏模式下生效,2in1设备下不生效。<API13+> |
isGestureBackEnabled | 获取当前窗口是否禁用返回手势功能,仅主窗全屏模式下生效,2in1设备不生效。<API13+> |
createWindow | 创建子窗口或者系统窗口,使用Promise异步回调。 |
findWindow | 查找name所对应的窗口。 |
getLastWindow | 获取当前应用内最上层的子窗口,若无应用子窗口,则返回应用主窗口。 |
shiftAppWindowFocus | 在同应用内将窗口焦点从源窗口转移到目标窗口,仅支持应用主窗和子窗的焦点转移。 |
DisplayUtil(屏幕相关工具类)使用案例
方法 | 介绍 |
---|---|
getDefaultDisplaySync | 获取当前默认的display对象 |
getPrimaryDisplaySync | 获取主屏信息。除2in1之外的设备获取的是设备自带屏幕的Display对象;2in1设备外接屏幕时获取的是当前主屏幕的Display对象;2in1设备没有外接屏幕时获取的是自带屏幕的Display对象。<API14+> |
getAllDisplays | 获取当前所有的display对象,使用Promise异步回调 |
getWidth | 获取设备的屏幕宽度,单位为px |
getHeight | 获取设备的屏幕高度,单位为px |
getOrientation | 获取设备当前显示的方向 |
getDisplayState | 获取设备的状态 |
getCutoutRect | 获取取挖孔屏、刘海屏、瀑布屏等不可用屏幕区域信息。建议应用布局规避该区域 |
getCutoutHeight | 获取挖孔屏、刘海屏等不可用屏幕区域的高度,单位为px |
isFoldable | 检查设备是否可折叠 |
getFoldStatus | 获取可折叠设备的当前折叠状态 |
getFoldDisplayMode | 获取可折叠设备的显示模式 |
onFoldStatusChange | 开启折叠设备折叠状态变化的监听 |
offFoldStatusChange | 关闭折叠设备折叠状态变化的监听 |
onFoldAngleChange | 开启折叠设备折叠角度变化的监听。如果是双折轴设备,则有两个角度值;在充电口朝下的状态下,从右到左分别是折轴一和折轴二。 |
offFoldAngleChange | 关闭折叠设备折叠角度变化的监听 |
isCaptured | 检查设备是否正在截屏、投屏、录屏。 |
onCaptureStatusChange | 开启屏幕截屏、投屏、录屏状态变化的监听。 |
offCaptureStatusChange | 关闭屏幕截屏、投屏、录屏状态变化的监听。 |
PermissionUtil(申请授权工具类)使用案例
方法 | 介绍 |
---|---|
requestPermissionsEasy | 申请授权,拒绝后并二次向用户申请授权(申请权限,建议使用该方法)。 |
checkPermissions | 校验当前是否已经授权 |
checkRequestPermissions | 校验是否授权后并申请授权 |
requestPermissions | 申请授权 |
requestPermissionOnSetting | 二次向用户申请授权(单个权限 或 读写权限组,建议使用该方法)。 |
requestPermissionOnSettingEasy | 二次向用户申请授权(多个权限建议使用该方法)。 |
requestGlobalSwitch | 用于UIAbility/UIExtensionAbility拉起全局开关设置弹框。部分情况下,录音、拍照等功能禁用,应用可拉起此弹框请求用户同意开启对应功能。如果当前全局开关的状态为开启,则不拉起弹框。 |
AuthUtil(手机的生物认证(指纹、人脸、密码)工具类)使用案例
方法 | 介绍 |
---|---|
getAvailableStatus | 查询指定类型和等级的认证能力是否支持 |
onStartEasy | 开始认证,使用指纹和密码认证 |
onStart | 开始认证,用户指定类型认证 |
cancel | 取消认证 |
generateChallenge | 生成挑战值,用来防重放攻击 |
getErrorMsg | 获取错误msg |
NetworkUtil(网络相关工具类)使用案例
方法 | 介绍 |
---|---|
isDefaultNetMetered isDefaultNetMeteredSync |
检查当前网络上的数据流量使用是否被计量 |
hasDefaultNet hasDefaultNetSync |
检查默认数据网络是否被激活 |
getDefaultNet getDefaultNetSync |
获取默认激活的数据网络 |
getAppNet getAppNetSync |
获取App绑定的网络信息 |
getAllNets getAllNetsSync |
获取所有处于连接状态的网络列表 |
isNetworkAvailable | 判断当前设备网络是否可用 |
hasNetMobile | 判断当前网络是否是蜂窝网络(移动网络)。 |
hasNetWiFi | 判断当前网络是否是Wi-Fi网络。 |
hasNetEthernet | 判断当前网络是否是以太网网络。 |
hasNetVPN | 判断当前网络是否是VPN网络。 |
hasNetBearType | 是否存在指定的网络 |
getNetBearTypes | 获取网络类型,数组里面只包含了一种具体的网络类型。 |
getNetBearType | 获取网络类型 |
getNetCapabilities getNetCapabilitiesSync |
获取netHandle对应的网络的能力信息 |
getConnectionProperties getConnectionPropertiesSync |
获取netHandle对应的网络的连接信息 |
getIpAddress | 获取当前设备的IP地址(设备连接Wi-Fi后) |
register | 订阅指定网络状态变化的通知,支持多事件监听回调 |
unregister | 取消订阅默认网络状态变化的通知 |
isNRSupported | 判断当前设备是否支持NR(New Radio)。也就是5G。 |
isRadioOn | 判断Radio是否打开 |
getPrimarySlotId | 获取主卡所在卡槽的索引号 |
getOperatorName | 获取运营商名称 |
getNetworkState | 获取网络状态 |
getNetworkSelectionMode | 获取当前选网模式 |
getSignalInformation | 获取指定SIM卡槽对应的注册网络信号强度信息列表。 |
getNetworkType | 获取网络类型 |
getNetworkTypeStr | 获取网络类型,返回字符类型。 |
getDefaultCellularDataSlotId getDefaultCellularDataSlotIdSync |
获取默认移动数据的SIM卡 |
getCellularDataFlowType | 获取蜂窝数据业务的上下行状态 |
getCellularDataState | 获取分组交换域(PS域)的连接状态 |
isCellularDataEnabled isCellularDataEnabledSync |
检查蜂窝数据业务是否启用 |
isCellularDataRoamingEnabled isCellularDataRoamingEnabledSync |
检查蜂窝数据业务是否启用漫游 |
getDefaultCellularDataSimId | 获取默认移动数据的SIM卡ID。与SIM卡绑定,从1开始递增。 |
isSimActive isSimActiveSync |
获取指定卡槽SIM卡是否激活 |
hasSimCard hasSimCardSync |
获取指定卡槽SIM卡是否插卡 |
getMaxSimCount | 获取卡槽数量 |
getSimOperatorNumeric getSimOperatorNumericSync |
获取指定卡槽SIM卡的归属PLMN(Public Land Mobile Network)号。 |
getSimSpn getSimSpnSync |
获取指定卡槽SIM卡的服务提供商名称 |
getSimState getSimStateSync |
获取指定卡槽的SIM卡状态 |
getCardType getCardTypeSync |
获取指定卡槽SIM卡的卡类型 |
FileUtil(文件操作相关工具类)使用案例
方法 | 介绍 |
---|---|
getFilesDirPath | 获取文件目录下的文件夹路径或文件路径 |
getCacheDirPath | 获取缓存目录下的文件夹路径或文件路径 |
getTempDirPath | 获取临时目录下的文件夹路径或文件路径 |
hasDirPath | 判断是否是完整路径 |
getFileUri | 通过URI或路径,获取FileUri |
getFileName | 通过URI或路径,获取文件名 |
getFilePath | 通过URI或路径,获取文件路径 |
getParentUri | 通过URI或路径,获取对应文件父目录的URI |
getParentPath | 通过URI或路径,获取对应文件父目录的路径名 |
getUriFromPath | 以同步方法获取文件URI |
getFileExtention | 根据文件名获取文件后缀 |
getFileDirSize | 获取指定文件夹下所有文件的大小或指定文件大小 |
isFile | 判断文件是否是普通文件 |
isDirectory | 判断文件是否是目录 |
rename renameSync |
重命名文件或文件夹,使用Promise异步回调 |
mkdir mkdirSync |
创建目录,当recursion指定为true,可多层级创建目录 |
rmdir rmdirSync |
删除整个目录,使用Promise异步回调 |
unlink unlinkSync |
删除单个文件,使用Promise异步回调 |
access accessSync |
检查文件是否存在,使用Promise异步回调 |
open openSync |
打开文件,支持使用URI打开文件 |
read readSync |
从文件读取数据 |
readText readTextSync |
基于文本方式读取文件(即直接读取文件的文本内容) |
write writeSync |
将数据写入文件 |
writeEasy | 将数据写入文件,并关闭文件 |
close closeSync |
关闭文件 |
listFile listFileSync |
列出文件夹下所有文件名,支持递归列出所有文件名(包含子目录下),支持文件过滤 |
stat statSync |
获取文件详细属性信息 |
copy | 拷贝文件或者目录,支持拷贝进度监听 |
copyFile copyFileSync |
复制文件 |
moveFile moveFileSync |
移动文件 |
moveDir moveDirSync |
移动源文件夹至目标路径下 |
truncate truncateSync |
截断文件 |
lstat lstatSync |
获取链接文件信息 |
fsync fsyncSync |
同步文件数据 |
fdatasync fdatasyncSync |
实现文件内容数据同步 |
createStream createStreamSync |
基于文件路径打开文件流 |
fdopenStream fdopenStreamSync |
基于文件描述符打开文件流 |
mkdtemp mkdtempSync |
创建临时目录 |
dup | 将文件描述符转化为File |
utimes | 修改文件最近访问时间属性 |
getFormatFileSize | 格式化文件大小 |
persistPermission persistPermissionEasy |
对所选择的多个文件或目录URI持久化授权。(需要权限:ohos.permission.FILE_ACCESS_PERSIST) |
revokePermission revokePermissionEasy |
对所选择的多个文件或目录uri取消持久化授权。(需要权限:ohos.permission.FILE_ACCESS_PERSIST) |
activatePermission activatePermissionEasy |
对已经持久化授权的权限进行使能操作,否则已经持久化授权的权限仍存在不能使用的情况。(需要权限:ohos.permission.FILE_ACCESS_PERSIST) |
deactivatePermission deactivatePermissionEasy |
取消使能授权过的多个文件或目录。(需要权限:ohos.permission.FILE_ACCESS_PERSIST) |
checkPersistentPermission | 校验所选择的多个文件或目录URI持久化授权。(需要权限:ohos.permission.FILE_ACCESS_PERSIST) |
ImageUtil(图片相关工具类 )使用案例
方法 | 介绍 |
---|---|
base64ToPixelMap | 图片base64字符串转PixelMap |
pixelMapToBase64Str | PixelMap转图片base64字符串 |
savePixelMap | 保存pixelMap到本地 |
saveImageSource | 保存ImageSource到本地 |
createImageSource | 创建图片源实例 |
createIncrementalSource | 以增量的方式创建图片源实例 |
packingFromPixelMap | 图片压缩或重新打包,使用Promise形式返回结果 |
packingFromImageSource | 图片压缩或重新打包,使用Promise形式返回结果 |
packToFileFromPixelMap | 将PixelMap图片源编码后直接打包进文件 |
packToFileFromImageSource | 将ImageSource图片源编码后直接打包进文件 |
getPixelMapFromMedia | 用户获取resource目录下的media中的图片PixelMap |
compressedImage | 图片压缩 |
compressPhoto | 图片压缩,返回压缩后的图片文件路径 |
PreviewUtil(文件预览工具类)使用案例
方法 | 介绍 |
---|---|
generatePreviewInfo | 根据文件uri构建PreviewInfo |
openPreview | 通过传入文件预览信息,打开预览窗口。1秒内重复调用无效 |
openPreviewEasy | 通过传入文件的uri,打开预览窗口。1秒内重复调用无效 |
canPreview | 根据文件的uri判断文件是否可预览 |
hasDisplayed | 判断预览窗口是否已经存在 |
closePreview | 关闭预览窗口,仅当预览窗口存在时起效 |
loadData | 加载预览文件信息。仅当预览窗口存在时起效 |
loadDataEasy | 加载预览文件信息。仅当预览窗口存在时起效 |
onSharePreview | 调用其他应用预览文件 |
getTypeDescriptor | 根据文件后缀名获取TypeDescriptor(标准化数据类型的描述类) |
getMimeType | 根据文件后缀名获取文件mimeType |
getIconFileStr | 根据文件后缀名获取对应文件类型的图标 |
LocationUtil(定位工具类(WGS-84坐标系))使用案例
方法 | 介绍 |
---|---|
isLocationEnabled | 判断位置服务是否已经使能(定位是否开启)。 |
requestLocationPermissions | 申请定位权限 |
getCurrentLocationEasy | 获取当前位置 |
getCurrentLocation | 获取当前位置 |
getLastLocation | 获取上一次位置 |
onLocationChangeEasy | 开启位置变化订阅,并发起定位请求。 |
onLocationChange | 开启位置变化订阅,并发起定位请求 |
offLocationChange | 关闭位置变化订阅,并删除对应的定位请求 |
onLocationError | 订阅持续定位过程中的错误码 |
offLocationError | 取消订阅持续定位过程中的错误码 |
onLocationEnabledChange | 订阅位置服务状态变化 |
offLocationEnabledChange | 取消订阅位置服务状态变化 |
isGeocoderAvailable | 判断地理编码与逆地理编码服务是否可用 |
getAddressFromLocationName | 地理编码,将地理描述转换为具体坐标 |
getGeoAddressFromLocationName | 地理编码,将地理描述转换为具体坐标集合 |
getAddressFromLocation | 逆地理编码,将坐标转换为地理描述 |
getGeoAddressFromLocation | 逆地理编码,将坐标转换为地理描述集合 |
getCountryCode | 获取当前的国家码 |
calculateDistance | 计算这两个点间的直线距离,单位为米 |
calculateDistanceEasy | 根据指定的两个经纬度坐标点,计算这两个点间的直线距离,单位为米 |
convertCoordinate convertCoordinateSync |
坐标转换,将WGS84坐标系转换为GCJ02坐标系 |
convertCoordinateEasy | 坐标转换,将WGS84坐标系转换为GCJ02坐标系 |
getErrorMsg | 获取定位相关错误msg |
LogUtil(日志工具类)使用案例
方法 | 介绍 |
---|---|
init | 初始化日志参数(该方法建议在Ability里调用) |
setDomain | 设置日志对应的领域标识,范围是0x0~0xFFFF。(该方法建议在Ability里调用) |
setTag | 设置日志标识(该方法建议在Ability里调用) |
setShowLog | 是否打印日志(该方法建议在Ability里调用) |
setHilog | 日志打印方式(该方法建议在Ability里调用) |
debug | 打印DEBUG级别日志 |
info | 打印INFO级别日志 |
warn | 打印WARN级别日志 |
error | 打印ERROR级别日志 |
fatal | 打印FATAL级别日志 |
打印日志,无边框。 |
CrashUtil(全局异常捕获,崩溃日志收集)使用案例
方法 | 介绍 |
---|---|
onHandled | 注册错误观测器(该方法建议在Ability里调用) 。注册后可以捕获到应用产生的js crash,应用崩溃时进程不会退出。将异常信息写入本地文件 |
onDestroy | 注销错误观测器 |
isHandled | 判断错误观测器是否存在 |
getFilePath | 获取日志文件路径(用于读取异常文件、导出异常文件) |
access | 判断日志文件是否存在 |
delete | 删除日志文件 |
getExceptionJson | 获取异常日志的JSON字符串 |
getExceptionList | 获取异常日志的集合 |
enableAppRecovery | 启用应用恢复功能,参数按顺序填入。该接口调用后,应用从启动器启动时第一个Ability支持恢复。 |
restartApp | 重启APP,并拉起应用启动时第一个Ability,可以配合errorManager相关接口使用 |
saveAppState | 保存当前App状态 或 主动保存Ability的状态,这个状态将在下次恢复启动时使用。可以配合errorManager相关接口使用 |
setRestartWant | 设置下次恢复主动拉起场景下的Ability。该Ability必须为当前包下的UIAbility |
EmitterUtil(Emitter工具类(进行线程间通信))使用案例
方法 | 介绍 |
---|---|
post | 发送事件 |
onSubscribe | 订阅事件 |
onceSubscribe | 单次订阅指定事件 |
unSubscribe | 取消事件订阅 |
getListenerCount | 获取指定事件的订阅数 |
on | 订阅事件,支持Callback |
once | 单次订阅指定事件,支持Callback |
off | 取消事件订阅,支持Callback |
WantUtil(Want工具类)使用案例
方法 | 介绍 |
---|---|
toSetting | 跳转系统设置页面(配合WantUtil里的URI常量一起使用,可跳转更多的设置页面) |
toAppSetting | 跳转应用设置页面 |
toNotificationSetting | 跳转通知设置页面 |
toNetworkSetting | 跳转移动网络设置页面 |
toWifiSetting | 跳转WLAN设置页面 |
toBluetoothSetting | 跳转蓝牙设置页面 |
toNfcSetting | 跳转NFC设置页面 |
toVolumeSetting | 跳转声音和振动设置页面 |
toStorageSetting | 跳转存储设置页面 |
toBatterySetting | 跳转电池设置页面 |
toWebBrowser | 拉起系统浏览器 |
toAppGalleryDetail | 拉起应用市场对应的应用详情界面 |
toFileManagement | 拉起系统文件管理器 |
startMMS | 拉起短信界面并指定联系人 |
openFile | 调用三方软件打开文件 |
KvUtil(键值型数据库工具类 )使用案例
方法 | 介绍 |
---|---|
put | 添加指定类型的键值对到数据库 |
get getString getNumber getBoolean getUint8Array |
获取指定键的值 |
delete | 从数据库中删除指定键值的数据 |
putBatch | 批量插入键值对到SingleKVStore数据库中 |
deleteBatch | 批量删除SingleKVStore数据库中的键值对 |
getEntries | 获取匹配指定键前缀的所有键值对 |
backup | 以指定名称备份数据库 |
restore | 从指定的数据库文件恢复数据库 |
deleteBackup | 根据指定名称删除备份文件 |
onDataChange | 订阅指定类型的数据变更通知 |
offDataChange | 取消订阅数据变更通知 |
PreferencesUtil(Preferences工具类)使用案例
方法 | 介绍 |
---|---|
init | 初始化 |
put putSync |
将数据缓存 |
get getSync |
获取缓存值 |
getString getStringSync |
获取string类型的缓存值 |
getNumber getNumberSync |
获取number类型的缓存值 |
getBoolean getBooleanSync |
获取boolean类型的缓存值 |
has hasSync |
检查缓存实例中是否包含给定Key的存储键值对 |
getBoolean getBooleanSync |
获取boolean类型的缓存值 |
delete deleteSync |
删除缓存值 |
clear clearSync |
清空缓存 |
deletePreferences | 从缓存中移出指定的Preferences实例,若Preferences实例有对应的持久化文件,则同时删除其持久化文件。 |
onChange | 订阅数据变更,订阅的Key的值发生变更后,在执行flush方法后,触发callback回调 |
offChange | 取消订阅数据变更 |
onDataChange | 精确订阅数据变更,只有被订阅的key值发生变更后,在执行flush方法后,触发callback回调 |
offDataChange | 取消精确订阅数据变更 |
CacheUtil(缓存工具类 )使用案例
方法 | 介绍 |
---|---|
has | 缓存中的数据是否存在 |
get | 获取缓存中的数据 |
put | 将数据存入缓存中 |
remove | 删除key对应的缓存 |
isEmpty | 判断缓存是否为空 |
clear | 清除缓存数据 |
LRUCacheUtil(LRUCache缓存工具类 )使用案例
方法 | 介绍 |
---|---|
getInstance | 获取LRUCacheUtil的单例 |
has | 判断是否包含key对应的缓存 |
get | 获取key对应的缓存 |
put | 添加缓存到lruCache中 |
remove | 删除key对应的缓存 |
isEmpty | 判断lruCache缓存是否为空 |
getCapacity | 获取当前缓冲区的容量 |
updateCapacity | 重新设置lruCache的容量 |
clear | 清除缓存数据,并重置lruCache的大小 |
NotificationUtil(通知工具类)使用案例
方法 | 介绍 |
---|---|
setDefaultConfig | 设置通知的默认统一配置 |
isNotificationEnabled isNotificationEnabledSync |
查询通知是否授权 |
authorizeNotification | 请求通知授权,第一次调用会弹窗让用户选择。 |
isSupportTemplate | 查询模板是否存在,目前仅支持进度条模板。 |
isDistributedEnabled | 查询设备是否支持分布式通知 |
publishBasic | 发布普通文本通知 |
publishMultiLine | 发布多文本通知 |
publishLongText | 发布长文本通知 |
publishPicture | 发布带有图片的通知 |
publishTemplate | 发布模板通知 |
cancel | 取消通知 |
cancelGroup | 取消本应用指定组下的通知 |
cancelAll | 取消所有通知 |
setBadge | 设置桌面角标个数 |
clearBadge | 清空桌面角标 |
setBadgeFromNotificationCount | 设置桌面角标数量,来自于通知数量 |
getActiveNotificationCount | 获取当前应用未删除的通知数量 |
getActiveNotifications | 获取当前应用未删除的通知列表 |
addSlot | 创建指定类型的通知渠道 |
getSlot | 获取一个指定类型的通知渠道 |
getSlots | 获取此应用程序的所有通知渠道 |
removeSlot | 删除此应用程序指定类型的通知渠道 |
removeAllSlots | 删除此应用程序所有通知渠道 |
generateNotificationId | 生成通知id(用时间戳当id) |
getDefaultWantAgent | 创建一个可拉起Ability的Want |
getCompressedPicture | 获取压缩通知的图片(图像像素的总字节数不能超过2MB) |
getCompressedIcon | 获取压缩通知图标(图标像素的总字节数不超过192KB) |
SnapshotUtil(组件截图和窗口截图工具类)使用案例
方法 | 介绍 |
---|---|
get getSync |
获取已加载的组件的截图,传入组件的组件id,找到对应组件进行截图 |
createFromBuilder | 在应用后台渲染CustomBuilder自定义组件,并输出其截图 |
snapshot | 获取窗口截图,使用Promise异步回调 |
onSnapshotListener | 开启系统截屏事件的监听 |
removeSnapshotListener | 关闭系统截屏事件的监听 |
KeyboardUtil(键盘工具类)使用案例
方法 | 介绍 |
---|---|
show | 拉起键盘 |
hide | 隐藏键盘 |
onKeyboardListener | 订阅输入法软键盘显示和隐藏事件 |
removeKeyboardListener | 取消订阅输入法软键盘显示或隐藏事件 |
PasteboardUtil(剪贴板工具类 )使用案例
方法 | 介绍 |
---|---|
requestPermissions | 申请剪贴板权限 |
getSystemPasteboard | 获取系统剪贴板对象 |
hasData hasDataSync |
判断系统剪贴板中是否有内容 |
setData setDataSync |
将数据写入系统剪贴板 |
getData getDataSync |
读取系统剪贴板内容 |
setDataText setDataTextSync |
将纯文本数据写入系统剪贴板 |
getDataText getDataTextSync |
读取系统剪贴板纯文本内容 |
setDataHtml setDataHtmlSync |
将HTML数据写入系统剪贴板 |
getDataHtml getDataHtmlSync |
读取系统剪贴板HTML内容 |
setDataUri setDataUriSync |
将URI数据写入系统剪贴板 |
getDataUri getDataUriSync |
读取系统剪贴板URI内容 |
setDataWant setDataWantSync |
将Want数据写入系统剪贴板 |
getDataWant getDataWantSync |
读取系统剪贴板Want内容 |
setDataPixelMap setDataPixelMapSync |
将PixelMap数据写入系统剪贴板 |
getDataPixelMap getDataPixelMapSync |
读取系统剪贴板PixelMap内容 |
getDataStr getDataStrSync |
读取系统剪贴板里的字符串 |
getDataEasy | 读取系统剪贴板里的内容(纯文本内容、HTML内容、URI内容、Want内容、PixelMap内容) |
clearData clearDataSync |
清空系统剪贴板内容 |
AssetUtil(关键资产存储服务工具类)使用案例
方法 | 介绍 |
---|---|
add addSync |
新增一条关键资产 |
get getSync |
查询关键资产 |
remove removeSync |
删除关键资产 |
canIUse | 当前设备是否支持该模块 |
ResUtil(资源工具类)使用案例
方法 | 介绍 |
---|---|
getResourceManager | 获取提供访问应用资源的能力 |
getBoolean | 获取指定资源对应的布尔结果 |
getBooleanByName | 获取指定资源名称对应的布尔结果 |
getNumber | 获取指定资源对应的integer数值或者float数值 |
getNumberByName | 获取指定资源名称对应的integer数值或者float数值 |
getStringValue getStringSync |
获取指定资源对应的字符串 |
getStringByName getStringByNameSync |
获取指定资源名称对应的字符串 |
getStringArrayValue getStringArrayValueSync |
获取指定资源对应的字符串数组 |
getStringArrayByName getStringArrayByNameSync |
获取指定资源名称对应的字符串数组 |
getPluralStringValue getPluralStringValueSync |
根据指定数量获取指定resource对象表示的单复数字符串 |
getPluralStringByName getPluralStringByNameSync |
根据指定数量获取指定资源名称表示的单复数字符串 |
getColor getColorSync |
获取指定资源对应的颜色值(十进制) |
getColorByName getColorByNameSync |
获取指定资源名称对应的颜色值(十进制) |
getMediaContent getMediaContentSync |
获取指定资源对应的默认或指定的屏幕密度媒体文件内容 |
getMediaByName getMediaByNameSync |
获取指定资源名称对应的默认或指定的屏幕密度媒体文件内容 |
getMediaContentBase64 getMediaContentBase64Sync |
获取指定资源ID对应的默认或指定的屏幕密度图片资源Base64编码 |
getMediaBase64ByName getMediaBase64ByNameSync |
获取指定资源名称对应的默认或指定的屏幕密度图片资源Base64编码 |
getRawFileContent getRawFileContentSync |
获取resources/rawfile目录下对应的rawfile文件内容 |
getRawFileContentStr getRawFileContentStrSync |
获取resources/rawfile目录下对应的rawfile文件内容(字符串) |
getRawFileList getRawFileListSync |
获取resources/rawfile目录下文件夹及文件列表(若文件夹中无文件,则不返回;若文件夹中有文件,则返回文件夹及文件列表) |
getRawFd | 用户获取resources/rawfile目录下对应rawfile文件所在hap的descriptor信息 |
closeRawFd closeRawFdSync |
用户关闭resources/rawfile目录下rawfile文件所在hap的descriptor信息 |
addResource | 应用运行时,加载指定的资源路径,实现资源覆盖 |
removeResource | 用户运行时,移除指定的资源路径,还原被覆盖前的资源 |
isRawDir | 用户判断指定路径是否是rawfile下的目录(true:表示是rawfile下的目录,false:表示不是rawfile下的目录) |
getConfiguration getConfigurationSync |
获取设备的Configuration |
getDeviceCapability getDeviceCapabilitySync |
获取设备的DeviceCapability |
ObjectUtil(对象工具类)使用案例
方法 | 介绍 |
---|---|
getHash | 获取对象的Hash值 |
getClassName | 获取对象的Class名称 |
getMethodsNames | 获取对象的所有方法名 |
isString | 判断是否是String |
isNull | 判断对象是否为空 |
isEmpty | 判断属性内容是否为空 |
shallowCopy | 浅拷贝 |
deepCopy | 深度拷贝对象 |
assign | 合并两个或多个对象 |
objToClass | obj转class,解决obj as class后丢失方法的问题 |
deleteRecord | 删除Record中的元素 |
getValue | 通过key获取对象值 |
setValue | 给对象obj动态添加或者修改属性 |
JSONUtil(JSON工具类)使用案例
方法 | 介绍 |
---|---|
jsonToBean | JSON字符串转对象 |
beanToJsonStr | 对象转JSON字符串 |
jsonToArray | JSON字符串转Array |
jsonToMap | JSON字符串转Map |
mapToJsonStr | Map转JSON字符串 |
isJSONStr | 判断是否是字符串格式json |
DateUtil(日期工具类)使用案例
方法 | 介绍 |
---|---|
getFormatDate | 获取格式化日期,将传入的日期格式化为Date |
getFormatDateStr | 获取格式化日期,将传入的日期格式化为指定格式的字符串 |
getToday | 获取今天的日期 |
getTodayTime | 获取今天的时间戳 |
getTodayStr | 获取今天的时间,字符串类型 |
isToday | 判断日期是否是今天 |
getNowYear | 获取当前年 |
getNowMonth | 获取当前月 |
getNowDay | 获取当前日 |
isLeapYear | 判断是否是闰年 |
getDaysByYear | 获取指定年份的天数 |
getDaysByMonth | 获取指定月份的天数 |
isSameYear | 判断两个日期是否是同一年 |
isSameMonth | 判断两个日期是否是同一月 |
isSameWeek | 判断两个日期是否是同一周 |
isSameDay | 判断是否是同一天 |
isWeekend | 判断指定的日期在日历中是否为周末 |
compareDays | 比较指定日期相差的天数 |
compareDate | 比较指定日期相差的毫秒数 |
getAmountDay | 获取前几天日期或后几天日期 |
getAmountDayStr | 获取前几天日期或后几天日期,返回字符串 |
getBeforeDay | 获取前一天日期 |
getBeforeDayStr | 获取前一天日期,返回字符串 |
getAfterDay | 获取后一天日期 |
getAfterDayStr | 获取后一天日期,返回字符串 |
getWeekOfMonth | 获取给定日期是当月的第几周 |
getWeekDay | 获取给定的日期是星期几 |
getLastDayOfMonth | 获取给定年份和月份的最后一天是几号 |
getFormatTime | 格式化时间日期字符串(DateTimeFormat) |
getFormatRange | 格式化时间日期段字符串(DateTimeFormat) |
getFormatRelativeTime | 格式化相对时间 |
getTipDateStr | 格式化时间戳,获取提示性时间字符串 |
Base64Util(Base64工具类)使用案例
方法 | 介绍 |
---|---|
decode encodeSync |
解码,通过输入参数解码后输出对应Uint8Array对象 |
encode decodeSync |
编码,通过输入参数编码后输出Uint8Array对象 |
encodeToStr encodeToStrSync |
编码,通过输入参数编码后输出对应文本 |
StrUtil(字符串工具类)使用案例
方法 | 介绍 |
---|---|
isNull | 判断字符串是否为空(undefined、null) |
isNotNull | 判断字符串是否为非空 |
isEmpty | 判断字符串是否为空(undefined、null、字符串长度为0) |
isNotEmpty | 判断字符串是否为非空 |
isBlank | 判断字符串是否为空和空白符(空白符包括空格、制表符、全角空格和不间断空格) |
isNotBlank | 判断字符串是否为非空 |
trim | 去除字符串两端的空格 |
trimAll | 去除字符串里的所有空格 |
replace | 替换字符串中匹配的正则为给定的字符串 |
replaceAll | 替换字符串中所有匹配的正则为给定的字符串 |
startsWith | 判断字符串是否以给定的字符串开头 |
endsWith | 判断字符串是否以给定的字符串结尾 |
repeat | 将字符串重复指定次数 |
toLower | 将整个字符串转换为小写 |
toUpper | 将整个字符串转换为大写 |
capitalize | 将字符串首字母转换为大写,剩下为小写 |
equal | 判断两个传入的数值或者是字符串是否相等 |
notEqual | 判断两个传入的数值或者是字符串是否不相等 |
strToUint8Array | 字符串转Uint8Array |
unit8ArrayToStr | Uint8Array转字符串 |
strToBase64 | 字符串转Base64字符串 |
base64ToStr | Base64字符串转字符串 |
strToBuffer | 字符串转ArrayBuffer |
bufferToStr | ArrayBuffer转字符串 |
bufferToUint8Array | ArrayBuffer转Uint8Array |
unit8ArrayToBuffer | Uint8Array转ArrayBuffer |
getErrorStr | 获取Error的JSON字符串 |
getErrnoToString | 获取系统错误码对应的详细信息 |
CharUtil(字符工具类)使用案例
方法 | 介绍 |
---|---|
isDigit | 判断字符串char是否是数字 |
isLetter | 判断字符串char是否是字母 |
isLowerCase | 判断字符串char是否是小写字母 |
isUpperCase | 判断字符串char是否是大写字母 |
isSpaceChar | 判断字符串char是否是空格符 |
isWhitespace | 判断字符串char是否是空白符 |
isRTL | 判断字符串char是否是从右到左语言的字符 |
isIdeograph | 判断字符串char是否是表意文字 |
isBlankChar | 判断是否空白符 空白符包括空格、制表符、全角空格和不间断空格 |
isAscii | 判断字符是否位于ASCII范围内(0~127) |
NumberUtil(number工具类)使用案例
方法 | 介绍 |
---|---|
isNaN | 检查值是否为NaN |
isFinite | 检查值是否为有限数字 |
isInteger | 检查值是否为整数 |
isSafeInteger | 检查值是否为安全整数 |
isNumber | 判断是否是数值 |
isEven | 检查数字是否为偶数 |
isOdd | 检查数字是否为奇数 |
toNumber | 将字符串转换为Number |
toInt | 将字符串转换为整数 |
toFloat | 将字符串转换为浮点数 |
average | 计算数字的平均值 |
add | 加法 |
sub | 减法 |
sum | 求和 |
toDecimal | 构造Decimal |
addDecimal | 加法Decimal |
subDecimal | 减法Decimal |
sumDecimal | 求和Decimal |
ArrayUtil(集合工具类)使用案例
方法 | 介绍 |
---|---|
isNotEmpty | 判断集合是否为非空集合 |
isEmpty | 判断集合是否为空集合 |
removeEmpty | 去除字符串数组中的空值 |
trim | 去除字符串数组的每个值的前后空格 |
distinct | 将数组去重,去重后生成新的数组,原数组不变 |
reverse | 将数组反转,会修改原始数组 |
filter | 数组过滤,通过filter函数实现来过滤返回需要的元素 |
append | 拼接数据,使用扩展运算符,不影响原数组。 |
min | 获取数组最小值(数值、字符串、日期) |
max | 获取数组最大值(数值、字符串、日期) |
flatten | 平铺二维数组 |
union | 平铺二维数组,并去重 |
chunk | 数组分块 |
contain | 判断集合是否包含某个值 |
remove | 移除集合的某个值 |
RandomUtil(随机工具类)使用案例
方法 | 介绍 |
---|---|
getRandomBoolean | 生成随机Boolean值 |
getRandomInt | 生成随机整数(可指定范围) |
getRandomNumber | 生成指定范围内的随机数 |
getRandomLimit | 生成指定范围内的随机数 [0,limit) |
getRandomChineseChar | 生成一个随机汉字 |
getRandomChinese | 生成随机汉字 |
getRandomStr | 根据指定字符串,随机生成 指定长度的字符串 |
getRandomDataBlob | 生成随机指定长度的DataBlob |
getRandomUint8Array | 生成随机指定长度的Uint8Array |
getRandomColor | 生成随机颜色,十六进制 |
generateUUID36 | 生成36位UUID,带- |
generateUUID32 | 生成32位UUID,带- |
generateRandomUUID | 使用加密安全随机数生成器生成随机的RFC 4122版本4的string类型UUID |
generateRandomBinaryUUID | 使用加密安全随机数生成器生成随机的RFC 4122版本4的Uint8Array类型UUID |
RegexUtil(正则工具类)使用案例
方法 | 介绍 |
---|---|
isMatch | 给定内容是否匹配正则(配合RegexUtil里的正则常量一起使用) |
isPhone | 判断传入的电话号码格式是否正确 |
isDigits | 检查字符串是否只包含数字字符 |
isEmail | 判断传入的邮箱格式是否正确 |
isEmoji | 判断字符串是否包含表情 |
isValidCard | 验证身份证号码的有效性 |
TypeUtil(类型检查工具类)使用案例
方法 | 介绍 |
---|---|
isBoolean | 判断是否是Boolean类型 |
isNumber | 判断是否是Number类型 |
isString | 判断是否是String类型 |
isObject | 判断是否是Object类型 |
isArray | 判断是否是数组类型 |
isResource | 判断是否是Resource类型 |
isResourceStr | 判断是否是ResourceStr类型 |
isFunction | 判断是否是函数类型 |
isMap | 检查是否为Map类型 |
isWeakMap | 检查是否为WeakMap类型 |
isSet | 检查是否为Set类型 |
isWeakSet | 检查是否为WeakSet类型 |
isDate | 检查是否为Date类型 |
isArrayBuffer | 检查是否为ArrayBuffer类型 |
isSharedArrayBuffer | 检查是否为SharedArrayBuffer类型 |
isAnyArrayBuffer | 检查是否为ArrayBuffer或SharedArrayBuffer类型 |
isUint8Array | 检查是否为Uint8Array数组类型 |
isUint16Array | 检查是否为Uint16Array数组类型 |
isUint32Array | 检查是否为Uint32Array数组类型 |
isInt8Array | 检查是否为Int8Array数组类型 |
isInt16Array | 检查是否为Int16Array数组类型 |
isInt32Array | 检查是否为Int32Array数组类型 |
isTypedArray | 检查是否为TypedArray类型 |
isAsyncFunction | 检查是否为异步函数类型 |
isPromise | 检查是否为Promise类型 |
isProxy | 检查是否为Proxy类型 |
isRegExp | 检查是否为RegExp类型 |
isDataView | 检查是否为DataView类型 |
isExternal | 检查是否为native External类型 |
isNativeError | 检查是否为Error类型 |
FormatUtil(格式化工具类)使用案例
方法 | 介绍 |
---|---|
isPhone | 判断传入的电话号码格式是否正确 |
getPhoneFormat | 对电话号码进行格式化 |
getPhoneLocationName | 获取电话号码归属地 |
transliterator | 将输入字符串从源格式转换为目标格式(中文汉字转为拼音) |
getFormatPercentage | 格式化百分比,将数字转化从百分比字符串 |
getFormatPhone | 格式化手机号码,隐藏中间四位 |
getFormatCardNo | 格式化身份证号码,隐藏中间部分数字 |
getFormatFileSize | 格式化文件大小 |
getTruncateText | 缩短长文本,超出部分用省略号表示 |
getIconFont | 解析iconFont字符 |
getQueryValue | 获取url里的参数,Key对应的Value |
getParamsUrl | 将参数拼接在url上,返回新的url |
ClickUtil(节流、防抖 工具类)使用案例
方法 | 介绍 |
---|---|
throttle | 节流:在一定时间内,只触发一次 |
debounce | 防抖:一定时间内,只有最后一次操作,再过wait毫秒后才执行函数 |
TempUtil(温度转换工具类)使用案例
方法 | 介绍 |
---|---|
C2F | 摄氏度转华氏度 |
F2C | 华氏度转摄氏度 |
C2K | 摄氏度转开尔文 |
K2C | 开尔文转摄氏度 |
F2K | 华氏度转开尔文 |
K2F | 开尔文转华氏度 |
DialogUtil(弹窗工具类)使用案例
方法 | 介绍 |
---|---|
setDefaultConfig | 设置默认统一样式 |
showConfirmDialog | 显示弹窗(一个按钮) |
showPrimaryDialog | 显示弹窗(两个按钮) |
showDialog | 显示弹窗(可多个按钮) |
showActionSheet | 列表选择弹窗 |
showCalendarPicker | 日历选择器弹窗 |
showDatePicker | 日期滑动选择器弹窗 |
showTimePicker | 时间滑动选择器弹窗 |
showTextPicker | 文本滑动选择器弹窗 |
ToastUtil(吐司工具类)使用案例
方法 | 介绍 |
---|---|
setDefaultConfig | 设置默认统一样式 |
showToast | 弹出吐司,默认时长为2s |
showShort | 弹出短吐司,默认时长为:1.5s |
showLong | 弹出长吐司,默认时长为:10s |
SM2(SM2加解密)使用案例
方法 | 介绍 |
---|---|
encrypt encryptSync |
加密 |
decrypt decryptSync |
解密 |
generateKeyPair generateKeyPairSync |
生成非对称密钥KeyPair |
getConvertKeyPair getConvertKeyPairSync |
获取转换的非对称密钥KeyPair |
getSM2PubKey | 获取转换SM2公钥, 将C1C2C3格式的SM2公钥转换为鸿蒙所需的ASN.1格式 |
getSM2PriKey | 获取转换SM2私钥 |
getCipherTextSpec | 获取转换SM2密文格式,ASN.1格式转换为C1C2C3或C1C3C2 |
sign signSync |
对数据进行签名 |
verify verifySync |
对数据进行验签 |
signSegment signSegmentSync |
对数据进行分段签名 |
verifySegment verifySegmentSync |
对数据进行分段验签 |
SM3(SM3工具类)使用案例
方法 | 介绍 |
---|---|
digest digestSync |
SM3摘要 |
digestSegment digestSegmentSync |
SM3分段摘要 |
hmac hmacSync |
SM3消息认证码计算 |
hmacSegment hmacSegmentSync |
SM3消息认证码计算,分段 |
SM4(SM4加解密)使用案例
方法 | 介绍 |
---|---|
encrypt encryptSync |
加密 |
decrypt decryptSync |
解密 |
encryptGCM encryptGCMSync |
加密(GCM模式) |
decryptGCM decryptGCMSync |
解密(GCM模式) |
encryptCBC encryptCBCSync |
加密(CBC模式) |
decryptCBC decryptCBCSync |
解密(CBC模式) |
encryptECB encryptECBSync |
加密(ECB模式) |
decryptECB decryptECBSync |
解密(ECB模式) |
encryptGCMSegment encryptGCMSegmentSync |
加密(GCM模式)分段 |
decryptGCMSegment decryptGCMSegmentSync |
解密(GCM模式)分段 |
generateSymKey generateSymKeySync |
生成对称密钥SymKey |
AES(AES加解密)使用案例
方法 | 介绍 |
---|---|
encrypt encryptSync |
加密 |
decrypt decryptSync |
解密 |
encryptGCM encryptGCMSync |
加密(GCM模式) |
decryptGCM decryptGCMSync |
解密(GCM模式) |
encryptCBC encryptCBCSync |
加密(CBC模式) |
decryptCBC decryptCBCSync |
解密(CBC模式) |
encryptECB encryptECBSync |
加密(ECB模式) |
decryptECB decryptECBSync |
解密(ECB模式) |
encryptGCMSegment encryptGCMSegmentSync |
加密(GCM模式)分段 |
decryptGCMSegment decryptGCMSegmentSync |
解密(GCM模式)分段 |
generateSymKey generateSymKeySync |
生成对称密钥SymKey |
DES(DES加解密)使用案例
方法 | 介绍 |
---|---|
encrypt encryptSync |
加密 |
decrypt decryptSync |
解密 |
encryptECB encryptECBSync |
加密(ECB模式) |
decryptECB decryptECBSync |
解密(ECB模式) |
encryptCBC encryptCBCSync |
加密(CBC模式) |
decryptCBC decryptCBCSync |
解密(CBC模式) |
generateSymKey generateSymKeySync |
生成对称密钥SymKey |
RSA(RSA加解密)使用案例
方法 | 介绍 |
---|---|
encrypt encryptSync |
加密 |
decrypt decryptSync |
解密 |
encryptSegment encryptSegmentSync |
加密,分段 |
decryptSegment decryptSegmentSync |
解密,分段 |
generateKeyPair generateKeyPairSync |
生成非对称密钥KeyPair |
getConvertKeyPair getConvertKeyPairSync |
获取转换的非对称密钥KeyPair |
sign signSync |
对数据进行签名 |
verify verifySync |
对数据进行验签 |
signSegment signSegmentSync |
对数据进行分段签名 |
verifySegment verifySegmentSync |
对数据进行分段验签 |
recover recoverSync |
对数据进行签名恢复原始数据,目前仅RSA支持 |
MD5(MD5工具类)使用案例
方法 | 介绍 |
---|---|
digest digestSync |
MD5摘要 |
digestSegment digestSegmentSync |
MD5摘要,分段 |
hmac hmacSync |
消息认证码计算 |
hmacSegment hmacSegmentSync |
消息认证码计算,分段 |
SHA(SHA工具类)使用案例
方法 | 介绍 |
---|---|
digest digestSync |
SHA摘要 |
digestSegment digestSegmentSync |
SHA摘要,分段 |
hmac hmacSync |
消息认证码计算 |
hmacSegment hmacSegmentSync |
消息认证码计算,分段 |
ECDSA(ECDSA工具类)使用案例
方法 | 介绍 |
---|---|
sign signSync |
对数据进行签名 |
verify verifySync |
对数据进行验签 |
signSegment signSegmentSync |
对数据进行分段签名 |
verifySegment verifySegmentSync |
对数据进行分段验签 |
CryptoUtil(加解密公用工具类,配合各个加密模块使用)
方法 | 介绍 |
---|---|
encrypt encryptSync |
加密 |
decrypt decryptSync |
解密 |
generateSymKey generateSymKeySync |
生成对称密钥SymKey |
getConvertSymKey getConvertSymKeySync |
获取转换的对称密钥SymKey |
generateKeyPair generateKeyPairSync |
生成非对称密钥KeyPair |
getConvertKeyPair getConvertKeyPairSync |
获取转换的非对称密钥KeyPair |
getPemKeyPair | 获取指定数据生成非对称密钥 |
generateIvParamsSpec | 生成IvParamsSpec |
getIvParamsSpec | 获取转换IvParamsSpec |
generateGcmParamsSpec | 生成GcmParamsSpec |
getGcmParamsSpec | 获取转换GcmParamsSpec |
sign signSync |
对数据进行签名 |
verify verifySync |
对数据进行验签 |
signSegment signSegmentSync |
对数据进行分段签名 |
verifySegment verifySegmentSync |
对数据进行分段验签 |
dynamicKey dynamicKeySync |
密钥协商 |
digest digestSync |
摘要 |
digestSegment digestSegmentSync |
摘要,分段 |
hmac hmacSync |
消息认证码计算 |
hmacSegment hmacSegmentSync |
消息认证码计算,分段 |
CryptoHelper(加解密数据类型转换,配合各个加密模块使用)
方法 | 介绍 |
---|---|
strToDataBlob | 字符串转DataBlob |
dataBlobToStr | DataBlob转字符串 |
strToUint8Array | 字符串转Uint8Array |
uint8ArrayToStr | Uint8Array转字符串 |
getSymKeyDataBlob | 获取DataBlob类型的密钥 |
getKeyDataBlob | 获取DataBlob类型的公钥或私钥 |
getRandomUint8Array | 根据传入的大小生成随机Uint8Array |
getUint8ArrayPaddingZero | Uint8Array补零操作 |
toHexWithPaddingZero | 补零操作 |
stringToHex | 字符串转Hex字符串 |
uint8ArrayToString | 字节流转成可理解的字符串 |
PickerUtil(拍照、文件选择和保存,工具类)拆分至 picker_utils
方法 | 介绍 |
---|---|
camera cameraEasy |
调用系统相机,拍照、录视频 |
selectPhoto | 通过选择模式拉起photoPicker界面,用户可以选择一个或多个图片/视频 |
savePhoto | 通过保存模式拉起photoPicker进行保存图片或视频资源的文件名,若无参数,则默认需要用户自行输入 |
selectDocument | 通过选择模式拉起documentPicker界面,用户可以选择一个或多个文件 |
saveDocument | 通过保存模式拉起documentPicker界面,用户可以保存一个或多个文件 |
selectAudio | 通过选择模式拉起audioPicker界面,用户可以选择一个或多个音频文件 |
saveAudio | 通过保存模式拉起audioPicker界面,用户可以保存一个或多个音频文件 |
PhotoHelper(相册相关,工具类)拆分至 picker_utils
方法 | 介绍 |
---|---|
select selectEasy |
通过选择模式拉起photoPicker界面,用户可以选择一个或多个图片/视频 |
save | 申请权限保存,保存图片或视频到相册。 |
showAssetsCreationDialog | 弹窗授权保存,调用接口拉起保存确认弹窗。 |
showAssetsCreationDialogEasy | 弹窗授权保存,调用接口拉起保存确认弹窗,并保存。 |
applyChanges | 安全控件保存,提交媒体变更请求,插入图片/视频。 |
getPhotoAsset | 获取对应uri的PhotoAsset对象,用于读取文件信息 |
ScanUtil(码工具类(扫码、码图生成、图片识码))拆分至 picker_utils
方法 | 介绍 |
---|---|
startScanForResult | 调用默认界面扫码,使用Promise方式异步返回解码结果 |
generateBarcode | 码图生成,使用Promise异步返回生成的码图 |
decode | 调用图片识码,使用Promise方式异步返回识码结果 |
decodeImage | 调用图像数据识码能力,使用Promise异步回调返回识码结果 |
onPickerScanForResult | 通过picker拉起图库并选择图片,并调用图片识码 |
canIUseScan | 判断当前设备是否支持码能力 |
🍎贡献代码与技术交流
使用过程中发现任何问题都可以提 Issue给我们;
当然,我们也非常欢迎你给我们发 PR 。
https://gitee.com/tongyuyan/harmony-utils
https://github.com/787107497
🌏开源协议
本项目基于 Apache License 2.0 ,在拷贝和借鉴代码时,请大家务必注明出处。