import router from '@ohos.router'; @CustomDialog export default struct errorMsgDialog { private controller?: CustomDialogController cancel: () => void = () => { } confirm: () => void = () => { } dialogRatio: number = 0.8 title?: string type: string //1 tip 2loading 3Dialog @State angle: number = 0 @Styles commStyle(){ .width(220 * globalThis.ratio * this.dialogRatio * 0.6) .height(69 * globalThis.ratio * this.dialogRatio * 0.6) .backgroundImage($r('app.media.button_nor')) .backgroundImageSize({ width: '100%', height: '100%' }) // .margin({ bottom: 12 * this.ratio }) } build() { Column() { if (this.title) { Text(this.title) .fontSize(30 * this.dialogRatio) .margin(120 * this.dialogRatio) } if (this.type == '2') { Image($r('app.media.open_loading')) .width(200) .rotate({ angle: this.angle }) .height(200) .animation({ duration: 5000, // 动画时长 curve: Curve.EaseOut, // 动画曲线 delay: 500, // 动画延迟 iterations: -1, // 播放次数 playMode: PlayMode.Normal, // 动画模式 }) .margin(50) } if (this.type == '3') { Row() { Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { Text(' 取 消 ') .fontSize(24 * globalThis.ratio* this.dialogRatio*0.6 ) .fontColor('#fff') .width(60 * globalThis.ratio* this.dialogRatio) } .commStyle() .onClick(() => { if (this.controller != undefined) { const errorCode=AppStorage.Get('errorMsg'); // const errorCodeFlage=AppStorage.Get('errorCodeFlage'); // console.log('errorCode',errorCode,errorCodeFlage) if(errorCode==0){ router.replaceUrl({ url: 'pages/Index', }, router.RouterMode.Single); router.clear(); } this.cancel() this.controller.close() } }).margin({ right: 10 * globalThis.ratio * this.dialogRatio}) Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { Text(' 确 定 ') .fontSize(24 * globalThis.ratio* this.dialogRatio*0.6) .fontColor('#fff') .width(60 * globalThis.ratio* this.dialogRatio) } .commStyle() .onClick(() => { const errorCode=AppStorage.Get('errorCode'); const errorCodeFlage=AppStorage.Get('errorCodeFlage'); console.log('errorCode',errorCode,errorCodeFlage) if(errorCode==0&&errorCodeFlage){ router.replaceUrl({ url: 'pages/Index', }, router.RouterMode.Single); router.clear(); } console.log('errorCode',errorCode,errorCodeFlage) if (this.controller != undefined){ this.confirm() this.controller.close() } } ) } .padding({bottom:20}) } } . backgroundColor('#E6E3DF') .borderRadius(19 * globalThis.ratio) .constraintSize({ minWidth: 520 }) } aboutToAppear() { AppStorage.SetOrCreate('errorMsg', 0); setTimeout(() => { console.log('this.type', this.type, this.angle) if (this.type == '2') { this.angle = 360 } }, 1000) if (this.type == '1') { setTimeout(() => { this.controller.close() }, 2000) } } aboutToDisappear() { this.title = '' this.angle = 0 AppStorage.SetOrCreate('errorCodeFlage', false); } }