最受欢迎的三方库之harmony-utils
2024-11-18 21:16:22
20次阅读
0个评论
harmony-utils (API12 - 5.0.3.906)
🏆简介与推荐
harmony-utils 一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具类,致力于助力开发者迅速构建鸿蒙应用。其封装的工具涵盖了APP、设备、屏幕、授权、通知、线程间通信、弹框、吐司、生物认证、用户首选项、拍照、相册、扫码、文件、日志,异常捕获、字符、字符串、数字、集合、日期、随机、base64、加密、解密、JSON等一系列的功能和操作,能够满足各种不同的开发需求。
harmony-dialog 一款极为简单易用的零侵入弹窗,仅需一行代码即可轻松实现,无论在何处都能够轻松弹出。
SpinKit 是一个适用于OpenHarmony/HarmonyOS的加载动画库。
🌞下载安装与使用说明🙏
ohpm i @pura/harmony-utils
OpenHarmony ohpm 环境配置等更多内容,请参考如何安装 OpenHarmony ohpm 包
在更新记录里,每个版本号,都有对应的最低开发工具版本,如:“1.2.2(API12 - 5.0.3.906)”;如遇到API不存在和项目报错,请升级开发工具DevEco Studio。
全局初始化方法,从1.2.0版本开始,在UIAbility的onCreate方法中初始化 AppUtil.init()
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
AppUtil.init(this.context);
}
📂模块介绍
模块 | 介绍 |
---|---|
AppUtil | APP相关工具类 |
DeviceUtil | 设备相关工具类 |
DisplayUtil | 屏幕相关工具类 |
PermissionUtil | 申请授权工具类 |
NotificationUtil | 通知工具类 |
EmitterUtil | Emitter工具类(进行线程间通信) |
WantUtil | Want工具类 |
AuthUtil | 手机的生物认证(指纹、人脸、密码)工具类 |
PreferencesUtil | Preferences(用户首选项)工具类 |
KvUtil | 键值型数据库工具类 |
CacheUtil | 缓存工具类 |
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的onWindowStageCreate方法中初始化该方法 |
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 | 拉起短信界面并指定联系人 |
AuthUtil(手机的生物认证(指纹、人脸、密码)工具类)使用案例
方法 | 介绍 |
---|---|
getAvailableStatus | 查询指定类型和等级的认证能力是否支持 |
onStartEasy | 开始认证,使用指纹和密码认证 |
onStart | 开始认证,用户指定类型认证 |
cancel | 取消认证 |
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 | 取消精确订阅数据变更 |
KvUtil(键值型数据库工具类 )使用案例
方法 | 介绍 |
---|---|
put | 添加指定类型的键值对到数据库 |
get getString getNumber getBoolean getUint8Array |
获取指定键的值 |
delete | 从数据库中删除指定键值的数据 |
putBatch | 批量插入键值对到SingleKVStore数据库中 |
deleteBatch | 批量删除SingleKVStore数据库中的键值对 |
getEntries | 获取匹配指定键前缀的所有键值对 |
backup | 以指定名称备份数据库 |
restore | 从指定的数据库文件恢复数据库 |
deleteBackup | 根据指定名称删除备份文件 |
onDataChange | 订阅指定类型的数据变更通知 |
offDataChange | 取消订阅数据变更通知 |
CacheUtil(缓存工具类 )使用案例
方法 | 介绍 |
---|---|
has | 缓存中的数据是否存在 |
put | 将数据存入缓存中 |
get | 获取缓存中的数据 |
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 | 保存图片或视频到相册 |
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 | 调用其他应用预览文件 |
getMimeType | 根据文件后缀名获取文件mimeType |
getIconFileStr | 根据文件后缀名获取对应文件类型的图标 |
getMimeTypeMap | filePreview支持的预览文件类型 |
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 | 获取当前的国家码 |
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 | 数组分块 |
RandomUtil(随机工具类)使用案例
方法 | 介绍 |
---|---|
getRandomBoolean | 生成随机Boolean值 |
getRandomInt | 生成随机整数(可指定范围) |
getRandomNumber | 生成指定范围内的随机数 |
getRandomLimit | 生成指定范围内的随机数 [0,limit) |
getRandomChineseChar | 生成一个随机汉字 |
getRandomChinese | 生成随机汉字 |
getRandomStr | 根据指定字符串,随机生成 指定长度的字符串 |
getRandomUint8Array | 生成随机指定长度的Uint8Array |
getRandomColor | 生成随机颜色,十六进制 |
generateUUID36 | 生成36位UUID,带- |
generateUUID32 | 生成32位UUID,带- |
generateRandomUUID | 使用加密安全随机数生成器生成随机的RFC 4122版本4的string类型UUID |
generateRandomBinaryUUID | 使用加密安全随机数生成器生成随机的RFC 4122版本4的Uint8Array类型UUID |
ObjectUtil(对象工具类)使用案例
方法 | 介绍 |
---|---|
getHash | 获取对象的Hash值 |
isString | 判断是否是String |
isNull | 判断对象是否为空 |
isEmpty | 判断属性内容是否为空 |
deepCopy | 深度拷贝对象 |
objToClass | obj转class,解决obj as class后丢失方法的问题。 |
JSONUtil(JSON工具类)使用案例
方法 | 介绍 |
---|---|
jsonToBean | JSON字符串转Class对象 |
jsonToArray | JSON字符串转Array |
jsonToMap | JSON转Map |
beanToJsonStr | 对象转字符串 |
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 | 字节流转成可理解的字符串 |
🍎贡献代码与技术交流
使用过程中发现任何问题都可以提 Issue给我们;
当然,我们也非常欢迎你给我们发 PR 。
https://gitee.com/tongyuyan/harmony-utils
https://github.com/787107497
鸿蒙技术交流QQ群:569512366
00
- 0回答
- 6粉丝
- 0关注
相关话题
- 最受欢迎的三方库之harmony-dialog
- 最受欢迎的三方库之SpinKit
- 【等待更新】OpenHarmony三方库与原生鸿蒙应用的融合之道(案例集)
- china_area 中国区域数据,省市县三级数据三方库
- 鸿蒙Flutter实战:05-使用第三方插件
- 贡献三方包的时候,审核失败一般都是什么原因?
- 【HarmonyOS NEXT】异步编程的神器之Promise
- 《 uni-app for Harmony 的朝闻天下的最佳实践》
- uniapp for Harmony学习路线
- uni-app for Harmony
- uni-app for Harmony实践
- Flutter库OpenHarmony平台适配进度
- HarmonyOS NEXT应用开发实战(封装比UniApp和小程序更简单好用的网络库)
- OpenHarmony5.0应用开发 (三、应用程序包结构理解及Ability的跳转,与Android的对比)
- 轻松上手-MVVM_关系型数据库_云函数T云数据库