最受欢迎的三方库之harmony-utils

1,811 阅读43分钟

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);
 }

📂模块介绍

模块介绍
AppUtilAPP相关工具类
DeviceUtil设备相关工具类
WindowUtil窗口相关工具类
DisplayUtil屏幕相关工具类
PermissionUtil申请授权工具类
AuthUtil手机的生物认证(指纹、人脸、密码)工具类
NetworkUtil网络相关工具类
FileUtil文件操作相关工具类
ImageUtil图片相关工具类
PreviewUtil文件预览工具类
LocationUtil定位工具类(WGS-84坐标系)
LogUtil日志工具类
CrashUtil全局异常捕获,崩溃日志收集
EmitterUtilEmitter工具类(进行线程间通信)
WantUtilWant工具类
KvUtil键值型数据库工具类
PreferencesUtilPreferences(用户首选项)工具类
CacheUtil缓存工具类
LRUCacheUtilLRUCache缓存工具类
NotificationUtil通知工具类
SnapshotUtil组件截图和窗口截图工具类。
KeyboardUtil键盘工具类
PasteboardUtil剪贴板工具类
AssetUtil关键资产存储服务工具类
ResUtil资源工具类
ObjectUtil对象工具类
JSONUtilJSON工具类
DateUtil日期工具类
Base64UtilBase64工具类
StrUtil字符串工具类
CharUtil字符工具类
NumberUtilnumber工具类
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
pixelMapToBase64StrPixelMap转图片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级别日志
print打印日志,无边框。

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合并两个或多个对象
objToClassobj转class,解决obj as class后丢失方法的问题
deleteRecord删除Record中的元素
getValue通过key获取对象值
setValue给对象obj动态添加或者修改属性

JSONUtil(JSON工具类)使用案例

方法介绍
jsonToBeanJSON字符串转对象
beanToJsonStr对象转JSON字符串
jsonToArrayJSON字符串转Array
jsonToMapJSON字符串转Map
mapToJsonStrMap转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
unit8ArrayToStrUint8Array转字符串
strToBase64字符串转Base64字符串
base64ToStrBase64字符串转字符串
strToBuffer字符串转ArrayBuffer
bufferToStrArrayBuffer转字符串
bufferToUint8ArrayArrayBuffer转Uint8Array
unit8ArrayToBufferUint8Array转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
dataBlobToStrDataBlob转字符串
strToUint8Array字符串转Uint8Array
uint8ArrayToStrUint8Array转字符串
getSymKeyDataBlob获取DataBlob类型的密钥
getKeyDataBlob获取DataBlob类型的公钥或私钥
getRandomUint8Array根据传入的大小生成随机Uint8Array
getUint8ArrayPaddingZeroUint8Array补零操作
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

gitee.com/tongyuyan/h…
github.com/787107497

鸿蒙技术交流QQ群:1029219059

🌏开源协议

本项目基于 Apache License 2.0 ,在拷贝和借鉴代码时,请大家务必注明出处。