From 7f9d9e17b0ff1a8222b1e704458b6ec8f5539249 Mon Sep 17 00:00:00 2001 From: ly Date: Tue, 6 May 2025 09:38:55 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=BA=9F=E5=BC=83API=E6=9B=BF=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entry/src/main/ets/view/CommunicationArea.ets | 3 ++- entry/src/main/ets/view/MessageItem.ets | 4 +++- entry/src/main/ets/view/WarningBox.ets | 4 +++- entry/src/main/ets/viewmodel/MessageViewModel.ets | 9 ++++++--- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/entry/src/main/ets/view/CommunicationArea.ets b/entry/src/main/ets/view/CommunicationArea.ets index 72e838b..054d91e 100644 --- a/entry/src/main/ets/view/CommunicationArea.ets +++ b/entry/src/main/ets/view/CommunicationArea.ets @@ -119,7 +119,8 @@ function GoodsBox() { @Component export default struct CommunicationArea { - @State messages: Message[] = new MessageViewModel().getMessages(); + UIContext = this.getUIContext() + @State messages: Message[] = new MessageViewModel(this.UIContext).getMessages(); private contentBuilders: Map void> = new Map(); aboutToAppear(): void { diff --git a/entry/src/main/ets/view/MessageItem.ets b/entry/src/main/ets/view/MessageItem.ets index 521d830..7e6285c 100644 --- a/entry/src/main/ets/view/MessageItem.ets +++ b/entry/src/main/ets/view/MessageItem.ets @@ -21,9 +21,11 @@ function EmptyBuilder() {} @Component export struct MessageItem { + UIContext = this.getUIContext(); + @Prop message: Message; @BuilderParam contentBuilder: () => void = EmptyBuilder; - private context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; + private context: common.UIAbilityContext = this.UIContext.getHostContext() as common.UIAbilityContext; build() { Row() { diff --git a/entry/src/main/ets/view/WarningBox.ets b/entry/src/main/ets/view/WarningBox.ets index dc3dd68..f6e929f 100644 --- a/entry/src/main/ets/view/WarningBox.ets +++ b/entry/src/main/ets/view/WarningBox.ets @@ -18,7 +18,9 @@ import { pullUpSystemSetting } from '../viewmodel/MessageViewModel'; @Component export struct WarningBox { - private context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; + UIContext = this.getUIContext(); + + private context: common.UIAbilityContext = this.UIContext.getHostContext() as common.UIAbilityContext; build() { Row() { diff --git a/entry/src/main/ets/viewmodel/MessageViewModel.ets b/entry/src/main/ets/viewmodel/MessageViewModel.ets index 17f14ab..99e7703 100644 --- a/entry/src/main/ets/viewmodel/MessageViewModel.ets +++ b/entry/src/main/ets/viewmodel/MessageViewModel.ets @@ -17,13 +17,16 @@ import { bundleManager, common, OpenLinkOptions, Want } from '@kit.AbilityKit'; import { promptAction } from '@kit.ArkUI'; import { BusinessError } from '@kit.BasicServicesKit'; +let getUIContext: UIContext + export class MessageViewModel { private messages: Message[] = []; - constructor() { + constructor(UIContext: UIContext) { this.messages.push(new Message('001', pullUpAppGallery)); this.messages.push(new Message('002', pullUpNavigationApp)); this.messages.push(new Message('003', pullUpThirdApp)); + getUIContext = UIContext } public getMessages(): Message[] { @@ -73,12 +76,12 @@ const pullUpThirdApp = (context: common.UIAbilityContext) => { }; context.openLink(link, openLinkOptions, (err: BusinessError, result: common.AbilityResult) => { if (err) { - promptAction.showToast({ message: $r('app.string.error_toast') }); + getUIContext.getPromptAction().showToast({ message: $r('app.string.error_toast') }); return; } console.info(`startAbilityForResult succeed, result is ${JSON.stringify(result)}`); if (result.resultCode === 200) { - promptAction.showToast({ message: $r('app.string.payment_status') }) + getUIContext.getPromptAction().showToast({ message: $r('app.string.payment_status') }) } }) } -- Gitee