129 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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);
 | |
| }
 | |
| } |