Переглянути джерело

1.新需求:通过公告框

huangxiaodong 1 рік тому
батько
коміт
8893239d0e

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

@@ -259,6 +259,14 @@
 		6B7272602B0E240F00C03F87 /* uploadFileRecordTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B72725E2B0E240F00C03F87 /* uploadFileRecordTableView.m */; };
 		6B7B65582AD9227700BE8CB3 /* PlayerViewController+otherDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B7B65562AD9227700BE8CB3 /* PlayerViewController+otherDelegate.h */; };
 		6B7B65592AD9227700BE8CB3 /* PlayerViewController+otherDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6B7B65572AD9227700BE8CB3 /* PlayerViewController+otherDelegate.mm */; };
+		6B8661D62BBA53B600B19846 /* noticeModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B8661D52BBA53B600B19846 /* noticeModel.m */; };
+		6B8661D72BBA53B600B19846 /* noticeModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B8661D42BBA53B600B19846 /* noticeModel.h */; };
+		6B8661D82BBA53B600B19846 /* noticeModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B8661D42BBA53B600B19846 /* noticeModel.h */; };
+		6B8661D92BBA53B600B19846 /* noticeModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B8661D52BBA53B600B19846 /* noticeModel.m */; };
+		6B8661DC2BBA578600B19846 /* HaveNoticeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B8661DB2BBA578600B19846 /* HaveNoticeView.m */; };
+		6B8661DD2BBA578600B19846 /* HaveNoticeView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B8661DA2BBA578600B19846 /* HaveNoticeView.h */; };
+		6B8661DE2BBA578600B19846 /* HaveNoticeView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B8661DA2BBA578600B19846 /* HaveNoticeView.h */; };
+		6B8661DF2BBA578600B19846 /* HaveNoticeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B8661DB2BBA578600B19846 /* HaveNoticeView.m */; };
 		6B8FF6B92B04E19600800981 /* uploadFileRecordheadView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B8FF6B72B04E19600800981 /* uploadFileRecordheadView.h */; };
 		6B8FF6BA2B04E19600800981 /* uploadFileRecordheadView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B8FF6B82B04E19600800981 /* uploadFileRecordheadView.m */; };
 		6B8FF6C12B05B24D00800981 /* uploadFileRecordCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B8FF6BF2B05B24D00800981 /* uploadFileRecordCell.h */; };
@@ -630,6 +638,10 @@
 		6BD508052B9576A4006E7CB0 /* planet.1ali_3ry_peer in Resources */ = {isa = PBXBuildFile; fileRef = 6BF0F3D72AD3DB3C000AA133 /* planet.1ali_3ry_peer */; };
 		6BD508062B9576A4006E7CB0 /* HWHistoryViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1893CDE22A178FE70074B92F /* HWHistoryViewController.xib */; };
 		6BD508072B9576A4006E7CB0 /* agreement.txt in Resources */ = {isa = PBXBuildFile; fileRef = A031DD8127EC820400909527 /* agreement.txt */; };
+		6BEA31752BB65606005167AA /* clearCacheAlretViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BEA31732BB65606005167AA /* clearCacheAlretViewController.h */; };
+		6BEA31762BB65606005167AA /* clearCacheAlretViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BEA31742BB65606005167AA /* clearCacheAlretViewController.m */; };
+		6BEA31772BB65606005167AA /* clearCacheAlretViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BEA31742BB65606005167AA /* clearCacheAlretViewController.m */; };
+		6BEA31782BB65606005167AA /* clearCacheAlretViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BEA31732BB65606005167AA /* clearCacheAlretViewController.h */; };
 		6BED888A2B4E819000F76DDC /* downloadFileRecordTableView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BED88882B4E819000F76DDC /* downloadFileRecordTableView.h */; };
 		6BED888B2B4E819000F76DDC /* downloadFileRecordTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BED88892B4E819000F76DDC /* downloadFileRecordTableView.m */; };
 		6BED888E2B4E901900F76DDC /* downloadFileRecordCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BED888C2B4E901900F76DDC /* downloadFileRecordCell.h */; };
@@ -1083,6 +1095,10 @@
 		6B7B656E2ADEAE3D00BE8CB3 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/HWAboutViewController.strings; sourceTree = "<group>"; };
 		6B7B656F2ADEAE3D00BE8CB3 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/HWHistoryViewController.strings; sourceTree = "<group>"; };
 		6B7B65702ADEAE3D00BE8CB3 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = "<group>"; };
+		6B8661D42BBA53B600B19846 /* noticeModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = noticeModel.h; sourceTree = "<group>"; };
+		6B8661D52BBA53B600B19846 /* noticeModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = noticeModel.m; sourceTree = "<group>"; };
+		6B8661DA2BBA578600B19846 /* HaveNoticeView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HaveNoticeView.h; sourceTree = "<group>"; };
+		6B8661DB2BBA578600B19846 /* HaveNoticeView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HaveNoticeView.m; sourceTree = "<group>"; };
 		6B8FF6B72B04E19600800981 /* uploadFileRecordheadView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = uploadFileRecordheadView.h; sourceTree = "<group>"; };
 		6B8FF6B82B04E19600800981 /* uploadFileRecordheadView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = uploadFileRecordheadView.m; sourceTree = "<group>"; };
 		6B8FF6BF2B05B24D00800981 /* uploadFileRecordCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = uploadFileRecordCell.h; sourceTree = "<group>"; };
@@ -1096,6 +1112,8 @@
 		6BBB35E12AE935C000E4A59B /* DDYLanguageTool.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDYLanguageTool.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>"; };
+		6BEA31732BB65606005167AA /* clearCacheAlretViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = clearCacheAlretViewController.h; sourceTree = "<group>"; };
+		6BEA31742BB65606005167AA /* clearCacheAlretViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = clearCacheAlretViewController.m; sourceTree = "<group>"; };
 		6BED88882B4E819000F76DDC /* downloadFileRecordTableView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = downloadFileRecordTableView.h; sourceTree = "<group>"; };
 		6BED88892B4E819000F76DDC /* downloadFileRecordTableView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = downloadFileRecordTableView.m; sourceTree = "<group>"; };
 		6BED888C2B4E901900F76DDC /* downloadFileRecordCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = downloadFileRecordCell.h; sourceTree = "<group>"; };
@@ -1367,6 +1385,8 @@
 				6B1CC2CD2B6B6D6B00AD4217 /* commandSendCheckModel.m */,
 				6B3A4B132B6F69A500F74679 /* cloudPhoneCommonModel.h */,
 				6B3A4B142B6F69A500F74679 /* cloudPhoneCommonModel.m */,
+				6B8661D42BBA53B600B19846 /* noticeModel.h */,
+				6B8661D52BBA53B600B19846 /* noticeModel.m */,
 			);
 			path = Model;
 			sourceTree = "<group>";
@@ -1615,6 +1635,8 @@
 				184C8AD42A949D5900F26650 /* AboutViewController.m */,
 				184C8AD82A949DAC00F26650 /* HaveNewVersionView.h */,
 				184C8AD72A949DAC00F26650 /* HaveNewVersionView.m */,
+				6B8661DA2BBA578600B19846 /* HaveNoticeView.h */,
+				6B8661DB2BBA578600B19846 /* HaveNoticeView.m */,
 				184C8ADB2A949DBD00F26650 /* HWVersionModel.h */,
 				184C8ADC2A949DBD00F26650 /* HWVersionModel.m */,
 			);
@@ -1638,6 +1660,7 @@
 		18C4754C2A8E0D9B006129C0 /* Set */ = {
 			isa = PBXGroup;
 			children = (
+				6BEA31722BB654F4005167AA /* clearCache */,
 				6B21708E2B15BAC300656670 /* privacyMode */,
 				6B05815D2AFCD0A900D37290 /* uploadFile */,
 				6B0581582AFC84EE00D37290 /* view */,
@@ -1936,6 +1959,15 @@
 			path = DDYLanguageTool;
 			sourceTree = "<group>";
 		};
+		6BEA31722BB654F4005167AA /* clearCache */ = {
+			isa = PBXGroup;
+			children = (
+				6BEA31732BB65606005167AA /* clearCacheAlretViewController.h */,
+				6BEA31742BB65606005167AA /* clearCacheAlretViewController.m */,
+			);
+			path = clearCache;
+			sourceTree = "<group>";
+		};
 		6BF0F3CD2AD391BE000AA133 /* connectDeviceManager */ = {
 			isa = PBXGroup;
 			children = (
@@ -2354,9 +2386,11 @@
 				184C8ADA2A949DAC00F26650 /* HaveNewVersionView.h in Headers */,
 				6BBB35DD2AE76AD800E4A59B /* AudioSessionObject.h in Headers */,
 				6B0582782AFF7C6D00D37290 /* TZAssetModel+imageData.h in Headers */,
+				6B8661DD2BBA578600B19846 /* HaveNoticeView.h in Headers */,
 				6B5D403F2B4CE40F000965CF /* downloadManager.h in Headers */,
 				6B5D40372B4BEEF8000965CF /* downloadThumbnailManager.h in Headers */,
 				6B0582802B01C67400D37290 /* uploadFileRecordViewController.h in Headers */,
+				6BEA31752BB65606005167AA /* clearCacheAlretViewController.h in Headers */,
 				183AE6D12A8CA98C00B11CB0 /* CloudPhoneAPI.h in Headers */,
 				1868201D2AB97BE1005702A6 /* TipsQRCodeViewController.h in Headers */,
 				6B5B60602B3BC8DE009A2AE2 /* fileTransferPopView.h in Headers */,
@@ -2414,6 +2448,7 @@
 				6B72724B2B0AF59200C03F87 /* uploadFileRecordTableViewHeadView.h in Headers */,
 				6B72725F2B0E240F00C03F87 /* uploadFileRecordTableView.h in Headers */,
 				181E84F72A8F451D00292B96 /* MineViewCell.h in Headers */,
+				6B8661D72BBA53B600B19846 /* noticeModel.h in Headers */,
 				6B8FF6C12B05B24D00800981 /* uploadFileRecordCell.h in Headers */,
 				6B45C5082B5FA2DD007E6911 /* diskListTableCell.h in Headers */,
 				183AE6D42A8CAFAE00B11CB0 /* UIView+View.h in Headers */,
@@ -2477,9 +2512,11 @@
 				6BD506A32B9576A4006E7CB0 /* HaveNewVersionView.h in Headers */,
 				6BD506A42B9576A4006E7CB0 /* AudioSessionObject.h in Headers */,
 				6BD506A52B9576A4006E7CB0 /* TZAssetModel+imageData.h in Headers */,
+				6B8661DE2BBA578600B19846 /* HaveNoticeView.h in Headers */,
 				6BD506A62B9576A4006E7CB0 /* downloadManager.h in Headers */,
 				6BD506A72B9576A4006E7CB0 /* downloadThumbnailManager.h in Headers */,
 				6BD506A82B9576A4006E7CB0 /* uploadFileRecordViewController.h in Headers */,
+				6BEA31782BB65606005167AA /* clearCacheAlretViewController.h in Headers */,
 				6BD506A92B9576A4006E7CB0 /* CloudPhoneAPI.h in Headers */,
 				6BD506AA2B9576A4006E7CB0 /* TipsQRCodeViewController.h in Headers */,
 				6BD506AB2B9576A4006E7CB0 /* fileTransferPopView.h in Headers */,
@@ -2537,6 +2574,7 @@
 				6BD506DF2B9576A4006E7CB0 /* uploadFileRecordTableViewHeadView.h in Headers */,
 				6BD506E02B9576A4006E7CB0 /* uploadFileRecordTableView.h in Headers */,
 				6BD506E12B9576A4006E7CB0 /* MineViewCell.h in Headers */,
+				6B8661D82BBA53B600B19846 /* noticeModel.h in Headers */,
 				6BD506E22B9576A4006E7CB0 /* uploadFileRecordCell.h in Headers */,
 				6BD506E32B9576A4006E7CB0 /* diskListTableCell.h in Headers */,
 				6BD506E42B9576A4006E7CB0 /* UIView+View.h in Headers */,
@@ -2962,6 +3000,7 @@
 				6BD507142B9576A4006E7CB0 /* NSString+FloatHandle.m in Sources */,
 				6BD507152B9576A4006E7CB0 /* FMDatabase.m in Sources */,
 				6BD507162B9576A4006E7CB0 /* diskListTableView.m in Sources */,
+				6B8661D92BBA53B600B19846 /* noticeModel.m in Sources */,
 				6BD507172B9576A4006E7CB0 /* fileTransferPopView.m in Sources */,
 				6BD507182B9576A4006E7CB0 /* Reachability.m in Sources */,
 				6BD507192B9576A4006E7CB0 /* ModifyPWDFirstViewController.m in Sources */,
@@ -2992,6 +3031,7 @@
 				6BD507322B9576A4006E7CB0 /* PlayerViewController+upLoadFile.m in Sources */,
 				6BD507332B9576A4006E7CB0 /* Calculator.m in Sources */,
 				6BD507342B9576A4006E7CB0 /* HWWebViewController.m in Sources */,
+				6B8661DF2BBA578600B19846 /* HaveNoticeView.m in Sources */,
 				6BD507352B9576A4006E7CB0 /* HWBookmarkListCell.m in Sources */,
 				6BD507362B9576A4006E7CB0 /* downLoadPreViewCell.m in Sources */,
 				6BD507372B9576A4006E7CB0 /* JSONModelError.m in Sources */,
@@ -3133,6 +3173,7 @@
 				6BD507BF2B9576A4006E7CB0 /* MySetViewController.m in Sources */,
 				6BD507C02B9576A4006E7CB0 /* downloadFileBottomView.m in Sources */,
 				6BD507C12B9576A4006E7CB0 /* FLAnimatedImageView.m in Sources */,
+				6BEA31772BB65606005167AA /* clearCacheAlretViewController.m in Sources */,
 				6BD507C22B9576A4006E7CB0 /* DeviceThirdIdModel.m in Sources */,
 				6BD507C32B9576A4006E7CB0 /* HidenMaskSetViewController.m in Sources */,
 				6BD507C42B9576A4006E7CB0 /* filePathCreatTableViewCell.m in Sources */,
@@ -3170,6 +3211,7 @@
 				18E557232A3C5D75005CC84B /* NSString+FloatHandle.m in Sources */,
 				A08A950227E9A4E400C544BB /* FMDatabase.m in Sources */,
 				6B45C5052B5F9CEC007E6911 /* diskListTableView.m in Sources */,
+				6B8661D62BBA53B600B19846 /* noticeModel.m in Sources */,
 				6B5B60612B3BC8DE009A2AE2 /* fileTransferPopView.m in Sources */,
 				6BF52C962AD5546500A617DB /* Reachability.m in Sources */,
 				18F9CAFB2ABD35C4003FF71A /* ModifyPWDFirstViewController.m in Sources */,
@@ -3200,6 +3242,7 @@
 				6B1FBD332B455DBD00926382 /* PlayerViewController+upLoadFile.m in Sources */,
 				18E557212A3C5D75005CC84B /* Calculator.m in Sources */,
 				A003F6ED27D84D9C00715CBF /* HWWebViewController.m in Sources */,
+				6B8661DC2BBA578600B19846 /* HaveNoticeView.m in Sources */,
 				A031DD6D27EC1FCD00909527 /* HWBookmarkListCell.m in Sources */,
 				6B5D40302B4BCBC1000965CF /* downLoadPreViewCell.m in Sources */,
 				183AE6052A89CE3C00B11CB0 /* JSONModelError.m in Sources */,
@@ -3341,6 +3384,7 @@
 				18C475502A8E0DB5006129C0 /* MySetViewController.m in Sources */,
 				6B5D40342B4BE358000965CF /* downloadFileBottomView.m in Sources */,
 				A003F6C127D841FF00715CBF /* FLAnimatedImageView.m in Sources */,
+				6BEA31762BB65606005167AA /* clearCacheAlretViewController.m in Sources */,
 				6BF0F3D62AD3937B000AA133 /* DeviceThirdIdModel.m in Sources */,
 				184C8ACD2A94557200F26650 /* HidenMaskSetViewController.m in Sources */,
 				6B5B607B2B3E71B6009A2AE2 /* filePathCreatTableViewCell.m in Sources */,
@@ -3786,7 +3830,7 @@
 				ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
 				CODE_SIGN_IDENTITY = "Apple Development";
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 48;
+				CURRENT_PROJECT_VERSION = 1;
 				DEVELOPMENT_TEAM = 6SV76WTUUR;
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",
@@ -3842,7 +3886,7 @@
 					"$(PROJECT_DIR)/双子星云手机/Vendor/UDP/RayProxy",
 					"$(PROJECT_DIR)/RayProxy",
 				);
-				MARKETING_VERSION = 1.3.1;
+				MARKETING_VERSION = 1.3.3;
 				PRODUCT_BUNDLE_IDENTIFIER = com.armcloud.privacy.x.box;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PROVISIONING_PROFILE_SPECIFIER = "";
@@ -3863,7 +3907,7 @@
 				ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
 				CODE_SIGN_IDENTITY = "Apple Development";
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 48;
+				CURRENT_PROJECT_VERSION = 1;
 				DEVELOPMENT_TEAM = 6SV76WTUUR;
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",
@@ -3919,7 +3963,7 @@
 					"$(PROJECT_DIR)/双子星云手机/Vendor/UDP/RayProxy",
 					"$(PROJECT_DIR)/RayProxy",
 				);
-				MARKETING_VERSION = 1.3.1;
+				MARKETING_VERSION = 1.3.3;
 				PRODUCT_BUNDLE_IDENTIFIER = com.armcloud.privacy.x.box;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PROVISIONING_PROFILE_SPECIFIER = "";

+ 3 - 0
创维盒子/双子星云手机/AppDelegate/Config/Const.h

@@ -134,6 +134,9 @@ UIKIT_EXTERN NSString *const Const_default_upload_path;
 /*标记默认是否显示秘钥*/
 UIKIT_EXTERN NSString *const Const_need_show_Secret_key;
 
+/*标记公告已显示ID*/
+UIKIT_EXTERN NSString *const Const_did_show_Notice_ID;
+
 @end
 
 NS_ASSUME_NONNULL_END

+ 3 - 0
创维盒子/双子星云手机/AppDelegate/Config/Const.m

@@ -129,4 +129,7 @@ NSString *const Const_default_upload_path = @"/sdcard/Download/";
 
 /*标记默认是否显示秘钥*/
 NSString *const Const_need_show_Secret_key = @"need_show_Secret_key";
+
+/*标记公告已显示ID*/
+NSString *const Const_did_show_Notice_ID = @"did_show_Notice_ID";;
 @end

+ 2 - 2
创维盒子/双子星云手机/AppDelegate/PrefixHeader.pch

@@ -88,8 +88,8 @@ isBangsScreen; \
 //#define CloudService           @"http://14.18.190.141:11180"
 //#define CloudService           @"http://14.18.190.141:1280"
 //创维盒子 测试地址
-//#define CloudService   @"http://14.18.190.141:1801"
-#define CloudService   @"http://hiboxde.armclouding.com:7780"
+#define CloudService   @"http://14.18.190.141:1801"
+//#define CloudService   @"http://hiboxde.armclouding.com:7780"
 
 
 #define AESCODEKEEYY @"fvO8gAfNSr1tbdQe"

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

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

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


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


+ 3 - 0
创维盒子/双子星云手机/Class/Set/appUpdate/HaveNewVersionView.h

@@ -32,6 +32,9 @@ NS_ASSUME_NONNULL_BEGIN
 
 @property (nonatomic,weak)id <HaveNewVersionViewDelegate> delegate;
 
+//关闭
+@property (nonatomic,copy) void (^closeViewFun)(void);
+
 + (instancetype)shardInstance;
 
 @end

+ 33 - 7
创维盒子/双子星云手机/Class/Set/appUpdate/HaveNewVersionView.m

@@ -37,25 +37,46 @@ static HaveNewVersionView * _instance;
     
     if (self)
     {
-        [self drawAnyView];
+        //[self drawAnyView];
     }
     
     return self;
 }
 
 
+- (void)setVersionModel:(HWVersionModel *)versionModel
+{
+    _versionModel = versionModel;
+    [self drawAnyView];
+}
+
 - (void)drawAnyView
 {
+    if(bgView){
+        [bgView removeFromSuperview];
+    }
+    
     self.tag = 111111;
     [self setBackgroundColor:HW000000Color60];
     
+    NSString *tipStr = _versionModel.versionInfo;
+    
+    CGFloat curHeight = [tipStr boundingRectWithSize:CGSizeMake(300 -40, 1000) options:(NSStringDrawingUsesLineFragmentOrigin) attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14.0]} context:nil].size.height;
+    
+    curHeight += 10;
+    
+    if( (curHeight + 280) >= SCREEN_H){
+        
+        curHeight = SCREEN_H - 280 - 10;
+    }
+    
     bgView = [[UIView alloc] init];
     [bgView setBackgroundColor:[UIColor whiteColor]];
     [bgView.layer setCornerRadius:8.f];
     [self addSubview:bgView];
     
     [bgView mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.height.mas_equalTo(328.f);
+        make.height.mas_equalTo(280.f + curHeight);
         make.width.mas_equalTo(300.f);
         make.centerX.equalTo(self.mas_centerX);
         make.centerY.equalTo(self.mas_centerY);
@@ -75,17 +96,18 @@ static HaveNewVersionView * _instance;
     
     /*提示文字*/
     UILabel *tipsLabel = [[UILabel alloc] init];
-    [tipsLabel setText:NSLocalizedString(@"app_update_new_version_tips",nil)];
+    //[tipsLabel setText:NSLocalizedString(@"app_update_new_version_tips",nil)];
+    [tipsLabel setText:tipStr];
     [tipsLabel setTextColor:HW0A132BColor];
-    [tipsLabel setFont:[UIFont systemFontOfSize:14.f]];
-    [tipsLabel setTextAlignment:(NSTextAlignmentCenter)];
+    [tipsLabel setFont:[UIFont systemFontOfSize:13.f]];
+    //[tipsLabel setTextAlignment:(NSTextAlignmentCenter)];
     [tipsLabel setNumberOfLines:0];
     [bgView addSubview:tipsLabel];
     [tipsLabel mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.top.equalTo(topImageView.mas_bottom).offset(30.f);
+        make.top.equalTo(topImageView.mas_bottom).offset(20.f);
         make.left.mas_equalTo(20);
         make.right.mas_equalTo(-20);
-        make.height.mas_equalTo(60);
+        make.height.mas_equalTo(curHeight);
     }];
     
     /*删除按钮*/
@@ -184,6 +206,10 @@ static HaveNewVersionView * _instance;
     if ([_delegate respondsToSelector:@selector(closeBtnBePressed)]) {
         [_delegate closeBtnBePressed];
     }
+    
+    if(_closeViewFun){
+        _closeViewFun();
+    }
 }
 
 - (void)updateBtnPressed {

+ 27 - 0
创维盒子/双子星云手机/Class/Set/appUpdate/HaveNoticeView.h

@@ -0,0 +1,27 @@
+//
+//  HaveNoticeView.h
+//  双子星云手机
+//
+//  Created by xd h on 2024/4/1.
+//
+
+#import <UIKit/UIKit.h>
+#import "noticeModel.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface HaveNoticeView : UIView
+
+@property (nonatomic,assign)BOOL       isShow; // 是否正在展示中
+@property(nonatomic,strong)noticeModel *curNoticeModel;
+@property (nonatomic,strong)UIView     *bgView;
+
+//关闭
+@property (nonatomic,copy) void (^closeViewFun)(void);
+
++ (instancetype)shardInstance;
+
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 167 - 0
创维盒子/双子星云手机/Class/Set/appUpdate/HaveNoticeView.m

@@ -0,0 +1,167 @@
+//
+//  HaveNoticeView.m
+//  双子星云手机
+//
+//  Created by xd h on 2024/4/1.
+//
+
+#import "HaveNoticeView.h"
+
+@interface HaveNoticeView ()
+
+@end
+
+@implementation HaveNoticeView
+
+static HaveNoticeView * _instance;
+
++ (instancetype)shardInstance {
+    
+    static dispatch_once_t HaveNoticeViewonceToken;
+    dispatch_once(&HaveNoticeViewonceToken, ^{
+        _instance = [[self alloc] init];
+    });
+    return _instance;
+}
+
+- (id)initWithFrame:(CGRect)frame
+{
+    self = [super initWithFrame:frame];
+    
+    if (self)
+    {
+        //[self drawAnyView];
+    }
+    
+    return self;
+}
+
+
+- (void)setCurNoticeModel:(noticeModel *)curNoticeModel
+{
+    _curNoticeModel = curNoticeModel;
+    [self drawAnyView];
+    self.isShow = YES;
+}
+
+- (void)drawAnyView
+{
+    if(_bgView){
+        [_bgView removeFromSuperview];
+    }
+    
+    self.tag = 111112;
+    [self setBackgroundColor:HW000000Color60];
+    
+    NSString *titleStr = _curNoticeModel.data.title;
+    NSString *contentStr = _curNoticeModel.data.content;
+    
+    CGFloat curHeight = [contentStr boundingRectWithSize:CGSizeMake(300 -40, 1000) options:(NSStringDrawingUsesLineFragmentOrigin) attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14.0]} context:nil].size.height;
+    
+    curHeight += 10;
+    
+    if( (curHeight + 200) >= SCREEN_H){
+        
+        curHeight = SCREEN_H - 200 - 10;
+    }
+    
+    _bgView = [[UIView alloc] init];
+    [_bgView setBackgroundColor:[UIColor whiteColor]];
+    [_bgView.layer setCornerRadius:16.f];
+    [self addSubview:_bgView];
+    
+    [_bgView mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.height.mas_equalTo(200.f + curHeight);
+        make.width.mas_equalTo(300.f);
+        make.centerX.equalTo(self.mas_centerX);
+        make.centerY.equalTo(self.mas_centerY);
+    }];
+    
+    // 图片
+    UIImageView *topImageView = [[UIImageView alloc] init];
+    topImageView.image = [UIImage imageNamed:@"noticeTopBg"];
+    topImageView.contentMode = UIViewContentModeScaleAspectFit;
+    [_bgView addSubview:topImageView];
+    [topImageView mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.top.mas_equalTo(-36);
+        make.left.mas_equalTo(_bgView.mas_left);
+        make.right.mas_equalTo(_bgView.mas_right);
+        make.height.mas_equalTo(179);
+    }];
+    
+    /*标题文字*/
+    UILabel *titleLabel = [[UILabel alloc] init];
+    [titleLabel setText:titleStr];
+    [titleLabel setTextColor:[UIColor hwColor:@"#00223E"]];
+    [titleLabel setFont:[UIFont boldSystemFontOfSize:18.0]];
+    [titleLabel setTextAlignment:(NSTextAlignmentCenter)];
+    [_bgView addSubview:titleLabel];
+    [titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.top.mas_equalTo(75);
+        make.left.mas_equalTo(20);
+        make.right.mas_equalTo(-20);
+        make.height.mas_equalTo(20);
+    }];
+    
+    /*提示文字*/
+    UILabel *tipsLabel = [[UILabel alloc] init];
+    //[tipsLabel setText:NSLocalizedString(@"app_update_new_version_tips",nil)];
+    [tipsLabel setText:contentStr];
+    [tipsLabel setTextColor:HW0A132BColor];
+    [tipsLabel setFont:[UIFont systemFontOfSize:14.f]];
+    //[tipsLabel setTextAlignment:(NSTextAlignmentCenter)];
+    [tipsLabel setNumberOfLines:0];
+    [_bgView addSubview:tipsLabel];
+    [tipsLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.top.equalTo(titleLabel.mas_bottom).offset(20.f);
+        make.left.mas_equalTo(20);
+        make.right.mas_equalTo(-20);
+        make.height.mas_equalTo(curHeight);
+    }];
+    
+   
+    
+    UIButton *updatekBtn = [[UIButton alloc] init];
+
+    // gradient
+    CAGradientLayer *gl = [CAGradientLayer layer];
+    gl.frame = CGRectMake(0,0,240.f,40.f);
+    gl.startPoint = CGPointMake(0, 0.5);
+    gl.endPoint = CGPointMake(1, 0.5);
+    gl.colors = @[(__bridge id)[UIColor hwColor:@"#0BDDFD"].CGColor, (__bridge id)HW058DFBColor.CGColor];
+    gl.locations = @[@(0), @(1.0f)];
+    
+    [updatekBtn.layer addSublayer:gl];
+    [updatekBtn addTarget:self action:@selector(deleteBtnPressed) forControlEvents:(UIControlEventTouchUpInside)];
+    [updatekBtn setTitle:NSLocalizedString(@"guide_set_pwd_guide_know",nil) forState:(UIControlStateNormal)];
+    [updatekBtn setTitleColor:[UIColor whiteColor] forState:(UIControlStateNormal)];
+    [updatekBtn.titleLabel setFont:[UIFont systemFontOfSize:16.f]];
+    [updatekBtn.layer setCornerRadius:8.f];
+    updatekBtn.clipsToBounds = YES;
+    [_bgView addSubview:updatekBtn];
+    [updatekBtn mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.centerX.equalTo(_bgView.mas_centerX);
+        make.width.mas_equalTo(240.f);
+        make.bottom.mas_equalTo(-20.f);
+        make.height.mas_equalTo(40.f);
+    }];
+    
+}
+
+- (void)deleteBtnPressed
+{
+    [self removeFromSuperview];
+    self.isShow = NO;
+    
+    if(_curNoticeModel.data.curNoticeId){
+        [HWDataManager setStringWithKey:Const_did_show_Notice_ID value:_curNoticeModel.data.curNoticeId];
+    }
+    
+    if(_closeViewFun){
+        _closeViewFun();
+    }
+}
+
+
+@end
+

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

@@ -0,0 +1,22 @@
+//
+//  noticeModel.h
+//  双子星云手机
+//
+//  Created by xd h on 2024/4/1.
+//
+
+#import "SuperModel.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface noticeDataModel : SuperModel
+@property (nonatomic, copy) NSString * curNoticeId;//
+@property (nonatomic, copy) NSString * title;//
+@property (nonatomic, copy) NSString * content;//类型
+@end
+
+@interface noticeModel : SuperModel
+@property (nonatomic, copy) noticeDataModel * data;//
+@end
+
+NS_ASSUME_NONNULL_END

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

@@ -0,0 +1,20 @@
+//
+//  noticeModel.m
+//  双子星云手机
+//
+//  Created by xd h on 2024/4/1.
+//
+
+#import "noticeModel.h"
+
+@implementation noticeDataModel
++ (JSONKeyMapper *)keyMapper {
+    
+    return [[JSONKeyMapper alloc] initWithDictionary:@{@"id":@"curNoticeId"}];
+    
+}
+@end
+
+@implementation noticeModel
+
+@end

+ 2 - 0
创维盒子/双子星云手机/CloudPlayer/PlayerViewController+otherDelegate.h

@@ -7,6 +7,8 @@
 
 #import "PlayerViewController.h"
 #import "couldPhoneCommonModel.h"
+#import "noticeModel.h"
+#import "HaveNoticeView.h"
 
 NS_ASSUME_NONNULL_BEGIN
 

+ 68 - 0
创维盒子/双子星云手机/CloudPlayer/PlayerViewController+otherDelegate.mm

@@ -84,8 +84,10 @@
     NSString *newVersion = [versionModel.versionNumber stringByReplacingOccurrencesOfString:@"v" withString:@""];  //去掉v
 //    HLog(@"%@---%@", newVersion, currentVersion);
     if ([currentVersion compare:newVersion options:NSNumericSearch] == NSOrderedSame) { // 本地版本号 == 服务器版本号
+        [self getLastNoticeFun];
     }else if ([currentVersion compare:newVersion options:NSNumericSearch] == NSOrderedDescending) { // 本地版本号 > 服务器版本号 (异常情况)
         [HWDataManager setBoolWithKey:Const_haveVersion value:NO];
+        [self getLastNoticeFun];
     }else { // 本地版本号 < 服务器版本号 (有新版本)
         [self showNewVersion:versionModel];
         [HWDataManager setBoolWithKey:Const_haveVersion value:YES];
@@ -149,6 +151,11 @@
             } completion:^(BOOL finished) {
                 KyoLog(@"in animate completion");
     }];
+    
+    KWeakSelf
+    haveNewVersionView.closeViewFun = ^{
+        [weakSelf getLastNoticeFun];
+    };
 }
 
 
@@ -601,4 +608,65 @@
     [lastVC.view addSubview:self->curUSBInsertPopV];
 }
 
+- (void)getLastNoticeFun
+{
+    
+    NSMutableDictionary *paraDict = [NSMutableDictionary dictionary];
+    [paraDict setValue:@"Private-X" forKey:@"productType"];
+    [paraDict setValue:@"ios" forKey:@"type"];
+    
+    [[netWorkManager shareInstance] CommonPostCallBackCode:queryOneNotice Parameters:paraDict success:^(id  _Nonnull responseObject) {
+        
+       noticeModel *model = [[noticeModel alloc] initWithDictionary:responseObject error:nil];
+
+        //test code 
+//        model.status = 0;
+//        model.data = [noticeDataModel new];
+//        model.data.curNoticeId = @"1111";
+//        model.data.title = @"版本升级通知公告";
+//        model.data.content = @"1.偶现挤下线问题";
+        //model.data.content = @"1.偶现挤下线问题\n2.本地网络弹框\n3.访问相册权限之类的系统弹框会触发进入后台流程---显示输入密码框\n4.上传偶现UI刷新异常(数据库是正常的)\n5.偶现上传文件损坏\n6.链接不稳定问题(websock偶尔会不断重连)---代理\n8.进入设置页面读取数据偶现闪退!!!!";
+        
+       if (model.status == 0) {
+           [self showHaveNoticeViewBy:model];
+       }
+       else
+       {
+           
+       }
+
+    } failure:^(NSError * _Nonnull error) {
+       HLog(@"%@", error);
+    }];
+}
+
+- (void)showHaveNoticeViewBy:(noticeModel*)model
+{
+    HaveNoticeView * noticeView = [HaveNoticeView shardInstance];
+    NSString * preShowID = [HWDataManager getStringWithKey:Const_did_show_Notice_ID];
+    
+    if(noticeView.isShow 
+       || !model
+       || [preShowID isEqualToString:model.data.curNoticeId]){
+        return;
+    }
+    
+    noticeView.curNoticeModel = model;
+    
+    [[iTools getKeyWindow] addSubview:noticeView];
+    
+    [noticeView mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.top.mas_equalTo(0);
+        make.left.mas_equalTo(0);
+        make.right.mas_equalTo(0);
+        make.bottom.mas_equalTo(0);
+    }];
+    
+    noticeView.alpha = 0.0;
+    [UIView animateWithDuration:0.3 delay:0.0 options:UIViewAnimationOptionCurveEaseIn animations:^ {
+        noticeView.alpha = 1.0;
+    } completion:^(BOOL finished) {
+    }];
+    
+}
 @end

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

@@ -43,4 +43,11 @@
  返回数据模型 */
 #define updateForceStart  @"/box/updateForceStart"
 
+/*6 查询一条公告数据   POST请求
+输入参数     productType 创维盒子:Private-X 隐私盒子:InsiBox
+输入参数     type  应用类型(安卓=apk IOS=ios TV=app)
+ 
+ 返回数据模型 */
+#define queryOneNotice  @"/box/notice/queryOne"
+
 #endif /* newWorkInterface_h */