# harmonyos-decorators **Repository Path**: Fie_Ryan/harmonyos-decorators ## Basic Information - **Project Name**: harmonyos-decorators - **Description**: HarmonyOS Decorators 是一个为鸿蒙应用开发提供常用装饰器的库,旨在简化开发流程,提高代码可维护性。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/Fie_Ryan - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-17 - **Last Updated**: 2026-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: 日志装饰器, 权限装饰器, 数据库装饰器, 防抖节流, 工具类 ## README # HarmonyOS Decorators ## 介绍 HarmonyOS Decorators 是一个为鸿蒙应用开发提供常用装饰器的库,旨在简化开发流程,提高代码可维护性。 该库提供了以下装饰器: - **函数装饰器**:自动重试(autoRetry)、防抖(debounce)、节流(throttle) - **数据库装饰器**:实体装饰器(@Entity、@DataBaseEntity)、字段装饰器(@DBColumn、@PrimaryKey) - **日志装饰器**:方法执行日志记录(@log) - **权限装饰器**:权限申请和检查(@requestPermission、@requirePermissions) ## 功能特性 ### 函数装饰器 - **@autoRetry**:自动重试装饰器,自动重试失败的方法 - **@debounce**:防抖装饰器,防止函数频繁调用 - **@throttle**:节流装饰器,限制函数调用频率 ### 数据库装饰器 - **@Entity**:实体类装饰器,需要配合 @DBColumn 或 @PrimaryKey 使用 - **@DataBaseEntity**:实体类装饰器,可独立使用,自动扫描实例属性 - **@DBColumn**:字段装饰器,定义数据库列 - **@PrimaryKey**:主键装饰器,标记主键字段 ### 日志装饰器 - **@log**:方法执行日志记录,自动记录方法调用、执行时间和结果 ### 权限装饰器 - **@requestPermission**:权限申请装饰器,自动申请指定权限 - **@requirePermissions**:多权限检查装饰器,检查多个权限的授予情况 ## 安装 ```bash ohpm install @ryan/harmonyos-decorators ``` ## 文档 - [函数装饰器文档](./docs/function/README.md) - [数据库装饰器文档](./docs/db/README.md) - [日志装饰器文档](./docs/log/README.md) - [权限装饰器文档](./docs/permission/README.md) ## 项目结构 ``` harmonyos-decorators/ ├── library/ # 库源码 │ └── src/main/ets/ │ ├── db/ # 数据库装饰器 │ │ ├── BaseEntity.ts # 基础实体类 │ │ ├── DatabaseManager.ts # 数据库管理器 │ │ ├── Entity.ts # 实体装饰器 │ │ ├── DBColumn.ts # 字段装饰器 │ │ └── PrimaryKey.ts # 主键装饰器 │ ├── function/ # 函数装饰器 │ │ ├── debounce.ts # 防抖装饰器 │ │ ├── throttle.ts # 节流装饰器 │ │ └── autoRetry.ts # 自动重试装饰器 │ ├── log/ # 日志装饰器 │ ├── Logger.ts # 日志管理器 │ ├── log.ts # 日志装饰器 │ └── type/ │ └── LogLevel.ts # 日志级别枚举 │ └── permission/ # 权限装饰器 │ ├── PermissionManager.ts # 权限管理器 │ ├── decorators/ │ │ ├── requestPermission.ts # 权限申请装饰器 │ │ └── requirePermissions.ts # 多权限检查装饰器 │ └── type/ │ └── Permission.ts # 权限类型枚举 ├── entry/ # 示例应用 └── docs/ # 文档 ├── function/ # 函数装饰器文档 ├── db/ # 数据库装饰器文档 ├── log/ # 日志装饰器文档 └── permission/ # 权限装饰器文档 ```