harmony-utils — это эффективный набор инструментов для OpenHarmony/HarmonyOS, который содержит часто используемые утилиты и предоставляет ряд простых и удобных методов. Этот пакет помогает разработчикам быстро создавать приложения на платформе HarmonyOS.
ohpm i @pura/harmony-utils
Дополнительная информация по настройке OpenHarmony ohpm, установке и другим вопросам доступна по ссылке Как установить пакет OpenHarmony ohpm
## 📚 Описание модулей| Модуль | Описание |
|:------------------------|:----------------------------------|
| AppUtil | Класс утилит, связанных с приложением |
| DeviceUtil | Класс утилит, связанных с устройством |
| DisplayUtil | Класс утилит, связанных с экраном |
| PermissionUtil | Класс утилит, связанных с запросом разрешений |
| AuthUtil | Класс утилит, связанных с биометрической аутентификацией (отпечатки пальцев, лицо, пароль) |
| NotificationUtil | Класс утилит, связанных с уведомлениями |
| PreferencesUtil | Класс утилит, связанных с Preferences (пользовательскими предпочтениями) |
| FileUtil | Класс утилит, связанных с операциями с файлами |
| PickerUtil | Класс утилит, связанных с выбором фотографий, файлов (файлы, изображения, видео, аудио) и сохранением |
| PreviewUtil | Класс утилит, связанных с предварительным просмотром файлов |
| NetworkUtil | Класс утилит, связанных с сетью |
| LocationUtil | Класс утилит, связанных с определением местоположения (координаты WGS-84) |
| PasteboardUtil | Класс утилит, связанных с буфером обмена |
| SnapshotUtil | Класс утилит, связанных со скриншотами компонентов и окон |
| ScanUtil | Класс утилит, связанных со сканированием кодов (сканирование кодов, генерация кодов, распознавание кодов из изображений) |
| ImageUtil | Класс утилит, связанных с изображениями |
| KeyboardUtil | Класс утилит, связанных с клавиатурой || LogUtil | Класс утилит, связанных с логами |
| CrashUtil | Класс утилит, связанных с глобальным указателем и сбором логов аварийного завершения |
| StrUtil | Класс утилит, связанных со строками |
| Base64Util | Класс утилит, связанных с Base64 |
| NumberUtil | Класс утилит, связанных с числами |
| DateUtil | Класс утилит, связанных с датами |
| ArrayUtil | Класс утилит, связанных с массивами |
| RandomUtil | Класс утилит, связанных со случайными значениями |
| ObjectUtil | Класс утилит, связанных с объектами |
| JSONUtil | Класс утилит, связанных с JSON |
| CacheUtil | Класс утилит, связанных с кэшированием |
| ClickUtil | Класс утилит, связанных с ограничением частоты нажатий (для событий нажатия, чтобы предотвратить повторное нажатие кнопки) |
| TempUtil | Класс утилит, связанных с конвертацией температуры (Фаренгейт и Цельсий) |
| WindowUtil | Класс утилит, связанных с окнами |
| ActionUtil | Класс утилит, связанных с диалоговыми окнами (promptAction) |
| DialogUtil | Диалоговый утилитный класс (AlertDialog) |
| ToastUtil | Утилита для отображения уведомлений (promptAction) |
| AlertControlDialog | Диалоговое окно для подтверждения действий |
| ConfirmControlDialog | Диалоговое окно для подтверждения информации |
| LoadingControlDialog | Диалоговое окно для отображения прогресса загрузки | | SelectControlDialog | Диалоговое окно для выбора |
| TipControlDialog | Диалоговое окно для отображения подсказок |
## 📚 Детальное описание API
Глобальный метод инициализации, инициализируется в методе onWindowStageCreate класса UIAbility.
onWindowStageCreate(windowStage: window.WindowStage): void {
AppUtil.init(this.context, windowStage);
}
```### AppUtil (класс инструментов для работы с приложением) [нажмите для просмотра подробностей](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/AppUtilPage.ets)| Метод | Описание |
|:--------------------------------|:------------------------------------------------------------------|
| init | Метод инициализации, кэширует глобальные переменные, инициализируется в методе onWindowStageCreate UIAbility. |
| getContext | Получение контекста, common. UIAbilityContext |
| getMainWindow | Получение главного окна |
| getUIContext | Получение UIContext |
| getWindowProperties | Получение свойств текущего окна |
| getKeyboardAvoidMode | Получение режима избегания страниц при появлении виртуальной клавиатуры (OFFSET-поднятие, RESIZE-сжатие) |
| setKeyboardAvoidMode | Установка режима избегания страниц при появлении виртуальной клавиатуры |
| isPortrait | Отображается ли устройство в портретном режиме |
| isLandscape | Отображается ли устройство в ландшафтном режиме |
| setPreferredOrientation | Установка предпочтительного режима отображения окна |
| setWindowBrightness | Установка яркости экрана || setWindowKeepScreenOn | Установка режима постоянного освещения экрана |
| setWindowPrivacyMode | Установка режима приватности окна. В приватном режиме содержимое окна не может быть скриншотировано или записано на видео |
| setWindowBackgroundColor | Установка фона окна. В модели Stage этот интерфейс должен использоваться после вызова loadContent() или setUIContent() |
| setWindowFocusable | Установка поддержки переключения фокуса при нажатии |
| setWindowTouchable | Установка поддержки касания окна |
| getStatusBarHeight | Получение высоты статусной строки, измеряемой в пикселях |
| getNavigationIndicatorHeight | Получает высоту нижней навигационной полосы, измеряемую в пикселях. |
| setStatusBar | Устанавливает погруженный статус-бар (требуется использование getStatusBarHeight и getNavigationIndicatorHeight вместе). |
| getBundleInfo | Получает информацию о BundleInfo текущего приложения. |
| getAppInfo | Получает конфигурационные данные приложения. |
| toAppSetting | Перенаправляет на страницу настроек приложения. |
| toNetworkSetting | Перенаправляет на страницу настроек мобильной сети. | | toNotificationSetting | Перенаправляет на страницу настроек уведомлений. |
| toBluetoothSetting | Перенаправляет на страницу настроек Bluetooth. |
| toNfcSetting | Перенаправляет на страницу настроек NFC. |
|### DeviceUtil (утилиты для работы с устройством) [нажмите для просмотра подробной информации](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/DeviceUtilPage.ets) || Метод | Описание |
|:------------------------|:------------------------------------|
| getDeviceId | Получить идентификатор устройства (остается неизменным после удаления приложения) |
| getConfiguration | Получить конфигурацию устройства |
| getConfigurationSync | Получить конфигурацию устройства |
| getDirection | Получить текущее направление экрана устройства |
| getDeviceCapability | Получить возможности устройства |
| getDeviceCapabilitySync | Получить возможности устройства |
| 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 | Получает строковое значение из предпочтений |
| getNumber | Получает числовое значение из предпочтений |
| getBoolean | Получает булевое значение из предпочтений |
| has | Проверяет наличие ключа-значения в предпочтениях |
| delete | Удаляет значение из предпочтений |
| clear | Очищает предпочтения |### FileUtil (инструменты для работы с файлами) [нажмите для просмотра подробностей](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/FileUtilPage.ets)| Метод | Описание |
|:-------------------------|:---------------------------------------|
| getFilesDirPath | Получает путь к папке или файлу в директории файлов |
| getCacheDirPath | Получает путь к папке или файлу в директории кеша |
| getTempDirPath | Получает путь к папке или файлу в директории временных файлов |
| hasDirPath | Проверяет, является ли путь полным |
| getFileUri | Получает FileUri по URI или пути |
| getFileName | Получает имя файла по URI или пути |
| getFilePath | Получает путь к файлу по URI или пути |
| getParentUri | Получает URI родительской директории по URI или пути |
| getParentPath | Получает имя родительской директории по URI или пути |
| getUriFromPath | Получает URI файла синхронным методом |
| getFileExtension | Получает расширение файла по имени файла |
| 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 | Получить содержимое файла rawfile из директории resources/rawfile синхронным методом | | getRawFileContent | Получить содержимое файла rawfile из директории resources/rawfile |
| getRawFileContentStrSync | Получить содержимое файла rawfile из директории resources/rawfile синхронным методом |
| getRawFileContentStr | Получить содержимое файла rawfile из директории resources/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 для сохранения одного или нескольких аудиофайлов |
| getPhotoAsset | Получение объекта PhotoAsset по соответствующему URI для чтения информации о файле |### PreviewUtil (Утилита для предварительного просмотра файлов) [Клик для просмотра подробной информации](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/PreviewUtilPage.ets)| Метод | Описание |
|:----------------------|:-----------------------------------------|
| generatePreviewInfo | Создает PreviewInfo на основе URI файла |
| openPreview | Открывает окно предварительного просмотра, используя переданную информацию о файле. Повторное использование в течение OnClickListener не допускается |
| 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 | Записывает HTML-контент в системный буфер обмена |
| 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 (компонент для работы с штрих-кодами и QR-кодами) [нажмите для просмотра подробностей](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 | Сжатие или перепаковка изображения из PixelMap, возврат результата в виде Promise |
| packingFromImageSource | Сжатие или перепаковка изображения из ImageSource, возврат результата в виде Promise |
| packToFileFromPixelMap | Упаковка PixelMap изображения в файл после кодирования |
| packToFileFromImageSource | Упаковка ImageSource изображения в файл после кодирования |
| getPixelMapFromMedia | Получение 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 строки (фильтр тега лога: JSAPP) |### CrashUtil (Глобальное перехватывание ошибок, сбор ошибок краша) [нажмите для подробного описания использования](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/CrashUtilPage.ets)| Метод | Описание |
|:------------------|:------------------------------------------------------------------|
| onError | Регистрация наблюдателя ошибок. После регистрации можно перехватывать JavaScript краши, возникающие в приложении. При краше процесс не завершается. Записывает информацию об ошибке в локальный файл. |
| offError | Отмена регистрации наблюдателя ошибок. |
| readErrorText | Чтение файла с ошибками. |
| onExportErrorLog | Экспорт файла с ошибками. |
| enableAppRecovery | Включение функции восстановления приложения. Параметры заполняются в указанном порядке. После вызова этого интерфейса, приложение при запуске из запускателя поддерживает восстановление первого Ability. |
| restartApp | Перезапуск приложения и запуск первого Ability при запуске приложения. Можно использовать вместе с соответствующими интерфейсами errorManager. |
| saveAppState | Сохранение текущего состояния приложения или активное сохранение состояния 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 (инструменты для работы с числами) [нажмите для просмотра подробностей](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 | Получает текущее время в формате timestamp |
| getTodayStr | Получает текущее время в виде строки |
| getFormatDate | Получает отформатированную дату, преобразуя входные данные в объект Date |
| getFormatDateStr | Получает отформатированную дату в виде строки в указанном формате |
| getTipDateStr | Преобразует timestamp в строку с подсказкой |
| 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 | Фильтрация элементов массива с помощью переданного фильтра |
| append | Добавление нового элемента в существующий массив, создание нового массива с добавленным элементом |
| setOrAppend | Установка значения элемента в массиве по указанному индексу, если индекс больше длины массива, то добавление элемента |
| 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 | Генерирует случайный UUID типа string RFC 4122 версии 4 с использованием криптографически безопасного генератора случайных чисел |
| generateRandomBinaryUUID | Генерирует случайный UUID типа Uint8Array RFC 4122 версии 4 с использованием криптографически безопасного генератора случайных чисел |
### ObjectUtil (Класс для работы с объектами)[нажмите для подробной информации](https://gitee.com/tongyuyan/harmony-utils/blob/master/entry/src/main/ets/pages/utils/ObjectUtilPage.ets)| Метод | Описание |
|----------|:------------|
| isString | Проверяет, является ли объект строкой |
| 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-строку в массив |
| jsonToMap | Преобразует JSON-строку в объект типа Map |
| beanToJsonStr | Преобразует объект в JSON-строку |
| 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 | Показать уведомление, по умолчанию длительность 2 секунды |
| showShort | Показать короткое уведомление, по умолчанию длительность 1,5 секунды |
| showLong | Показать длинное уведомление, по умолчанию длительность 10 секунд |
## 📚 Адрес репозитория
[https://gitee.com/tongyuyan/harmony-utils](https://gitee.com/tongyuyan/harmony-utils)
## 💖 Будущие планы
1. Постоянное улучшение и добавление новых полезных методов и функций (распознавание речи, распознавание текста).
2. Добавление новых модулей (всплывающие окна, JSBridge).
## 💖 Технический обмен

## 🙏 Внесение вклада
Если вы обнаружили любые проблемы во время использования, пожалуйста, создайте [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), пожалуйста, наслаждайтесь и участвуйте в открытом исходном коде.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )