Browse Source

【订阅】订阅成功弹窗

lizhe 1 year ago
parent
commit
2af2193021
13 changed files with 663 additions and 44 deletions
  1. 62 6
      PDF Office/PDF Master.xcodeproj/project.pbxproj
  2. 193 37
      PDF Office/PDF Master.xcodeproj/xcuserdata/lizhe.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  3. 9 1
      PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/KMComparativeTableViewController.swift
  4. 21 0
      PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/Source/KMCompatative.xcassets/Frame 1081.imageset/Contents.json
  5. 153 0
      PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/Source/KMCompatative.xcassets/Frame 1081.imageset/Frame 1081.pdf
  6. 56 0
      PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/SubscribeSuccess/KMSubscribeSuccessWindowController.swift
  7. 43 0
      PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/SubscribeSuccess/KMSubscribeSuccessWindowController.xib
  8. 49 0
      PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/SubscribeSuccess/View/KMSubscribeSuccessView.swift
  9. 77 0
      PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/SubscribeSuccess/View/KMSubscribeSuccessView.xib
  10. 0 0
      PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/WaterMark/KMSubscribeWaterMarkWindowController.swift
  11. 0 0
      PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/WaterMark/KMSubscribeWaterMarkWindowController.xib
  12. 0 0
      PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/WaterMark/View/KMSubscribeWaterMarkView.swift
  13. 0 0
      PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/WaterMark/View/KMSubscribeWaterMarkView.xib

+ 62 - 6
PDF Office/PDF Master.xcodeproj/project.pbxproj

@@ -1675,6 +1675,18 @@
 		ADC31FAC2A0E0C3900ED44A2 /* KMEditPropertyAlignmentView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADC31FAB2A0E0C3900ED44A2 /* KMEditPropertyAlignmentView.xib */; };
 		ADC31FAD2A0E0C3900ED44A2 /* KMEditPropertyAlignmentView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADC31FAB2A0E0C3900ED44A2 /* KMEditPropertyAlignmentView.xib */; };
 		ADC31FAE2A0E0C3900ED44A2 /* KMEditPropertyAlignmentView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADC31FAB2A0E0C3900ED44A2 /* KMEditPropertyAlignmentView.xib */; };
+		ADC63E372A49813E00854E02 /* KMSubscribeSuccessWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADC63E352A49813E00854E02 /* KMSubscribeSuccessWindowController.swift */; };
+		ADC63E382A49813E00854E02 /* KMSubscribeSuccessWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADC63E352A49813E00854E02 /* KMSubscribeSuccessWindowController.swift */; };
+		ADC63E392A49813E00854E02 /* KMSubscribeSuccessWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADC63E352A49813E00854E02 /* KMSubscribeSuccessWindowController.swift */; };
+		ADC63E3A2A49813E00854E02 /* KMSubscribeSuccessWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADC63E362A49813E00854E02 /* KMSubscribeSuccessWindowController.xib */; };
+		ADC63E3B2A49813E00854E02 /* KMSubscribeSuccessWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADC63E362A49813E00854E02 /* KMSubscribeSuccessWindowController.xib */; };
+		ADC63E3C2A49813E00854E02 /* KMSubscribeSuccessWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADC63E362A49813E00854E02 /* KMSubscribeSuccessWindowController.xib */; };
+		ADC63E3F2A49816900854E02 /* KMSubscribeSuccessView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADC63E3E2A49816900854E02 /* KMSubscribeSuccessView.swift */; };
+		ADC63E402A49816900854E02 /* KMSubscribeSuccessView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADC63E3E2A49816900854E02 /* KMSubscribeSuccessView.swift */; };
+		ADC63E412A49816900854E02 /* KMSubscribeSuccessView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADC63E3E2A49816900854E02 /* KMSubscribeSuccessView.swift */; };
+		ADC63E432A49817400854E02 /* KMSubscribeSuccessView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADC63E422A49817400854E02 /* KMSubscribeSuccessView.xib */; };
+		ADC63E442A49817400854E02 /* KMSubscribeSuccessView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADC63E422A49817400854E02 /* KMSubscribeSuccessView.xib */; };
+		ADC63E452A49817400854E02 /* KMSubscribeSuccessView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADC63E422A49817400854E02 /* KMSubscribeSuccessView.xib */; };
 		ADC6FC19297630BA00D7C274 /* KMBatchProcessingColumnHeaderCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADC6FC18297630BA00D7C274 /* KMBatchProcessingColumnHeaderCell.swift */; };
 		ADC6FC1A297630BA00D7C274 /* KMBatchProcessingColumnHeaderCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADC6FC18297630BA00D7C274 /* KMBatchProcessingColumnHeaderCell.swift */; };
 		ADC6FC1B297630BA00D7C274 /* KMBatchProcessingColumnHeaderCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADC6FC18297630BA00D7C274 /* KMBatchProcessingColumnHeaderCell.swift */; };
@@ -4175,6 +4187,10 @@
 		ADC25DF82923BA710080A3F6 /* KMImageToPDFWindowController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMImageToPDFWindowController.xib; sourceTree = "<group>"; };
 		ADC31FA52A0E0C1A00ED44A2 /* KMEditPropertyAlignmentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMEditPropertyAlignmentView.swift; sourceTree = "<group>"; };
 		ADC31FAB2A0E0C3900ED44A2 /* KMEditPropertyAlignmentView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMEditPropertyAlignmentView.xib; sourceTree = "<group>"; };
+		ADC63E352A49813E00854E02 /* KMSubscribeSuccessWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSubscribeSuccessWindowController.swift; sourceTree = "<group>"; };
+		ADC63E362A49813E00854E02 /* KMSubscribeSuccessWindowController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMSubscribeSuccessWindowController.xib; sourceTree = "<group>"; };
+		ADC63E3E2A49816900854E02 /* KMSubscribeSuccessView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSubscribeSuccessView.swift; sourceTree = "<group>"; };
+		ADC63E422A49817400854E02 /* KMSubscribeSuccessView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMSubscribeSuccessView.xib; sourceTree = "<group>"; };
 		ADC6FC18297630BA00D7C274 /* KMBatchProcessingColumnHeaderCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBatchProcessingColumnHeaderCell.swift; sourceTree = "<group>"; };
 		ADC6FC582976953900D7C274 /* Batch.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Batch.xcassets; sourceTree = "<group>"; };
 		ADCB98C0292472F200B51A03 /* KMBatchProcessingTableViewPresenter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBatchProcessingTableViewPresenter.swift; sourceTree = "<group>"; };
@@ -6680,14 +6696,13 @@
 			path = KMTextFieldStepperView;
 			sourceTree = "<group>";
 		};
-		ADB5E50F2A3710C1007110A8 /* WaterMark */ = {
+		ADB5E50F2A3710C1007110A8 /* SubscriptionView */ = {
 			isa = PBXGroup;
 			children = (
-				ADB5E51C2A3711D0007110A8 /* View */,
-				ADB5E5102A371131007110A8 /* KMSubscribeWaterMarkWindowController.swift */,
-				ADB5E5112A371131007110A8 /* KMSubscribeWaterMarkWindowController.xib */,
+				ADC63E342A49806500854E02 /* SubscribeSuccess */,
+				ADC63E332A49805000854E02 /* WaterMark */,
 			);
-			path = WaterMark;
+			path = SubscriptionView;
 			sourceTree = "<group>";
 		};
 		ADB5E51C2A3711D0007110A8 /* View */ = {
@@ -7037,6 +7052,35 @@
 			path = AlignmentView;
 			sourceTree = "<group>";
 		};
+		ADC63E332A49805000854E02 /* WaterMark */ = {
+			isa = PBXGroup;
+			children = (
+				ADB5E51C2A3711D0007110A8 /* View */,
+				ADB5E5102A371131007110A8 /* KMSubscribeWaterMarkWindowController.swift */,
+				ADB5E5112A371131007110A8 /* KMSubscribeWaterMarkWindowController.xib */,
+			);
+			path = WaterMark;
+			sourceTree = "<group>";
+		};
+		ADC63E342A49806500854E02 /* SubscribeSuccess */ = {
+			isa = PBXGroup;
+			children = (
+				ADC63E3D2A49815000854E02 /* View */,
+				ADC63E352A49813E00854E02 /* KMSubscribeSuccessWindowController.swift */,
+				ADC63E362A49813E00854E02 /* KMSubscribeSuccessWindowController.xib */,
+			);
+			path = SubscribeSuccess;
+			sourceTree = "<group>";
+		};
+		ADC63E3D2A49815000854E02 /* View */ = {
+			isa = PBXGroup;
+			children = (
+				ADC63E3E2A49816900854E02 /* KMSubscribeSuccessView.swift */,
+				ADC63E422A49817400854E02 /* KMSubscribeSuccessView.xib */,
+			);
+			path = View;
+			sourceTree = "<group>";
+		};
 		ADCB98FA29274B8D00B51A03 /* Views */ = {
 			isa = PBXGroup;
 			children = (
@@ -7319,7 +7363,7 @@
 		ADE3C1E129A5AB8B00793B13 /* Controller */ = {
 			isa = PBXGroup;
 			children = (
-				ADB5E50F2A3710C1007110A8 /* WaterMark */,
+				ADB5E50F2A3710C1007110A8 /* SubscriptionView */,
 				AD2D74AA29F0CE8500EDC5E4 /* Cancellation */,
 				AD8810AF29A8467100178CA1 /* VerificationCode */,
 				AD8810A629A845E600178CA1 /* AccountInfo */,
@@ -9545,6 +9589,7 @@
 				ADB2D6E9294740F30029D2B3 /* KMPrintPaperSetWindowController.xib in Resources */,
 				BBA2109029ACBFDB00E6B346 /* nosign.pdf in Resources */,
 				8997012228F41AB8009AF911 /* KMLeftSideViewController.xib in Resources */,
+				ADC63E3A2A49813E00854E02 /* KMSubscribeSuccessWindowController.xib in Resources */,
 				AD2D74B029F0CEB300EDC5E4 /* KMCancellationWindowController.xib in Resources */,
 				ADD1B6F02946C06C00C3FFF7 /* KMPrintChoosePageSizeSizeView.xib in Resources */,
 				BBFE6E602930809A00142C01 /* KMMergeCollectionPageViewItem.xib in Resources */,
@@ -9625,6 +9670,7 @@
 				BB8F455A295AA1270037EA22 /* KMHeaderFooterPropertyInfoController.xib in Resources */,
 				BB52372A29C313CA00663BD7 /* KMAnnotationPropertyBaseController.xib in Resources */,
 				AD8810AC29A8463600178CA1 /* KMAccountInfoWindowController.xib in Resources */,
+				ADC63E432A49817400854E02 /* KMSubscribeSuccessView.xib in Resources */,
 				ADEC7A84299397F8009A8256 /* SF-Pro-Text-Semibold.otf in Resources */,
 				AD1CA4342A0640FC0070541F /* KMAnnotationScreenHeadView.xib in Resources */,
 				ADB1FE8229752F3200ED072D /* KMBatchSecurityView.xib in Resources */,
@@ -9939,6 +9985,7 @@
 				BB5DF1ED2959C5CB0025CDA1 /* KMHeaderFooterPreviewController.xib in Resources */,
 				ADB1FE622975189600ED072D /* KMBatchProcessingDeleteTableCell.xib in Resources */,
 				ADEC7A82299397F8009A8256 /* SF-Pro-Text-Regular.otf in Resources */,
+				ADC63E442A49817400854E02 /* KMSubscribeSuccessView.xib in Resources */,
 				ADB1FEB3297543CF00ED072D /* KMBatchSettingView.xib in Resources */,
 				89E4E77D2967B370002DBA6F /* KMDynamicStampViewController.xib in Resources */,
 				BB49ECE1293EED6100C82CA2 /* KMConvertWordWindowController.xib in Resources */,
@@ -10117,6 +10164,7 @@
 				BB89725A294C559F0045787C /* KMWatermarkPropertyCreateController.xib in Resources */,
 				ADEC7A85299397F8009A8256 /* SF-Pro-Text-Semibold.otf in Resources */,
 				AD88108829A719E500178CA1 /* KMRegisterView.xib in Resources */,
+				ADC63E3B2A49813E00854E02 /* KMSubscribeSuccessWindowController.xib in Resources */,
 				9FD0FA4F29D43D6800F2AB0D /* KMDeviceBrowserWindowController.xib in Resources */,
 				F3B698A9298BC84500E0EB4D /* KMDocumentAIPopViewController.xib in Resources */,
 				9F1F82CE292F6CF90092C4B4 /* KMPDFInsertPageWindow.xib in Resources */,
@@ -10315,6 +10363,7 @@
 				BB9DEE862A14A01D00351CC4 /* PDF-Master-DMG-Info.plist in Resources */,
 				BB8F455C295AA1270037EA22 /* KMHeaderFooterPropertyInfoController.xib in Resources */,
 				9FD0FA5029D43D6800F2AB0D /* KMDeviceBrowserWindowController.xib in Resources */,
+				ADC63E3C2A49813E00854E02 /* KMSubscribeSuccessWindowController.xib in Resources */,
 				AD68783A29A60FC0005B5210 /* KMLoginView.xib in Resources */,
 				899700ED28F3E4D3009AF911 /* MainWindowController.xib in Resources */,
 				89E4E70D2963D62C002DBA6F /* KMAnnotationFontWindowController.xib in Resources */,
@@ -10458,6 +10507,7 @@
 				AD4B4552294072B90076FA14 /* KMOCRWindowController.xib in Resources */,
 				BB2EDF75296ECE17003BCF58 /* KMPageEditThumbnailItem.xib in Resources */,
 				AD867FAC29DFB78200F00440 /* KMAnnotationOutlineView.xib in Resources */,
+				ADC63E452A49817400854E02 /* KMSubscribeSuccessView.xib in Resources */,
 				BB8F4554295A9FA50037EA22 /* KMCreateHeaderFooterController.xib in Resources */,
 				ADBC376329CC637900D93208 /* KMReadModelView.xib in Resources */,
 				9FF94F1E29A770B500B1EF69 /* KMFillSignShapePanel.xib in Resources */,
@@ -10654,6 +10704,7 @@
 				BBF38A5A294F2B760086D025 /* KMWatermarkPositionView.swift in Sources */,
 				89E93EDE2999DA6D00F10F66 /* KMNoteFilterCollevtionViewItem.m in Sources */,
 				BBB7B4912A03AD2A00B58A5A /* KMPDFEditToolbar.swift in Sources */,
+				ADC63E372A49813E00854E02 /* KMSubscribeSuccessWindowController.swift in Sources */,
 				BB8F4586295B19AC0037EA22 /* KMHeaderFooterDateInfoView.swift in Sources */,
 				ADF9ED2F29A8507400C4A943 /* KMAccountInfoView.swift in Sources */,
 				896933D029AEED520055327F /* SKTextFieldSheetController.m in Sources */,
@@ -10771,6 +10822,7 @@
 				BB1EC7FE2967B26700EC0BC3 /* KMPDFEditViewController.swift in Sources */,
 				BB5F8A1F29BB15AD00365ADB /* KMEmailSubWindowController.m in Sources */,
 				AD68783329A60FA7005B5210 /* KMLoginView.swift in Sources */,
+				ADC63E3F2A49816900854E02 /* KMSubscribeSuccessView.swift in Sources */,
 				9F0CB531298656EA00007028 /* KMDesignToken+BorderWidthBottom.swift in Sources */,
 				89752DB82936F9B9003FF08E /* NSButton+TitleColor.m in Sources */,
 				BB8115FF2992682F0008F536 /* KMSecureLimitAlertView.swift in Sources */,
@@ -11394,6 +11446,7 @@
 				BB2E666029C885550000FEBC /* KMSignatureHelpViewController.m in Sources */,
 				ADB1FE5E2975182100ED072D /* KMBatchProcessingDeleteTableCell.swift in Sources */,
 				9FDD0FAB29534FCC000C4DAD /* KMAliasLight.swift in Sources */,
+				ADC63E402A49816900854E02 /* KMSubscribeSuccessView.swift in Sources */,
 				BBF38A63294F53FD0086D025 /* KMWatermarkFileView.swift in Sources */,
 				AD2D74B629F0D39500EDC5E4 /* KMCancellationSuccessView.swift in Sources */,
 				9F080B24298FCB0D00FC27DA /* KMDesignToken+Action.swift in Sources */,
@@ -11768,6 +11821,7 @@
 				AD867F9529D955BF00F00440 /* KMBOTAOutlineCellView.swift in Sources */,
 				9F0CB5432986953A00007028 /* KMURLToPDFWindowController.swift in Sources */,
 				BBA8B7B0293600D70097D183 /* KMPasswordInputWindow.swift in Sources */,
+				ADC63E382A49813E00854E02 /* KMSubscribeSuccessWindowController.swift in Sources */,
 				AD71E7C52990A8A4001C5D3F /* KMBatchRemoveViewModel.swift in Sources */,
 				F3732309292DF9410013862C /* CPDFLineAnnotation+PDFListView.m in Sources */,
 				F34BF927295303E8002C25A2 /* NSCursor+PDFListView.m in Sources */,
@@ -12194,6 +12248,7 @@
 				ADE3C1EF29A5AFB100793B13 /* KMRequestServerManager.swift in Sources */,
 				BBAFC84C298519F700D0648E /* KMSavePanelAccessoryController.m in Sources */,
 				9F1FE4B629406E4700E952CA /* CTBrowser.m in Sources */,
+				ADC63E412A49816900854E02 /* KMSubscribeSuccessView.swift in Sources */,
 				BBA19F4529ADE6A3001A285A /* KMBookMarkRowView.swift in Sources */,
 				ADE614A52977952C00F62ED7 /* KMBatchConvertPDFViewModel.swift in Sources */,
 				9F0201982A1F352100C9B673 /* KMAITranslationConfirmWindowController.swift in Sources */,
@@ -12415,6 +12470,7 @@
 				ADC075B829866962006C752F /* KMBatchConverPDFWordView.swift in Sources */,
 				ADEC7A80299397F8009A8256 /* NSFont+SFProText.swift in Sources */,
 				9F72D2052994A3B800DCACF1 /* KMDesignToken+Notification.swift in Sources */,
+				ADC63E392A49813E00854E02 /* KMSubscribeSuccessWindowController.swift in Sources */,
 				BBC348042955403D008D2CD1 /* KMWatermarkFilePropertyInfoController.swift in Sources */,
 				ADB1FEA82975305500ED072D /* KMBatchRemoveView.swift in Sources */,
 				AD9527DD2952EE700039D2BC /* KMPrintPage_C.swift in Sources */,

+ 193 - 37
PDF Office/PDF Master.xcodeproj/xcuserdata/lizhe.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -4384,6 +4384,21 @@
                   endingLineNumber = "1693"
                   offsetFromSymbolStart = "2100">
                </Location>
+               <Location
+                  uuid = "E7F4D56E-1C39-4024-BBA5-68C70086BBFF - 8a2a75e0da61f7b9"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "PDF_Master.KMMainViewController.pdfListViewMenuValidate(_: Swift.Optional&lt;__C.CPDFListView&gt;, menuItem: Swift.Optional&lt;__C.NSMenuItem&gt;, isTakesEffect: Swift.Optional&lt;Swift.UnsafeMutablePointer&lt;ObjectiveC.ObjCBool&gt;&gt;) -&gt; Swift.Bool"
+                  moduleName = "PDF Master"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/PDFWindowController/ViewController/KMMainViewController.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "1694"
+                  endingLineNumber = "1694"
+                  offsetFromSymbolStart = "2088">
+               </Location>
             </Locations>
          </BreakpointContent>
       </BreakpointProxy>
@@ -5086,6 +5101,36 @@
                   endingLineNumber = "1505"
                   offsetFromSymbolStart = "1180">
                </Location>
+               <Location
+                  uuid = "2237DD70-B8BE-49EA-A4CE-79A8782755B0 - 9501465e248bbe82"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "PDF_Master.KMMainViewController.pdfViewEditingAddImageArea(_: Swift.Optional&lt;__C.CPDFView&gt;, add: Swift.Optional&lt;__C.CPDFPage&gt;, add: __C.CGRect) -&gt; ()"
+                  moduleName = "PDF Master"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/PDFWindowController/ViewController/KMMainViewController.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "1505"
+                  endingLineNumber = "1505"
+                  offsetFromSymbolStart = "712">
+               </Location>
+               <Location
+                  uuid = "2237DD70-B8BE-49EA-A4CE-79A8782755B0 - 1580cd90c578d485"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "closure #1 (__C.NSModalResponse) -&gt; () in PDF_Master.KMMainViewController.pdfViewEditingAddImageArea(_: Swift.Optional&lt;__C.CPDFView&gt;, add: Swift.Optional&lt;__C.CPDFPage&gt;, add: __C.CGRect) -&gt; ()"
+                  moduleName = "PDF Master"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/PDFWindowController/ViewController/KMMainViewController.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "1506"
+                  endingLineNumber = "1506"
+                  offsetFromSymbolStart = "680">
+               </Location>
             </Locations>
          </BreakpointContent>
       </BreakpointProxy>
@@ -6785,6 +6830,21 @@
                   endingLineNumber = "1535"
                   offsetFromSymbolStart = "2804">
                </Location>
+               <Location
+                  uuid = "62BC6468-594C-4A01-ADDD-BBD0C1BEAB50 - 1580cd90c578d329"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "closure #1 (__C.NSModalResponse) -&gt; () in PDF_Master.KMMainViewController.pdfViewEditingAddImageArea(_: Swift.Optional&lt;__C.CPDFView&gt;, add: Swift.Optional&lt;__C.CPDFPage&gt;, add: __C.CGRect) -&gt; ()"
+                  moduleName = "PDF Master"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/PDFWindowController/ViewController/KMMainViewController.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "1534"
+                  endingLineNumber = "1534"
+                  offsetFromSymbolStart = "2532">
+               </Location>
             </Locations>
          </BreakpointContent>
       </BreakpointProxy>
@@ -8064,7 +8124,7 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "126"
             endingLineNumber = "126"
-            landmarkName = "request(_:didFailWithError:)"
+            landmarkName = "purchaseProduct(productIdentifier:completion:)"
             landmarkType = "7">
             <Locations>
                <Location
@@ -8142,7 +8202,7 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "120"
             endingLineNumber = "120"
-            landmarkName = "productsRequest(_:didReceive:)"
+            landmarkName = "purchaseProduct(productIdentifier:completion:)"
             landmarkType = "7">
             <Locations>
                <Location
@@ -8220,7 +8280,7 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "90"
             endingLineNumber = "90"
-            landmarkName = "purchaseProduct(productIdentifier:completion:)"
+            landmarkName = "init()"
             landmarkType = "7">
             <Locations>
                <Location
@@ -8298,7 +8358,7 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "99"
             endingLineNumber = "99"
-            landmarkName = "purchaseProduct(productIdentifier:completion:)"
+            landmarkName = "init()"
             landmarkType = "7">
             <Locations>
                <Location
@@ -8406,7 +8466,7 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "140"
             endingLineNumber = "140"
-            landmarkName = "paymentQueue(_:updatedTransactions:)"
+            landmarkName = "purchaseProduct(productIdentifier:completion:)"
             landmarkType = "7">
             <Locations>
                <Location
@@ -8484,8 +8544,8 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "162"
             endingLineNumber = "162"
-            landmarkName = "KMInAppPurchaseManager"
-            landmarkType = "21">
+            landmarkName = "request(_:didFailWithError:)"
+            landmarkType = "7">
             <Locations>
                <Location
                   uuid = "34BD2AAD-8A2F-42E6-9768-F29967B52A18 - d81c1d03f6f5ff96"
@@ -8547,8 +8607,8 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "215"
             endingLineNumber = "215"
-            landmarkName = "sendReceiptToServer(receiptData:transaction:)"
-            landmarkType = "7">
+            landmarkName = "KMInAppPurchaseManager"
+            landmarkType = "21">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
@@ -8563,7 +8623,7 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "187"
             endingLineNumber = "187"
-            landmarkName = "validatePurchase(transaction:)"
+            landmarkName = "paymentQueue(_:updatedTransactions:)"
             landmarkType = "7">
             <Locations>
                <Location
@@ -8865,6 +8925,38 @@
             endingLineNumber = "1297"
             landmarkName = "pdfViewDocumentDidLoaded(_:)"
             landmarkType = "7">
+            <Locations>
+               <Location
+                  uuid = "EB3CC863-CD88-4969-8755-C4ABD9B1445B - fd680e4e5bf39ecf"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "PDF_Master.KMMainViewController.pdfViewDocumentDidLoaded(Swift.Optional&lt;__C.CPDFView&gt;) -&gt; ()"
+                  moduleName = "PDF Master"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/PDFWindowController/ViewController/KMMainViewController.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "1299"
+                  endingLineNumber = "1299"
+                  offsetFromSymbolStart = "496">
+               </Location>
+               <Location
+                  uuid = "EB3CC863-CD88-4969-8755-C4ABD9B1445B - eaef9148cee007f1"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "PDF_Master.KMMainViewController.CEditPDFToolModeChangeStateUnkownNotification(Foundation.Notification) -&gt; ()"
+                  moduleName = "PDF Master"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/PDFWindowController/ViewController/KMMainViewController.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "1297"
+                  endingLineNumber = "1297"
+                  offsetFromSymbolStart = "1588">
+               </Location>
+            </Locations>
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
@@ -8886,20 +8978,100 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "2AF3A3CE-0BCE-4807-A97D-14AAED63AE2C"
+            uuid = "0934CAAD-5F4E-42D6-B7A3-8063647E3B7B"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "PDF Master/Class/KMLightMember/Controller/ComparativeTable/KMComparativeTableViewController.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "168"
+            endingLineNumber = "168"
+            landmarkName = "setup()"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "15A844FC-97F9-4FF2-BCAA-F0559C929696"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "PDF Master/Class/KMLightMember/Controller/ComparativeTable/KMComparativeTableViewController.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "175"
+            endingLineNumber = "175"
+            landmarkName = "setup()"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "974E7AEC-92F4-4228-BFCC-3535AF1F0C17"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "PDF Master/Class/KMLightMember/Controller/ComparativeTable/KMComparativeTableViewController.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "154"
+            endingLineNumber = "154"
+            landmarkName = "setup()"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "623E55F8-22F1-48D4-A1F9-B43DB4689903"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "PDF Master/Class/KMLightMember/Controller/ComparativeTable/View/KMComparativeView/View/KMComparativeViewCollectionItem.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "135"
+            endingLineNumber = "135"
+            landmarkName = "collectionView(_:layout:sizeForItemAt:)"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "A3717621-A04F-4B75-A204-762F7CE462DF"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "PDF Master/Class/KMLightMember/Controller/ComparativeTable/View/KMComparativeView/View/KMComparativeViewCollectionItem.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "113"
+            endingLineNumber = "113"
+            landmarkName = "collectionView(_:itemForRepresentedObjectAt:)"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "4FA10195-10DE-4ACC-8F4F-DF08F3DD5B8D"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "PDF Master/Class/KMLightMember/Controller/ComparativeTable/View/KMComparativeView/View/KMComparativeViewCollectionItemItem.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "26"
-            endingLineNumber = "26"
+            startingLineNumber = "28"
+            endingLineNumber = "28"
             landmarkName = "reloadData()"
             landmarkType = "7">
             <Locations>
                <Location
-                  uuid = "2AF3A3CE-0BCE-4807-A97D-14AAED63AE2C - adfddfbe2fd8f26f"
+                  uuid = "4FA10195-10DE-4ACC-8F4F-DF08F3DD5B8D - adfddfbe2fd8f221"
                   shouldBeEnabled = "Yes"
                   ignoreCount = "0"
                   continueAfterRunningActions = "No"
@@ -8909,12 +9081,12 @@
                   urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/KMLightMember/Controller/ComparativeTable/View/KMComparativeView/View/KMComparativeViewCollectionItemItem.swift"
                   startingColumnNumber = "9223372036854775807"
                   endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "26"
-                  endingLineNumber = "26"
-                  offsetFromSymbolStart = "244">
+                  startingLineNumber = "28"
+                  endingLineNumber = "28"
+                  offsetFromSymbolStart = "256">
                </Location>
                <Location
-                  uuid = "2AF3A3CE-0BCE-4807-A97D-14AAED63AE2C - adfddfbe2fd8f26f"
+                  uuid = "4FA10195-10DE-4ACC-8F4F-DF08F3DD5B8D - adfddfbe2fd8f221"
                   shouldBeEnabled = "Yes"
                   ignoreCount = "0"
                   continueAfterRunningActions = "No"
@@ -8924,28 +9096,12 @@
                   urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/KMLightMember/Controller/ComparativeTable/View/KMComparativeView/View/KMComparativeViewCollectionItemItem.swift"
                   startingColumnNumber = "9223372036854775807"
                   endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "26"
-                  endingLineNumber = "26"
-                  offsetFromSymbolStart = "396">
+                  startingLineNumber = "28"
+                  endingLineNumber = "28"
+                  offsetFromSymbolStart = "412">
                </Location>
             </Locations>
          </BreakpointContent>
       </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "BEDD2C7C-D0DC-4C6B-BF71-909548E57F54"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Master/Class/KMLightMember/Controller/ComparativeTable/View/KMComparativeView/View/KMComparativeViewCollectionItem.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "109"
-            endingLineNumber = "109"
-            landmarkName = "collectionView(_:itemForRepresentedObjectAt:)"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
    </Breakpoints>
 </Bucket>

+ 9 - 1
PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/KMComparativeTableViewController.swift

@@ -74,7 +74,15 @@ class KMComparativeTableViewController: NSWindowController {
         
         controller.subscriptionAction = { controller in
             KMPurchaseManager.manager.purchaseProduct(productIdentifier: PRODUCT_1) { isSuccess, error in
-                
+                if isSuccess {
+                    print("订阅成功")
+                    comparativeController = nil
+                    comparativeMainWindow?.endSheet(controller.window!)
+                    comparativeMainWindow = nil
+                    controller.close()
+                    
+                    KMSubscribeSuccessWindowController.show(window: NSApp.mainWindow!)
+                }
             }
         }
         

+ 21 - 0
PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/Source/KMCompatative.xcassets/Frame 1081.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "filename" : "Frame 1081.pdf",
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 153 - 0
PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/Source/KMCompatative.xcassets/Frame 1081.imageset/Frame 1081.pdf

@@ -0,0 +1,153 @@
+%PDF-1.7
+
+1 0 obj
+  << /ExtGState << /E2 << /ca 0.500000 >>
+                   /E3 << /ca 0.500000 >>
+                   /E1 << /ca 0.500000 >>
+                >> >>
+endobj
+
+2 0 obj
+  << /Length 3 0 R >>
+stream
+/DeviceRGB CS
+/DeviceRGB cs
+q
+1.000000 0.000000 -0.000000 1.000000 29.666748 11.666687 cm
+0.101961 0.835294 0.596078 scn
+66.666664 33.333324 m
+66.666664 14.923832 51.742825 -0.000008 33.333332 -0.000008 c
+14.923841 -0.000008 0.000000 14.923832 0.000000 33.333324 c
+0.000000 51.742813 14.923841 66.666656 33.333332 66.666656 c
+51.742825 66.666656 66.666664 51.742813 66.666664 33.333324 c
+h
+f
+n
+Q
+q
+1.000000 0.000000 -0.000000 1.000000 40.623779 28.307556 cm
+1.000000 1.000000 1.000000 scn
+44.885403 30.053699 m
+19.622246 1.164810 l
+19.011707 0.466648 18.137896 0.054420 17.210833 0.027206 c
+16.283770 -0.000004 15.387282 0.360256 14.736843 1.021400 c
+0.000000 16.000826 l
+4.752369 20.676233 l
+16.969215 8.258287 l
+39.866966 34.442291 l
+44.885403 30.053699 l
+h
+f*
+n
+Q
+q
+/E1 gs
+1.000000 0.000000 -0.000000 1.000000 96.000000 66.000000 cm
+0.101961 0.835294 0.596078 scn
+8.000000 16.000000 m
+9.313259 12.334092 l
+9.817688 10.926003 10.926003 9.817687 12.334093 9.313259 c
+16.000000 8.000000 l
+12.334092 6.686741 l
+10.926003 6.182312 9.817687 5.073997 9.313259 3.665907 c
+8.000000 0.000000 l
+6.686741 3.665908 l
+6.182312 5.073997 5.073997 6.182313 3.665907 6.686741 c
+0.000000 8.000000 l
+3.665908 9.313259 l
+5.073997 9.817688 6.182313 10.926003 6.686741 12.334093 c
+8.000000 16.000000 l
+h
+f
+n
+Q
+q
+/E2 gs
+1.000000 0.000000 -0.000000 1.000000 7.000000 32.000000 cm
+0.101961 0.835294 0.596078 scn
+5.500000 11.000000 m
+6.153882 9.174717 l
+6.658310 7.766627 7.766627 6.658310 9.174716 6.153882 c
+11.000001 5.500000 l
+9.174718 4.846118 l
+7.766628 4.341690 6.658310 3.233373 6.153883 1.825284 c
+5.500000 -0.000001 l
+4.846118 1.825282 l
+4.341691 3.233372 3.233374 4.341690 1.825284 4.846117 c
+0.000000 5.500000 l
+1.825283 6.153882 l
+3.233372 6.658309 4.341690 7.766626 4.846118 9.174716 c
+5.500000 11.000000 l
+h
+f
+n
+Q
+q
+/E3 gs
+1.000000 0.000000 -0.000000 1.000000 98.000000 13.000000 cm
+0.101961 0.835294 0.596078 scn
+4.000000 8.000000 m
+4.258256 7.279089 l
+4.762684 5.870999 5.871000 4.762684 7.279090 4.258256 c
+8.000000 4.000000 l
+7.279089 3.741744 l
+5.871000 3.237316 4.762684 2.129000 4.258256 0.720910 c
+4.000000 0.000000 l
+3.741744 0.720911 l
+3.237316 2.129000 2.129000 3.237316 0.720910 3.741744 c
+0.000000 4.000000 l
+0.720911 4.258256 l
+2.129000 4.762684 3.237316 5.871000 3.741744 7.279089 c
+4.000000 8.000000 l
+h
+f
+n
+Q
+
+endstream
+endobj
+
+3 0 obj
+  2317
+endobj
+
+4 0 obj
+  << /Annots []
+     /Type /Page
+     /MediaBox [ 0.000000 0.000000 125.000000 90.000000 ]
+     /Resources 1 0 R
+     /Contents 2 0 R
+     /Parent 5 0 R
+  >>
+endobj
+
+5 0 obj
+  << /Kids [ 4 0 R ]
+     /Count 1
+     /Type /Pages
+  >>
+endobj
+
+6 0 obj
+  << /Pages 5 0 R
+     /Type /Catalog
+  >>
+endobj
+
+xref
+0 7
+0000000000 65535 f
+0000000010 00000 n
+0000000174 00000 n
+0000002547 00000 n
+0000002570 00000 n
+0000002744 00000 n
+0000002818 00000 n
+trailer
+<< /ID [ (some) (id) ]
+   /Root 6 0 R
+   /Size 7
+>>
+startxref
+2877
+%%EOF

+ 56 - 0
PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/SubscribeSuccess/KMSubscribeSuccessWindowController.swift

@@ -0,0 +1,56 @@
+//
+//  KMSubscribeSuccessWindowController.swift
+//  PDF Master
+//
+//  Created by lizhe on 2023/6/26.
+//
+
+import Cocoa
+
+var subscribeSuccessController: KMSubscribeSuccessWindowController?
+var subscribeSuccessMainWindow: NSWindow?
+
+typealias KMSubscribeSuccessWindowControllerCloseAction = (_ controller: KMSubscribeSuccessWindowController) -> Void
+class KMSubscribeSuccessWindowController: NSWindowController {
+    
+    @IBOutlet weak var successView: KMSubscribeSuccessView!
+    var closeAction: KMSubscribeSuccessWindowControllerCloseAction?
+    
+    deinit {
+        print("KMSubscribeSuccessWindowController 释放")
+    }
+    
+    override func windowDidLoad() {
+        super.windowDidLoad()
+        self.setup()
+        // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
+    }
+    
+    //MARK: 打开文件
+    static func show(window: NSWindow) -> KMSubscribeSuccessWindowController {
+        let subscribeSuccessWindowController: KMSubscribeSuccessWindowController = KMSubscribeSuccessWindowController.init(windowNibName: "KMSubscribeSuccessWindowController")
+        window.beginSheet(subscribeSuccessWindowController.window!)
+        subscribeSuccessWindowController.window?.center()
+        
+        subscribeSuccessWindowController.closeAction = { controller in
+            print("关闭")
+            subscribeWaterMarkMainWindow?.endSheet(controller.window!)
+            controller.window?.close()
+            
+            subscribeSuccessController = nil
+            subscribeSuccessMainWindow = nil
+        }
+        
+        subscribeSuccessController = subscribeSuccessWindowController
+        subscribeSuccessMainWindow = window
+        return subscribeSuccessWindowController
+    }
+    
+    func setup() {
+        self.window?.contentView?.backgroundColor(NSColor(hex: "#FFFFFF"))
+        self.successView.doneAction = { [weak self] view in
+            guard let callBack = self?.closeAction else { return }
+            callBack((self!))
+        }
+    }
+}

+ 43 - 0
PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/SubscribeSuccess/KMSubscribeSuccessWindowController.xib

@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMSubscribeSuccessWindowController" customModule="PDF_Master" customModuleProvider="target">
+            <connections>
+                <outlet property="successView" destination="blv-Bz-ntJ" id="NmZ-cc-ohf"/>
+                <outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="F0z-JX-Cv5">
+            <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
+            <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
+            <rect key="contentRect" x="196" y="240" width="480" height="270"/>
+            <rect key="screenRect" x="0.0" y="0.0" width="2560" height="1415"/>
+            <view key="contentView" id="se5-gp-TjO">
+                <rect key="frame" x="0.0" y="0.0" width="480" height="270"/>
+                <autoresizingMask key="autoresizingMask"/>
+                <subviews>
+                    <customView translatesAutoresizingMaskIntoConstraints="NO" id="blv-Bz-ntJ" customClass="KMSubscribeSuccessView" customModule="PDF_Master" customModuleProvider="target">
+                        <rect key="frame" x="0.0" y="0.0" width="480" height="270"/>
+                    </customView>
+                </subviews>
+                <constraints>
+                    <constraint firstItem="blv-Bz-ntJ" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" id="NvT-rS-tqL"/>
+                    <constraint firstAttribute="trailing" secondItem="blv-Bz-ntJ" secondAttribute="trailing" id="k3h-8z-eUO"/>
+                    <constraint firstItem="blv-Bz-ntJ" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" id="nqV-F3-jxv"/>
+                    <constraint firstAttribute="bottom" secondItem="blv-Bz-ntJ" secondAttribute="bottom" id="rm7-TW-Vfa"/>
+                </constraints>
+            </view>
+            <connections>
+                <outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
+            </connections>
+            <point key="canvasLocation" x="132" y="-82"/>
+        </window>
+    </objects>
+</document>

+ 49 - 0
PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/SubscribeSuccess/View/KMSubscribeSuccessView.swift

@@ -0,0 +1,49 @@
+//
+//  KMSubscribeSuccessView.swift
+//  PDF Master
+//
+//  Created by lizhe on 2023/6/26.
+//
+
+import Cocoa
+
+typealias KMSubscribeSuccessViewDoneAction = (_ controller: KMSubscribeSuccessView) -> Void
+
+class KMSubscribeSuccessView: KMBaseXibView {
+    @IBOutlet weak var imageView: NSImageView!
+    @IBOutlet weak var titleLabel: NSTextField!
+    @IBOutlet weak var subtitleLabel: NSTextField!
+    @IBOutlet weak var doneButton: NSButton!
+    
+    var doneAction: KMSubscribeSuccessViewDoneAction?
+    
+    
+    override func draw(_ dirtyRect: NSRect) {
+        super.draw(dirtyRect)
+
+        // Drawing code here.
+    }
+    
+    override func setup() {
+        self.titleLabel.font = NSFont.SFProTextSemibold(20)
+        self.titleLabel.textColor = NSColor(hex: "#252629")
+        
+        self.subtitleLabel.font = NSFont.SFProTextSemibold(14)
+        self.subtitleLabel.textColor = NSColor(hex: "#616469")
+        
+        self.doneButton.contentTintColor = NSColor(hex: "#FFFFFF")
+        self.doneButton.font = NSFont.SFProTextRegular(14)
+    }
+    
+    override func updateLanguage() {
+        self.titleLabel.stringValue = NSLocalizedString("Subscription Success", comment: "")
+        self.subtitleLabel.stringValue = NSLocalizedString("You now have unlimited access to all premium features", comment: "")
+        self.doneButton.title = NSLocalizedString("OK", comment: "")
+    }
+    
+    @IBAction func doneButtonAction(_ sender: Any) {
+        guard let callBack = doneAction else { return }
+        
+        callBack(self)
+    }
+}

+ 77 - 0
PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/SubscribeSuccess/View/KMSubscribeSuccessView.xib

@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMSubscribeSuccessView" customModule="PDF_Master" customModuleProvider="target">
+            <connections>
+                <outlet property="doneButton" destination="pg8-Y2-DpD" id="NNp-JW-fwq"/>
+                <outlet property="imageView" destination="0IX-5W-LlB" id="me9-sE-o5T"/>
+                <outlet property="subtitleLabel" destination="7Sh-Dk-VGq" id="h9j-hG-A5p"/>
+                <outlet property="titleLabel" destination="fQI-W7-VIG" id="NQl-Hh-BLy"/>
+            </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="326" height="346"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <subviews>
+                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="0IX-5W-LlB">
+                    <rect key="frame" x="101" y="188" width="125" height="90"/>
+                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="Frame 1081" id="X4z-aw-ypF"/>
+                </imageView>
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="fQI-W7-VIG">
+                    <rect key="frame" x="94" y="156" width="139" height="16"/>
+                    <textFieldCell key="cell" lineBreakMode="clipping" alignment="center" title="Subscription Success" id="Cqi-83-S6W">
+                        <font key="font" metaFont="system"/>
+                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                </textField>
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7Sh-Dk-VGq">
+                    <rect key="frame" x="30" y="108" width="266" height="32"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="262" id="KMH-NM-82g"/>
+                    </constraints>
+                    <textFieldCell key="cell" alignment="center" title="You now have unlimited access to all premium features" id="YaK-xh-6LW">
+                        <font key="font" metaFont="system"/>
+                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                </textField>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="pg8-Y2-DpD">
+                    <rect key="frame" x="32" y="40" width="262" height="32"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="262" id="LHw-wf-MTB"/>
+                        <constraint firstAttribute="height" constant="32" id="oif-NT-bDC"/>
+                    </constraints>
+                    <buttonCell key="cell" type="square" title="OK" bezelStyle="shadowlessSquare" alignment="center" imageScaling="proportionallyDown" inset="2" id="A6M-48-z5n">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="system"/>
+                    </buttonCell>
+                    <connections>
+                        <action selector="doneButtonAction:" target="-2" id="gRc-Pl-iwf"/>
+                    </connections>
+                </button>
+            </subviews>
+            <constraints>
+                <constraint firstItem="fQI-W7-VIG" firstAttribute="centerX" secondItem="c22-O7-iKe" secondAttribute="centerX" id="Dji-w7-9Cw"/>
+                <constraint firstItem="7Sh-Dk-VGq" firstAttribute="centerX" secondItem="c22-O7-iKe" secondAttribute="centerX" id="NsK-OI-8tw"/>
+                <constraint firstItem="fQI-W7-VIG" firstAttribute="top" secondItem="0IX-5W-LlB" secondAttribute="bottom" constant="16" id="blo-Zg-Rj2"/>
+                <constraint firstItem="0IX-5W-LlB" firstAttribute="top" secondItem="c22-O7-iKe" secondAttribute="top" constant="68" id="ck0-mW-hqI"/>
+                <constraint firstItem="pg8-Y2-DpD" firstAttribute="centerX" secondItem="c22-O7-iKe" secondAttribute="centerX" id="fq7-06-t2f"/>
+                <constraint firstItem="0IX-5W-LlB" firstAttribute="centerX" secondItem="c22-O7-iKe" secondAttribute="centerX" id="mmB-ec-WyE"/>
+                <constraint firstItem="7Sh-Dk-VGq" firstAttribute="top" secondItem="fQI-W7-VIG" secondAttribute="bottom" constant="16" id="uML-W6-sQD"/>
+                <constraint firstAttribute="bottom" secondItem="pg8-Y2-DpD" secondAttribute="bottom" constant="40" id="vfQ-Bg-wfz"/>
+            </constraints>
+            <point key="canvasLocation" x="22" y="-5"/>
+        </customView>
+    </objects>
+    <resources>
+        <image name="Frame 1081" width="125" height="90"/>
+    </resources>
+</document>

PDF Office/PDF Master/Class/KMLightMember/Controller/WaterMark/KMSubscribeWaterMarkWindowController.swift → PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/WaterMark/KMSubscribeWaterMarkWindowController.swift


PDF Office/PDF Master/Class/KMLightMember/Controller/WaterMark/KMSubscribeWaterMarkWindowController.xib → PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/WaterMark/KMSubscribeWaterMarkWindowController.xib


PDF Office/PDF Master/Class/KMLightMember/Controller/WaterMark/View/KMSubscribeWaterMarkView.swift → PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/WaterMark/View/KMSubscribeWaterMarkView.swift


PDF Office/PDF Master/Class/KMLightMember/Controller/WaterMark/View/KMSubscribeWaterMarkView.xib → PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/WaterMark/View/KMSubscribeWaterMarkView.xib