Browse Source

【UI替换】主页 - 运营活动模块

lizhe 1 year ago
parent
commit
d615a72a64

+ 35 - 3
PDF Office/PDF Master.xcodeproj/project.pbxproj

@@ -1404,6 +1404,12 @@
 		ADAFDA422AE8F3C400F084BC /* KMAdvertisementTimeStampConversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA412AE8F3C400F084BC /* KMAdvertisementTimeStampConversion.swift */; };
 		ADAFDA432AE8F3C400F084BC /* KMAdvertisementTimeStampConversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA412AE8F3C400F084BC /* KMAdvertisementTimeStampConversion.swift */; };
 		ADAFDA442AE8F3C400F084BC /* KMAdvertisementTimeStampConversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA412AE8F3C400F084BC /* KMAdvertisementTimeStampConversion.swift */; };
+		ADAFDA482AEA7F1300F084BC /* KMAdvertisementShowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA472AEA7F1200F084BC /* KMAdvertisementShowView.swift */; };
+		ADAFDA492AEA7F1300F084BC /* KMAdvertisementShowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA472AEA7F1200F084BC /* KMAdvertisementShowView.swift */; };
+		ADAFDA4A2AEA7F1300F084BC /* KMAdvertisementShowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA472AEA7F1200F084BC /* KMAdvertisementShowView.swift */; };
+		ADAFDA4C2AEA7F2700F084BC /* KMAdvertisementShowView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA4B2AEA7F2700F084BC /* KMAdvertisementShowView.xib */; };
+		ADAFDA4D2AEA7F2700F084BC /* KMAdvertisementShowView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA4B2AEA7F2700F084BC /* KMAdvertisementShowView.xib */; };
+		ADAFDA4E2AEA7F2700F084BC /* KMAdvertisementShowView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA4B2AEA7F2700F084BC /* KMAdvertisementShowView.xib */; };
 		ADB2D6E6294740F30029D2B3 /* KMPrintPaperSetWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB2D6E4294740F30029D2B3 /* KMPrintPaperSetWindowController.swift */; };
 		ADB2D6E7294740F30029D2B3 /* KMPrintPaperSetWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB2D6E4294740F30029D2B3 /* KMPrintPaperSetWindowController.swift */; };
 		ADB2D6E8294740F30029D2B3 /* KMPrintPaperSetWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB2D6E4294740F30029D2B3 /* KMPrintPaperSetWindowController.swift */; };
@@ -3777,6 +3783,8 @@
 		ADAFDA382AE8EEFF00F084BC /* KMAdvertisementRequestServer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KMAdvertisementRequestServer.swift; sourceTree = "<group>"; };
 		ADAFDA3D2AE8F32400F084BC /* KMAdvertisementManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KMAdvertisementManager.swift; sourceTree = "<group>"; };
 		ADAFDA412AE8F3C400F084BC /* KMAdvertisementTimeStampConversion.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KMAdvertisementTimeStampConversion.swift; sourceTree = "<group>"; };
+		ADAFDA472AEA7F1200F084BC /* KMAdvertisementShowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMAdvertisementShowView.swift; sourceTree = "<group>"; };
+		ADAFDA4B2AEA7F2700F084BC /* KMAdvertisementShowView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMAdvertisementShowView.xib; sourceTree = "<group>"; };
 		ADB2D6E4294740F30029D2B3 /* KMPrintPaperSetWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPrintPaperSetWindowController.swift; sourceTree = "<group>"; };
 		ADB2D6E5294740F30029D2B3 /* KMPrintPaperSetWindowController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMPrintPaperSetWindowController.xib; sourceTree = "<group>"; };
 		ADB2D6EC2947415E0029D2B3 /* KMPrintPaperSetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPrintPaperSetView.swift; sourceTree = "<group>"; };
@@ -5971,9 +5979,8 @@
 		ADAFDA1F2AE8DD6B00F084BC /* View */ = {
 			isa = PBXGroup;
 			children = (
-				ADAFDA062AE8DD6600F084BC /* Cell */,
-				ADAFDA0B2AE8DD6600F084BC /* KMAdvertisementTableView.swift */,
-				ADAFDA0C2AE8DD6600F084BC /* KMAdvertisementTableView.xib */,
+				ADAFDA462AEA7EEE00F084BC /* View */,
+				ADAFDA452AEA7EE800F084BC /* Tableview */,
 			);
 			path = View;
 			sourceTree = "<group>";
@@ -6021,6 +6028,25 @@
 			path = Manager;
 			sourceTree = "<group>";
 		};
+		ADAFDA452AEA7EE800F084BC /* Tableview */ = {
+			isa = PBXGroup;
+			children = (
+				ADAFDA062AE8DD6600F084BC /* Cell */,
+				ADAFDA0B2AE8DD6600F084BC /* KMAdvertisementTableView.swift */,
+				ADAFDA0C2AE8DD6600F084BC /* KMAdvertisementTableView.xib */,
+			);
+			path = Tableview;
+			sourceTree = "<group>";
+		};
+		ADAFDA462AEA7EEE00F084BC /* View */ = {
+			isa = PBXGroup;
+			children = (
+				ADAFDA472AEA7F1200F084BC /* KMAdvertisementShowView.swift */,
+				ADAFDA4B2AEA7F2700F084BC /* KMAdvertisementShowView.xib */,
+			);
+			path = View;
+			sourceTree = "<group>";
+		};
 		ADB2D6E229473FF00029D2B3 /* DealPaper */ = {
 			isa = PBXGroup;
 			children = (
@@ -8807,6 +8833,7 @@
 				BB003029298CF7EC002DD1A0 /* KMPreferenceDisplayController.xib in Resources */,
 				9F0CB5452986953A00007028 /* KMURLToPDFWindowController.xib in Resources */,
 				9FBA0F0129015A82001117AF /* KMFastToolCollectionViewItem.xib in Resources */,
+				ADAFDA4C2AEA7F2700F084BC /* KMAdvertisementShowView.xib in Resources */,
 				ADE787A52AA5A833002EC85A /* KMAccountExceptionWindowController.xib in Resources */,
 				BBFBE6C528DD7B98008B2335 /* Main.storyboard in Resources */,
 				9F0201752A1B488C00C9B673 /* KMAITranslationVC.xib in Resources */,
@@ -8844,6 +8871,7 @@
 				ADD272D529B9CFE20032B5D6 /* KMLightNoNetworkView.xib in Resources */,
 				9FD0FA2D29CD3ED400F2AB0D /* KMRightSideEmptyVC.xib in Resources */,
 				BBA8B7A72935CD740097D183 /* KMRemovePasswordAlertWindowController.xib in Resources */,
+				ADAFDA4D2AEA7F2700F084BC /* KMAdvertisementShowView.xib in Resources */,
 				BB99ACC6292DE22E0048AFD9 /* KMMergeViewController.xib in Resources */,
 				AD0FA50F29A9E75000EDEB50 /* KMLoginInputPasswordView.xib in Resources */,
 				9F0CB49B29683E1000007028 /* KMPropertiesPanelTextSubVC.xib in Resources */,
@@ -9398,6 +9426,7 @@
 				BB89725B294C559F0045787C /* KMWatermarkPropertyCreateController.xib in Resources */,
 				ADBC2D3C299F0A5A006280C8 /* KMPrintHelpViewController.xib in Resources */,
 				ADB2D6F4294741720029D2B3 /* KMPrintPaperSetView.xib in Resources */,
+				ADAFDA4E2AEA7F2700F084BC /* KMAdvertisementShowView.xib in Resources */,
 				BB49ED13293F462E00C82CA2 /* KMConvertImageWindowController.xib in Resources */,
 				896DD45A2985FB3200ADE514 /* KMPageDisplayThemeCollectionViewItem.xib in Resources */,
 				9F00CCBB2A2F1E0F00AC462E /* dsa_priv.pem in Resources */,
@@ -9704,6 +9733,7 @@
 				BB2EDF6D296ECE17003BCF58 /* KMPageEditInsertDirectionItemView.swift in Sources */,
 				BBD1F783296F9DB500343885 /* KMPageEditExtractWindowController.swift in Sources */,
 				BB146FB1299DC0D100784A6A /* GTLRErrorObject.m in Sources */,
+				ADAFDA482AEA7F1300F084BC /* KMAdvertisementShowView.swift in Sources */,
 				BBB9B319299A5D6D004F3235 /* KMCloudServer.m in Sources */,
 				9F1FE4A829406E4700E952CA /* CTBrowserWindowController.m in Sources */,
 				ADBC374129CAB1C300D93208 /* KMComparativeOutlineCell.swift in Sources */,
@@ -10527,6 +10557,7 @@
 				F3732324292DFFFE0013862C /* CPDFListView+Extension.m in Sources */,
 				ADB5E5132A371131007110A8 /* KMSubscribeWaterMarkWindowController.swift in Sources */,
 				AD68782229A5FADC005B5210 /* KMLightMemberCache.swift in Sources */,
+				ADAFDA492AEA7F1300F084BC /* KMAdvertisementShowView.swift in Sources */,
 				AD8F06182999DB5900D93CBC /* KMPrintDrawPage.swift in Sources */,
 				BB147030299DC0D200784A6A /* OIDTokenUtilities.m in Sources */,
 				BB146FD6299DC0D100784A6A /* GTLRObject.m in Sources */,
@@ -11565,6 +11596,7 @@
 				9F1FE49E29406E4700E952CA /* HoverCloseButton.m in Sources */,
 				BB3A81B22AC2B82A006FC66C /* KMPageSizeTool.swift in Sources */,
 				9FD0D2A52AD4ECA900DA3FF8 /* KMPDFEditAppendCustomView.swift in Sources */,
+				ADAFDA4A2AEA7F1300F084BC /* KMAdvertisementShowView.swift in Sources */,
 				AD8F06192999DB5900D93CBC /* KMPrintDrawPage.swift in Sources */,
 				9FF94F1B29A770B500B1EF69 /* KMFillSignShapePanel.swift in Sources */,
 				BBA5429E29F13A140041BAD0 /* KMMemorandumPattern.swift in Sources */,

+ 130 - 20
PDF Office/PDF Master.xcodeproj/xcuserdata/lizhe.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -6094,6 +6094,21 @@
                   endingLineNumber = "480"
                   offsetFromSymbolStart = "20">
                </Location>
+               <Location
+                  uuid = "5B80F998-3B3F-4A3F-842D-1EDB32380522 - e234b4ac8a61f396"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "PDF_Master.KMToolbarController.exitPageEditToolbarViewController(PDF_Master.KMToolbarViewController) -&gt; ()"
+                  moduleName = "PDF Master"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/PDFWindowController/Toolbar/KMToolbarController.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "481"
+                  endingLineNumber = "481"
+                  offsetFromSymbolStart = "20">
+               </Location>
             </Locations>
          </BreakpointContent>
       </BreakpointProxy>
@@ -13921,8 +13936,8 @@
             filePath = "PDF Master/Class/Home/ViewController/KMHomeViewController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "625"
-            endingLineNumber = "625"
+            startingLineNumber = "628"
+            endingLineNumber = "628"
             landmarkName = "openPDFAction(_:)"
             landmarkType = "7">
             <Locations>
@@ -13956,6 +13971,21 @@
                   endingLineNumber = "625"
                   offsetFromSymbolStart = "92">
                </Location>
+               <Location
+                  uuid = "9637C1F6-AD48-462A-8BD8-6B448BB2E505 - 904e656a6c1c7a2"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "PDF_Master.KMHomeViewController.openPDFAction(PDF_Master.KMBox) -&gt; ()"
+                  moduleName = "PDF Master"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/Home/ViewController/KMHomeViewController.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "628"
+                  endingLineNumber = "628"
+                  offsetFromSymbolStart = "92">
+               </Location>
             </Locations>
          </BreakpointContent>
       </BreakpointProxy>
@@ -14231,22 +14261,6 @@
             landmarkType = "21">
          </BreakpointContent>
       </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "10DA6408-0BCF-40FE-ACDD-5D60C0D61DD2"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Master/Class/KMAdvertisement/View/Cell/KMAdvertisementCollectionViewItem.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "44"
-            endingLineNumber = "44"
-            landmarkName = "updateColor(_:)"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
@@ -14275,7 +14289,7 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "1224"
             endingLineNumber = "1224"
-            landmarkName = "l0Color()"
+            landmarkName = "KMColor_Status_Err_BG_1()"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
@@ -14291,7 +14305,103 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "1254"
             endingLineNumber = "1254"
-            landmarkName = "h1Color()"
+            landmarkName = "KMColor_Status_Pre()"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "B0303C64-3696-457E-9368-842A2AFFF854"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "PDF Master/Class/KMAdvertisement/View/View/KMAdvertisementShowView.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "17"
+            endingLineNumber = "17"
+            landmarkName = "inputData"
+            landmarkType = "24">
+            <Locations>
+               <Location
+                  uuid = "B0303C64-3696-457E-9368-842A2AFFF854 - d71ea3a4d38fe33e"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "PDF_Master.KMAdvertisementShowView.inputData.didset : Swift.Optional&lt;PDF_Master.KMAdvertisementContent&gt;"
+                  moduleName = "PDF Master"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/KMAdvertisement/View/View/KMAdvertisementShowView.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "17"
+                  endingLineNumber = "17"
+                  offsetFromSymbolStart = "24">
+               </Location>
+               <Location
+                  uuid = "B0303C64-3696-457E-9368-842A2AFFF854 - 14bc5f2d09093928"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "PDF_Master.KMAdvertisementShowView.inputData.didset : Swift.Optional&lt;PDF_Master.KMAdvertisementItem&gt;"
+                  moduleName = "PDF Master"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/KMAdvertisement/View/View/KMAdvertisementShowView.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "17"
+                  endingLineNumber = "17"
+                  offsetFromSymbolStart = "24">
+               </Location>
+            </Locations>
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "C229BA4C-BB97-4FF7-A7F3-1C9134448764"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "PDF Master/Class/KMAdvertisement/Manager/KMAdvertisementManager.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "130"
+            endingLineNumber = "130"
+            landmarkName = "parseData(data:isNeedLocalComparison:completion:)"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "33CC0581-290A-41E9-9D5F-6C96830BC4D9"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "PDF Master/Class/KMAdvertisement/View/View/KMAdvertisementShowView.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "62"
+            endingLineNumber = "62"
+            landmarkName = "reloadData()"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "20B0B1A0-C3E9-4E07-BB48-3F1F4E3E13BA"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "PDF Master/Class/KMAdvertisement/View/View/KMAdvertisementShowView.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "64"
+            endingLineNumber = "64"
+            landmarkName = "reloadData()"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>

+ 3 - 0
PDF Office/PDF Master/Class/Home/ViewController/KMHomeViewController.swift

@@ -62,6 +62,8 @@ import Cocoa
     
     //广告 互推
     @IBOutlet weak var advertisementTableView: KMAdvertisementTableView!
+    @IBOutlet weak var advertisementTableViewHeightConstraint: NSLayoutConstraint!
+    @IBOutlet weak var advertisementShowView: KMAdvertisementShowView!
     
     var aiHomeState: KMAIHomeToolState = .Home
     
@@ -174,6 +176,7 @@ import Cocoa
                         NSWorkspace.shared.open(URL.init(string: string)!)
                     }
                 }
+                advertisementShowView.inputData = data!.advertisement
             }
         }
     }

+ 5 - 3
PDF Office/PDF Master/Class/Home/ViewController/KMHomeViewController.xib

@@ -8,7 +8,9 @@
     <objects>
         <customObject id="-2" userLabel="File's Owner" customClass="KMHomeViewController" customModule="PDF_Master" customModuleProvider="target">
             <connections>
+                <outlet property="advertisementShowView" destination="SYM-SV-gBY" id="BFm-b8-txu"/>
                 <outlet property="advertisementTableView" destination="fnz-k9-XjO" id="UbQ-y0-tnF"/>
+                <outlet property="advertisementTableViewHeightConstraint" destination="Tot-Bo-gOe" id="lbH-c8-hec"/>
                 <outlet property="aiErrorCorrectionBox" destination="gfM-nc-QPH" id="Hmh-sg-oXV"/>
                 <outlet property="aiErrorCorrectionImageView" destination="tWj-m1-RHC" id="Vih-4K-hKQ"/>
                 <outlet property="aiErrorCorrectionLabel" destination="aGT-3k-XaH" id="v9b-2n-Uue"/>
@@ -276,10 +278,10 @@ Gw
                                                     <constraint firstAttribute="height" constant="500" id="Tot-Bo-gOe"/>
                                                 </constraints>
                                             </customView>
-                                            <customView translatesAutoresizingMaskIntoConstraints="NO" id="SYM-SV-gBY">
-                                                <rect key="frame" x="0.0" y="40" width="238" height="96"/>
+                                            <customView translatesAutoresizingMaskIntoConstraints="NO" id="SYM-SV-gBY" customClass="KMAdvertisementShowView" customModule="PDF_Master" customModuleProvider="target">
+                                                <rect key="frame" x="0.0" y="16" width="238" height="120"/>
                                                 <constraints>
-                                                    <constraint firstAttribute="height" constant="96" id="zaj-sz-Tdy"/>
+                                                    <constraint firstAttribute="height" constant="120" id="zaj-sz-Tdy"/>
                                                 </constraints>
                                             </customView>
                                         </subviews>

+ 4 - 5
PDF Office/PDF Master/Class/KMAdvertisement/Model/KMAdvertisementModel.swift

@@ -9,8 +9,7 @@
 
 @objcMembers public class KMAdvertisementInfo: NSObject, Codable {
     public var recommondContent: KMAdvertisementContent?
-    public var advertisement: KMAdvertisementContent?
-//    public var remoteControl: KMAdvertisementModel3
+    public var advertisement: KMAdvertisementItem?
 }
 
 @objcMembers public class KMAdvertisementContent: NSObject, Codable {
@@ -55,9 +54,9 @@
 }
 
 public class Language: NSObject, Codable {
-    public let en: String?
-    public let zh_TW: String?
-    public let zh_CN: String?
+    var en: String?
+    var zh_TW: String?
+    var zh_CN: String?
 }
 
 //@objcMembers public class KMAdvertisementModel: NSObject, Codable {

+ 8 - 0
PDF Office/PDF Master/Class/KMAdvertisement/Model/KMAdvertisementModelTransition.swift

@@ -46,6 +46,14 @@ import AppKit
             result = (KMAdvertisementConfig.isDarkModel() ? tempImage.normal_Dark : tempImage.normal_Light) ?? ""
         }
         
+        if result.count == 0 {
+            let language = Language()
+            language.en = image?.zh_TW
+            language.zh_TW = image?.zh_TW
+            language.zh_CN = image?.zh_CN
+            result = KMAdvertisementModelTransition.transitionLanguage(langeuage: language)
+        }
+        
         return result
     }
     

PDF Office/PDF Master/Class/KMAdvertisement/View/Cell/KMAdvertisementCollectionHeadView.swift → PDF Office/PDF Master/Class/KMAdvertisement/View/Tableview/Cell/KMAdvertisementCollectionHeadView.swift


PDF Office/PDF Master/Class/KMAdvertisement/View/Cell/KMAdvertisementCollectionHeadView.xib → PDF Office/PDF Master/Class/KMAdvertisement/View/Tableview/Cell/KMAdvertisementCollectionHeadView.xib


PDF Office/PDF Master/Class/KMAdvertisement/View/Cell/KMAdvertisementCollectionViewItem.swift → PDF Office/PDF Master/Class/KMAdvertisement/View/Tableview/Cell/KMAdvertisementCollectionViewItem.swift


+ 1 - 1
PDF Office/PDF Master/Class/KMAdvertisement/View/Cell/KMAdvertisementCollectionViewItem.xib

@@ -16,7 +16,7 @@
         </customObject>
         <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
         <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customView id="Hz6-mo-xeY">
+        <customView clipsToBounds="YES" id="Hz6-mo-xeY">
             <rect key="frame" x="0.0" y="0.0" width="480" height="40"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>

PDF Office/PDF Master/Class/KMAdvertisement/View/KMAdvertisementTableView.swift → PDF Office/PDF Master/Class/KMAdvertisement/View/Tableview/KMAdvertisementTableView.swift


+ 5 - 5
PDF Office/PDF Master/Class/KMAdvertisement/View/KMAdvertisementTableView.xib

@@ -15,17 +15,17 @@
         <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
         <customObject id="-3" userLabel="Application" customClass="NSObject"/>
         <customView id="c22-O7-iKe">
-            <rect key="frame" x="0.0" y="0.0" width="549" height="364"/>
+            <rect key="frame" x="0.0" y="0.0" width="246" height="431"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>
                 <scrollView wantsLayer="YES" borderType="none" autohidesScrollers="YES" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="UFo-Fd-Vqk">
-                    <rect key="frame" x="0.0" y="0.0" width="549" height="364"/>
+                    <rect key="frame" x="0.0" y="0.0" width="246" height="431"/>
                     <clipView key="contentView" drawsBackground="NO" id="M51-ZI-aP5">
-                        <rect key="frame" x="0.0" y="0.0" width="549" height="364"/>
+                        <rect key="frame" x="0.0" y="0.0" width="246" height="431"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
                             <collectionView id="DM1-E5-H8J">
-                                <rect key="frame" x="0.0" y="0.0" width="549" height="364"/>
+                                <rect key="frame" x="0.0" y="0.0" width="246" height="431"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES"/>
                                 <collectionViewFlowLayout key="collectionViewLayout" id="QQ0-er-OSn">
                                     <size key="itemSize" width="50" height="50"/>
@@ -51,7 +51,7 @@
                 <constraint firstItem="UFo-Fd-Vqk" firstAttribute="top" secondItem="c22-O7-iKe" secondAttribute="top" id="oVj-wf-0sg"/>
                 <constraint firstAttribute="trailing" secondItem="UFo-Fd-Vqk" secondAttribute="trailing" id="v5c-3v-n9k"/>
             </constraints>
-            <point key="canvasLocation" x="44" y="184"/>
+            <point key="canvasLocation" x="27" y="170"/>
         </customView>
     </objects>
 </document>

+ 71 - 0
PDF Office/PDF Master/Class/KMAdvertisement/View/View/KMAdvertisementShowView.swift

@@ -0,0 +1,71 @@
+//
+//  KMAdvertisementShowView.swift
+//  PDF Master
+//
+//  Created by lizhe on 2023/10/26.
+//
+
+import Cocoa
+
+class KMAdvertisementShowView: NSView {
+    @IBOutlet var contentView: NSView!
+    @IBOutlet weak var iconImage: NSImageView!
+    @IBOutlet weak var closeButton: NSButton!
+    
+    open var inputData: KMAdvertisementItem! {
+        didSet {
+            self.reloadData()
+        }
+    }
+    
+    convenience init (data: [KMAdvertisementItem], superView: NSView) {
+        self.init(frame: superView.bounds)
+        superView.addSubview(self)
+        self.autoresizingMask = [.height , .width]
+    }
+    
+    public override init(frame frameRect: NSRect) {
+        super.init(frame: frameRect)
+        initContentView()
+        setup()
+    }
+    
+    // MARK: 初始化
+    public required init?(coder decoder: NSCoder) {
+        super.init(coder: decoder)
+        initContentView()
+        setup()
+    }
+
+    private func initContentView() {
+        //绑定xib
+        let resource = NSNib(nibNamed: String(describing: self.classForCoder.self),
+                             bundle: Bundle(for: self.classForCoder.self))!
+        resource.instantiate(withOwner: self, topLevelObjects: nil)
+        addSubview(contentView)
+        contentView.translatesAutoresizingMaskIntoConstraints = false
+        NSLayoutConstraint.activate([
+            contentView.topAnchor.constraint(equalTo: topAnchor),
+            contentView.leftAnchor.constraint(equalTo: leftAnchor),
+            contentView.rightAnchor.constraint(equalTo: rightAnchor),
+            contentView.bottomAnchor.constraint(equalTo: bottomAnchor)])
+        contentView.updateConstraintsForSubtreeIfNeeded()
+    }
+    
+    func setup() {
+        self.backgroundColor(NSColor.black)
+    }
+    
+    func reloadData() {
+        guard let model = inputData.content?.first else { return }
+        
+        let url = URL(string: KMAdvertisementModelTransition.transitionImagePath(image: model.image, highlight: false))
+        self.iconImage.image = KMAdvertisementImage.imageWithURL(url: url, completion: { [weak self] image in
+            self?.iconImage.image = image
+        })
+    }
+    
+    @IBAction func closeButtonAction(_ sender: Any) {
+        
+    }
+}

+ 78 - 0
PDF Office/PDF Master/Class/KMAdvertisement/View/View/KMAdvertisementShowView.xib

@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMAdvertisementShowView" customModule="PDF_Master" customModuleProvider="target">
+            <connections>
+                <outlet property="closeButton" destination="Iay-VK-ICj" id="65i-qn-Dts"/>
+                <outlet property="contentView" destination="c22-O7-iKe" id="GO1-1D-DOk"/>
+                <outlet property="iconImage" destination="obQ-2R-s8Q" id="1En-Hz-bM1"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="c22-O7-iKe">
+            <rect key="frame" x="0.0" y="0.0" width="208" height="120"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <subviews>
+                <view translatesAutoresizingMaskIntoConstraints="NO" id="geo-Fe-wJO">
+                    <rect key="frame" x="0.0" y="0.0" width="208" height="120"/>
+                    <subviews>
+                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="obQ-2R-s8Q">
+                            <rect key="frame" x="0.0" y="0.0" width="208" height="120"/>
+                            <constraints>
+                                <constraint firstAttribute="width" secondItem="obQ-2R-s8Q" secondAttribute="height" multiplier="208:120" id="VpK-gc-yT8"/>
+                            </constraints>
+                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" id="DKy-5d-0cT"/>
+                        </imageView>
+                        <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="FlW-6z-t7c">
+                            <rect key="frame" x="0.0" y="0.0" width="208" height="120"/>
+                            <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" imagePosition="left" inset="2" id="RqG-IP-4V1">
+                                <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                <font key="font" metaFont="system"/>
+                            </buttonCell>
+                        </button>
+                        <button translatesAutoresizingMaskIntoConstraints="NO" id="Iay-VK-ICj">
+                            <rect key="frame" x="178" y="90" width="30" height="30"/>
+                            <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="ad_cancel_button00" imagePosition="only" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="8hF-TJ-Gz3">
+                                <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                <font key="font" metaFont="system"/>
+                            </buttonCell>
+                            <connections>
+                                <action selector="closeButtonAction:" target="-2" id="o5y-02-xWU"/>
+                            </connections>
+                        </button>
+                    </subviews>
+                    <constraints>
+                        <constraint firstItem="Iay-VK-ICj" firstAttribute="top" secondItem="geo-Fe-wJO" secondAttribute="top" id="1h9-Vm-BE3"/>
+                        <constraint firstItem="FlW-6z-t7c" firstAttribute="leading" secondItem="geo-Fe-wJO" secondAttribute="leading" id="2Uc-K3-gXy"/>
+                        <constraint firstAttribute="trailing" secondItem="FlW-6z-t7c" secondAttribute="trailing" id="2gJ-5U-099"/>
+                        <constraint firstAttribute="bottom" secondItem="FlW-6z-t7c" secondAttribute="bottom" id="4Z2-Tb-tB1"/>
+                        <constraint firstAttribute="trailing" secondItem="obQ-2R-s8Q" secondAttribute="trailing" id="GgU-22-lBM"/>
+                        <constraint firstAttribute="bottom" secondItem="obQ-2R-s8Q" secondAttribute="bottom" id="Pd3-qI-Nx8"/>
+                        <constraint firstItem="obQ-2R-s8Q" firstAttribute="top" secondItem="geo-Fe-wJO" secondAttribute="top" id="f86-yV-16W"/>
+                        <constraint firstAttribute="trailing" secondItem="Iay-VK-ICj" secondAttribute="trailing" id="fkb-Kj-0hp"/>
+                        <constraint firstAttribute="height" constant="120" id="kze-Mi-xh1"/>
+                        <constraint firstItem="FlW-6z-t7c" firstAttribute="top" secondItem="geo-Fe-wJO" secondAttribute="top" id="oah-aB-v14"/>
+                        <constraint firstAttribute="width" constant="208" id="pzz-J5-rHf"/>
+                        <constraint firstItem="obQ-2R-s8Q" firstAttribute="leading" secondItem="geo-Fe-wJO" secondAttribute="leading" id="z7j-Ok-plA"/>
+                    </constraints>
+                </view>
+            </subviews>
+            <constraints>
+                <constraint firstItem="geo-Fe-wJO" firstAttribute="top" secondItem="c22-O7-iKe" secondAttribute="top" id="Wsc-Zz-Jcg"/>
+                <constraint firstAttribute="bottom" secondItem="geo-Fe-wJO" secondAttribute="bottom" id="XVI-eH-kLb"/>
+                <constraint firstItem="geo-Fe-wJO" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" id="pTB-hd-9WZ"/>
+                <constraint firstAttribute="trailing" secondItem="geo-Fe-wJO" secondAttribute="trailing" id="zJf-kp-Q7m"/>
+            </constraints>
+            <point key="canvasLocation" x="40" y="83.5"/>
+        </customView>
+    </objects>
+    <resources>
+        <image name="ad_cancel_button00" width="30" height="30"/>
+    </resources>
+</document>