Преглед изворни кода

1.OTA升级流程进度初步完成

huangxiaodong пре 11 месеци
родитељ
комит
e66d004e2d
18 измењених фајлова са 570 додато и 111 уклоњено
  1. 24 0
      创维盒子/双子星云手机.xcodeproj/project.pbxproj
  2. 22 0
      创维盒子/双子星云手机/Assets.xcassets/Other/imageVersionDoneTip.imageset/Contents.json
  3. BIN
      创维盒子/双子星云手机/Assets.xcassets/Other/imageVersionDoneTip.imageset/imageVersionDoneTip@2x.png
  4. BIN
      创维盒子/双子星云手机/Assets.xcassets/Other/imageVersionDoneTip.imageset/imageVersionDoneTip@3x.png
  5. BIN
      创维盒子/双子星云手机/Assets.xcassets/Other/imageVersionTipBg.imageset/imageVersionTipBg@2x.png
  6. BIN
      创维盒子/双子星云手机/Assets.xcassets/Other/imageVersionTipBg.imageset/imageVersionTipBg@3x.png
  7. 1 1
      创维盒子/双子星云手机/CloudPlayer/Model/NASMsgModel.h
  8. 25 0
      创维盒子/双子星云手机/CloudPlayer/Model/UpgradeInfoModel.h
  9. 16 0
      创维盒子/双子星云手机/CloudPlayer/Model/UpgradeInfoModel.m
  10. 5 0
      创维盒子/双子星云手机/CloudPlayer/View/imageVersionRenewTipView.h
  11. 150 76
      创维盒子/双子星云手机/CloudPlayer/View/imageVersionRenewTipView.m
  12. 16 0
      创维盒子/双子星云手机/CloudPlayer/View/imageVersionUpdateDoneView.h
  13. 111 0
      创维盒子/双子星云手机/CloudPlayer/View/imageVersionUpdateDoneView.m
  14. 161 27
      创维盒子/双子星云手机/NAS/NASViewController.m
  15. 1 1
      创维盒子/双子星云手机/en.lproj/Localizable.strings
  16. 25 0
      创维盒子/双子星云手机/netWork/newWorkInterface.h
  17. 10 3
      创维盒子/双子星云手机/zh-Hans.lproj/Localizable.strings
  18. 3 3
      创维盒子/双子星云手机/zh-Hant.lproj/Localizable.strings

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

@@ -923,6 +923,14 @@
 		6BC7415F2C24150C0049BA8D /* webSocketManager+backupsFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BC7415D2C24150C0049BA8D /* webSocketManager+backupsFile.m */; };
 		6BC741602C24150C0049BA8D /* webSocketManager+backupsFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BC7415C2C24150C0049BA8D /* webSocketManager+backupsFile.h */; };
 		6BC741612C24150C0049BA8D /* webSocketManager+backupsFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BC7415D2C24150C0049BA8D /* webSocketManager+backupsFile.m */; };
+		6BCCF1AC2D1E487B00BAF144 /* UpgradeInfoModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BCCF1AA2D1E487B00BAF144 /* UpgradeInfoModel.h */; };
+		6BCCF1AD2D1E487B00BAF144 /* UpgradeInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BCCF1AB2D1E487B00BAF144 /* UpgradeInfoModel.m */; };
+		6BCCF1AE2D1E487B00BAF144 /* UpgradeInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BCCF1AB2D1E487B00BAF144 /* UpgradeInfoModel.m */; };
+		6BCCF1AF2D1E487B00BAF144 /* UpgradeInfoModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BCCF1AA2D1E487B00BAF144 /* UpgradeInfoModel.h */; };
+		6BCCF1B22D1EA97200BAF144 /* imageVersionUpdateDoneView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BCCF1B02D1EA97100BAF144 /* imageVersionUpdateDoneView.h */; };
+		6BCCF1B32D1EA97200BAF144 /* imageVersionUpdateDoneView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BCCF1B12D1EA97100BAF144 /* imageVersionUpdateDoneView.m */; };
+		6BCCF1B42D1EA97200BAF144 /* imageVersionUpdateDoneView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BCCF1B12D1EA97100BAF144 /* imageVersionUpdateDoneView.m */; };
+		6BCCF1B52D1EA97200BAF144 /* imageVersionUpdateDoneView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BCCF1B02D1EA97100BAF144 /* imageVersionUpdateDoneView.h */; };
 		6BD5069D2B9576A4006E7CB0 /* NSArray+Log.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B21709A2B15CDB400656670 /* NSArray+Log.h */; };
 		6BD5069E2B9576A4006E7CB0 /* CustomerWebViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 184C8ACE2A94980C00F26650 /* CustomerWebViewController.h */; };
 		6BD5069F2B9576A4006E7CB0 /* forgetSecretKeyViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BFF26972AFA16D900FCB4F7 /* forgetSecretKeyViewController.h */; };
@@ -2123,6 +2131,10 @@
 		6BC741572C2413B20049BA8D /* webSocketManager+upLoadFile.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "webSocketManager+upLoadFile.m"; sourceTree = "<group>"; };
 		6BC7415C2C24150C0049BA8D /* webSocketManager+backupsFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "webSocketManager+backupsFile.h"; sourceTree = "<group>"; };
 		6BC7415D2C24150C0049BA8D /* webSocketManager+backupsFile.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "webSocketManager+backupsFile.m"; sourceTree = "<group>"; };
+		6BCCF1AA2D1E487B00BAF144 /* UpgradeInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UpgradeInfoModel.h; sourceTree = "<group>"; };
+		6BCCF1AB2D1E487B00BAF144 /* UpgradeInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UpgradeInfoModel.m; sourceTree = "<group>"; };
+		6BCCF1B02D1EA97100BAF144 /* imageVersionUpdateDoneView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = imageVersionUpdateDoneView.h; sourceTree = "<group>"; };
+		6BCCF1B12D1EA97100BAF144 /* imageVersionUpdateDoneView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = imageVersionUpdateDoneView.m; sourceTree = "<group>"; };
 		6BD5080C2B9576A4006E7CB0 /* 计算器.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "计算器.app"; sourceTree = BUILT_PRODUCTS_DIR; };
 		6BD5080D2B9576A9006E7CB0 /* jiSuanQi_Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = jiSuanQi_Info.plist; path = "/Users/xdh/Desktop/创维盒子/创维盒子/jiSuanQi_Info.plist"; sourceTree = "<absolute>"; };
 		6BD7806E2C2BF7F10014912F /* customerServiceViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = customerServiceViewController.h; sourceTree = "<group>"; };
@@ -2437,6 +2449,8 @@
 				6B8661D52BBA53B600B19846 /* noticeModel.m */,
 				6B7EA79C2BF5E0ED002D5CC2 /* NASMsgModel.h */,
 				6B7EA79D2BF5E0ED002D5CC2 /* NASMsgModel.m */,
+				6BCCF1AA2D1E487B00BAF144 /* UpgradeInfoModel.h */,
+				6BCCF1AB2D1E487B00BAF144 /* UpgradeInfoModel.m */,
 			);
 			path = Model;
 			sourceTree = "<group>";
@@ -2662,6 +2676,8 @@
 				6BFF26872AF8949F00FCB4F7 /* playerShowSecretkeyView.m */,
 				6B4D23AF2B33DDBB005B718A /* imageVersionRenewTipView.h */,
 				6B4D23B02B33DDBB005B718A /* imageVersionRenewTipView.m */,
+				6BCCF1B02D1EA97100BAF144 /* imageVersionUpdateDoneView.h */,
+				6BCCF1B12D1EA97100BAF144 /* imageVersionUpdateDoneView.m */,
 				6B1CC2C82B67A5FC00AD4217 /* USBInsertPopView.h */,
 				6B1CC2C92B67A5FC00AD4217 /* USBInsertPopView.m */,
 				6B6D42EF2C295BCD006CAE3A /* playerSetView.h */,
@@ -4192,9 +4208,11 @@
 				6BF2A5AC2C4686C500872525 /* audioPlayDownloadManager.h in Headers */,
 				6B4C0F7A2C0314BA0070EF2E /* DFPlayerModel.h in Headers */,
 				6B21708C2B14BDAA00656670 /* couldphoneSysInfoModel.h in Headers */,
+				6BCCF1AC2D1E487B00BAF144 /* UpgradeInfoModel.h in Headers */,
 				6B72724F2B0B58E500C03F87 /* uploadFileRecordEditBottomView.h in Headers */,
 				6B6ABEE02BFF3DD000480BAC /* receiveHeadView.h in Headers */,
 				184C8ADD2A949DBD00F26650 /* HWVersionModel.h in Headers */,
+				6BCCF1B22D1EA97200BAF144 /* imageVersionUpdateDoneView.h in Headers */,
 				6B05826F2AFF692700D37290 /* photoPreViewBottomView.h in Headers */,
 				6BA08F4B2C01D05B00A2242D /* CWFileStreamSeparation.h in Headers */,
 				6B7B65582AD9227700BE8CB3 /* PlayerViewController+otherDelegate.h in Headers */,
@@ -4484,9 +4502,11 @@
 				6BF2A5AF2C4686C500872525 /* audioPlayDownloadManager.h in Headers */,
 				6B4C0F7B2C0314BA0070EF2E /* DFPlayerModel.h in Headers */,
 				6BD506D42B9576A4006E7CB0 /* couldphoneSysInfoModel.h in Headers */,
+				6BCCF1AF2D1E487B00BAF144 /* UpgradeInfoModel.h in Headers */,
 				6BD506D52B9576A4006E7CB0 /* uploadFileRecordEditBottomView.h in Headers */,
 				6B6ABEE22BFF3DD000480BAC /* receiveHeadView.h in Headers */,
 				6BD506D62B9576A4006E7CB0 /* HWVersionModel.h in Headers */,
+				6BCCF1B52D1EA97200BAF144 /* imageVersionUpdateDoneView.h in Headers */,
 				6BD506D72B9576A4006E7CB0 /* photoPreViewBottomView.h in Headers */,
 				6BA08F4C2C01D05B00A2242D /* CWFileStreamSeparation.h in Headers */,
 				6BD506D82B9576A4006E7CB0 /* PlayerViewController+otherDelegate.h in Headers */,
@@ -5079,6 +5099,7 @@
 				6B7EA79B2BF5B4A6002D5CC2 /* NASFilePicModel.m in Sources */,
 				6BD5072E2B9576A4006E7CB0 /* HWToolListCell.m in Sources */,
 				6BD5072F2B9576A4006E7CB0 /* cloudPhoneExtraFileListModel.m in Sources */,
+				6BCCF1AE2D1E487B00BAF144 /* UpgradeInfoModel.m in Sources */,
 				6BB5731E2C7D6E1D00713351 /* scanToPCLoginViewController.m in Sources */,
 				6B2C1E7F2C070ADE00FDCF82 /* ZFOrientationObserver.m in Sources */,
 				6B42A2202C41040B000555BB /* UIInterface+HXRotation.m in Sources */,
@@ -5163,6 +5184,7 @@
 				6B2C1E8B2C070ADE00FDCF82 /* ZFPlayerController.m in Sources */,
 				6BD507592B9576A4006E7CB0 /* Const.m in Sources */,
 				6B2C1E332C070ADE00FDCF82 /* ZFNetworkSpeedMonitor.m in Sources */,
+				6BCCF1B42D1EA97200BAF144 /* imageVersionUpdateDoneView.m in Sources */,
 				6BD5075B2B9576A4006E7CB0 /* couldphoneSysInfoModel.m in Sources */,
 				6B2C1E512C070ADE00FDCF82 /* ZFUtilities.m in Sources */,
 				6BD5075C2B9576A4006E7CB0 /* BGTool.m in Sources */,
@@ -5453,6 +5475,7 @@
 				6B7EA7992BF5B4A6002D5CC2 /* NASFilePicModel.m in Sources */,
 				A084D68E27E859D300054880 /* HWToolListCell.m in Sources */,
 				6B45C4FE2B57BC87007E6911 /* cloudPhoneExtraFileListModel.m in Sources */,
+				6BCCF1AD2D1E487B00BAF144 /* UpgradeInfoModel.m in Sources */,
 				6BB5731C2C7D6E1D00713351 /* scanToPCLoginViewController.m in Sources */,
 				6B2C1E7E2C070ADE00FDCF82 /* ZFOrientationObserver.m in Sources */,
 				6B42A21F2C41040B000555BB /* UIInterface+HXRotation.m in Sources */,
@@ -5537,6 +5560,7 @@
 				6B2C1E8A2C070ADE00FDCF82 /* ZFPlayerController.m in Sources */,
 				A003F6E227D8428200715CBF /* Const.m in Sources */,
 				6B2C1E322C070ADE00FDCF82 /* ZFNetworkSpeedMonitor.m in Sources */,
+				6BCCF1B32D1EA97200BAF144 /* imageVersionUpdateDoneView.m in Sources */,
 				6B21708D2B14BDAA00656670 /* couldphoneSysInfoModel.m in Sources */,
 				6B2C1E502C070ADE00FDCF82 /* ZFUtilities.m in Sources */,
 				A08A94FE27E9A4E400C544BB /* BGTool.m in Sources */,

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

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

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


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


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


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


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

@@ -18,7 +18,7 @@ NS_ASSUME_NONNULL_BEGIN
 @end
 
 @interface NASMsgModel : SuperModel
-@property (nonatomic, copy) NASDataModel * data;//
+@property (nonatomic, strong) NASDataModel * data;//
 @end
 
 NS_ASSUME_NONNULL_END

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

@@ -0,0 +1,25 @@
+//
+//  UpgradeInfoModel.h
+//  双子星云手机
+//
+//  Created by xd h on 2024/12/27.
+//
+
+#import "SuperModel.h"
+
+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, copy) NSString * detail;//
+//@property (nonatomic, copy) NSString * type;//
+@property (nonatomic, copy) NSString *infoId;//更新包主键id
+@property (nonatomic, assign) NSInteger  progress;
+@end
+
+@interface UpgradeInfoModel : SuperModel
+@property (nonatomic, strong) UpgradeInfoDataModel * data;//
+@end
+
+NS_ASSUME_NONNULL_END

+ 16 - 0
创维盒子/双子星云手机/CloudPlayer/Model/UpgradeInfoModel.m

@@ -0,0 +1,16 @@
+//
+//  UpgradeInfoModel.m
+//  双子星云手机
+//
+//  Created by xd h on 2024/12/27.
+//
+
+#import "UpgradeInfoModel.h"
+
+@implementation UpgradeInfoDataModel
+
+@end
+
+@implementation UpgradeInfoModel
+
+@end

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

@@ -11,7 +11,12 @@ NS_ASSUME_NONNULL_BEGIN
 
 @interface imageVersionRenewTipView : UIView
 
+//默认 status = 1 UI样式
+@property (nonatomic, assign) NSInteger  status;//状态 -1=没有更新 0=下载中 1=下载完成 2=点击升级 3=宿主机代理导入容器镜像:进度条展示20% 4=导入容器镜像完成:进度条展示50% 5=宿主机代理创建容器镜像:进度条展示80% 6=容器镜像创建完成:进度条展示100%
 
+@property (nonatomic,copy) void (^didClickUpdateNowFun)(void);
+
+@property (nonatomic,copy) void (^didClickCloseFun)(void);
 @end
 
 NS_ASSUME_NONNULL_END

+ 150 - 76
创维盒子/双子星云手机/CloudPlayer/View/imageVersionRenewTipView.m

@@ -8,6 +8,10 @@
 #import "imageVersionRenewTipView.h"
 @interface imageVersionRenewTipView ()
 @property (nonatomic,strong) UIView* whiteBgView;
+@property (nonatomic,strong) UIButton *updateNowBut;
+@property (nonatomic,strong) CAGradientLayer *gradientLayer;
+@property (nonatomic,strong) UILabel *tip1Lab;
+
 @end
 
 @implementation imageVersionRenewTipView
@@ -27,9 +31,9 @@
     [self addSubview:_whiteBgView];
     
     [_whiteBgView mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.height.mas_equalTo(332);
-        make.width.mas_equalTo(300.f);
-        make.centerY.mas_equalTo(-50.f);
+        make.height.mas_equalTo(369.f);
+        make.width.mas_equalTo(323.f*AUTOSCALE);
+        make.centerY.mas_equalTo(-40.f);
         make.centerX.mas_equalTo(0.f);
     }];
     
@@ -38,8 +42,8 @@
     [_whiteBgView addSubview:topImage];
     
     [topImage mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.height.mas_equalTo(160);
-        make.width.mas_equalTo(300.f);
+        make.height.mas_equalTo(244*AUTOSCALE);
+        make.width.mas_equalTo(323.f*AUTOSCALE);
         make.left.mas_equalTo(0.f);
         make.top.mas_equalTo(-40.f);
     }];
@@ -48,106 +52,176 @@
     UILabel *titleLab = [[UILabel alloc] init];
     titleLab.text = curTitleStr;
     titleLab.numberOfLines = 0;
-    titleLab.textColor = [UIColor whiteColor];
-    titleLab.font = [UIFont boldSystemFontOfSize:22.0];
+    titleLab.textColor = [UIColor blackColor];
+    titleLab.font = [UIFont boldSystemFontOfSize:33.0];
     [topImage 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.top.mas_equalTo(55.f);
+        make.top.mas_equalTo(42.f);
     }];
     
-    NSString *curTip1Str = NSLocalizedString(@"image_version_pop_tip1",nil);
-    UILabel *tip1Lab = [[UILabel alloc] init];
-    tip1Lab.text = curTip1Str;
-    tip1Lab.numberOfLines = 0;
-    tip1Lab.textAlignment = NSTextAlignmentCenter;
-    tip1Lab.textColor = [UIColor hwColor:@"#151515" alpha:1.0];
-    tip1Lab.font = [UIFont systemFontOfSize:16.0];
-    [_whiteBgView addSubview:tip1Lab];
-    
-    CGFloat curHeight = [curTip1Str boundingRectWithSize:CGSizeMake(280, 1000) options:(NSStringDrawingUsesLineFragmentOrigin) attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:16.0]} context:nil].size.height;
-    
-    curHeight += 15;
-    
-    [tip1Lab mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.height.mas_equalTo(curHeight);
-        make.right.mas_equalTo(-10.f);
-        make.left.mas_equalTo(10.f);
-        make.top.mas_equalTo(topImage.mas_bottom).offset(20.f);
-    }];
+    NSString *curTip1Str = NSLocalizedString(@"image_version_pop_144_tip1",nil);
+    _tip1Lab = [[UILabel alloc] init];
+    //_tip1Lab.text = curTip1Str;
+    _tip1Lab.numberOfLines = 0;
+    //_tip1Lab.textAlignment = NSTextAlignmentCenter;
+    _tip1Lab.textColor = [UIColor hwColor:@"#333333" alpha:1.0];
+    _tip1Lab.font = [UIFont systemFontOfSize:15.0];
+    [_whiteBgView addSubview:_tip1Lab];
+    //_tip1Lab.backgroundColor = [UIColor greenColor];
     
-    NSString *curTip2Str = NSLocalizedString(@"image_version_pop_tip2",nil);
+    NSMutableAttributedString *totalStr = [[NSMutableAttributedString alloc] initWithString:curTip1Str];
     
-    CGFloat curHeight2 = [curTip2Str boundingRectWithSize:CGSizeMake(280, 1000) options:(NSStringDrawingUsesLineFragmentOrigin) attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:16.0]} context:nil].size.height;
+    // 设置行间距
+    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
+    [paragraphStyle setLineSpacing:5];        //设置行间距
+    [totalStr addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [totalStr  length])];
     
-    curHeight2 += 5;
+    _tip1Lab.attributedText = totalStr;
     
-    UILabel *tip2Lab = [[UILabel alloc] init];
-    tip2Lab.text = curTip2Str;
-    tip2Lab.numberOfLines = 0;
-    tip2Lab.textAlignment = NSTextAlignmentCenter;
-    tip2Lab.textColor = [UIColor hwColor:@"#151515" alpha:0.5];
-    tip2Lab.font = [UIFont systemFontOfSize:14.0];
-    [_whiteBgView addSubview:tip2Lab];
-    //tip2Lab.backgroundColor = [UIColor greenColor];
     
-    [tip2Lab mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.height.mas_equalTo(curHeight2);
-        make.right.mas_equalTo(-10.f);
-        make.left.mas_equalTo(10.f);
-        make.top.mas_equalTo(tip1Lab.mas_bottom).offset(10.f);
+    [_tip1Lab mas_makeConstraints:^(MASConstraintMaker *make) {
+        //make.height.mas_equalTo(curHeight);
+        make.right.mas_equalTo(-32.0);
+        make.left.mas_equalTo(32.0);
+        make.top.mas_equalTo(165);
     }];
     
-    [_whiteBgView mas_remakeConstraints:^(MASConstraintMaker *make) {
-        make.height.mas_equalTo(240 + curHeight + curHeight2);
-        make.width.mas_equalTo(300.f);
-        make.centerY.mas_equalTo(-50.f);
-        make.centerX.mas_equalTo(0.f);
-    }];
+
     
-    UIButton *konwBut = [[UIButton alloc] init];
-    [konwBut setTitle:NSLocalizedString(@"guide_set_pwd_guide_know",nil) forState:UIControlStateNormal];
-    konwBut.layer.cornerRadius = 8;
-    konwBut.layer.masksToBounds = YES;
-    [konwBut addTarget:self action:@selector(colseFun) forControlEvents:UIControlEventTouchUpInside];
-    [_whiteBgView addSubview:konwBut];
-    
-    CAGradientLayer *gradientLayer = [CAGradientLayer layer];
-    gradientLayer.frame = CGRectMake(0, 0, 160, 48);
-    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)];
-    [konwBut.layer addSublayer:gradientLayer];
-    
-    [konwBut mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.height.mas_equalTo(48);
-        make.width.mas_equalTo(160.f);
+    _updateNowBut = [[UIButton alloc] init];
+    [_updateNowBut setTitle:NSLocalizedString(@"image_version_Update_Now",nil) forState:UIControlStateNormal];
+    //_updateNowBut.layer.cornerRadius = 8;
+    //_updateNowBut.layer.masksToBounds = YES;
+    [_updateNowBut setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
+    [_updateNowBut addTarget:self action:@selector(didClickUpdateFun) forControlEvents:UIControlEventTouchUpInside];
+    [_whiteBgView addSubview:_updateNowBut];
+    
+    _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;
+    [_updateNowBut.layer addSublayer:_gradientLayer];
+
+    _updateNowBut.layer.shadowColor = [UIColor hwColor:@"#058DFB"].CGColor;
+    // 设置阴影透明度(0.0到1.0)
+    _updateNowBut.layer.shadowOpacity = 0.5;
+    // 设置阴影偏移量(x, y)
+    _updateNowBut.layer.shadowOffset = CGSizeMake(0, 3);
+    // 设置阴影模糊半径
+    _updateNowBut.layer.shadowRadius = 5.0;
+    // 为了使阴影在按钮外部可见,需要设置masksToBounds为NO
+    // 注意:如果父视图设置了masksToBounds为YES,那么阴影可能仍然不可见
+    _updateNowBut.layer.masksToBounds = NO;
+    
+    [_updateNowBut 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);
     }];
     
     
-    UIButton *colseBut = [[UIButton alloc] init];
-    [colseBut setImage:[UIImage imageNamed:@"common_del_white"] forState:UIControlStateNormal];
-    [colseBut addTarget:self action:@selector(colseFun) forControlEvents:UIControlEventTouchUpInside];
-    [self addSubview:colseBut];
-    
-    [colseBut mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.height.mas_equalTo(48);
-        make.width.mas_equalTo(48.f);
-        make.centerX.mas_equalTo(0.f);
-        make.top.mas_equalTo(_whiteBgView.mas_bottom).offset(30);
-    }];
+//    UIButton *colseBut = [[UIButton alloc] init];
+//    [colseBut setImage:[UIImage imageNamed:@"common_del_white"] forState:UIControlStateNormal];
+//    [colseBut addTarget:self action:@selector(colseFun) forControlEvents:UIControlEventTouchUpInside];
+//    [self addSubview:colseBut];
+//    
+//    [colseBut mas_makeConstraints:^(MASConstraintMaker *make) {
+//        make.height.mas_equalTo(48);
+//        make.width.mas_equalTo(48.f);
+//        make.centerX.mas_equalTo(0.f);
+//        make.top.mas_equalTo(_whiteBgView.mas_bottom).offset(30);
+//    }];
+
 }
 
+- (void)didClickUpdateFun
+{
+    if(_didClickUpdateNowFun){
+        _didClickUpdateNowFun();
+    }
+}
 
 - (void)colseFun
 {
     NSString *datestr = [iTools getNowDateString];
     [HWDataManager setObjectWithKey:Const_did_show_image_version_date value:datestr];
     [self removeFromSuperview];
+
+    if(_didClickCloseFun){
+        _didClickCloseFun();
+    }
+}
+
+#pragma mark ota 镜像升级变化
+//状态 -1=没有更新 0=下载中 1=下载完成 2=点击升级 3=宿主机代理导入容器镜像:进度条展示20% 4=导入容器镜像完成:进度条展示50% 5=宿主机代理创建容器镜像:进度条展示80% 6=容器镜像创建完成:进度条展示100%
+- (void)setStatus:(NSInteger)status{
+    if(status <= 1){
+        //默认是1的UI 不用处理
+        return;
+    }
+    
+    [_whiteBgView mas_updateConstraints:^(MASConstraintMaker *make) {
+        make.height.mas_equalTo(410.f);
+    }];
+    
+    _updateNowBut.userInteractionEnabled = NO;
+    _updateNowBut.layer.masksToBounds = YES;
+    _updateNowBut.layer.shadowColor = [UIColor clearColor].CGColor;
+    _updateNowBut.backgroundColor =  [UIColor hwColor:@"#DADBDC"];
+    _updateNowBut.layer.cornerRadius = 8;
+    
+    CGFloat curProgress = 0.0;
+    if(status == 2){
+        curProgress = 0.0;
+    }
+    else if(status == 3){
+        curProgress = 0.2;
+    }
+    else if(status == 4){
+        curProgress = 0.5;
+    }
+    else if(status == 5){
+        curProgress = 0.8;
+    }
+    else //if(status == 6)
+    {
+        curProgress = 1.0;
+    }
+    
+    _gradientLayer.frame = CGRectMake(0, 0, 268*curProgress, 40);
+    
+    NSString *butNewTitleStr = [[NSString alloc] initWithFormat:@"%@%ld%%",NSLocalizedString(@"image_version_Update_ing",nil),(NSInteger)curProgress*100];
+    [_updateNowBut setTitle:butNewTitleStr forState:UIControlStateNormal];
+
+    
+    NSString *leftStr = NSLocalizedString(@"image_version_pop_144_tip2_1",nil);
+    NSString *rightStr = NSLocalizedString(@"image_version_pop_144_tip2_2",nil);
+    
+    NSString *totalStr = [[NSString alloc] initWithFormat:@"%@%@",leftStr,rightStr];
+    
+    NSMutableAttributedString *noteStr = [[NSMutableAttributedString alloc] initWithString:totalStr];
+    
+    NSRange redRange = NSMakeRange([totalStr rangeOfString:rightStr].location, [totalStr rangeOfString:rightStr].length);
+    [noteStr addAttribute:NSForegroundColorAttributeName value:[UIColor hwColor:@"#FF2828" alpha:1.0] range:redRange];
+    //[noteStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:15.0] range:redRange];
+    // 设置行间距
+    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
+    [paragraphStyle setLineSpacing:5];        //设置行间距
+    
+    [noteStr addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [totalStr  length])];
+    
+    _tip1Lab.attributedText = noteStr;
+    
+    
+
 }
 
 @end

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

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

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

@@ -0,0 +1,111 @@
+//
+//  imageVersionUpdateDoneView.m
+//  双子星云手机
+//
+//  Created by xd h on 2024/12/27.
+//
+
+#import "imageVersionUpdateDoneView.h"
+
+@implementation imageVersionUpdateDoneView
+
+- (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(289.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:@"imageVersionDoneTip"];
+    [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_suc_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;
+    [topImage 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.top.equalTo(topImage.mas_bottom).offset(20);
+    }];
+    
+    
+    
+    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
+

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

@@ -37,6 +37,8 @@
 #import "audioPlayingView.h"
 #import "DFPlayer.h"
 #import "queryShareReportMarkModel.h"
+#import "UpgradeInfoModel.h"
+#import "imageVersionUpdateDoneView.h"
 
 @interface NASViewController ()<UITableViewDelegate,UITableViewDataSource>
 {
@@ -47,8 +49,9 @@
     BOOL hadUploadTaskType;
     BOOL hadDownloadTaskType;
     
-    BOOL didGetSysInfoType;//是否收到过系统信息用在---用来判断是否要走弹框流程
     NSInteger tryLinkNum;
+    
+    imageVersionRenewTipView * RenewTipView;
 }
 @property (nonatomic,strong)UITableView*tableView;
 
@@ -58,6 +61,7 @@
 
 @property (nonatomic,strong)NASLastFileView*NASLastFileV;
 @property (nonatomic,strong) NSMutableArray *lastFileDataArr;
+@property (nonatomic,strong)UpgradeInfoModel*otaUpgradeInfoModel;
 @end
 
 @implementation NASViewController
@@ -70,7 +74,6 @@
     
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getExtraFilesDoneFun:)  name:getExtraFilesDoneNotification  object:nil];
     
-    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getCouldPhoneSysInfoFun:)  name:getCouldPhoneSysInfoNotification  object:nil];
     
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidBecomeActive:)  name:UIApplicationDidBecomeActiveNotification  object:nil];
     
@@ -672,24 +675,6 @@
     }
 }
 
-#pragma mark 获取到云机系统相关基本信息
-- (void)getCouldPhoneSysInfoFun:(NSNotification*)not
-{//弹框流程 优先级:强制盒子更新弹窗 > APP版本更新弹窗 > 新手引导弹窗 > 通知公告弹窗
-    
-    if(didGetSysInfoType){//弹框流程已经走过
-        return;
-    }
-    
-    didGetSysInfoType = YES;
-    
-    if(ksharedAppDelegate.isNeedShowImageNewType){//强制盒子更新弹窗
-        mainBlock(^{
-            [self showImageViewRenewTipViewFun];
-        });
-        
-    }
-}
-
 - (void)viewWillAppear:(BOOL)animated{
     [super viewWillAppear:animated];
     [self getLastFileDataFun];
@@ -921,13 +906,69 @@
         return;
     }
     
-    //2. 强制盒子更新弹窗
-    if(!didGetSysInfoType){
-        [[webRtcManager shareManager] getSysInfoFun];
-    }
+    // 强制盒子更新弹窗
+    [self checkUpgradeInfoFun];
     
-    //3. APP版本更新弹窗
-    [self checkVersionFun];
+}
+
+#pragma mark 弹框流程 1 检测盒子镜像更新弹窗->1.4.4改为从服务器请求
+- (void)checkUpgradeInfoFun
+{
+
+    NSMutableDictionary *paraDict = [NSMutableDictionary dictionary];
+    [paraDict setValue:@"ota" forKey:@"type"];
+    
+    KWeakSelf
+    [[netWorkManager shareInstance] CommonPostCallBackCode:queryUpgradeInfo Parameters:paraDict success:^(id  _Nonnull responseObject) {
+        
+        UpgradeInfoModel *model = [[UpgradeInfoModel alloc] initWithDictionary:responseObject error:nil];
+
+       if (model && model.status == 0) {
+           weakSelf.otaUpgradeInfoModel = model;
+           [weakSelf handelUpgradeInfoFun];
+       }
+       else
+       {
+           //2. APP版本更新弹窗
+           [weakSelf checkVersionFun];
+       }
+
+    } failure:^(NSError * _Nonnull error) {
+        KWeakSelf
+        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+            [weakSelf checkUpgradeInfoFun];
+        });
+    }];
+}
+
+#pragma mark 弹框流程 1 强制盒子更新弹窗
+- (void)handelUpgradeInfoFun
+{
+    if(self.otaUpgradeInfoModel.data.status < 1){  //-1=没有更新 0=下载中
+        //2. APP版本更新弹窗
+        [self checkVersionFun];
+    }
+    else{
+        
+        KWeakSelf
+        if(self.otaUpgradeInfoModel.data.status < 6){
+            [self showImageViewRenewTipViewFun];
+            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(30 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                [weakSelf checkUpgradeInfoFun];
+            });
+        }
+        else{//升级完成
+            if(RenewTipView){
+                [self showImageViewRenewTipViewFun];
+                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                    [weakSelf OTAUpdateDoneFun];
+                });
+            }
+            else{
+                [self OTAUpdateDoneFun];
+            }
+        }
+    }
 }
 
 #pragma mark 弹框流程 1 强制盒子更新弹窗
@@ -944,11 +985,104 @@
         return;
     }
     
-    imageVersionRenewTipView * RenewTipView = [[imageVersionRenewTipView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_W, SCREEN_H)];
+    if(RenewTipView){
+        RenewTipView.status = _otaUpgradeInfoModel.data.status;
+        return;
+    }
+    
+    RenewTipView = [[imageVersionRenewTipView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_W, SCREEN_H)];
     [ksharedAppDelegate.window addSubview:RenewTipView];
+    RenewTipView.status = 2;//_otaUpgradeInfoModel.data.status;
+    
     //[self.view bringSubviewToFront:RenewTipView];
+    
+    KWeakSelf
+    RenewTipView.didClickUpdateNowFun = ^{
+        [weakSelf otaUpdateNowFun];
+    };
+    
+    RenewTipView.didClickCloseFun = ^{
+        [weakSelf didClickRenewTipViewCloseFun];
+    };
+}
+
+- (void)didClickRenewTipViewCloseFun{
+    RenewTipView = nil;
 }
 
+#pragma mark 弹框流程 1 盒子更新弹窗 点击立即更新
+- (void)otaUpdateNowFun
+{
+
+    NSMutableDictionary *paraDict = [NSMutableDictionary dictionary];
+    [paraDict setValue:@"ota" forKey:@"type"];
+    [paraDict setValue:@2 forKey:@"status"];
+    
+    KWeakSelf
+    [[netWorkManager shareInstance] CommonPostCallBackCode:upgradeDetailAdd Parameters:paraDict success:^(id  _Nonnull responseObject) {
+        
+        SuperModel *model = [[SuperModel alloc] initWithDictionary:responseObject error:nil];
+
+       if (model && model.status == 0) {
+           [weakSelf checkUpgradeInfoFun];
+       }
+       else
+       {
+
+           
+       }
+
+    } failure:^(NSError * _Nonnull error) {
+        
+        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+            [weakSelf otaUpdateNowFun];
+        });
+    }];
+}
+
+#pragma mark 弹框流程 1 OTA升级完成
+- (void)OTAUpdateDoneFun
+{
+    [RenewTipView removeFromSuperview];
+    RenewTipView = nil;
+    
+    //显示OTA完成页面
+    imageVersionUpdateDoneView* curView = [[imageVersionUpdateDoneView 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
+{
+
+    NSMutableDictionary *paraDict = [NSMutableDictionary dictionary];
+    [paraDict setValue:@"ota" forKey:@"type"];
+    [paraDict setValue:@1 forKey:@"popButton"];
+    
+    KWeakSelf
+    [[netWorkManager shareInstance] CommonPostCallBackCode:updateOTAPopButton Parameters:paraDict success:^(id  _Nonnull responseObject) {
+        
+        SuperModel *model = [[SuperModel alloc] initWithDictionary:responseObject error:nil];
+
+       if (model && model.status == 0) {
+       }
+       else
+       {
+       }
+
+    } failure:^(NSError * _Nonnull error) {
+        
+    }];
+}
+
+
 #pragma mark 弹框流程 2 APP版本更新弹窗
 - (void)checkVersionFun
 {

+ 1 - 1
创维盒子/双子星云手机/en.lproj/Localizable.strings

@@ -305,7 +305,7 @@
 "common_save_fail"   = "Saving failed";
 "player_Tip_ios_no_wifi_Sync"   = "The local parameters have been synchronized.(iOS can't be synchronized.)";
 "input_8_secret_key"   = "Please enter an 8-digit key";
-"image_version_pop_title"   = "New version \n Please experience it first";
+"image_version_pop_title"   = "New version";
 "image_version_pop_tip1"   = "The box device hasn't been updated to the latest version. Please unplug and plug in the power to update. The cloud machine will be unavailable during the update";
 "image_version_pop_tip2"   = "Do not operate during device update, estimated to take 15 minutes";
 "tv_p2p_ing"   = "Casting";

+ 25 - 0
创维盒子/双子星云手机/netWork/newWorkInterface.h

@@ -156,4 +156,29 @@
  
  返回数据模型 */
 #define webrctLogAdd  @"/box/webrtc/log/add"
+
+/*23 查询升级流程进度接口  POST请求
+输入参数
+ type 类型 安卓=apk IOS=ios TV=app 镜像=ota 脚本=robox 宿主机代理=vagent Windows=windows Mac=mac
+ 
+ 返回数据模型 */
+#define queryUpgradeInfo  @"/box/upgrade/info/detail/queryUpgradeInfo"
+
+/*24 升级流程上报  POST请求
+输入参数
+ status  2=点击升级
+ type 类型 安卓=apk IOS=ios TV=app 镜像=ota 脚本=robox 宿主机代理=vagent Windows=windows Mac=mac
+ 
+ 返回数据模型 */
+#define upgradeDetailAdd  @"/box/upgrade/info/detail/add"
+
+/*25 关闭弹窗  POST请求
+输入参数
+ popButton  1=关闭弹窗
+ type 类型 安卓=apk IOS=ios TV=app 镜像=ota 脚本=robox 宿主机代理=vagent Windows=windows Mac=mac
+ 
+ 返回数据模型 */
+#define updateOTAPopButton  @"/box/upgrade/info/detail/updatePopButton"
+
+
 #endif /* newWorkInterface_h */

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

@@ -300,7 +300,7 @@
 "common_save_fail"   = "保存失败";
 "player_Tip_ios_no_wifi_Sync"   = "本机参数已同步完成,IOS无法同步wifi";
 "input_8_secret_key"   = "请输入8位密钥";
-"image_version_pop_title"   = "新版本\n请先体验";
+"image_version_pop_title"   = "发现新版本";
 "image_version_pop_tip1"   = "盒子设备目前还未更新到最新版本 \n 请拔插盒子电源更新设备。更新期间将无法使用云机";
 "image_version_pop_tip2"   = "设备更新期间请勿操作,预计需15分钟";
 "tv_p2p_ing"   = "正在投屏中";
@@ -538,7 +538,7 @@
 "NAS_cloudPhone_Space"   = "云手机空间";
 "NAS_disk_Total_title"   = "总空间";
 "NAS_disk_used_Space"   = "已使用";
-"NAS_disk_unuse_Space"   = "可用容量";
+"NAS_disk_unuse_Space"   = "可用空间";
 "NAS_common_used"   = "常用功能";
 "NAS_last_file"   = "最近文件";
 "NAS_bottom_tip"   = "已经到底了";
@@ -617,7 +617,7 @@
 "backups_get_file_error_too_many" = "获取本机图片或者视频错误过多";
 "common_copy" = "复制";
 "sn_copy_suc" = "SN复制成功";
-"disk_space_not_tip_for_95"   = "可用容量已达到95%,继续上传会导致云机无法操";
+"disk_space_not_tip_for_95"   = "已用空间已达到95%,继续上传会导致云机无法操";
 "disk_space_not_tip_for_95_fail_tip"   = "磁盘空间不足";
 "enable_photo_permission"   = "开启照片权限";
 "enable_photo_permission_tip"   = "照片权限被禁用,允许访问所有照片可以享受更好的上传服务,过程加密安全请放心。";
@@ -640,3 +640,10 @@
 
 //1.4.4
 "cloudPhone_player_set_resolution"   = "分辨率";
+"image_version_pop_144_tip1"   = "盒子设备目前未升级到最新版本,请升级设备。升级可能需要较长时间,请谨慎操作!";
+"image_version_pop_144_tip2_1"   = "升级过程需要较长时间,请在此期间不要关闭设备或拔掉电源,否则可能会导致系统损坏。升级完成后,盒子设备会自动重启,电视屏幕上也会显示重启操作,这是正常现象。";
+"image_version_pop_144_tip2_2"   = "若超过15分钟仍未完成升级,请截取当前的升级提示窗口并联系客服!";
+"image_version_Update_Now"   = "立即更新";
+"image_version_Update_ing"   = "正在升级中…";
+"image_version_update_suc_title"   = "盒子设备升级成功";
+"common_I_know" = "我知道了";

+ 3 - 3
创维盒子/双子星云手机/zh-Hant.lproj/Localizable.strings

@@ -304,7 +304,7 @@
 "common_save_fail"   = "保存失敗";
 "player_Tip_ios_no_wifi_Sync"   = "本機參數已同步完成,IOS無法同步wifi";
 "input_8_secret_key"   = "請輸入8位密鑰";
-"image_version_pop_title"   = "新版本\n請先體驗";
+"image_version_pop_title"   = "發現新版本";
 "image_version_pop_tip1"   = "盒子設備現時還未更新到最新版本\n請拔插盒子電源以更新設備。更新期間將無法使用雲機";
 "image_version_pop_tip2"   = "設備更新期間請勿操作,預計需15分鐘";
 "tv_p2p_ing"   = "正在投屏中";
@@ -543,7 +543,7 @@
 "NAS_cloudPhone_Space"   = "雲手機空間";
 "NAS_disk_Total_title"   = "總空間";
 "NAS_disk_used_Space"   = "已使用";
-"NAS_disk_unuse_Space"   = "可用容量";
+"NAS_disk_unuse_Space"   = "可用空間";
 "NAS_common_used"   = "常用功能";
 "NAS_last_file"   = "最近文件";
 "NAS_bottom_tip"   = "已經到底了";
@@ -622,7 +622,7 @@
 "backups_get_file_error_too_many" = "獲取本機圖片或者視頻錯誤過多";
 "common_copy" = "複製";
 "sn_copy_suc" = "SN複製成功";
-"disk_space_not_tip_for_95"   = "可用容量已達到95%,繼續上傳會導致雲機無法操作";
+"disk_space_not_tip_for_95"   = "已用空間已達到95%,繼續上傳會導致雲機無法操作";
 "disk_space_not_tip_for_95_fail_tip"   = "磁盤空間不足";
 "enable_photo_permission"   = "開啟照片權限";
 "enable_photo_permission_tip"   = "照片權限被禁用,允許訪問所有照片可以享受更好的上傳服務,過程加密安全請放心。";