# <center>harmony-utils (基于API11)</center> -------------------------------------------------------------------------------- ## 📚简介 [harmony-utils](https://ohpm.openharmony.cn/#/cn/detail/@pura%2Fharmony-utils) 一款高效的OpenHarmony/HarmonyOS工具包,封装了常用工具类,提供一系列简单易用的方法。帮助开发者快速构建鸿蒙应用。 ## 📚下载安装 `ohpm i @pura/harmony-utils` OpenHarmony ohpm 环境配置等更多内容,请参考[如何安装 OpenHarmony ohpm 包](https://ohpm.openharmony.cn/#/cn/help/downloadandinstall) <br><br> ## 📚模块介绍 | 模块 | 介绍 | |:---------------------|:----------------------------| | AppUtil | APP相关工具类 | | DeviceUtil | 设备相关工具类 | | DisplayUtil | 屏幕相关工具类 | | PermissionUtil | 申请授权工具类 | | AuthUtil | 手机的生物认证(指纹、人脸、密码)工具类 | | NotificationUtil | 通知工具类 | | PreferencesUtil | Preferences(用户首选项)工具类 | | FileUtil | 文件操作相关工具类 | | PickerUtil | 拍照、文件(文件、图片、视频、音频)选择和保存,工具类 | | PhotoHelper | 相册相关工具类 | | PreviewUtil | 文件预览工具类 | | NetworkUtil | 网络相关工具类 | | LocationUtil | 定位工具类(WGS-84坐标系) | | PasteboardUtil | 剪贴板工具类 | | SnapshotUtil | 组件截图和窗口截图工具类 | | ScanUtil | 码工具类(扫码、码图生成、图片识码) | | ImageUtil | 图片相关工具类 | | KeyboardUtil | 键盘工具类 | | LogUtil | 日志工具类 | | CrashUtil | 全局异常捕获,崩溃日志收集 | | StrUtil | 字符串工具类 | | Base64Util | Base64工具类 | | NumberUtil | number工具类 | | DateUtil | 日期工具类 | | ArrayUtil | 数组工具类 | | RandomUtil | 随机工具类 | | ObjectUtil | 对象工具类 | | JSONUtil | JSON工具类 | | CacheUtil | 缓存工具类 | | ClickUtil | 节流、防抖 工具类(用于点击事件,防止按钮被重复点击) | | TempUtil | 温度转换工具类,华氏度与摄氏度相互转换 | | WindowUtil | 窗口工具类 | | ActionUtil | 弹窗工具类(promptAction) | | DialogUtil | 弹窗工具类(AlertDialog) | | ToastUtil | 土司工具类(promptAction) | | AlertControlDialog | 操作确认类弹出框 | | ConfirmControlDialog | 信息确认类弹出框 | | LoadingControlDialog | 进度加载类弹出框 | | SelectControlDialog | 选择类弹出框 | | TipControlDialog | 提示弹出框 | <br></br> ## 📚API详解 ``` 全局初始化方法,在UIAbility的onWindowStageCreate方法中初始化 AppUtil.init() onWindowStageCreate(windowStage: window.WindowStage): void { AppUtil.init(this.context, windowStage); } ``` ### AppUtil(APP相关工具类) [点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/AppUtilPage.ets) | 方法 | 介绍 | |:-----------------------------|:------------------------------------------------------------------| | init | 初始化方法,缓存全局变量,在UIAbility的onWindowStageCreate方法中初始化该方法 | | getContext | 获取上下文,common.UIAbilityContext | | getMainWindow | 获取主窗口 | | getUIContext | 获取UIContext | | getWindowProperties | 获取当前窗口的属性 | | getKeyboardAvoidMode | 获取虚拟键盘抬起时的页面避让模式(OFFSET-上抬模式、RESIZE-压缩模式) | | setKeyboardAvoidMode | 设置虚拟键盘弹出时,页面的避让模式 | | isPortrait | 当前设备是否以竖屏方式显示 | | isLandscape | 当前设备是否以横屏方式显示 | | setPreferredOrientation | 设置窗口的显示方向属性 | | setWindowBrightness | 设置屏幕亮度值 | | setWindowKeepScreenOn | 设置屏幕是否为常亮状态 | | setWindowPrivacyMode | 设置窗口是否为隐私模式。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏 | | setWindowBackgroundColor | 设置窗口的背景色。Stage模型下,该接口需要在loadContent()或setUIContent()调用生效后使用 | | setWindowFocusable | 设置点击时是否支持切换焦点窗口 | | setWindowTouchable | 设置窗口是否为可触状态 | | getStatusBarHeight | 获取状态栏的高度,单位为px | | getNavigationIndicatorHeight | 获取底部导航条的高度,单位为px。 | | setStatusBar | 设置沉浸式状态栏(需要配合getStatusBarHeight和getNavigationIndicatorHeight一起使用) | | getBundleInfo | 获取当前应用的BundleInfo | | getAppInfo | 获取应用程序的配置信息 | | toAppSetting | 跳转应用设置页面 | | toNetworkSetting | 跳转移动网络设置页面 | | toNotificationSetting | 跳转通知设置页面 | | toBluetoothSetting | 跳转蓝牙设置页面 | | toNfcSetting | 跳转NFC设置页面 | ### DeviceUtil(设备相关工具类) [点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/DeviceUtilPage.ets) | 方法 | 介绍 | |:------------------------|:------------------------------------| | getDeviceId | 获取设备ID(卸载APP后依旧不变) | | deleteDeviceId | 移除设备ID | | getConfiguration | 获取设备的Configuration | | getConfigurationSync | 获取设备的Configuration | | getDirection | 获取当前设备屏幕方向 | | getDeviceCapability | 获取设备的DeviceCapability | | getDeviceCapabilitySync | 获取设备的DeviceCapability | | getDeviceType | 获取当前设备类型 | | getDeviceTypeStr | 获取当前设备类型,返回字符串 | | getScreenDensity | 获取当前设备屏幕密度 | | startVibration | 开启设备振动 | | stopVibration | 停止设备振动(按照VIBRATOR_STOP_MODE_TIME模式) | ### DisplayUtil(屏幕相关工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/DisplayUtilPage.ets) | 方法 | 介绍 | |:----------------------|:-------------------------------------| | getDefaultDisplaySync | 获取当前默认的display对象 | | getWidth | 获取设备的屏幕宽度,单位为px | | getHeight | 获取设备的屏幕高度,单位为px | | getOrientation | 获取设备当前显示的方向 | | getDisplayState | 获取设备的状态 | | getCutoutRect | 获取取挖孔屏、刘海屏、瀑布屏等不可用屏幕区域信息。建议应用布局规避该区域 | | getCutoutHeight | 获取挖孔屏、刘海屏等不可用屏幕区域的高度,单位为px | | isFoldable | 检查设备是否可折叠 | | getFoldStatus | 获取可折叠设备的当前折叠状态 | | getFoldDisplayMode | 获取可折叠设备的显示模式 | | onFoldStatusChange | 开启折叠设备折叠状态变化的监听 | | offFoldStatusChange | 关闭折叠设备折叠状态变化的监听 | ### PermissionUtil(申请授权工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/PermissionUtilPage.ets) | 方法 | 介绍 | |:------------------------|:-------------| | checkPermissions | 校验当前是否已经授权 | | checkRequestPermissions | 校验是否授权后并申请授权 | | requestPermissions | 申请授权 | | requestPermissionsList | 申请组合授权 | ### AuthUtil(手机的生物认证(指纹、人脸、密码)工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/AuthUtilPage.ets) | 方法 | 介绍 | |:-------------------|:-------------------| | getAvailableStatus | 查询指定类型和等级的认证能力是否支持 | | onStartEasy | 开始认证,使用指纹和密码认证 | | onStart | 开始认证,用户指定类型认证 | | cancel | 取消认证 | ### NotificationUtil(通知工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/NotificationUtilPage.ets) | 方法 | 介绍 | |:------------------------------|:-----------------| | authorizeNotification | 校验是否已授权通知服务 | | publishBasic | 发布普通文本通知 | | publishMultiLine | 发布多文本通知 | | publishLongText | 发布长文本通知 | | publishPicture | 发布带有图片的通知 | | cancel | 取消通知 | | cancelAll | 取消所有通知 | | setBadge | 设置桌面角标个数 | | clearBadge | 清空桌面角标 | | setBadgeFromNotificationCount | 设置桌面角标数量,来自于通知数量 | | getActiveNotificationCount | 获取当前应用未删除的通知数量 | | getActiveNotifications | 获取当前应用未删除的通知列表 | ### PreferencesUtil(Preferences工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/PreferencesUtilPage.ets) | 方法 | 介绍 | |:-----------|:-----------------------| | put | 将数据缓存 | | get | 获取缓存值 | | getString | 获取string类型的缓存值 | | getNumber | 获取number类型的缓存值 | | getBoolean | 获取boolean类型的缓存值 | | has | 检查缓存实例中是否包含给定Key的存储键值对 | | delete | 删除缓存值 | | clear | 清空缓存 | ### FileUtil(文件操作相关工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/FileUtilPage.ets) | 方法 | 介绍 | |:-------------------------|:---------------------------------------| | getFilesDirPath | 获取文件目录下的文件夹路径或文件路径 | | getCacheDirPath | 获取缓存目录下的文件夹路径或文件路径 | | getTempDirPath | 获取临时目录下的文件夹路径或文件路径 | | hasDirPath | 判断是否是完整路径 | | getFileUri | 通过URI或路径,获取FileUri | | getFileName | 通过URI或路径,获取文件名 | | getFilePath | 通过URI或路径,获取文件路径 | | getParentUri | 通过URI或路径,获取对应文件父目录的URI | | getParentPath | 通过URI或路径,获取对应文件父目录的路径名 | | getUriFromPath | 以同步方法获取文件URI | | getFileExtention | 根据文件名获取文件后缀 | | isFile | 判断文件是否是普通文件 | | isDirectory | 判断文件是否是目录 | | rename | 重命名文件或文件夹,使用Promise异步回调 | | renameSync | 重命名文件或文件夹,以同步方法 | | mkdir | 创建目录,当recursion指定为true,可多层级创建目录 | | mkdirSync | 创建目录以同步方法,当recursion指定为true,可多层级创建目录 | | rmdir | 删除整个目录,使用Promise异步回调 | | rmdirSync | 删除整个目录,以同步方法 | | unlink | 删除单个文件,使用Promise异步回调 | | unlinkSync | 删除单个文件,以同步方法 | | access | 检查文件是否存在,使用Promise异步回调 | | accessSync | 检查文件是否存在,以同步方法 | | open | 打开文件,支持使用URI打开文件 | | 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 | 格式化文件大小 | | getRawFileContentSync | 获取resources/rawfile目录下对应的rawfile文件内容 | | getRawFileContent | 获取resources/rawfile目录下对应的rawfile文件内容 | | getRawFileContentStrSync | 获取resources/rawfile目录下对应的rawfile文件内容 | | getRawFileContentStr | 获取resources/rawfile目录下对应的rawfile文件内容 | ### PickerUtil(拍照、文件选择和保存,工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/PickerUtilPage.ets) | 方法 | 介绍 | |:---------------|:----------------------------------------------------| | camera | 调用系统相机,拍照、录视频 | | selectPhoto | 通过选择模式拉起photoPicker界面,用户可以选择一个或多个图片/视频 | | savePhoto | 通过保存模式拉起photoPicker进行保存图片或视频资源的文件名,若无参数,则默认需要用户自行输入 | | selectDocument | 通过选择模式拉起documentPicker界面,用户可以选择一个或多个文件 | | saveDocument | 通过保存模式拉起documentPicker界面,用户可以保存一个或多个文件 | | selectAudio | 通过选择模式拉起audioPicker界面,用户可以选择一个或多个音频文件 | | saveAudio | 通过保存模式拉起audioPicker界面,用户可以保存一个或多个音频文件 | ### PhotoHelper(相册相关,工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/PhotoHelperPage.ets) | 方法 | 介绍 | |:--------------|:---------------------------------------| | select | 通过选择模式拉起photoPicker界面,用户可以选择一个或多个图片/视频 | | save | 保存图片或视频到相册 | | getPhotoAsset | 获取对应uri的PhotoAsset对象,用于读取文件信息 | ### PreviewUtil(文件预览工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/PreviewUtilPage.ets) | 方法 | 介绍 | |:--------------------|:-------------------------------------| | generatePreviewInfo | 根据文件uri构建PreviewInfo | | openPreview | 通过传入文件预览信息,打开预览窗口。1秒内重复调用无效 | | openPreviewEasy | 通过传入文件的uri,打开预览窗口。1秒内重复调用无效 | | canPreview | 根据文件的uri判断文件是否可预览 | | hasDisplayed | 判断预览窗口是否已经存在 | | closePreview | 关闭预览窗口,仅当预览窗口存在时起效 | | loadData | 加载预览文件信息。仅当预览窗口存在时起效 | | loadDataEasy | 加载预览文件信息。仅当预览窗口存在时起效 | | onSharePreview | 调用其他应用预览文件 | | getMimeType | 根据文件后缀名获取文件mimeType | | getIconFileStr | 根据文件后缀名获取对应文件类型的图标 | | getMimeTypeMap | filePreview支持的预览文件类型 | ### NetworkUtil(网络相关工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/NetworkUtilPage.ets) | 方法 | 介绍 | |:------------------|:---------------------------| | hasDefaultNet | 检查默认数据网络是否被激活 | | hasDefaultNetSync | 检查默认数据网络是否被激活 | | hasNetWiFi | 判断当前网络是否是Wi-Fi,否则是移动流量热点网络 | | getNetBearType | 获取网络类型 | | getIpAddress | 获取当前设备的IP地址(设备连接Wi-Fi后) | | register | 订阅指定网络状态变化的通知,支持多事件监听回调 | | unregister | 取消订阅默认网络状态变化的通知 | ### LocationUtil(定位工具类(WGS-84坐标系))[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/LocationUtilPage.ets) | 方法 | 介绍 | |:------------------------------|:----------------------| | isLocationEnabled | 判断位置服务是否已经使能(定位是否开启)。 | | requestLocationPermissions | 申请定位权限 | | getCurrentLocationEasy | 获取当前位置 | | getCurrentLocation | 获取当前位置 | | onLocationChangeEasy | 开启位置变化订阅,并发起定位请求。 | | onLocationChange | 开启位置变化订阅,并发起定位请求 | | offLocationChange | 关闭位置变化订阅,并删除对应的定位请求。 | | getAddressFromLocationName | 地理逆编码,将地理描述转换为具体坐标 | | getGeoAddressFromLocationName | 地理逆编码,将地理描述转换为具体坐标 | | getAddressFromLocation | 地理逆编码,将坐标转换为地理描述 | | getGeoAddressFromLocation | 地理逆编码,将坐标转换为地理描述集合 | | getCountryCode | 获取当前的国家码 | ### PasteboardUtil(剪贴板工具类 )[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/PasteboardUtilPage.ets) | 方法 | 介绍 | |:---------------|:--------------| | setDataText | 将纯文本数据写入系统剪贴板 | | setDataHtml | 将Htm数据写入系统剪贴板 | | setDataUri | 将Uri数据写入系统剪贴板 | | getData | 读取系统剪贴板内容 | | getDataSync | 读取系统剪贴板内容 | | getDataStr | 读取系统剪贴板里的字符串 | | getDataSyncStr | 读取系统剪贴板里的字符串 | | clearData | 清空系统剪贴板内容 | | hasData | 判断系统剪贴板中是否有内容 | | hasDataSync | 判断系统剪贴板中是否有内容 | ### SnapshotUtil(组件截图和窗口截图工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/SnapshotUtilPage.ets) | 方法 | 介绍 | |:------------------|:-----------------------------------------------| | get | 获取已加载的组件的截图,传入组件的组件id,找到对应组件进行截图。通过Promise返回结果 | | createFromBuilder | 在应用后台渲染CustomBuilder自定义组件,并输出其截图 | | snapshot | 获取窗口截图,使用Promise异步回调 | ### ScanUtil(码工具类(扫码、码图生成、图片识码))[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/ScanUtilPage.ets) | 方法 | 介绍 | |:----------------------|:-----------------------------| | startScanForResult | 调用默认界面扫码,使用Promise方式异步返回解码结果 | | generateBarcode | 码图生成,使用Promise异步返回生成的码图 | | onPickerScanForResult | 通过picker拉起图库并选择图片,并调用图片识码 | | onDetectBarCode | 调用图片识码,使用Promise方式异步返回识码结果 | | canIUseScan | 判断当前设备是否支持码能力 | ### ImageUtil(图片相关工具类 )[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/ImageUtilPage.ets) | 方法 | 介绍 | |:--------------------------|:----------------------------------| | base64ToPixelMap | 图片base64字符串转PixelMap | | pixelMapToBase64Str | PixelMap转图片base64字符串 | | savePixelMap | 保存pixelMap到本地 | | saveImageSource | 保存ImageSource到本地 | | createImageSource | 创建图片源实例 | | createIncrementalSource | 以增量的方式创建图片源实例 | | packingFromPixelMap | 图片压缩或重新打包,使用Promise形式返回结果 | | packingFromImageSource | 图片压缩或重新打包,使用Promise形式返回结果 | | packToFileFromPixelMap | 将PixelMap图片源编码后直接打包进文件 | | packToFileFromImageSource | 将ImageSource图片源编码后直接打包进文件 | | getPixelMapFromMedia | 用户获取resource目录下的media中的图片PixelMap | ### KeyboardUtil(键盘工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/KeyboardUtilPage.ets) | 方法 | 介绍 | |:-----------------------|:------------------| | hide | 隐藏键盘 | | onKeyboardListener | 订阅输入法软键盘显示和隐藏事件 | | removeKeyboardListener | 取消订阅输入法软键盘显示或隐藏事件 | | onInputTextChanged | 订阅文本内容变化 | | removeInputTextChanged | 取消订阅文本内容变化 | ### LogUtil(日志工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/LogUtilPage.ets) | 方法 | 介绍 | |:-----------|:---------------------------------------------| | init | 初始化日志参数(该方法建议在Ability里调用) | | setDomain | 设置日志对应的领域标识,范围是0x0~0xFFFF。(该方法建议在Ability里调用) | | setTag | 设置日志标识(该方法建议在Ability里调用) | | setShowLog | 是否打印日志(该方法建议在Ability里调用) | | debug | 打印DEBUG级别日志 | | info | 打印INFO级别日志 | | warn | 打印WARN级别日志 | | error | 打印ERROR级别日志 | | fatal | 打印FATAL级别日志 | | print | 打印JSON对象和JSON字符串(日志过滤tag为:JSAPP) | ### CrashUtil(全局异常捕获,崩溃日志收集)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/CrashUtilPage.ets) | 方法 | 介绍 | |:------------------|:------------------------------------------------------------------| | onError | 注册错误观测器。注册后可以捕获到应用产生的js crash,应用崩溃时进程不会退出。将异常信息写入本地文件 | | offError | 注销错误观测器 | | readErrorText | 读取错误日志文件 | | onExportErrorLog | 导出错误日志文件 | | enableAppRecovery | 启用应用恢复功能,参数按顺序填入。该接口调用后,应用从启动器启动时第一个Ability支持恢复。 | | restartApp | 重启APP,并拉起应用启动时第一个Ability,可以配合errorManager相关接口使用 | | saveAppState | 保存当前App状态 或 主动保存Ability的状态,这个状态将在下次恢复启动时使用。可以配合errorManager相关接口使用 | | setRestartWant | 设置下次恢复主动拉起场景下的Ability。该Ability必须为当前包下的UIAbility | ### StrUtil(字符串工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/StrUtilPage.ets) | 方法 | 介绍 | |:-------------------|:--------------------------------------| | isNull | 字符串是否为空(undefined、null) | | isNotNull | 判断字符串是否为非空 | | isEmpty | 字符串是否为空(undefined、null、字符串长度为0) | | isNotEmpty | 判断字符串是否为非空 | | isBlank | 判断字符串是否为空和空白符(空白符包括空格、制表符、全角空格和不间断空格) | | isNotBlank | 判断字符串是否为非空 | | replace | 替换字符串中匹配的正则为给定的字符串 | | 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 | ### Base64Util(Base64工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/Base64UtilPage.ets) | 方法 | 介绍 | |:----------------|:-----------------------------| | encodeSync | 编码,通过输入参数编码后输出Uint8Array对象 | | encodeToStrSync | 编码,通过输入参数编码后输出对应文本 | | decodeSync | 解码,通过输入参数解码后输出对应Uint8Array对象 | | encode | 编码,通过输入参数编码后输出Uint8Array对象 | | encodeToStr | 编码,通过输入参数编码后输出对应文本 | | decode | 解码,通过输入参数解码后输出对应Uint8Array对象 | ### NumberUtil(number工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/NumberUtilPage.ets) | 方法 | 介绍 | |:---------|:-----------| | isNumber | 判断是否是数值 | | toInt | 将字符串转换为整数 | | toFloat | 将字符串转换为浮点数 | ### DateUtil(日期工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/DateUtilPage.ets) | 方法 | 介绍 | |:-----------------|:---------------------------| | getToday | 获取今天的日期 | | getTodayTime | 获取今天的时间戳 | | getTodayStr | 获取今天的时间,字符串类型 | | getFormatDate | 获取格式化日期,将传入的日期格式化为Date | | getFormatDateStr | 获取格式化日期,将传入的日期格式化为指定格式的字符串 | | getTipDateStr | 格式化时间戳,获取提示性时间字符串 | | getDateDiff | 获取两个Date的日期差单位为天 | ### ArrayUtil(数组工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/ArrayUtilPage.ets) | 方法 | 介绍 | |:------------|:-----------------------------------| | isNotEmpty | 集合是否为非空集合 | | isEmpty | 集合是否为空集合 | | removeEmpty | 去除集合中的空值 | | trim | 去除传入集合的每个值的前后空格 | | distinct | 数组去重,去重后生成新的数组,原数组不变 | | reverse | 反转数组,会修改原始数组 | | filter | 通过传入的filter实现来过滤返回需要的元素 | | append | 将新元素添加到已有数组中 添加新元素会生成一个新的数组,不影响原数组 | | setOrAppend | 将元素值设置为数组的某个位置,当给定的index大于数组长度,则追加 | | min | 获取数组(数值、字符串、日期)最小值 | | max | 获取数组(数值、字符串、日期)最大值 | | flatten | 平铺二维数组 | | union | 平铺二维数组,并去重 | ### RandomUtil(随机工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/RandomUtilPage.ets) | 方法 | 介绍 | |:-------------------------|:----------------------------------------------| | randomInt | 生成随机数number值 | | randomLimit | 生成指定范围内的随机数 [0,limit) | | randomNumber | 生成指定范围内的随机数 | | randomBoolean | 生成随机Boolean值 | | randomStr | 根据指定字符串,随机生成指定长度的字符串 | | randomChinese | 生成随机汉字 | | randomColor | 生成随机颜色,十六进制 | | generateUUID36 | 生成36位UUID,带- | | generateUUID32 | 生成32位UUID,带- | | generateRandomUUID | 使用加密安全随机数生成器生成随机的RFC 4122版本4的string类型UUID | | generateRandomBinaryUUID | 使用加密安全随机数生成器生成随机的RFC 4122版本4的Uint8Array类型UUID | ### ObjectUtil(对象工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/ObjectUtilPage.ets) | 方法 | 介绍 | |----------|:------------| | isString | 判断是否是String | | isNull | 判断对象是否为空 | | deepCopy | 深度拷贝对象 | ### JSONUtil(JSON工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/JSONUtilPage.ets) | 方法 | 介绍 | |:--------------|:----------------| | jsonToBean | JSON字符串转Class对象 | | jsonToArray | JSON字符串转Array | | jsonToMap | JSON转Map | | beanToJsonStr | 对象转字符串 | | isJSONStr | 判断是否是字符串格式json | ### CacheUtil(缓存工具类 )[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/CacheUtilPage.ets) | 方法 | 介绍 | |:-----|:----| | save | 存值 | | get | 取值 | ### ClickUtil(节流、防抖 工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/ClickUtilPage.ets) | 方法 | 介绍 | |:---------|:---------------------------------| | throttle | 节流:在一定时间内,只触发一次 | | debounce | 防抖:一定时间内,只有最后一次操作,再过wait毫秒后才执行函数 | ### TempUtil(温度转换工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/TempUtilPage.ets) | 方法 | 介绍 | |:----|:--------| | F2C | 华氏度转摄氏度 | | C2F | 摄氏度转华氏度 | ### ActionUtil(弹窗工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/ActionUtilPage.ets) | 方法 | 介绍 | |:-------------------|:-------------| | showConfirmDialog | 显示弹窗(一个按钮) | | showPrimaryDialog | 显示弹窗(两个按钮) | | showDialog | 显示弹窗(多个按钮) | | showActionMenuEasy | 显示操作菜单(简单易用) | | showActionMenu | 显示操作菜单 | ### DialogUtil(弹窗工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/DialogUtilPage.ets) | 方法 | 介绍 | |:--------------------|:-----------------| | showConfirmDialog | 显示弹窗(一个按钮) | | showPrimaryDialog | 显示弹窗(两个按钮) | | showDialog | 显示弹窗(可多个按钮) | | showDialogEasy | 显示弹窗(可多个按钮,简单易用) | | showActionSheet | 列表选择弹窗 | | showActionSheetEasy | 列表选择弹窗(简单易用) | | showCalendarPicker | 日历选择器弹窗 | | showDatePicker | 日期滑动选择器弹窗 | | showTimePicker | 时间滑动选择器弹窗 | | showTextPicker | 文本滑动选择器弹窗 | ### ToastUtil(土司工具类)[点我见使用详细](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/ToastUtilPage.ets) | 方法 | 介绍 | |:----------|:-----------------| | showToast | 弹出土司,默认时长为2s | | showShort | 弹出短土司,默认时长为:1.5s | | showLong | 弹出长土司,默认时长为:10s | ## 📚仓库地址 [https://gitee.com/tongyuyan/harmony-utils](https://gitee.com/tongyuyan/harmony-utils) [https://github.com/787107497](https://github.com/787107497) ## 💖后续计划 1、持续优化和添加更多的实用方法与功能(语音、文字识别)。 2、添加新的模块(悬浮窗、JSBridge)。 ## 💖技术交流 ![QQ群:569512366](harmony_utils/Picture/group_qrcode.jpg) ## 🙏贡献代码 使用过程中发现任何问题都可以提 [Issue](https://gitee.com/tongyuyan/harmony-utils/issues) 给我们,当然,我们也非常欢迎你给我们发 [PR](https://gitee.com/tongyuyan/harmony-utils/pulls) ## 📚开源协议 本项目基于 [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0.html) ,请自由地享受和参与开源。