# harmonyos-utils **Repository Path**: linhanlove/harmonyos-utils ## Basic Information - **Project Name**: harmonyos-utils - **Description**: harmony0s-utils 是基于harmony_Os最新的api(API13)工具库,旨在提供项目开发中不可或缺的实用工具函数。通过简单的导入语句,您可以快速地将这些工具函数集成到您的项目中,无需任何复杂配置。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2025-01-06 - **Last Updated**: 2025-07-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # harmonyos-utils (v5.0.1 - API13 ) harmonyos-utils 是基于harmony_Os最新的api(API13)工具库,旨在提供项目开发中不可或缺的实用工具函数。通过简单的导入语句,您可以快速地将这些工具函数集成到您的项目中,无需任何复杂配置。 ## 快速开始 ### 安装依赖包 确保您已经安装了最新的 HarmonyOS 开发环境。然后使用以下命令安装 `harmonyos-utils`: ``` ohpm install @atomic/harmonyos-utils ``` ### 使用方法 ``` import { formatDate } from '@atomic/harmonyos-utils' // 传入 Date 对象 console.log(formatDate(new Date(), 'date')) // 输出:当前日期的格式化字符串,例如 "2024-04-29" // 使用预设格式 console.log(formatDate(new Date(), 'dateTime')) // 输出:当前日期时间的格式化字符串 // 使用自定义格式 console.log(formatDate(new Date(), 'yyyy-MM月mm日')) // 输出:自定义格式的字符串 // 自定义格式化函数 const customFormatter = (dateInfo) => { return `${dateInfo.year}年${dateInfo.month}月${dateInfo.day}日` } // 使用自定义格式化函数 console.log(formatDate(new Date(), customFormatter)) // 不使用零填充 console.log(formatDate(new Date(), 'yyyy-MM-dd', false)) // 输出可能包含非零填充的字符串,例如 "2024-4-29" ``` ### 实用工具介绍 以下是 `@atomic/harmonyos-utils` 中提供的实用工具函数,具体的使用方法: - 可以参考类型提示 - 因为本库迁移了`atom-tools`中的部分代码,所以部分方法可能与`atom-tools`中的方法类似,请参考`Web` 端的[工具库文档](https://tools.atomnotion.com/), ## String(字符串工具类) | 方法 | 介绍 | |:----------------|:--------------------------------------| | getRandomString | 生成随机字符串,该字符串唯一 | | maskString | 对字符串进行脱敏处理,只显示前几位和最后几位,其余部分用星号或省略号替代。 | | toUpper | 转换首字母为大写(或全部),如果转换全部则忽略首字母的转换 | | toLower | 转换首字母为小写(或全部),如果转换全部则忽略首字母的转换 | ## Number(数字工具类) | 方法 | 介绍 | |:----------------|:-----------------| | getRandomNumber | 生成随机数字,该数字唯一 | | fillZero | 在数字前补零,使其达到指定位数。 | ## Array (数组工具类) | 方法 | 介绍 | |:---------------------|:---------------------------------| | arraySortByKey | 给定一个数组,根据数组的某一属性排序。 | | uniqueByProperty | 给定一个数组,根据数组的某一属性去重 | | fuzzyMatchByProperty | 给定一个对象数组,根据指定的属性进行模糊匹配,并返回匹配到的对象 | ## Object (对象工具类) | 方法 | 介绍 | |:-----|:-----------------------| | pick | 从对象中筛选出指定键的属性,并返回一个新对象 | | omit | 从对象中排除指定键的属性,并返回一个新对象 | ## Date(日期工具类) | 方法 | 介绍 | |:--------------------|:---------------------------------------------------------------------------------------------------| | DATA_CONSTANT | 日期常量,包含`一天`、 `一小时`、 `一分钟`的毫秒数,`今天`、 `昨天`、 `明天`、`本周第一天`、 `下周第一天`、 `上周第一天`、`近三天`、 `近一周`、 `近一月`等具体时间戳 | | formatDate | 格式化日期函数,根据提供的格式化选项将 Date 对象转换为字符串 | | toDate | 将传入的值转换为日期对象 | | transformDateWeekCN | 指定日期转星期 | | getDayOfYear | 获取某个日期是当年的第几天 | | isLeapYear | 判断是闰年还是平年 | | getTwoDaysApart | 计算两个日期之间的天数差 | ## Is (判断工具类) | 方法 | 介绍 | |:------------|:-------------------------------------------------------------| | isUndefined | 检测一个数是否为undefined | | isNull | 检测一个数是否为null | | isObject | 检测一个数是否为object | | isEmpty | 检查一个值是否为空(空的定义包括:数组、字符串、Map、Set、对象(无键值对)、null、NaN、未定义或未声明的值) | ## HighOrderFunction (高阶函数工具类) | 方法 | 介绍 | |:---------|:-------| | sleep | 睡眠函数 | | KeepLoop | 定时轮询的类 | ## Qs (查询字符串工具类) | 方法 | 介绍 | |:----------|:-------------| | parse | 将查询字符串解析为对象 | | stringify | 将对象序列化为查询字符串 |