HarmonyOS基本UI封装——全局弹窗、日志工具类、注解功能封装(八)

268 阅读3分钟

前言

文章系列

简介

鸿蒙基本库封装,提升鸿蒙开发效率

安装

ohpm install @peakmain/library

一、功能优化

日历选择器优化

页面弹窗选择器

  • SelectCalendarPage新增参数isShowMaxUseSelectDateCallback和isBefore6AM
参数名类型必填说明
titlestring标题,默认文案是选择日期
selectedBackgroundColorResourceString选中开始或者结束日期时的背景颜色,默认值是#A78461
selectedBetweenBackgroundColorResourceString选中开始和结束日期之间日期的背景颜色,默认值是#1AA78461
isShowMaxUseSelectDateCallbackboolean超过30天是否显示弹窗,默认是true
isBefore6AMboolean六点之前,前一天是否可用,默认是true

NavBar优化

image.png

  • 新增showLeftClose参数

二、全局弹窗

输入图片说明

导入依赖

import { DialogManager} from '@peakmain/library';

构造参数

参数名参数类型名称
uiContextUIContext上下文
durationnumber动画加载时长

方法

setBodyMessage

参数
参数参数类型默认值说明
titlestring""标题
messagestring""内容
leftTextstring返回左边按钮文案
leftTextColorResourceColor$r("app.color.color_272a2b")左边按钮字体颜色
leftTextClick() => void() => {}左边按钮事件
rightTextstring返回右边按钮文案
rightTextColorResourceColor$r("app.color.color_272a2b")右边按钮字体颜色
rightTextClick() => void() => {}右边按钮事件
rightTextBoldbooleantrue右边按钮字体是否加粗,默认是
示例代码
 let manager=new DialogManager(this.getUIContext())
          manager.setBodyMessage("自定义全局弹窗","我是自定义全局弹窗内容","返回",$r("app.color.color_272a2b"),()=>{
            manager.close()
          },"确认",$r("app.color.color_194d53"),()=>{
            new ToastManager(this.getUIContext()).showNormalMessage("确认")
          })

关闭弹窗

close() :void

示例代码
manager.close()

显示弹窗

open(options?: promptAction.BaseDialogOptions):void

参数不可为空,一定不可为空

示例代码

manager.open({ alignment:DialogAlignment.Center })

三、日志工具类

输入图片说明

导入依赖

import { LogUtils } from '@peakmain/library'

参数

参数参数类型参数说明
tagstringtag标识默认是BasicLibrary
domainnumber日志输出级别,默认是 0x00AB
closeboolean是否关闭日志,默认是false
isHilogboolean是否用hilog进行打印,默认是
showLogLocationboolean是否展示点击的位置, 默认是
logSizenumber打印的最大长度,默认是800

方法

方法名参数参数说明说明
initLogOptions初始化传递参数初始化 tag、domain 等属性
isLoggablehilog.LogLevel日志级别检查指定领域标识、日志标识和级别的日志是否可以打印
debugmessage: string | object, tag?: stringmessage: 日志信息 | tag: 设置TAG,可为空debug 日志
infomessage: string | object, tag?: stringmessage: 日志信息 | tag: 设置TAG,可为空info 日志
warnmessage: string | object, tag?: stringmessage: 日志信息 | tag: 设置TAG,可为空warn 日志
errormessage: string | object, tag?: stringmessage: 日志信息 | tag: 设置TAG,可为空error 日志
fatalmessage: string | object, tag?: stringmessage: 日志信息 | tag: 设置TAG,可为空fatal 日志

示例代码

  LogUtils.error("日志打印工具类打印错误日志")

四、注解功能封装

1. 防抖点击事件

导入依赖

import { Debounce } from '@peakmain/library';

方法上添加@Debounce

参数

参数参数类型必填说明
periodnumber抖动间隔时间

示例代码

@Debounce(2000)
test(){
}

2. 监听某个方法的耗时

导入依赖

import { MonitorCostTime } from '@peakmain/library';

方法上添加@MonitorCostTime

示例代码

@MonitorCostTime()
test(){
}