harmony-utils:一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具类,致力于助力开发者迅速构建鸿蒙应用。其封装的工具涵盖了APP、设备、屏幕、授权、通知、线程间通信、弹框、吐司、生物认证、用户首选项、拍照、相册、扫码、文件、日志,异常捕获、字符、字符串、数字、集合、日期、随机、base64、加密、解密、JSON等一系列的功能和操作,能够满足各种不同的开发需求。
下载安装与使用说明
ohpm i @pura/harmony-utils OpenHarmony ohpm 环境配置等更多内容,请参考如何安装 OpenHarmony ohpm 包
在更新记录里,每个版本号,都有对应的最低开发工具版本,如:“1.2.2(API12 - 5.0.3.906)”;如遇到API不存在和项目报错,请升级开发工具DevEco Studio。
1  | 全局初始化方法,从1.2.0版本开始,在UIAbility的onCreate方法中初始化 AppUtil.init()  | 
模块介绍
| 模块 | 介绍 | 
|---|---|
| AppUtil | APP相关工具类 | 
| DeviceUtil | 设备相关工具类 | 
| DisplayUtil | 屏幕相关工具类 | 
| PermissionUtil | 申请授权工具类 | 
| NotificationUtil | 通知工具类 | 
| EmitterUtil | Emitter工具类(进行线程间通信) | 
| WantUtil | Want工具类 | 
| AuthUtil | 手机的生物认证(指纹、人脸、密码)工具类 | 
| PreferencesUtil | Preferences(用户首选项)工具类 | 
| KvUtil | 键值型数据库工具类 | 
| CacheUtil | 缓存工具类 | 
| LRUCacheUtil | LRUCache缓存工具类 | 
| FileUtil | 文件操作相关工具类 | 
| PickerUtil | 拍照、文件(文件、图片、视频、音频)选择和保存,工具类 | 
| PhotoHelper | 相册相关工具类 | 
| ImageUtil | 图片相关工具类 | 
| SnapshotUtil | 组件截图和窗口截图工具类 | 
| PreviewUtil | 文件预览工具类 | 
| ScanUtil | 码工具类(扫码、码图生成、图片识码) | 
| LocationUtil | 定位工具类(WGS-84坐标系) | 
| LogUtil | 日志工具类 | 
| ResUtil | 资源工具类 | 
| DateUtil | 日期工具类 | 
| StrUtil | 字符串工具类 | 
| RegexUtil | 正则工具类 | 
| FormatUtil | 格式化工具类 | 
| CharUtil | 字符工具类 | 
| Base64Util | Base64工具类 | 
| NumberUtil | number工具类 | 
| ArrayUtil | 集合工具类 | 
| RandomUtil | 随机工具类 | 
| ObjectUtil | 对象工具类 | 
| JSONUtil | JSON工具类 | 
| ClickUtil | 节流、防抖 工具类(用于点击事件,防止按钮被重复点击) | 
| CrashUtil | 全局异常捕获,崩溃日志收集 | 
| KeyboardUtil | 键盘工具类 | 
| PasteboardUtil | 剪贴板工具类 | 
| NetworkUtil | 网络相关工具类 | 
| AssetUtil | 关键资产存储服务工具类 | 
| TempUtil | 温度转换工具类,华氏度与摄氏度相互转换 | 
| DialogUtil | 弹窗工具类(AlertDialog) | 
| ToastUtil | 吐司工具类(promptAction) | 
| SM2、SM3、SM4、   AES、DES、RSA、 MD5、SHA、ECDSA、 CryptoUtil、 CryptoHelper  | 
加解密算法工具类   CryptoUtil:加解密公用工具类,配合各个加密模块使用。 CryptoHelper:加解密数据类型转换。  | 
AppUtil(APP相关工具类)
| 方法 | 介绍 | 
|---|---|
| init | 初始化方法,缓存全局变量,在UIAbility的onCreate方法中初始化该方法 | 
| getContext | 获取上下文,common.UIAbilityContext | 
| getWindowStage | 获取WindowStage | 
| getMainWindow | 获取主窗口 | 
| getUIContext | 获取UIContext | 
| setGrayScale | 设置灰阶,APP一键置灰 | 
| setStatusBar | 设置沉浸式状态栏(需要配合getStatusBarHeight和getNavigationIndicatorHeight一起使用) | 
| getWindowProperties | 获取当前窗口的属性 | 
| getKeyboardAvoidMode | 获取虚拟键盘抬起时的页面避让模式(OFFSET-上抬模式、RESIZE-压缩模式) | 
| setKeyboardAvoidMode | 设置虚拟键盘弹出时,页面的避让模式 | 
| isPortrait | 当前设备是否以竖屏方式显示 | 
| isLandscape | 当前设备是否以横屏方式显示 | 
| setPreferredOrientation | 设置窗口的显示方向属性 | 
| setWindowBrightness | 设置屏幕亮度值 | 
| setWindowKeepScreenOn | 设置屏幕是否为常亮状态 | 
| setWindowPrivacyMode | 设置窗口是否为隐私模式。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏 | 
| setWindowBackgroundColor | 设置窗口的背景色。Stage模型下,该接口需要在loadContent()或setUIContent()调用生效后使用 | 
| setWindowFocusable | 设置点击时是否支持切换焦点窗口 | 
| setWindowTouchable | 设置窗口是否为可触状态 | 
| getStatusBarHeight | 获取状态栏的高度,单位为px | 
| getNavigationIndicatorHeight | 获取底部导航条的高度,单位为px。 | 
| getBundleInfo | 获取当前应用的BundleInfo | 
| getBundleName | 获取应用包的名称 | 
| getVersionCode | 获取应用版本号 | 
| getVersionName | 获取应用版本名 | 
| getTargetVersion | 获取运行应用包所需要最高SDK版本号 | 
| getAppInfo | 获取应用程序的配置信息 | 
| exit | 主动退出整个应用;调用该方法后,任务中心的任务默认不会清理,如需清理,需要配置removeMissionAfterTerminate为true。 | 
DeviceUtil(设备相关工具类)
| 方法 | 介绍 | 
|---|---|
| getDeviceId | 获取设备ID(卸载APP后依旧不变) | 
| deleteDeviceId | 移除设备ID | 
| getBrand | 获取设备品牌名称 | 
| getProductModel | 获取认证型号 | 
| getOsReleaseType | 获取系统的发布类型,取值为:Canary、Beta、Release | 
| getOsFullName | 获取系统版本 | 
| getDisplayVersion | 获取产品版本 | 
| getSdkApiVersion | 获取系统软件API版本 | 
| getBuildVersion | 获取Build版本号,标识编译构建的版本号 | 
| getODID | 获取开发者匿名设备标识符 | 
| getConfiguration   getConfigurationSync  | 
获取设备的Configuration | 
| getDirection | 获取当前设备屏幕方向 | 
| getDeviceCapability   getDeviceCapabilitySync  | 
获取设备的DeviceCapability | 
| getDeviceType | 获取当前设备类型 | 
| getDeviceTypeStr | 获取当前设备类型,返回字符串 | 
| getScreenDensity | 获取当前设备屏幕密度 | 
| startVibration | 开启设备振动 | 
| stopVibration | 停止设备振动(按照VIBRATOR_STOP_MODE_TIME模式) | 
DisplayUtil(屏幕相关工具类)
| 方法 | 介绍 | 
|---|---|
| getDefaultDisplaySync | 获取当前默认的display对象 | 
| getWidth | 获取设备的屏幕宽度,单位为px | 
| getHeight | 获取设备的屏幕高度,单位为px | 
| getOrientation | 获取设备当前显示的方向 | 
| getDisplayState | 获取设备的状态 | 
| getCutoutRect | 获取取挖孔屏、刘海屏、瀑布屏等不可用屏幕区域信息。建议应用布局规避该区域 | 
| getCutoutHeight | 获取挖孔屏、刘海屏等不可用屏幕区域的高度,单位为px | 
| isFoldable | 检查设备是否可折叠 | 
| getFoldStatus | 获取可折叠设备的当前折叠状态 | 
| getFoldDisplayMode | 获取可折叠设备的显示模式 | 
| onFoldStatusChange | 开启折叠设备折叠状态变化的监听 | 
| offFoldStatusChange | 关闭折叠设备折叠状态变化的监听 | 
PermissionUtil(申请授权工具类)
| 方法 | 介绍 | 
|---|---|
| checkPermissions | 校验当前是否已经授权 | 
| checkRequestPermissions | 校验是否授权后并申请授权 | 
| requestPermissions | 申请授权 | 
| requestPermissionsEasy | 申请授权,拒绝后并二次向用户申请授权(申请权限,建议使用该方法)。 | 
| requestPermissionOnSetting | 二次向用户申请授权(单个权限 或 读写权限组,建议使用该方法)。 | 
| requestPermissionOnSettingEasy | 二次向用户申请授权(多个权限建议使用该方法)。 | 
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) | 
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 | 调用三方软件打开文件 | 
AuthUtil(手机的生物认证(指纹、人脸、密码)工具类)
| 方法 | 介绍 | 
|---|---|
| getAvailableStatus | 查询指定类型和等级的认证能力是否支持 | 
| onStartEasy | 开始认证,使用指纹和密码认证 | 
| onStart | 开始认证,用户指定类型认证 | 
| cancel | 取消认证 | 
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的大小 | 
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 | 格式化文件大小 | 
PickerUtil(拍照、文件选择和保存,工具类)
| 方法 | 介绍 | 
|---|---|
| camera | 调用系统相机,拍照、录视频 | 
| selectPhoto | 通过选择模式拉起photoPicker界面,用户可以选择一个或多个图片/视频 | 
| savePhoto | 通过保存模式拉起photoPicker进行保存图片或视频资源的文件名,若无参数,则默认需要用户自行输入 | 
| selectDocument | 通过选择模式拉起documentPicker界面,用户可以选择一个或多个文件 | 
| saveDocument | 通过保存模式拉起documentPicker界面,用户可以保存一个或多个文件 | 
| selectAudio | 通过选择模式拉起audioPicker界面,用户可以选择一个或多个音频文件 | 
| saveAudio | 通过保存模式拉起audioPicker界面,用户可以保存一个或多个音频文件 | 
PhotoHelper(相册相关,工具类)
| 方法 | 介绍 | 
|---|---|
| select | 通过选择模式拉起photoPicker界面,用户可以选择一个或多个图片/视频 | 
| save | 申请权限保存,保存图片或视频到相册。 | 
| showAssetsCreationDialog | 弹窗授权保存,调用接口拉起保存确认弹窗。 | 
| showAssetsCreationDialogEasy | 弹窗授权保存,调用接口拉起保存确认弹窗,并保存。 | 
| applyChanges | 安全控件保存,提交媒体变更请求,插入图片/视频。 | 
| getPhotoAsset | 获取对应uri的PhotoAsset对象,用于读取文件信息 | 
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 | 图片压缩,返回压缩后的图片文件路径 | 
SnapshotUtil(组件截图和窗口截图工具类)
| 方法 | 介绍 | 
|---|---|
| get   getSync  | 
获取已加载的组件的截图,传入组件的组件id,找到对应组件进行截图 | 
| createFromBuilder | 在应用后台渲染CustomBuilder自定义组件,并输出其截图 | 
| snapshot | 获取窗口截图,使用Promise异步回调 | 
| onSnapshotListener | 开启系统截屏事件的监听 | 
| removeSnapshotListener | 关闭系统截屏事件的监听 | 
PreviewUtil(文件预览工具类)
| 方法 | 介绍 | 
|---|---|
| generatePreviewInfo | 根据文件uri构建PreviewInfo | 
| openPreview | 通过传入文件预览信息,打开预览窗口。1秒内重复调用无效 | 
| openPreviewEasy | 通过传入文件的uri,打开预览窗口。1秒内重复调用无效 | 
| canPreview | 根据文件的uri判断文件是否可预览 | 
| hasDisplayed | 判断预览窗口是否已经存在 | 
| closePreview | 关闭预览窗口,仅当预览窗口存在时起效 | 
| loadData | 加载预览文件信息。仅当预览窗口存在时起效 | 
| loadDataEasy | 加载预览文件信息。仅当预览窗口存在时起效 | 
| onSharePreview | 调用其他应用预览文件 | 
| getTypeDescriptor | 根据文件后缀名获取TypeDescriptor(标准化数据类型的描述类) | 
| getMimeType | 根据文件后缀名获取文件mimeType | 
| getIconFileStr | 根据文件后缀名获取对应文件类型的图标 | 
ScanUtil(码工具类(扫码、码图生成、图片识码))
| 方法 | 介绍 | 
|---|---|
| startScanForResult | 调用默认界面扫码,使用Promise方式异步返回解码结果 | 
| generateBarcode | 码图生成,使用Promise异步返回生成的码图 | 
| onPickerScanForResult | 通过picker拉起图库并选择图片,并调用图片识码 | 
| onDetectBarCode | 调用图片识码,使用Promise方式异步返回识码结果 | 
| canIUseScan | 判断当前设备是否支持码能力 | 
LocationUtil(定位工具类(WGS-84坐标系))
| 方法 | 介绍 | 
|---|---|
| isLocationEnabled | 判断位置服务是否已经使能(定位是否开启)。 | 
| requestLocationPermissions | 申请定位权限 | 
| getCurrentLocationEasy | 获取当前位置 | 
| getCurrentLocation | 获取当前位置 | 
| onLocationChangeEasy | 开启位置变化订阅,并发起定位请求。 | 
| onLocationChange | 开启位置变化订阅,并发起定位请求 | 
| offLocationChange | 关闭位置变化订阅,并删除对应的定位请求 | 
| isGeocoderAvailable | 判断地理编码与逆地理编码服务是否可用 | 
| getAddressFromLocationName | 地理编码,将地理描述转换为具体坐标 | 
| getGeoAddressFromLocationName | 地理编码,将地理描述转换为具体坐标集合 | 
| getAddressFromLocation | 逆地理编码,将坐标转换为地理描述 | 
| getGeoAddressFromLocation | 逆地理编码,将坐标转换为地理描述集合 | 
| getCountryCode | 获取当前的国家码 | 
| calculateDistance | 计算这两个点间的直线距离,单位为米 | 
LogUtil(日志工具类)
| 方法 | 介绍 | 
|---|---|
| init | 初始化日志参数(该方法建议在Ability里调用) | 
| setDomain | 设置日志对应的领域标识,范围是0x0~0xFFFF。(该方法建议在Ability里调用) | 
| setTag | 设置日志标识(该方法建议在Ability里调用) | 
| setShowLog | 是否打印日志(该方法建议在Ability里调用) | 
| debug | 打印DEBUG级别日志 | 
| info | 打印INFO级别日志 | 
| warn | 打印WARN级别日志 | 
| error | 打印ERROR级别日志 | 
| fatal | 打印FATAL级别日志 | 
| 打印JSON对象和JSON字符串(日志过滤tag为:JSAPP) | 
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 | 
DateUtil(日期工具类)
| 方法 | 介绍 | 
|---|---|
| getFormatDate | 获取格式化日期,将传入的日期格式化为Date | 
| getFormatDateStr | 获取格式化日期,将传入的日期格式化为指定格式的字符串 | 
| getToday | 获取今天的日期 | 
| getTodayTime | 获取今天的时间戳 | 
| getTodayStr | 获取今天的时间,字符串类型 | 
| isToday | 判断日期是否是今天 | 
| getNowYear | 获取当前年 | 
| getNowMonth | 获取当前月 | 
| getNowDay | 获取当前日 | 
| isLeapYear | 判断是否是闰年 | 
| getDaysByYear | 获取指定年份的天数 | 
| getDaysByMonth | 获取指定月份的天数 | 
| isSameYear | 判断两个日期是否是同一年 | 
| isSameMonth | 判断两个日期是否是同一月 | 
| isSameWeek | 判断两个日期是否是同一周 | 
| isSameDay | 判断是否是同一天 | 
| getCalendar | 获取日历对象,并设置日历对象内部的时间日期 | 
| getCalendarField | 获取日历对象中与field相关联的值。 | 
| getCalendarAdd | 在日历的给定字段进行加减操作 | 
| isWeekend | 判断指定的日期在日历中是否为周末 | 
| compareDays | 比较指定日期相差的天数 | 
| compareDate | 比较指定日期相差的毫秒数 | 
| getAmountDay | 获取前几天日期或后几天日期 | 
| getAmountDayStr | 获取前几天日期或后几天日期,返回字符串 | 
| getBeforeDay | 获取前一天日期 | 
| getBeforeDayStr | 获取前一天日期,返回字符串 | 
| getAfterDay | 获取后一天日期 | 
| getAfterDayStr | 获取后一天日期,返回字符串 | 
| getWeekOfMonth | 获取给定日期是当月的第几周 | 
| getWeekDay | 获取给定的日期是星期几 | 
| getLastDayOfMonth | 获取给定年份和月份的最后一天是几号 | 
| getFormatTime | 格式化时间日期字符串(DateTimeFormat) | 
| getFormatRange | 格式化时间日期段字符串(DateTimeFormat) | 
| getFormatRelativeTime | 格式化相对时间 | 
| getTipDateStr | 格式化时间戳,获取提示性时间字符串 | 
StrUtil(字符串工具类)
| 方法 | 介绍 | 
|---|---|
| isNull | 判断字符串是否为空(undefined、null) | 
| isNotNull | 判断字符串是否为非空 | 
| isEmpty | 判断字符串是否为空(undefined、null、字符串长度为0) | 
| isNotEmpty | 判断字符串是否为非空 | 
| isBlank | 判断字符串是否为空和空白符(空白符包括空格、制表符、全角空格和不间断空格) | 
| isNotBlank | 判断字符串是否为非空 | 
| 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 | 
| getErrnoToString | 获取系统错误码对应的详细信息 | 
RegexUtil(正则工具类)
| 方法 | 介绍 | 
|---|---|
| isPhone | 判断传入的电话号码格式是否正确 | 
| isMatch | 给定内容是否匹配正则(配合RegexUtil里的正则常量一起使用) | 
| isEmail | 判断传入的邮箱格式是否正确 | 
| isEmoji | 判断字符串是否包含表情 | 
FormatUtil(格式化工具类)
| 方法 | 介绍 | 
|---|---|
| isPhone | 判断传入的电话号码格式是否正确 | 
| getPhoneFormat | 对电话号码进行格式化 | 
| getPhoneLocationName | 获取电话号码归属地 | 
| transliterator | 将输入字符串从源格式转换为目标格式(中文汉字转为拼音) | 
| getIconFont | 解析iconFont字符 | 
CharUtil(字符工具类)
| 方法 | 介绍 | 
|---|---|
| isDigit | 判断字符串char是否是数字 | 
| isLetter | 判断字符串char是否是字母 | 
| isLowerCase | 判断字符串char是否是小写字母 | 
| isUpperCase | 判断字符串char是否是大写字母 | 
| isSpaceChar | 判断字符串char是否是空格符 | 
| isWhitespace | 判断字符串char是否是空白符 | 
| isRTL | 判断字符串char是否是从右到左语言的字符 | 
| isIdeograph | 判断字符串char是否是表意文字 | 
| isBlankChar | 判断是否空白符 空白符包括空格、制表符、全角空格和不间断空格 | 
| isAscii | 判断字符是否位于ASCII范围内(0~127) | 
Base64Util(Base64工具类)
| 方法 | 介绍 | 
|---|---|
| decode   encodeSync  | 
解码,通过输入参数解码后输出对应Uint8Array对象 | 
| encodeToStr   encodeToStrSync  | 
编码,通过输入参数编码后输出对应文本 | 
| encode   decodeSync  | 
编码,通过输入参数编码后输出Uint8Array对象 | 
NumberUtil(number工具类)
| 方法 | 介绍 | 
|---|---|
| isNumber | 判断是否是数值 | 
| toInt | 将字符串转换为整数 | 
| toFloat | 将字符串转换为浮点数 | 
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 | 
ObjectUtil(对象工具类)
| 方法 | 介绍 | 
|---|---|
| getHash | 获取对象的Hash值 | 
| getClassName | 获取对象的Class名称 | 
| getMethodsNames | 获取对象的所有方法名 | 
| isString | 判断是否是String | 
| isNull | 判断对象是否为空 | 
| isEmpty | 判断属性内容是否为空 | 
| shallowCopy | 浅拷贝 | 
| deepCopy | 深度拷贝对象 | 
| assign | 合并两个或多个对象 | 
| objToClass | obj转class,解决obj as class后丢失方法的问题 | 
| deleteRecord | 删除Record中的元素 | 
| getValue | 通过key获取对象值 | 
JSONUtil(JSON工具类)
| 方法 | 介绍 | 
|---|---|
| jsonToBean | JSON字符串转对象 | 
| beanToJsonStr | 对象转JSON字符串 | 
| jsonToArray | JSON字符串转Array | 
| jsonToMap | JSON字符串转Map | 
| mapToJsonStr | Map转JSON字符串 | 
| isJSONStr | 判断是否是字符串格式json | 
ClickUtil(节流、防抖 工具类)
| 方法 | 介绍 | 
|---|---|
| throttle | 节流:在一定时间内,只触发一次 | 
| debounce | 防抖:一定时间内,只有最后一次操作,再过wait毫秒后才执行函数 | 
CrashUtil(全局异常捕获,崩溃日志收集)
| 方法 | 介绍 | 
|---|---|
| onError | 注册错误观测器。注册后可以捕获到应用产生的js crash,应用崩溃时进程不会退出。将异常信息写入本地文件 | 
| offError | 注销错误观测器 | 
| readErrorText | 读取错误日志文件 | 
| onExportErrorLog | 导出错误日志文件 | 
| enableAppRecovery | 启用应用恢复功能,参数按顺序填入。该接口调用后,应用从启动器启动时第一个Ability支持恢复。 | 
| restartApp | 重启APP,并拉起应用启动时第一个Ability,可以配合errorManager相关接口使用 | 
| saveAppState | 保存当前App状态 或 主动保存Ability的状态,这个状态将在下次恢复启动时使用。可以配合errorManager相关接口使用 | 
| setRestartWant | 设置下次恢复主动拉起场景下的Ability。该Ability必须为当前包下的UIAbility | 
PasteboardUtil(剪贴板工具类 )
| 方法 | 介绍 | 
|---|---|
| setDataText | 将纯文本数据写入系统剪贴板 | 
| setDataHtml | 将Htm数据写入系统剪贴板 | 
| setDataUri | 将Uri数据写入系统剪贴板 | 
| getData   getDataSync  | 
读取系统剪贴板内容 | 
| getDataStr   getDataSyncStr  | 
读取系统剪贴板里的字符串 | 
| hasData   hasDataSync  | 
判断系统剪贴板中是否有内容 | 
| clearData | 清空系统剪贴板内容 | 
KeyboardUtil(键盘工具类)
| 方法 | 介绍 | 
|---|---|
| show | 拉起键盘 | 
| hide | 隐藏键盘 | 
| onKeyboardListener | 订阅输入法软键盘显示和隐藏事件 | 
| removeKeyboardListener | 取消订阅输入法软键盘显示或隐藏事件 | 
NetworkUtil(网络相关工具类)
| 方法 | 介绍 | 
|---|---|
| hasDefaultNet | 检查默认数据网络是否被激活 | 
| hasDefaultNetSync | 检查默认数据网络是否被激活 | 
| hasNetWiFi | 判断当前网络是否是Wi-Fi,否则是移动流量热点网络 | 
| getNetBearType | 获取网络类型 | 
| getIpAddress | 获取当前设备的IP地址(设备连接Wi-Fi后) | 
| register | 订阅指定网络状态变化的通知,支持多事件监听回调 | 
| unregister | 取消订阅默认网络状态变化的通知 | 
AssetUtil(关键资产存储服务工具类)
| 方法 | 介绍 | 
|---|---|
| add   addSync  | 
新增一条关键资产 | 
| get   getSync  | 
查询关键资产 | 
| remove   removeSync  | 
删除关键资产 | 
| canIUse | 当前设备是否支持该模块 | 
TempUtil(温度转换工具类)
| 方法 | 介绍 | 
|---|---|
| F2C | 华氏度转摄氏度 | 
| C2F | 摄氏度转华氏度 | 
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格式 | 
| getSM2PubKey | 获取转换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 | 字节流转成可理解的字符串 |