Browse Source

1.添加升级失败窗口

huangxiaodong 11 months ago
parent
commit
ff5ef29ec4

+ 14 - 2
创维盒子/双子星云手机.xcodeproj/project.pbxproj

@@ -858,6 +858,10 @@
 		6BA08F582C01D05B00A2242D /* CWUploadTask+CheckInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BA08F432C01D05B00A2242D /* CWUploadTask+CheckInfo.h */; };
 		6BA08F592C01D05B00A2242D /* CWUploadTask+CheckInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BA08F442C01D05B00A2242D /* CWUploadTask+CheckInfo.m */; };
 		6BA08F5A2C01D05B00A2242D /* CWUploadTask+CheckInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BA08F442C01D05B00A2242D /* CWUploadTask+CheckInfo.m */; };
+		6BA464D82D2384E300AD08ED /* imageVersionUpdateFailView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BA464D72D2384E300AD08ED /* imageVersionUpdateFailView.m */; };
+		6BA464D92D2384E300AD08ED /* imageVersionUpdateFailView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BA464D62D2384E300AD08ED /* imageVersionUpdateFailView.h */; };
+		6BA464DA2D2384E300AD08ED /* imageVersionUpdateFailView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BA464D62D2384E300AD08ED /* imageVersionUpdateFailView.h */; };
+		6BA464DB2D2384E300AD08ED /* imageVersionUpdateFailView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BA464D72D2384E300AD08ED /* imageVersionUpdateFailView.m */; };
 		6BA533382B16E65500D1CB5C /* TvStatusModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BA533362B16E65500D1CB5C /* TvStatusModel.h */; };
 		6BA533392B16E65500D1CB5C /* TvStatusModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BA533372B16E65500D1CB5C /* TvStatusModel.m */; };
 		6BB481CF2C52481E00C21921 /* backupsOptionTipView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BB481CD2C52481E00C21921 /* backupsOptionTipView.h */; };
@@ -2095,6 +2099,8 @@
 		6BA08F422C01D05B00A2242D /* CWUploadTask.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CWUploadTask.m; sourceTree = "<group>"; };
 		6BA08F432C01D05B00A2242D /* CWUploadTask+CheckInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CWUploadTask+CheckInfo.h"; sourceTree = "<group>"; };
 		6BA08F442C01D05B00A2242D /* CWUploadTask+CheckInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "CWUploadTask+CheckInfo.m"; sourceTree = "<group>"; };
+		6BA464D62D2384E300AD08ED /* imageVersionUpdateFailView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = imageVersionUpdateFailView.h; sourceTree = "<group>"; };
+		6BA464D72D2384E300AD08ED /* imageVersionUpdateFailView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = imageVersionUpdateFailView.m; sourceTree = "<group>"; };
 		6BA533362B16E65500D1CB5C /* TvStatusModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TvStatusModel.h; sourceTree = "<group>"; };
 		6BA533372B16E65500D1CB5C /* TvStatusModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TvStatusModel.m; sourceTree = "<group>"; };
 		6BB481CD2C52481E00C21921 /* backupsOptionTipView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = backupsOptionTipView.h; sourceTree = "<group>"; };
@@ -2678,6 +2684,8 @@
 				6B4D23B02B33DDBB005B718A /* imageVersionRenewTipView.m */,
 				6BCCF1B02D1EA97100BAF144 /* imageVersionUpdateDoneView.h */,
 				6BCCF1B12D1EA97100BAF144 /* imageVersionUpdateDoneView.m */,
+				6BA464D62D2384E300AD08ED /* imageVersionUpdateFailView.h */,
+				6BA464D72D2384E300AD08ED /* imageVersionUpdateFailView.m */,
 				6B1CC2C82B67A5FC00AD4217 /* USBInsertPopView.h */,
 				6B1CC2C92B67A5FC00AD4217 /* USBInsertPopView.m */,
 				6B6D42EF2C295BCD006CAE3A /* playerSetView.h */,
@@ -4320,6 +4328,7 @@
 				6B1FBD3E2B46875300926382 /* backupsFileRecordCell.h in Headers */,
 				6B7E04282C3E5A98004B4948 /* customDownloadCacheManager.h in Headers */,
 				6B2C1E8C2C070ADE00FDCF82 /* ZFPlayerGestureControl.h in Headers */,
+				6BA464D92D2384E300AD08ED /* imageVersionUpdateFailView.h in Headers */,
 				186820192AB94877005702A6 /* GuideLastView.h in Headers */,
 				6BC741402C23DCD10049BA8D /* webSocketManager.h in Headers */,
 				6B6ABEEC2BFF5B2F00480BAC /* receiveSaveRecordTableView.h in Headers */,
@@ -4614,6 +4623,7 @@
 				6BD507002B9576A4006E7CB0 /* backupsFileRecordCell.h in Headers */,
 				6B7E04292C3E5A98004B4948 /* customDownloadCacheManager.h in Headers */,
 				6B2C1E8D2C070ADE00FDCF82 /* ZFPlayerGestureControl.h in Headers */,
+				6BA464DA2D2384E300AD08ED /* imageVersionUpdateFailView.h in Headers */,
 				6BD507012B9576A4006E7CB0 /* GuideLastView.h in Headers */,
 				6BC741422C23DCD10049BA8D /* webSocketManager.h in Headers */,
 				6B6ABEEE2BFF5B2F00480BAC /* receiveSaveRecordTableView.h in Headers */,
@@ -5229,6 +5239,7 @@
 				6BB573302C7DC7A300713351 /* customUploadOperation.m in Sources */,
 				6BD507712B9576A4006E7CB0 /* AFImageDownloader.m in Sources */,
 				6BD507722B9576A4006E7CB0 /* UIColor+HZXColor.m in Sources */,
+				6BA464DB2D2384E300AD08ED /* imageVersionUpdateFailView.m in Sources */,
 				6B238C912C60AAE200C5AC2F /* nasDownloadManager.m in Sources */,
 				6BD507732B9576A4006E7CB0 /* CalculatorViewController.m in Sources */,
 				6B8676992C85973200F81DFC /* webRtcMsgModel.m in Sources */,
@@ -5605,6 +5616,7 @@
 				6BB5732E2C7DC7A300713351 /* customUploadOperation.m in Sources */,
 				183AE6532A8A2CF000B11CB0 /* AFImageDownloader.m in Sources */,
 				A003F6B327D841EE00715CBF /* UIColor+HZXColor.m in Sources */,
+				6BA464D82D2384E300AD08ED /* imageVersionUpdateFailView.m in Sources */,
 				6B238C8E2C60AAE200C5AC2F /* nasDownloadManager.m in Sources */,
 				18E557222A3C5D75005CC84B /* CalculatorViewController.m in Sources */,
 				6B8676972C85973200F81DFC /* webRtcMsgModel.m in Sources */,
@@ -6202,7 +6214,7 @@
 				CODE_SIGN_ENTITLEMENTS = "隐私保护.entitlements";
 				CODE_SIGN_IDENTITY = "Apple Development";
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 6;
+				CURRENT_PROJECT_VERSION = 7;
 				DEVELOPMENT_TEAM = 6SV76WTUUR;
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",
@@ -6281,7 +6293,7 @@
 				CODE_SIGN_ENTITLEMENTS = "隐私保护.entitlements";
 				CODE_SIGN_IDENTITY = "Apple Development";
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 6;
+				CURRENT_PROJECT_VERSION = 7;
 				DEVELOPMENT_TEAM = 6SV76WTUUR;
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",

+ 22 - 0
创维盒子/双子星云手机/Assets.xcassets/Other/imageVersionFailTip.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "imageVersionFailTip@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "imageVersionFailTip@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
创维盒子/双子星云手机/Assets.xcassets/Other/imageVersionFailTip.imageset/imageVersionFailTip@2x.png


BIN
创维盒子/双子星云手机/Assets.xcassets/Other/imageVersionFailTip.imageset/imageVersionFailTip@3x.png


+ 1 - 1
创维盒子/双子星云手机/CloudPlayer/Model/UpgradeInfoModel.h

@@ -11,7 +11,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 @interface UpgradeInfoDataModel : SuperModel
 @property (nonatomic, copy) NSString * sn;//
-@property (nonatomic, assign) NSInteger  status;//状态 -1=没有更新 0=下载中 1=下载完成 2=点击升级 3=宿主机代理导入容器镜像:进度条展示20% 4=导入容器镜像完成:进度条展示50% 5=宿主机代理创建容器镜像:进度条展示80% 6=容器镜像创建完成:进度条展示100%
+@property (nonatomic, assign) NSInteger  status;//状态 -1=没有更新 0=下载中 1=下载完成 2=点击升级 3=宿主机代理导入容器镜像:进度条展示20% 4=导入容器镜像完成:进度条展示50% 5=宿主机代理创建容器镜像:进度条展示80% 6=容器镜像创建完成:进度条展示100% 201=失败
 //@property (nonatomic, copy) NSString * detail;//
 //@property (nonatomic, copy) NSString * type;//
 @property (nonatomic, copy) NSString *infoId;//更新包主键id

+ 2 - 2
创维盒子/双子星云手机/CloudPlayer/View/imageVersionUpdateDoneView.m

@@ -48,12 +48,12 @@
     titleLab.textColor = [UIColor blackColor];
     titleLab.font = [UIFont boldSystemFontOfSize:18.0];
     titleLab.textAlignment = NSTextAlignmentCenter;
-    [topImage addSubview:titleLab];
+    [whiteBgView addSubview:titleLab];
     
     [titleLab mas_makeConstraints:^(MASConstraintMaker *make) {
         //make.height.mas_equalTo(60);
         make.right.mas_equalTo(0.f);
-        make.left.mas_equalTo(25.f);
+        make.left.mas_equalTo(0.f);
         make.top.equalTo(topImage.mas_bottom).offset(20);
     }];
     

+ 16 - 0
创维盒子/双子星云手机/CloudPlayer/View/imageVersionUpdateFailView.h

@@ -0,0 +1,16 @@
+//
+//  imageVersionUpdateFailView.h
+//  双子星云手机
+//
+//  Created by xd h on 2024/12/31.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface imageVersionUpdateFailView : UIView
+@property (nonatomic,copy) void (^didClickUpdateDoneFun)(void);
+@end
+
+NS_ASSUME_NONNULL_END

+ 142 - 0
创维盒子/双子星云手机/CloudPlayer/View/imageVersionUpdateFailView.m

@@ -0,0 +1,142 @@
+//
+//  imageVersionUpdateFailView.m
+//  双子星云手机
+//
+//  Created by xd h on 2024/12/31.
+//
+
+#import "imageVersionUpdateFailView.h"
+
+@implementation imageVersionUpdateFailView
+
+- (id)initWithFrame:(CGRect)frame{
+    self = [super initWithFrame:frame];
+    self.backgroundColor = [UIColor hwColor:@"000000" alpha:0.6];
+    [self drawAnyView];
+    
+    return self;
+}
+
+- (void)drawAnyView{
+    UIView*whiteBgView = [UIView new];
+    whiteBgView.layer.cornerRadius = 8;
+    whiteBgView.backgroundColor = [UIColor whiteColor];
+    [self addSubview:whiteBgView];
+    
+    [whiteBgView mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.height.mas_equalTo(343.f);
+        make.width.mas_equalTo(300.f);
+        make.centerY.mas_equalTo(-40.f);
+        make.centerX.mas_equalTo(0.f);
+    }];
+    
+    UIImageView *topImage = [[UIImageView alloc] init];
+    topImage.image = [UIImage imageNamed:@"imageVersionFailTip"];
+    [whiteBgView addSubview:topImage];
+    
+    [topImage mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.height.mas_equalTo(104.f);
+        make.width.mas_equalTo(123.f);
+        make.centerX.mas_equalTo(0.f);
+        make.top.mas_equalTo(30.f);
+    }];
+    
+    NSString *curTitleStr = NSLocalizedString(@"image_version_update_fail_title",nil);
+    UILabel *titleLab = [[UILabel alloc] init];
+    titleLab.text = curTitleStr;
+    titleLab.numberOfLines = 0;
+    titleLab.textColor = [UIColor blackColor];
+    titleLab.font = [UIFont boldSystemFontOfSize:18.0];
+    titleLab.textAlignment = NSTextAlignmentCenter;
+    [whiteBgView addSubview:titleLab];
+    
+    [titleLab mas_makeConstraints:^(MASConstraintMaker *make) {
+        //make.height.mas_equalTo(60);
+        make.right.mas_equalTo(-20.f);
+        make.left.mas_equalTo(20.f);
+        make.top.equalTo(topImage.mas_bottom).offset(20);
+    }];
+    
+    NSString *tip1Str = NSLocalizedString(@"image_version_update_fail_tip1",nil);
+    UILabel *tipaLab = [[UILabel alloc] init];
+    tipaLab.text = tip1Str;
+    tipaLab.numberOfLines = 0;
+    tipaLab.textColor = [UIColor hwColor:@"#666666"];
+    tipaLab.font = [UIFont systemFontOfSize:14.0];
+    tipaLab.textAlignment = NSTextAlignmentCenter;
+    [whiteBgView addSubview:tipaLab];
+    
+    [tipaLab mas_makeConstraints:^(MASConstraintMaker *make) {
+        //make.height.mas_equalTo(60);
+        make.right.mas_equalTo(-20.f);
+        make.left.mas_equalTo(20.f);
+        make.top.equalTo(titleLab.mas_bottom).offset(10);
+    }];
+    
+    NSString *tip2Str = [[NSString alloc] initWithFormat:@"SN:%@",ksharedAppDelegate.DeviceThirdIdMod.data.changeSn];
+    UILabel *tip2Lab = [[UILabel alloc] init];
+    tip2Lab.text = tip2Str;
+    tip2Lab.numberOfLines = 0;
+    tip2Lab.textColor = [UIColor hwColor:@"#666666"];
+    tip2Lab.font = [UIFont systemFontOfSize:14.0];
+    tip2Lab.textAlignment = NSTextAlignmentCenter;
+    [whiteBgView addSubview:tip2Lab];
+    
+    [tip2Lab mas_makeConstraints:^(MASConstraintMaker *make) {
+        //make.height.mas_equalTo(60);
+        make.right.mas_equalTo(-20.f);
+        make.left.mas_equalTo(20.f);
+        make.top.equalTo(tipaLab.mas_bottom).offset(5);
+    }];
+    
+    
+    UIButton *knowBut = [[UIButton alloc] init];
+    [knowBut setTitle:NSLocalizedString(@"common_I_know",nil) forState:UIControlStateNormal];
+    //knowBut.layer.cornerRadius = 8;
+    //knowBut.layer.masksToBounds = YES;
+    [knowBut setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
+    [knowBut addTarget:self action:@selector(colseFun) forControlEvents:UIControlEventTouchUpInside];
+    [whiteBgView addSubview:knowBut];
+    
+    CAGradientLayer *gradientLayer = [CAGradientLayer layer];
+    gradientLayer.frame = CGRectMake(0, 0, 268, 40);
+    gradientLayer.colors = @[(__bridge NSString *)[UIColor hwColor:@"#0CDEFD" alpha:1.0].CGColor, (__bridge NSString *)[UIColor hwColor:@"#058DFB" alpha:1.0].CGColor];
+    gradientLayer.locations = @[@(0), @(1.0f)];
+    gradientLayer.startPoint = CGPointMake(0, 0.5);
+    gradientLayer.endPoint = CGPointMake(0.97, 0.5);
+    gradientLayer.cornerRadius = 8;
+    [knowBut.layer addSublayer:gradientLayer];
+
+//    knowBut.layer.shadowColor = [UIColor hwColor:@"#058DFB"].CGColor;
+//    // 设置阴影透明度(0.0到1.0)
+//    knowBut.layer.shadowOpacity = 0.5;
+//    // 设置阴影偏移量(x, y)
+//    knowBut.layer.shadowOffset = CGSizeMake(0, 3);
+//    // 设置阴影模糊半径
+//    knowBut.layer.shadowRadius = 5.0;
+//    // 为了使阴影在按钮外部可见,需要设置masksToBounds为NO
+//    // 注意:如果父视图设置了masksToBounds为YES,那么阴影可能仍然不可见
+//    knowBut.layer.masksToBounds = NO;
+    
+    [knowBut mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.height.mas_equalTo(40.f);
+        make.width.mas_equalTo(268.f);
+        make.centerX.mas_equalTo(0.f);
+        make.bottom.mas_equalTo(-30);
+    }];
+    
+    
+
+}
+
+
+- (void)colseFun
+{
+    [self removeFromSuperview];
+    if(_didClickUpdateDoneFun){
+        _didClickUpdateDoneFun();
+    }
+}
+
+@end
+

+ 32 - 1
创维盒子/双子星云手机/NAS/NASViewController.m

@@ -39,6 +39,7 @@
 #import "queryShareReportMarkModel.h"
 #import "UpgradeInfoModel.h"
 #import "imageVersionUpdateDoneView.h"
+#import "imageVersionUpdateFailView.h"
 
 @interface NASViewController ()<UITableViewDelegate,UITableViewDataSource>
 {
@@ -944,6 +945,7 @@
 #pragma mark 弹框流程 1 强制盒子更新弹窗
 - (void)handelUpgradeInfoFun
 {
+    //self.otaUpgradeInfoModel.data.status = 201;
     if(self.otaUpgradeInfoModel.data.status < 1){  //-1=没有更新 0=下载中
         //2. APP版本更新弹窗
         [self checkVersionFun];
@@ -957,7 +959,7 @@
                 [weakSelf checkUpgradeInfoFun];
             });
         }
-        else{//升级完成
+        else if(self.otaUpgradeInfoModel.data.status == 6){//升级完成
             if(RenewTipView){
                 [self showImageViewRenewTipViewFun];
                 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
@@ -968,7 +970,16 @@
                 [self OTAUpdateDoneFun];
             }
         }
+        else if(self.otaUpgradeInfoModel.data.status == 201){//升级失败
+            //显示升级失败
+            [self OTAUpdateFailFun];
+        }
+        else{
+            //2. APP版本更新弹窗
+            [self checkVersionFun];
+        }
     }
+    
 }
 
 #pragma mark 弹框流程 1 强制盒子更新弹窗
@@ -1057,6 +1068,26 @@
     
 }
 
+#pragma mark 弹框流程 1 OTA升级失败
+- (void)OTAUpdateFailFun
+{
+    if(RenewTipView){
+        [RenewTipView removeFromSuperview];
+        RenewTipView = nil;
+    }
+    
+    //显示OTA完成页面
+    imageVersionUpdateFailView* curView = [[imageVersionUpdateFailView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_W, SCREEN_H)];
+    [ksharedAppDelegate.window addSubview:curView];
+    //[self.view bringSubviewToFront:curView];
+    
+    KWeakSelf
+    curView.didClickUpdateDoneFun = ^{
+        [weakSelf closeOTAUpdateDoneFun];
+    };
+    
+}
+
 #pragma mark 弹框流程 1 盒子更新弹窗 关闭弹窗
 - (void)closeOTAUpdateDoneFun
 {

+ 2 - 0
创维盒子/双子星云手机/zh-Hans.lproj/Localizable.strings

@@ -648,3 +648,5 @@
 "image_version_Update_ing"   = "正在升级中…";
 "image_version_update_suc_title"   = "盒子设备升级成功";
 "common_I_know" = "我知道了";
+"image_version_update_fail_title"   = "盒子设备升级失败";
+"image_version_update_fail_tip1"   = "升级失败暂时无法使用客户端功能。请截取当前的升级提示窗口联系客服。";