HarmonyOS 需要一个全局弹窗实现接口升级提示

App每个接口都可能返回升级code,需要在接口拦截器中实现一个全局弹窗,由于接口是并发的,弹窗只能弹窗一次,需要怎么实现这个全局弹窗,获取到升级地址跳转到应用商店?

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

参考示例代码:

// 1.封装1个弹框实例类CustomDialogLayou.ets
@CustomDialog
export struct CustomDialogLayout {
  controller?: CustomDialogController
  build() {
    Column() {
      Text('Global Custom Dialog Test')
    }
    .justifyContent(FlexAlign.Center)
    .alignItems(HorizontalAlign.Center)
    .height(400)
  }
}
//2.在window的入口page(比如Index.ets)里import并创建实例
import { CustomDialogLayout } from './CustomDialogLayout'
dialogController: CustomDialogController | null = new CustomDialogController({
  builder: CustomDialogLayout({
  }),
  cancel: this.onCancel,
  autoCancel: true,
  alignment: DialogAlignment.Center,
})
//3.在MainAbility.ts的onCreate方法里通过AppStorage定义关于弹框显示的全局属性,默认false不显示
AppStorage.setOrCreate('showGlobalCustomDialog', false)
//4.在Index.ets里监听此属性值改变并进行拉起动作
@StorageLink('showGlobalCustomDialog') @Watch('globalCustomDialogStateChange') showGlobalCustomDialog: boolean = false
globalCustomDialogStateChange() {
  if (this.showGlobalCustomDialog) {
    if (this.dialogController != null) {
      this.dialogController.open()
      AppStorage.setOrCreate('showGlobalCustomDialog', false)
    }
  }
}
//5.在需要调用的页面设置全局属性为true即可调起弹框
AppStorage.setOrCreate('showGlobalCustomDialog', true)
分享
微博
QQ
微信
回复
22h前
相关问题
如何在全局实现一个自定义dialog弹窗
2846浏览 • 1回复 待解决
HarmonyOS 实现一个全局浮动的视图
23浏览 • 1回复 待解决
ArkTS如何实现一个底部弹窗
849浏览 • 1回复 待解决
如何实现一个带动画的弹窗
519浏览 • 1回复 待解决
利用native接口实现一个圆角矩形
1687浏览 • 1回复 待解决
如何实现一个验证码弹窗子窗口
420浏览 • 1回复 待解决
如何判断一个对象实现了某个接口
1472浏览 • 1回复 待解决
如何实现一个自定义样式的toast提示
2000浏览 • 1回复 待解决
HarmonyOS 需要一个图片预览组件
315浏览 • 1回复 待解决
需要一个NFC读取的demo
687浏览 • 1回复 待解决
HarmonyOS 需要一个筛选页面的demo
389浏览 • 1回复 待解决
HarmonyOS 需要一个上下翻页的控件
35浏览 • 1回复 待解决
全局关闭弹窗如何实现
278浏览 • 2回复 待解决