1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/geekharmony-hmosapp1

Клонировать/Скачать
README1.md 67 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 06.06.2025 17:52 d53c9aa

harmony-utils (основанный на API11)


📚 Введение

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).

## 💖 Технический обмен

![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), пожалуйста, наслаждайтесь и участвуйте в открытом исходном коде.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/geekharmony-hmosapp1.git
git@api.gitlife.ru:oschina-mirror/geekharmony-hmosapp1.git
oschina-mirror
geekharmony-hmosapp1
geekharmony-hmosapp1
master