前言
- BasicLibrary是一个基于API 11封装的基本库
- 未来的计划是将其打造成一个通用的UI组件+基本工具组件,目前只做了部分基本工具组件,大家如果组件有什么需求,可以尽管提哦
- BasicLibrary项目地址
- BasicLibrary的openHarmony三方库中心仓
简介
鸿蒙基本库封装,提升鸿蒙开发效率
安装
dart
ohpm install @peakmain/library
ToastManager升级,不再需要传入UIContext
设置全局上下文
如果不传UIContext,一定要在EntryAbility.ets调用
kotlin
InitUtils.getInstance(this.context)//初始化全局上下文
示例代码
typescript
//默认情况
new ToastManager()
.showNormalMessage("正常提示")
//成功情况
new ToastManager()
.showSuccessMessage("成功提示")
//错误提示
new ToastManager()
.showErrorMessage("错误提示")
拦截H5微信、支付宝支付
- 在entry模块的module.json5文件中添加配置具体标签路径如下:module-> querySchemes
json
"querySchemes": [
"alipays",
"weixin"
],
2. 自定义H5全局拦截
在 EntryAbility.ets 目录下,通过设置 urlIntercept 实现自定义拦截逻辑
typescript
InitUtils.getInstance(this.context)
.urlIntercept( (url: string) => {
if (!bundleManager.canOpenLink(url)) {
//new ToastManager(this.getUIContext()).showErrorMessage("未安装目标应用")
return HandleResult.CONSUMED
}
const openLinkOptions: OpenLinkOptions = {
appLinkingOnly: false,
};
(getContext(this) as common.UIAbilityContext).openLink(url, openLinkOptions).then(() => {
}).catch((err: Error) => {
})
return HandleResult.CONSUMED
},'alipays://platformapi',"weixin://wap/pay?")
urlIntercept 方法参数说明
参数 | 类型 | 描述 |
---|---|---|
handleUrl |
(url: string) => HandleResult |
拦截 URL 关键词后执行的方法,默认返回 HandleResult.NOT_CONSUME 表示不处理。 |
searchSting |
Array<string> |
拦截的 URL 关键字,例如 alipays://platformapi 或 weixin://wap/pay? 。 |